deepctl-cmd-plugin 0.1.10__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.
- deepctl_cmd_plugin-0.1.10/.gitignore +161 -0
- deepctl_cmd_plugin-0.1.10/PKG-INFO +85 -0
- deepctl_cmd_plugin-0.1.10/README.md +74 -0
- deepctl_cmd_plugin-0.1.10/pyproject.toml +18 -0
- deepctl_cmd_plugin-0.1.10/src/deepctl_cmd_plugin/__init__.py +5 -0
- deepctl_cmd_plugin-0.1.10/src/deepctl_cmd_plugin/command.py +1107 -0
- deepctl_cmd_plugin-0.1.10/src/deepctl_cmd_plugin/models.py +75 -0
- deepctl_cmd_plugin-0.1.10/tests/__init__.py +1 -0
- deepctl_cmd_plugin-0.1.10/tests/unit/__init__.py +1 -0
- deepctl_cmd_plugin-0.1.10/tests/unit/test_plugin_command.py +438 -0
|
@@ -0,0 +1,161 @@
|
|
|
1
|
+
# Byte-compiled / optimized / DLL files
|
|
2
|
+
__pycache__/
|
|
3
|
+
*.py[cod]
|
|
4
|
+
*$py.class
|
|
5
|
+
|
|
6
|
+
# C extensions
|
|
7
|
+
*.so
|
|
8
|
+
|
|
9
|
+
# Distribution / packaging
|
|
10
|
+
.Python
|
|
11
|
+
build/
|
|
12
|
+
develop-eggs/
|
|
13
|
+
dist/
|
|
14
|
+
downloads/
|
|
15
|
+
eggs/
|
|
16
|
+
.eggs/
|
|
17
|
+
lib/
|
|
18
|
+
lib64/
|
|
19
|
+
parts/
|
|
20
|
+
sdist/
|
|
21
|
+
var/
|
|
22
|
+
wheels/
|
|
23
|
+
pip-wheel-metadata/
|
|
24
|
+
share/python-wheels/
|
|
25
|
+
*.egg-info/
|
|
26
|
+
.installed.cfg
|
|
27
|
+
*.egg
|
|
28
|
+
MANIFEST
|
|
29
|
+
|
|
30
|
+
# PyInstaller
|
|
31
|
+
# Usually these files are written by a python script from a template
|
|
32
|
+
# before PyInstaller builds the exe, so as to inject date/other infos into it.
|
|
33
|
+
*.manifest
|
|
34
|
+
*.spec
|
|
35
|
+
|
|
36
|
+
# Installer logs
|
|
37
|
+
pip-log.txt
|
|
38
|
+
pip-delete-this-directory.txt
|
|
39
|
+
|
|
40
|
+
# Unit test / coverage reports
|
|
41
|
+
htmlcov/
|
|
42
|
+
.tox/
|
|
43
|
+
.nox/
|
|
44
|
+
.coverage
|
|
45
|
+
.coverage.*
|
|
46
|
+
.cache
|
|
47
|
+
nosetests.xml
|
|
48
|
+
coverage.xml
|
|
49
|
+
*.cover
|
|
50
|
+
*.py,cover
|
|
51
|
+
.hypothesis/
|
|
52
|
+
.pytest_cache/
|
|
53
|
+
|
|
54
|
+
# Translations
|
|
55
|
+
*.mo
|
|
56
|
+
*.pot
|
|
57
|
+
|
|
58
|
+
# Django stuff:
|
|
59
|
+
*.log
|
|
60
|
+
local_settings.py
|
|
61
|
+
db.sqlite3
|
|
62
|
+
db.sqlite3-journal
|
|
63
|
+
|
|
64
|
+
# Flask stuff:
|
|
65
|
+
instance/
|
|
66
|
+
.webassets-cache
|
|
67
|
+
|
|
68
|
+
# Scrapy stuff:
|
|
69
|
+
.scrapy
|
|
70
|
+
|
|
71
|
+
# Sphinx documentation
|
|
72
|
+
docs/_build/
|
|
73
|
+
|
|
74
|
+
# PyBuilder
|
|
75
|
+
target/
|
|
76
|
+
|
|
77
|
+
# Jupyter Notebook
|
|
78
|
+
.ipynb_checkpoints
|
|
79
|
+
|
|
80
|
+
# IPython
|
|
81
|
+
profile_default/
|
|
82
|
+
ipython_config.py
|
|
83
|
+
|
|
84
|
+
# pyenv
|
|
85
|
+
.python-version
|
|
86
|
+
|
|
87
|
+
# pipenv
|
|
88
|
+
# According to pypa/pipenv#598, it is recommended to include Pipfile.lock in version control.
|
|
89
|
+
# However, in case of collaboration, if having platform-specific dependencies or dependencies
|
|
90
|
+
# having no cross-platform support, pipenv may install dependencies that don't work, or not
|
|
91
|
+
# install all needed dependencies.
|
|
92
|
+
#Pipfile.lock
|
|
93
|
+
|
|
94
|
+
# PEP 582; used by e.g. github.com/David-OConnor/pyflow
|
|
95
|
+
__pypackages__/
|
|
96
|
+
|
|
97
|
+
# Celery stuff
|
|
98
|
+
celerybeat-schedule
|
|
99
|
+
celerybeat.pid
|
|
100
|
+
|
|
101
|
+
# SageMatch home
|
|
102
|
+
.sage.d/
|
|
103
|
+
|
|
104
|
+
# Environments
|
|
105
|
+
.env
|
|
106
|
+
.venv
|
|
107
|
+
env/
|
|
108
|
+
venv/
|
|
109
|
+
ENV/
|
|
110
|
+
env.bak/
|
|
111
|
+
venv.bak/
|
|
112
|
+
|
|
113
|
+
# Spyder project settings
|
|
114
|
+
.spyderproject
|
|
115
|
+
.spyproject
|
|
116
|
+
|
|
117
|
+
# Rope project settings
|
|
118
|
+
.ropeproject
|
|
119
|
+
|
|
120
|
+
# mkdocs documentation
|
|
121
|
+
/site
|
|
122
|
+
|
|
123
|
+
# mypy
|
|
124
|
+
.mypy_cache/
|
|
125
|
+
.dmypy.json
|
|
126
|
+
dmypy.json
|
|
127
|
+
|
|
128
|
+
# Pyre type checker
|
|
129
|
+
.pyre/
|
|
130
|
+
|
|
131
|
+
# uv
|
|
132
|
+
.uv_cache/
|
|
133
|
+
uv.lock
|
|
134
|
+
|
|
135
|
+
# IDEs
|
|
136
|
+
.vscode/
|
|
137
|
+
.idea/
|
|
138
|
+
*.swp
|
|
139
|
+
*.swo
|
|
140
|
+
*~
|
|
141
|
+
|
|
142
|
+
# OS
|
|
143
|
+
.DS_Store
|
|
144
|
+
.DS_Store?
|
|
145
|
+
._*
|
|
146
|
+
.Spotlight-V100
|
|
147
|
+
.Trashes
|
|
148
|
+
ehthumbs.db
|
|
149
|
+
Thumbs.db
|
|
150
|
+
|
|
151
|
+
# Project specific
|
|
152
|
+
*.log
|
|
153
|
+
.env.local
|
|
154
|
+
.env.development
|
|
155
|
+
.env.test
|
|
156
|
+
.env.production
|
|
157
|
+
|
|
158
|
+
# tmps
|
|
159
|
+
tmp_chatface/
|
|
160
|
+
tmp_community-turbo/
|
|
161
|
+
tmp_deepgram-cli/
|
|
@@ -0,0 +1,85 @@
|
|
|
1
|
+
Metadata-Version: 2.4
|
|
2
|
+
Name: deepctl-cmd-plugin
|
|
3
|
+
Version: 0.1.10
|
|
4
|
+
Summary: Plugin management command for deepctl
|
|
5
|
+
Author-email: Deepgram DevRel <devrel@deepgram.com>
|
|
6
|
+
Requires-Python: >=3.10
|
|
7
|
+
Requires-Dist: deepctl-core>=0.1.10
|
|
8
|
+
Requires-Dist: packaging>=21.0
|
|
9
|
+
Requires-Dist: toml>=0.10.2
|
|
10
|
+
Description-Content-Type: text/markdown
|
|
11
|
+
|
|
12
|
+
# deepctl-cmd-plugin
|
|
13
|
+
|
|
14
|
+
Plugin management command for deepctl CLI.
|
|
15
|
+
|
|
16
|
+
## Description
|
|
17
|
+
|
|
18
|
+
This command provides plugin management functionality for deepctl, allowing users to:
|
|
19
|
+
|
|
20
|
+
- Search for available plugins in the registry
|
|
21
|
+
- Install plugins from PyPI, GitHub, or local paths
|
|
22
|
+
- List installed plugins
|
|
23
|
+
- Update plugins to newer versions
|
|
24
|
+
- Remove plugins
|
|
25
|
+
|
|
26
|
+
This solves the environment isolation issue that occurs when deepctl is installed via pipx, uv, brew, or other package managers that create isolated environments.
|
|
27
|
+
|
|
28
|
+
## Commands
|
|
29
|
+
|
|
30
|
+
- `deepctl plugin search [query]` - Search for available plugins
|
|
31
|
+
- `deepctl plugin install <package>` - Install a plugin
|
|
32
|
+
- `deepctl plugin list` - List installed plugins
|
|
33
|
+
- `deepctl plugin update <package>` - Update a plugin
|
|
34
|
+
- `deepctl plugin remove <package>` - Remove a plugin
|
|
35
|
+
|
|
36
|
+
## Examples
|
|
37
|
+
|
|
38
|
+
### Search for plugins
|
|
39
|
+
|
|
40
|
+
```bash
|
|
41
|
+
# Show all available plugins
|
|
42
|
+
deepctl plugin search
|
|
43
|
+
|
|
44
|
+
# Search for plugins by keyword
|
|
45
|
+
deepctl plugin search audio
|
|
46
|
+
|
|
47
|
+
# Show only installed plugins
|
|
48
|
+
deepctl plugin search --installed
|
|
49
|
+
|
|
50
|
+
# Show only available (not installed) plugins
|
|
51
|
+
deepctl plugin search --available
|
|
52
|
+
```
|
|
53
|
+
|
|
54
|
+
### Install plugins
|
|
55
|
+
|
|
56
|
+
```bash
|
|
57
|
+
# Install from PyPI
|
|
58
|
+
deepctl plugin install deepctl-plugin-example
|
|
59
|
+
|
|
60
|
+
# Install from GitHub
|
|
61
|
+
deepctl plugin install git+https://github.com/deepgram/deepctl-plugin-custom.git
|
|
62
|
+
|
|
63
|
+
# Install specific version
|
|
64
|
+
deepctl plugin install deepctl-plugin-example==1.0.0
|
|
65
|
+
|
|
66
|
+
# Install from local directory
|
|
67
|
+
deepctl plugin install -e /path/to/plugin
|
|
68
|
+
```
|
|
69
|
+
|
|
70
|
+
## How it works
|
|
71
|
+
|
|
72
|
+
The plugin command automatically detects how deepctl was installed:
|
|
73
|
+
|
|
74
|
+
- **pip/pipx/uv**: Plugins install directly into the same environment
|
|
75
|
+
- **System installations (brew, apt, etc.)**: Plugins install into an isolated environment at `~/.deepctl/plugins/venv`
|
|
76
|
+
|
|
77
|
+
This approach ensures all installation methods support plugins while maintaining system package manager integrity.
|
|
78
|
+
|
|
79
|
+
## Plugin Registry
|
|
80
|
+
|
|
81
|
+
The `plugin search` command shows plugins from a curated registry. Currently, the registry is hardcoded but will eventually fetch from a `.well-known` URL or plugin registry service.
|
|
82
|
+
|
|
83
|
+
## Development
|
|
84
|
+
|
|
85
|
+
This is a built-in command that is part of the deepctl core distribution.
|
|
@@ -0,0 +1,74 @@
|
|
|
1
|
+
# deepctl-cmd-plugin
|
|
2
|
+
|
|
3
|
+
Plugin management command for deepctl CLI.
|
|
4
|
+
|
|
5
|
+
## Description
|
|
6
|
+
|
|
7
|
+
This command provides plugin management functionality for deepctl, allowing users to:
|
|
8
|
+
|
|
9
|
+
- Search for available plugins in the registry
|
|
10
|
+
- Install plugins from PyPI, GitHub, or local paths
|
|
11
|
+
- List installed plugins
|
|
12
|
+
- Update plugins to newer versions
|
|
13
|
+
- Remove plugins
|
|
14
|
+
|
|
15
|
+
This solves the environment isolation issue that occurs when deepctl is installed via pipx, uv, brew, or other package managers that create isolated environments.
|
|
16
|
+
|
|
17
|
+
## Commands
|
|
18
|
+
|
|
19
|
+
- `deepctl plugin search [query]` - Search for available plugins
|
|
20
|
+
- `deepctl plugin install <package>` - Install a plugin
|
|
21
|
+
- `deepctl plugin list` - List installed plugins
|
|
22
|
+
- `deepctl plugin update <package>` - Update a plugin
|
|
23
|
+
- `deepctl plugin remove <package>` - Remove a plugin
|
|
24
|
+
|
|
25
|
+
## Examples
|
|
26
|
+
|
|
27
|
+
### Search for plugins
|
|
28
|
+
|
|
29
|
+
```bash
|
|
30
|
+
# Show all available plugins
|
|
31
|
+
deepctl plugin search
|
|
32
|
+
|
|
33
|
+
# Search for plugins by keyword
|
|
34
|
+
deepctl plugin search audio
|
|
35
|
+
|
|
36
|
+
# Show only installed plugins
|
|
37
|
+
deepctl plugin search --installed
|
|
38
|
+
|
|
39
|
+
# Show only available (not installed) plugins
|
|
40
|
+
deepctl plugin search --available
|
|
41
|
+
```
|
|
42
|
+
|
|
43
|
+
### Install plugins
|
|
44
|
+
|
|
45
|
+
```bash
|
|
46
|
+
# Install from PyPI
|
|
47
|
+
deepctl plugin install deepctl-plugin-example
|
|
48
|
+
|
|
49
|
+
# Install from GitHub
|
|
50
|
+
deepctl plugin install git+https://github.com/deepgram/deepctl-plugin-custom.git
|
|
51
|
+
|
|
52
|
+
# Install specific version
|
|
53
|
+
deepctl plugin install deepctl-plugin-example==1.0.0
|
|
54
|
+
|
|
55
|
+
# Install from local directory
|
|
56
|
+
deepctl plugin install -e /path/to/plugin
|
|
57
|
+
```
|
|
58
|
+
|
|
59
|
+
## How it works
|
|
60
|
+
|
|
61
|
+
The plugin command automatically detects how deepctl was installed:
|
|
62
|
+
|
|
63
|
+
- **pip/pipx/uv**: Plugins install directly into the same environment
|
|
64
|
+
- **System installations (brew, apt, etc.)**: Plugins install into an isolated environment at `~/.deepctl/plugins/venv`
|
|
65
|
+
|
|
66
|
+
This approach ensures all installation methods support plugins while maintaining system package manager integrity.
|
|
67
|
+
|
|
68
|
+
## Plugin Registry
|
|
69
|
+
|
|
70
|
+
The `plugin search` command shows plugins from a curated registry. Currently, the registry is hardcoded but will eventually fetch from a `.well-known` URL or plugin registry service.
|
|
71
|
+
|
|
72
|
+
## Development
|
|
73
|
+
|
|
74
|
+
This is a built-in command that is part of the deepctl core distribution.
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
[project]
|
|
2
|
+
name = "deepctl-cmd-plugin"
|
|
3
|
+
description = "Plugin management command for deepctl"
|
|
4
|
+
readme = "README.md"
|
|
5
|
+
version = "0.1.10"
|
|
6
|
+
requires-python = ">=3.10"
|
|
7
|
+
authors = [{ name = "Deepgram DevRel", email = "devrel@deepgram.com" }]
|
|
8
|
+
dependencies = ["deepctl-core>=0.1.10", "packaging>=21.0", "toml>=0.10.2"]
|
|
9
|
+
|
|
10
|
+
[project.entry-points."deepctl.commands"]
|
|
11
|
+
plugin = "deepctl_cmd_plugin.command:PluginCommand"
|
|
12
|
+
|
|
13
|
+
[build-system]
|
|
14
|
+
requires = ["hatchling"]
|
|
15
|
+
build-backend = "hatchling.build"
|
|
16
|
+
|
|
17
|
+
[tool.hatch.build.targets.wheel]
|
|
18
|
+
packages = ["src/deepctl_cmd_plugin"]
|