devlift-cli 0.1.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.
- devlift_cli-0.1.0/PKG-INFO +106 -0
- devlift_cli-0.1.0/README.md +78 -0
- devlift_cli-0.1.0/devlift_cli/MANUAL.md +1066 -0
- devlift_cli-0.1.0/devlift_cli/__init__.py +3 -0
- devlift_cli-0.1.0/devlift_cli/__main__.py +4 -0
- devlift_cli-0.1.0/devlift_cli/api/__init__.py +0 -0
- devlift_cli-0.1.0/devlift_cli/api/approvals.py +53 -0
- devlift_cli-0.1.0/devlift_cli/api/catalog.py +96 -0
- devlift_cli-0.1.0/devlift_cli/api/client.py +125 -0
- devlift_cli-0.1.0/devlift_cli/api/context.py +21 -0
- devlift_cli-0.1.0/devlift_cli/api/deployments.py +37 -0
- devlift_cli-0.1.0/devlift_cli/api/infra.py +94 -0
- devlift_cli-0.1.0/devlift_cli/api/infra_list.py +61 -0
- devlift_cli-0.1.0/devlift_cli/api/kong.py +29 -0
- devlift_cli-0.1.0/devlift_cli/api/services.py +106 -0
- devlift_cli-0.1.0/devlift_cli/api/vpc.py +24 -0
- devlift_cli-0.1.0/devlift_cli/app.py +163 -0
- devlift_cli-0.1.0/devlift_cli/auth/__init__.py +0 -0
- devlift_cli-0.1.0/devlift_cli/auth/oauth.py +270 -0
- devlift_cli-0.1.0/devlift_cli/auth/session.py +64 -0
- devlift_cli-0.1.0/devlift_cli/auth/storage.py +135 -0
- devlift_cli-0.1.0/devlift_cli/commands/__init__.py +0 -0
- devlift_cli-0.1.0/devlift_cli/commands/approval.py +51 -0
- devlift_cli-0.1.0/devlift_cli/commands/auth.py +180 -0
- devlift_cli-0.1.0/devlift_cli/commands/catalog.py +187 -0
- devlift_cli-0.1.0/devlift_cli/commands/clusters.py +108 -0
- devlift_cli-0.1.0/devlift_cli/commands/deployment.py +77 -0
- devlift_cli-0.1.0/devlift_cli/commands/dynamodb.py +121 -0
- devlift_cli-0.1.0/devlift_cli/commands/eks.py +326 -0
- devlift_cli-0.1.0/devlift_cli/commands/kong.py +145 -0
- devlift_cli-0.1.0/devlift_cli/commands/languages.py +40 -0
- devlift_cli-0.1.0/devlift_cli/commands/manual.py +82 -0
- devlift_cli-0.1.0/devlift_cli/commands/repositories.py +49 -0
- devlift_cli-0.1.0/devlift_cli/commands/request.py +89 -0
- devlift_cli-0.1.0/devlift_cli/commands/s3.py +198 -0
- devlift_cli-0.1.0/devlift_cli/commands/sqs.py +229 -0
- devlift_cli-0.1.0/devlift_cli/config.py +94 -0
- devlift_cli-0.1.0/devlift_cli/context.py +97 -0
- devlift_cli-0.1.0/devlift_cli/data/placement/vance.json +16 -0
- devlift_cli-0.1.0/devlift_cli/errors.py +52 -0
- devlift_cli-0.1.0/devlift_cli/ops/__init__.py +0 -0
- devlift_cli-0.1.0/devlift_cli/ops/approvals.py +343 -0
- devlift_cli-0.1.0/devlift_cli/ops/eks.py +877 -0
- devlift_cli-0.1.0/devlift_cli/ops/kong.py +343 -0
- devlift_cli-0.1.0/devlift_cli/ops/placement.py +128 -0
- devlift_cli-0.1.0/devlift_cli/ops/resources.py +418 -0
- devlift_cli-0.1.0/devlift_cli/ops/status.py +152 -0
- devlift_cli-0.1.0/devlift_cli/ops/wait.py +82 -0
- devlift_cli-0.1.0/devlift_cli/render/__init__.py +0 -0
- devlift_cli-0.1.0/devlift_cli/render/output.py +75 -0
- devlift_cli-0.1.0/devlift_cli/resolve/__init__.py +0 -0
- devlift_cli-0.1.0/devlift_cli/resolve/allowlist.py +192 -0
- devlift_cli-0.1.0/devlift_cli/resolve/names.py +179 -0
- devlift_cli-0.1.0/devlift_cli.egg-info/PKG-INFO +106 -0
- devlift_cli-0.1.0/devlift_cli.egg-info/SOURCES.txt +59 -0
- devlift_cli-0.1.0/devlift_cli.egg-info/dependency_links.txt +1 -0
- devlift_cli-0.1.0/devlift_cli.egg-info/entry_points.txt +3 -0
- devlift_cli-0.1.0/devlift_cli.egg-info/requires.txt +6 -0
- devlift_cli-0.1.0/devlift_cli.egg-info/top_level.txt +1 -0
- devlift_cli-0.1.0/pyproject.toml +54 -0
- devlift_cli-0.1.0/setup.cfg +4 -0
|
@@ -0,0 +1,106 @@
|
|
|
1
|
+
Metadata-Version: 2.4
|
|
2
|
+
Name: devlift-cli
|
|
3
|
+
Version: 0.1.0
|
|
4
|
+
Summary: DevLift command-line tool: create, change, review and deploy DevLift resources from the terminal.
|
|
5
|
+
License: Proprietary
|
|
6
|
+
Keywords: devlift,devops,deployment,infrastructure,cli
|
|
7
|
+
Classifier: Development Status :: 4 - Beta
|
|
8
|
+
Classifier: Environment :: Console
|
|
9
|
+
Classifier: Intended Audience :: Developers
|
|
10
|
+
Classifier: Intended Audience :: System Administrators
|
|
11
|
+
Classifier: License :: Other/Proprietary License
|
|
12
|
+
Classifier: Operating System :: OS Independent
|
|
13
|
+
Classifier: Programming Language :: Python :: 3
|
|
14
|
+
Classifier: Programming Language :: Python :: 3.11
|
|
15
|
+
Classifier: Programming Language :: Python :: 3.12
|
|
16
|
+
Classifier: Programming Language :: Python :: 3.13
|
|
17
|
+
Classifier: Topic :: Software Development :: Build Tools
|
|
18
|
+
Classifier: Topic :: System :: Systems Administration
|
|
19
|
+
Classifier: Typing :: Typed
|
|
20
|
+
Requires-Python: >=3.11
|
|
21
|
+
Description-Content-Type: text/markdown
|
|
22
|
+
Requires-Dist: typer>=0.15
|
|
23
|
+
Requires-Dist: rich>=13
|
|
24
|
+
Requires-Dist: httpx>=0.27
|
|
25
|
+
Requires-Dist: keyring>=25
|
|
26
|
+
Requires-Dist: pydantic>=2
|
|
27
|
+
Requires-Dist: pyyaml>=6
|
|
28
|
+
|
|
29
|
+
# devlift-cli
|
|
30
|
+
|
|
31
|
+
DevLift from the terminal, in the style of the AWS CLI:
|
|
32
|
+
|
|
33
|
+
```
|
|
34
|
+
devlift <group> <operation> [flags]
|
|
35
|
+
```
|
|
36
|
+
|
|
37
|
+
Every command is a fixed sequence of calls to the DevLift backend's REST API,
|
|
38
|
+
the same endpoints the web dashboard uses. Nothing here talks to an LLM.
|
|
39
|
+
|
|
40
|
+
## Install
|
|
41
|
+
|
|
42
|
+
```
|
|
43
|
+
pip install devlift-cli
|
|
44
|
+
```
|
|
45
|
+
|
|
46
|
+
Or, to keep it in its own environment and off your system Python:
|
|
47
|
+
|
|
48
|
+
```
|
|
49
|
+
pipx install devlift-cli
|
|
50
|
+
```
|
|
51
|
+
|
|
52
|
+
Upgrade with `pip install -U devlift-cli` (or `pipx upgrade devlift-cli`).
|
|
53
|
+
Your profile and sign-in live in `~/.config/devlift` and survive upgrades.
|
|
54
|
+
|
|
55
|
+
Then:
|
|
56
|
+
|
|
57
|
+
```
|
|
58
|
+
devlift configure --base-url <your DevLift backend> --default
|
|
59
|
+
devlift login
|
|
60
|
+
devlift whoami
|
|
61
|
+
devlift man
|
|
62
|
+
```
|
|
63
|
+
|
|
64
|
+
Requires Python 3.11 or newer. To remove it: `pip uninstall devlift-cli`
|
|
65
|
+
(or `pipx uninstall devlift-cli`). That leaves `~/.config/devlift`, so delete
|
|
66
|
+
that too if you want your profiles and sign-in gone as well.
|
|
67
|
+
|
|
68
|
+
Several backends? `devlift profile list`, `devlift profile use <name>` and
|
|
69
|
+
`devlift profile show` switch between them and say which one is active.
|
|
70
|
+
|
|
71
|
+
## Manual
|
|
72
|
+
|
|
73
|
+
The full command reference ships inside the package: `devlift man` pages
|
|
74
|
+
through it like `man`, and `devlift manual s3` prints one section.
|
|
75
|
+
|
|
76
|
+
## What it covers
|
|
77
|
+
|
|
78
|
+
- Resources: `s3`, `sqs`, `dynamodb` create / list / describe, `s3` and `sqs` update.
|
|
79
|
+
- Services: `eks create / edit / show / diff / deploy / status`, `kong route add / remove / rename`, `kong plugin add`.
|
|
80
|
+
- Review lane: `request submit / withdraw / discard / list / show`, `approval approve / request-changes / reject / revoke / list`.
|
|
81
|
+
- Deployments: `deployment list / status`, `queue list`.
|
|
82
|
+
- Discovery: applications, environments, regions, resource groups, services, repositories, branches, languages.
|
|
83
|
+
|
|
84
|
+
Variables and secrets stay in the dashboard by design.
|
|
85
|
+
|
|
86
|
+
## Scripting
|
|
87
|
+
|
|
88
|
+
- `-o json` prints only JSON on stdout (the default when stdout is not a terminal).
|
|
89
|
+
- `--yes` answers confirmations, `--no-input` fails instead of prompting.
|
|
90
|
+
- `DEVLIFT_TOKEN` skips the stored login. `DEVLIFT_PROFILE`, `DEVLIFT_BASE_URL` override the profile.
|
|
91
|
+
- Exit codes: 0 ok · 1 error · 2 not signed in · 3 bad input · 4 permission · 5 confirmation needed · 6 not found · 7 conflict.
|
|
92
|
+
|
|
93
|
+
## Claude skill
|
|
94
|
+
|
|
95
|
+
`skills/devlift/` teaches Claude (Claude Code or any Agent Skills host) to
|
|
96
|
+
drive this CLI non-interactively. Install with:
|
|
97
|
+
|
|
98
|
+
```
|
|
99
|
+
ln -s "$(pwd)/skills/devlift" ~/.claude/skills/devlift # personal
|
|
100
|
+
# or copy it into a project's .claude/skills/devlift
|
|
101
|
+
```
|
|
102
|
+
|
|
103
|
+
## Development
|
|
104
|
+
|
|
105
|
+
Building, testing and cutting a release: see `CONTRIBUTING.md` in the source
|
|
106
|
+
repository. It is deliberately not part of the published package.
|
|
@@ -0,0 +1,78 @@
|
|
|
1
|
+
# devlift-cli
|
|
2
|
+
|
|
3
|
+
DevLift from the terminal, in the style of the AWS CLI:
|
|
4
|
+
|
|
5
|
+
```
|
|
6
|
+
devlift <group> <operation> [flags]
|
|
7
|
+
```
|
|
8
|
+
|
|
9
|
+
Every command is a fixed sequence of calls to the DevLift backend's REST API,
|
|
10
|
+
the same endpoints the web dashboard uses. Nothing here talks to an LLM.
|
|
11
|
+
|
|
12
|
+
## Install
|
|
13
|
+
|
|
14
|
+
```
|
|
15
|
+
pip install devlift-cli
|
|
16
|
+
```
|
|
17
|
+
|
|
18
|
+
Or, to keep it in its own environment and off your system Python:
|
|
19
|
+
|
|
20
|
+
```
|
|
21
|
+
pipx install devlift-cli
|
|
22
|
+
```
|
|
23
|
+
|
|
24
|
+
Upgrade with `pip install -U devlift-cli` (or `pipx upgrade devlift-cli`).
|
|
25
|
+
Your profile and sign-in live in `~/.config/devlift` and survive upgrades.
|
|
26
|
+
|
|
27
|
+
Then:
|
|
28
|
+
|
|
29
|
+
```
|
|
30
|
+
devlift configure --base-url <your DevLift backend> --default
|
|
31
|
+
devlift login
|
|
32
|
+
devlift whoami
|
|
33
|
+
devlift man
|
|
34
|
+
```
|
|
35
|
+
|
|
36
|
+
Requires Python 3.11 or newer. To remove it: `pip uninstall devlift-cli`
|
|
37
|
+
(or `pipx uninstall devlift-cli`). That leaves `~/.config/devlift`, so delete
|
|
38
|
+
that too if you want your profiles and sign-in gone as well.
|
|
39
|
+
|
|
40
|
+
Several backends? `devlift profile list`, `devlift profile use <name>` and
|
|
41
|
+
`devlift profile show` switch between them and say which one is active.
|
|
42
|
+
|
|
43
|
+
## Manual
|
|
44
|
+
|
|
45
|
+
The full command reference ships inside the package: `devlift man` pages
|
|
46
|
+
through it like `man`, and `devlift manual s3` prints one section.
|
|
47
|
+
|
|
48
|
+
## What it covers
|
|
49
|
+
|
|
50
|
+
- Resources: `s3`, `sqs`, `dynamodb` create / list / describe, `s3` and `sqs` update.
|
|
51
|
+
- Services: `eks create / edit / show / diff / deploy / status`, `kong route add / remove / rename`, `kong plugin add`.
|
|
52
|
+
- Review lane: `request submit / withdraw / discard / list / show`, `approval approve / request-changes / reject / revoke / list`.
|
|
53
|
+
- Deployments: `deployment list / status`, `queue list`.
|
|
54
|
+
- Discovery: applications, environments, regions, resource groups, services, repositories, branches, languages.
|
|
55
|
+
|
|
56
|
+
Variables and secrets stay in the dashboard by design.
|
|
57
|
+
|
|
58
|
+
## Scripting
|
|
59
|
+
|
|
60
|
+
- `-o json` prints only JSON on stdout (the default when stdout is not a terminal).
|
|
61
|
+
- `--yes` answers confirmations, `--no-input` fails instead of prompting.
|
|
62
|
+
- `DEVLIFT_TOKEN` skips the stored login. `DEVLIFT_PROFILE`, `DEVLIFT_BASE_URL` override the profile.
|
|
63
|
+
- Exit codes: 0 ok · 1 error · 2 not signed in · 3 bad input · 4 permission · 5 confirmation needed · 6 not found · 7 conflict.
|
|
64
|
+
|
|
65
|
+
## Claude skill
|
|
66
|
+
|
|
67
|
+
`skills/devlift/` teaches Claude (Claude Code or any Agent Skills host) to
|
|
68
|
+
drive this CLI non-interactively. Install with:
|
|
69
|
+
|
|
70
|
+
```
|
|
71
|
+
ln -s "$(pwd)/skills/devlift" ~/.claude/skills/devlift # personal
|
|
72
|
+
# or copy it into a project's .claude/skills/devlift
|
|
73
|
+
```
|
|
74
|
+
|
|
75
|
+
## Development
|
|
76
|
+
|
|
77
|
+
Building, testing and cutting a release: see `CONTRIBUTING.md` in the source
|
|
78
|
+
repository. It is deliberately not part of the published package.
|