erpdesktop 1.0.0__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- erpdesktop-1.0.0/PKG-INFO +75 -0
- erpdesktop-1.0.0/README.md +55 -0
- erpdesktop-1.0.0/erpdesktop/__init__.py +27 -0
- erpdesktop-1.0.0/erpdesktop/cli/__init__.py +1 -0
- erpdesktop-1.0.0/erpdesktop/cli/commands.py +728 -0
- erpdesktop-1.0.0/erpdesktop/cli/dev_cmd.py +279 -0
- erpdesktop-1.0.0/erpdesktop/cli/main.py +27 -0
- erpdesktop-1.0.0/erpdesktop/device.py +72 -0
- erpdesktop-1.0.0/erpdesktop/erp.py +71 -0
- erpdesktop-1.0.0/erpdesktop/http.py +129 -0
- erpdesktop-1.0.0/erpdesktop/i18n.py +45 -0
- erpdesktop-1.0.0/erpdesktop/logging.py +58 -0
- erpdesktop-1.0.0/erpdesktop/notify.py +43 -0
- erpdesktop-1.0.0/erpdesktop/permissions.py +66 -0
- erpdesktop-1.0.0/erpdesktop/plugin_base.py +188 -0
- erpdesktop-1.0.0/erpdesktop/rpc_transport.py +104 -0
- erpdesktop-1.0.0/erpdesktop/secrets.py +52 -0
- erpdesktop-1.0.0/erpdesktop/storage.py +115 -0
- erpdesktop-1.0.0/erpdesktop/telemetry.py +54 -0
- erpdesktop-1.0.0/erpdesktop/token.py +15 -0
- erpdesktop-1.0.0/erpdesktop.egg-info/PKG-INFO +75 -0
- erpdesktop-1.0.0/erpdesktop.egg-info/SOURCES.txt +27 -0
- erpdesktop-1.0.0/erpdesktop.egg-info/dependency_links.txt +1 -0
- erpdesktop-1.0.0/erpdesktop.egg-info/entry_points.txt +2 -0
- erpdesktop-1.0.0/erpdesktop.egg-info/requires.txt +12 -0
- erpdesktop-1.0.0/erpdesktop.egg-info/top_level.txt +1 -0
- erpdesktop-1.0.0/pyproject.toml +35 -0
- erpdesktop-1.0.0/setup.cfg +4 -0
- erpdesktop-1.0.0/tests/test_sdk.py +286 -0
|
@@ -0,0 +1,75 @@
|
|
|
1
|
+
Metadata-Version: 2.4
|
|
2
|
+
Name: erpdesktop
|
|
3
|
+
Version: 1.0.0
|
|
4
|
+
Summary: ERPDesktop plugin SDK — build, package, and publish plugins for the ERPDesktop marketplace
|
|
5
|
+
Author-email: BatchNepal <support@batchnepal.com>
|
|
6
|
+
License: MIT
|
|
7
|
+
Requires-Python: >=3.11
|
|
8
|
+
Description-Content-Type: text/markdown
|
|
9
|
+
Requires-Dist: click>=8.0
|
|
10
|
+
Requires-Dist: httpx>=0.27
|
|
11
|
+
Requires-Dist: jsonschema>=4.20
|
|
12
|
+
Requires-Dist: rich>=13.0
|
|
13
|
+
Requires-Dist: pyyaml>=6.0
|
|
14
|
+
Requires-Dist: keyring>=25.0
|
|
15
|
+
Requires-Dist: cryptography>=42.0
|
|
16
|
+
Provides-Extra: dev
|
|
17
|
+
Requires-Dist: pytest>=8; extra == "dev"
|
|
18
|
+
Requires-Dist: pytest-asyncio>=0.24; extra == "dev"
|
|
19
|
+
Requires-Dist: ruff>=0.5; extra == "dev"
|
|
20
|
+
|
|
21
|
+
# ERPDesktop Plugin SDK
|
|
22
|
+
|
|
23
|
+
Build, package, and publish plugins for the ERPDesktop marketplace.
|
|
24
|
+
|
|
25
|
+
## Install
|
|
26
|
+
|
|
27
|
+
```bash
|
|
28
|
+
pip install erpdesktop-sdk
|
|
29
|
+
```
|
|
30
|
+
|
|
31
|
+
## Quick start
|
|
32
|
+
|
|
33
|
+
```bash
|
|
34
|
+
# Scaffold a new plugin
|
|
35
|
+
erpdesktop init my-plugin
|
|
36
|
+
|
|
37
|
+
# Validate your plugin.json
|
|
38
|
+
erpdesktop validate
|
|
39
|
+
|
|
40
|
+
# Package into a distributable .zip
|
|
41
|
+
erpdesktop package
|
|
42
|
+
|
|
43
|
+
# Publish to the marketplace
|
|
44
|
+
erpdesktop publish --changelog "Initial release"
|
|
45
|
+
```
|
|
46
|
+
|
|
47
|
+
## PluginBase lifecycle
|
|
48
|
+
|
|
49
|
+
```python
|
|
50
|
+
from erpdesktop import PluginBase, log, event
|
|
51
|
+
|
|
52
|
+
class MyPlugin(PluginBase):
|
|
53
|
+
plugin_id = "com.example.my-plugin"
|
|
54
|
+
plugin_version = "1.0.0"
|
|
55
|
+
|
|
56
|
+
def on_start(self, config):
|
|
57
|
+
log("info", "Started", branch=config.get("branch"))
|
|
58
|
+
self.register_command("ping", lambda p: {"pong": True})
|
|
59
|
+
|
|
60
|
+
def on_stop(self):
|
|
61
|
+
log("info", "Shutting down")
|
|
62
|
+
|
|
63
|
+
if __name__ == "__main__":
|
|
64
|
+
MyPlugin().run()
|
|
65
|
+
```
|
|
66
|
+
|
|
67
|
+
## Commands
|
|
68
|
+
|
|
69
|
+
| Command | Description |
|
|
70
|
+
|---------|-------------|
|
|
71
|
+
| `erpdesktop init <name>` | Scaffold a new plugin |
|
|
72
|
+
| `erpdesktop validate` | Validate plugin.json |
|
|
73
|
+
| `erpdesktop package` | Create .zip distributable |
|
|
74
|
+
| `erpdesktop publish` | Upload to marketplace |
|
|
75
|
+
| `erpdesktop --version` | Show SDK version |
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
# ERPDesktop Plugin SDK
|
|
2
|
+
|
|
3
|
+
Build, package, and publish plugins for the ERPDesktop marketplace.
|
|
4
|
+
|
|
5
|
+
## Install
|
|
6
|
+
|
|
7
|
+
```bash
|
|
8
|
+
pip install erpdesktop-sdk
|
|
9
|
+
```
|
|
10
|
+
|
|
11
|
+
## Quick start
|
|
12
|
+
|
|
13
|
+
```bash
|
|
14
|
+
# Scaffold a new plugin
|
|
15
|
+
erpdesktop init my-plugin
|
|
16
|
+
|
|
17
|
+
# Validate your plugin.json
|
|
18
|
+
erpdesktop validate
|
|
19
|
+
|
|
20
|
+
# Package into a distributable .zip
|
|
21
|
+
erpdesktop package
|
|
22
|
+
|
|
23
|
+
# Publish to the marketplace
|
|
24
|
+
erpdesktop publish --changelog "Initial release"
|
|
25
|
+
```
|
|
26
|
+
|
|
27
|
+
## PluginBase lifecycle
|
|
28
|
+
|
|
29
|
+
```python
|
|
30
|
+
from erpdesktop import PluginBase, log, event
|
|
31
|
+
|
|
32
|
+
class MyPlugin(PluginBase):
|
|
33
|
+
plugin_id = "com.example.my-plugin"
|
|
34
|
+
plugin_version = "1.0.0"
|
|
35
|
+
|
|
36
|
+
def on_start(self, config):
|
|
37
|
+
log("info", "Started", branch=config.get("branch"))
|
|
38
|
+
self.register_command("ping", lambda p: {"pong": True})
|
|
39
|
+
|
|
40
|
+
def on_stop(self):
|
|
41
|
+
log("info", "Shutting down")
|
|
42
|
+
|
|
43
|
+
if __name__ == "__main__":
|
|
44
|
+
MyPlugin().run()
|
|
45
|
+
```
|
|
46
|
+
|
|
47
|
+
## Commands
|
|
48
|
+
|
|
49
|
+
| Command | Description |
|
|
50
|
+
|---------|-------------|
|
|
51
|
+
| `erpdesktop init <name>` | Scaffold a new plugin |
|
|
52
|
+
| `erpdesktop validate` | Validate plugin.json |
|
|
53
|
+
| `erpdesktop package` | Create .zip distributable |
|
|
54
|
+
| `erpdesktop publish` | Upload to marketplace |
|
|
55
|
+
| `erpdesktop --version` | Show SDK version |
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
"""
|
|
2
|
+
erpdesktop — Build and publish plugins for the ERPDesktop marketplace.
|
|
3
|
+
|
|
4
|
+
Public API:
|
|
5
|
+
from erpdesktop import PluginBase, log, event
|
|
6
|
+
from erpdesktop import erpnext_request, odoo_request
|
|
7
|
+
from erpdesktop import storage, secrets, permissions, i18n, device, notify, http
|
|
8
|
+
"""
|
|
9
|
+
|
|
10
|
+
from erpdesktop.plugin_base import PluginBase
|
|
11
|
+
from erpdesktop.logging import log
|
|
12
|
+
from erpdesktop.telemetry import event
|
|
13
|
+
from erpdesktop.erp import erpnext_request, odoo_request
|
|
14
|
+
from erpdesktop import storage
|
|
15
|
+
from erpdesktop import secrets
|
|
16
|
+
from erpdesktop import permissions
|
|
17
|
+
from erpdesktop import i18n
|
|
18
|
+
from erpdesktop import device
|
|
19
|
+
from erpdesktop import notify
|
|
20
|
+
from erpdesktop import http
|
|
21
|
+
|
|
22
|
+
__version__ = "1.0.0"
|
|
23
|
+
__all__ = [
|
|
24
|
+
"PluginBase", "log", "event",
|
|
25
|
+
"erpnext_request", "odoo_request",
|
|
26
|
+
"storage", "secrets", "permissions", "i18n", "device", "notify", "http",
|
|
27
|
+
]
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"""CLI package."""
|