clue2app-cli 0.2.7__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.
- clue2app_cli-0.2.7/LICENSE +21 -0
- clue2app_cli-0.2.7/PKG-INFO +202 -0
- clue2app_cli-0.2.7/README.md +150 -0
- clue2app_cli-0.2.7/pyproject.toml +104 -0
- clue2app_cli-0.2.7/setup.cfg +4 -0
- clue2app_cli-0.2.7/setup.py +64 -0
- clue2app_cli-0.2.7/src/clue2app_cli/__init__.py +10 -0
- clue2app_cli-0.2.7/src/clue2app_cli/agents/__init__.py +9 -0
- clue2app_cli-0.2.7/src/clue2app_cli/agents/ecr_healer.py +475 -0
- clue2app_cli-0.2.7/src/clue2app_cli/auth.py +343 -0
- clue2app_cli-0.2.7/src/clue2app_cli/config.py +316 -0
- clue2app_cli-0.2.7/src/clue2app_cli/core_client.py +46 -0
- clue2app_cli-0.2.7/src/clue2app_cli/creds_module.py +253 -0
- clue2app_cli-0.2.7/src/clue2app_cli/curses_wizard.py +839 -0
- clue2app_cli-0.2.7/src/clue2app_cli/entrypoint_check.py +215 -0
- clue2app_cli-0.2.7/src/clue2app_cli/main.py +6711 -0
- clue2app_cli-0.2.7/src/clue2app_cli/sdk.py +2993 -0
- clue2app_cli-0.2.7/src/clue2app_cli/tui/__init__.py +33 -0
- clue2app_cli-0.2.7/src/clue2app_cli/tui/curses_app.py +733 -0
- clue2app_cli-0.2.7/src/clue2app_cli/tui/data.py +316 -0
- clue2app_cli-0.2.7/src/clue2app_cli/tui/screens/__init__.py +1 -0
- clue2app_cli-0.2.7/src/clue2app_cli/tui/textual_app.py +1021 -0
- clue2app_cli-0.2.7/src/clue2app_cli/tui/widgets/__init__.py +1 -0
- clue2app_cli-0.2.7/src/clue2app_cli/tui_wizard.py +987 -0
- clue2app_cli-0.2.7/src/clue2app_cli/version.py +3 -0
- clue2app_cli-0.2.7/src/clue2app_cli/wizard.py +1079 -0
- clue2app_cli-0.2.7/src/clue2app_cli.egg-info/PKG-INFO +202 -0
- clue2app_cli-0.2.7/src/clue2app_cli.egg-info/SOURCES.txt +31 -0
- clue2app_cli-0.2.7/src/clue2app_cli.egg-info/dependency_links.txt +1 -0
- clue2app_cli-0.2.7/src/clue2app_cli.egg-info/entry_points.txt +3 -0
- clue2app_cli-0.2.7/src/clue2app_cli.egg-info/not-zip-safe +1 -0
- clue2app_cli-0.2.7/src/clue2app_cli.egg-info/requires.txt +22 -0
- clue2app_cli-0.2.7/src/clue2app_cli.egg-info/top_level.txt +1 -0
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
MIT License
|
|
2
|
+
|
|
3
|
+
Copyright (c) 2024 Clue2App CLI Team
|
|
4
|
+
|
|
5
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
6
|
+
of this software and associated documentation files (the "Software"), to deal
|
|
7
|
+
in the Software without restriction, including without limitation the rights
|
|
8
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
9
|
+
copies of the Software, and to permit persons to whom the Software is
|
|
10
|
+
furnished to do so, subject to the following conditions:
|
|
11
|
+
|
|
12
|
+
The above copyright notice and this permission notice shall be included in all
|
|
13
|
+
copies or substantial portions of the Software.
|
|
14
|
+
|
|
15
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
16
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
17
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
18
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
19
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
20
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
21
|
+
SOFTWARE.
|
|
@@ -0,0 +1,202 @@
|
|
|
1
|
+
Metadata-Version: 2.4
|
|
2
|
+
Name: clue2app-cli
|
|
3
|
+
Version: 0.2.7
|
|
4
|
+
Summary: CLI application for clue2app using the clue2app-python-sdk
|
|
5
|
+
Home-page: https://github.com/clue2solve/clue2app-cli
|
|
6
|
+
Author: Clue2App CLI Team
|
|
7
|
+
Author-email: Clue2App CLI Team <support@clue2app.com>
|
|
8
|
+
License: MIT
|
|
9
|
+
Project-URL: Homepage, https://github.com/clue2solve/clue2app-cli
|
|
10
|
+
Project-URL: Documentation, https://docs.clue2app.com/cli
|
|
11
|
+
Project-URL: Repository, https://github.com/clue2solve/clue2app-cli
|
|
12
|
+
Project-URL: Issues, https://github.com/clue2solve/clue2app-cli/issues
|
|
13
|
+
Keywords: cli,clue2app,sdk
|
|
14
|
+
Classifier: Development Status :: 3 - Alpha
|
|
15
|
+
Classifier: Intended Audience :: Developers
|
|
16
|
+
Classifier: License :: OSI Approved :: MIT License
|
|
17
|
+
Classifier: Programming Language :: Python :: 3
|
|
18
|
+
Classifier: Programming Language :: Python :: 3.8
|
|
19
|
+
Classifier: Programming Language :: Python :: 3.9
|
|
20
|
+
Classifier: Programming Language :: Python :: 3.10
|
|
21
|
+
Classifier: Programming Language :: Python :: 3.11
|
|
22
|
+
Classifier: Environment :: Console
|
|
23
|
+
Classifier: Operating System :: OS Independent
|
|
24
|
+
Classifier: Topic :: Software Development :: Build Tools
|
|
25
|
+
Requires-Python: >=3.8
|
|
26
|
+
Description-Content-Type: text/markdown
|
|
27
|
+
License-File: LICENSE
|
|
28
|
+
Requires-Dist: click>=8.0.0
|
|
29
|
+
Requires-Dist: requests>=2.28.0
|
|
30
|
+
Requires-Dist: rich>=12.0.0
|
|
31
|
+
Requires-Dist: keyring>=23.0.0
|
|
32
|
+
Requires-Dist: pydantic>=1.10.0
|
|
33
|
+
Requires-Dist: toml>=0.10.0
|
|
34
|
+
Requires-Dist: questionary>=2.0.0
|
|
35
|
+
Requires-Dist: textual>=0.40.0
|
|
36
|
+
Provides-Extra: dev
|
|
37
|
+
Requires-Dist: pytest>=7.0.0; extra == "dev"
|
|
38
|
+
Requires-Dist: pytest-cov>=4.0.0; extra == "dev"
|
|
39
|
+
Requires-Dist: black>=22.0.0; extra == "dev"
|
|
40
|
+
Requires-Dist: isort>=5.10.0; extra == "dev"
|
|
41
|
+
Requires-Dist: flake8>=5.0.0; extra == "dev"
|
|
42
|
+
Requires-Dist: mypy>=0.991; extra == "dev"
|
|
43
|
+
Requires-Dist: pandas>=1.5.0; extra == "dev"
|
|
44
|
+
Provides-Extra: build
|
|
45
|
+
Requires-Dist: pyinstaller>=6.0.0; extra == "build"
|
|
46
|
+
Requires-Dist: invoke>=2.0.0; extra == "build"
|
|
47
|
+
Requires-Dist: tox>=4.0.0; extra == "build"
|
|
48
|
+
Dynamic: author
|
|
49
|
+
Dynamic: home-page
|
|
50
|
+
Dynamic: license-file
|
|
51
|
+
Dynamic: requires-python
|
|
52
|
+
|
|
53
|
+
# Clue2App CLI
|
|
54
|
+
|
|
55
|
+
**Command-line interface for the Clue2App platform**
|
|
56
|
+
|
|
57
|
+
[](https://www.python.org/downloads/)
|
|
58
|
+
[](https://opensource.org/licenses/MIT)
|
|
59
|
+
[](https://github.com/clue2solve/clue2app-cli/actions/workflows/tests.yml)
|
|
60
|
+
[](https://github.com/clue2solve/clue2app-cli/releases)
|
|
61
|
+
|
|
62
|
+
## Installation
|
|
63
|
+
|
|
64
|
+
### Option 1: pip (Recommended)
|
|
65
|
+
|
|
66
|
+
```bash
|
|
67
|
+
pip install clue2app-cli
|
|
68
|
+
```
|
|
69
|
+
|
|
70
|
+
### Option 2: Standalone Executable
|
|
71
|
+
|
|
72
|
+
Download from [Releases](https://github.com/clue2solve/clue2app-cli/releases):
|
|
73
|
+
|
|
74
|
+
```bash
|
|
75
|
+
# macOS (Apple Silicon)
|
|
76
|
+
curl -L https://github.com/clue2solve/clue2app-cli/releases/latest/download/clue2app-macos-arm64 -o c2a
|
|
77
|
+
chmod +x c2a && sudo mv c2a /usr/local/bin/
|
|
78
|
+
|
|
79
|
+
# macOS (Intel)
|
|
80
|
+
curl -L https://github.com/clue2solve/clue2app-cli/releases/latest/download/clue2app-macos-x64 -o c2a
|
|
81
|
+
chmod +x c2a && sudo mv c2a /usr/local/bin/
|
|
82
|
+
|
|
83
|
+
# Linux
|
|
84
|
+
curl -L https://github.com/clue2solve/clue2app-cli/releases/latest/download/clue2app-linux-x64 -o c2a
|
|
85
|
+
chmod +x c2a && sudo mv c2a /usr/local/bin/
|
|
86
|
+
```
|
|
87
|
+
|
|
88
|
+
## Quick Start
|
|
89
|
+
|
|
90
|
+
```bash
|
|
91
|
+
# Login to your account
|
|
92
|
+
c2a login
|
|
93
|
+
|
|
94
|
+
# Check status
|
|
95
|
+
c2a status
|
|
96
|
+
|
|
97
|
+
# List your projects
|
|
98
|
+
c2a project list
|
|
99
|
+
|
|
100
|
+
# Select a project
|
|
101
|
+
c2a project use MyProject
|
|
102
|
+
|
|
103
|
+
# List apps in current project
|
|
104
|
+
c2a app list
|
|
105
|
+
|
|
106
|
+
# Deploy an app from GitHub
|
|
107
|
+
c2a app create my-app --git-url https://github.com/user/repo
|
|
108
|
+
|
|
109
|
+
# View app logs
|
|
110
|
+
c2a logs show my-app
|
|
111
|
+
|
|
112
|
+
# Rebuild an app
|
|
113
|
+
c2a rebuild my-app
|
|
114
|
+
```
|
|
115
|
+
|
|
116
|
+
## Key Commands
|
|
117
|
+
|
|
118
|
+
| Command | Description |
|
|
119
|
+
|---------|-------------|
|
|
120
|
+
| `c2a login` | Authenticate with Clue2App |
|
|
121
|
+
| `c2a status` | Show CLI and auth status |
|
|
122
|
+
| `c2a project list` | List all projects |
|
|
123
|
+
| `c2a project use <name>` | Set active project |
|
|
124
|
+
| `c2a app list` | List apps in current project |
|
|
125
|
+
| `c2a app create <name> --git-url <url>` | Deploy a new app from a Git repo |
|
|
126
|
+
| `c2a logs show <app>` | View application logs (`--build` for build logs, `-f` to follow) |
|
|
127
|
+
| `c2a build logs <app>` | View latest build logs for an app |
|
|
128
|
+
| `c2a rebuild <app>` | Trigger app rebuild |
|
|
129
|
+
| `c2a env set <app> KEY=value` | Set environment variables |
|
|
130
|
+
| `c2a secrets create -n <name> -u <user> -p <token>` | Create a git credential secret |
|
|
131
|
+
| `c2a llm list` / `c2a llm create` / `c2a llm bind <app> <secret>` | Manage LLM Gateway bindings (see [Daari LLM](docs/daari-llm.md)) |
|
|
132
|
+
| `c2a daari secrets list` / `bind <app> <secret>` | Manage Daari service bindings (see [Daari](docs/daari.md)) |
|
|
133
|
+
|
|
134
|
+
## Configuration
|
|
135
|
+
|
|
136
|
+
Config files are stored in `~/.c2a/`:
|
|
137
|
+
- `config.toml` - CLI settings
|
|
138
|
+
- `credentials.json` - Authentication tokens
|
|
139
|
+
|
|
140
|
+
Override the API base URL (or any other config key) with `c2a config set`:
|
|
141
|
+
```bash
|
|
142
|
+
c2a config set api.base_url https://custom-api.example.com
|
|
143
|
+
```
|
|
144
|
+
|
|
145
|
+
## Documentation
|
|
146
|
+
|
|
147
|
+
For complete documentation, guides, and tutorials:
|
|
148
|
+
|
|
149
|
+
**[https://clue2app.ai/docs](https://clue2app.ai/docs)**
|
|
150
|
+
|
|
151
|
+
- [Quick Start Guide](https://clue2app.ai/docs/quick-start)
|
|
152
|
+
- [CLI Reference](https://clue2app.ai/docs/cli-reference)
|
|
153
|
+
- [MCP Server Setup](https://clue2app.ai/docs/mcp-quickstart)
|
|
154
|
+
- [Deployment Guide](https://clue2app.ai/docs/deployment-journey)
|
|
155
|
+
|
|
156
|
+
## Agents
|
|
157
|
+
|
|
158
|
+
Clue2App includes specialized agents that help manage your applications:
|
|
159
|
+
|
|
160
|
+
| Agent | Purpose |
|
|
161
|
+
|-------|---------|
|
|
162
|
+
| **Deployment** | Deploy, rebuild, and manage application lifecycle |
|
|
163
|
+
| **Cleanup** | Remove orphaned resources and maintain clean infrastructure |
|
|
164
|
+
| **System Health** | Detect anomalies and report system issues |
|
|
165
|
+
| **Audit** | Track all operations with full audit trail and rollback support |
|
|
166
|
+
|
|
167
|
+
Each agent has a single responsibility and they work together to keep your platform healthy.
|
|
168
|
+
|
|
169
|
+
## MCP Server Integration
|
|
170
|
+
|
|
171
|
+
Use Clue2App with AI assistants (Claude Code, Cursor, Claude Desktop):
|
|
172
|
+
|
|
173
|
+
```bash
|
|
174
|
+
pip install clue2app-mcp
|
|
175
|
+
```
|
|
176
|
+
|
|
177
|
+
See [MCP Quick Start](https://clue2app.ai/docs/mcp-quickstart) for setup instructions.
|
|
178
|
+
|
|
179
|
+
## Development
|
|
180
|
+
|
|
181
|
+
```bash
|
|
182
|
+
# Clone and install in dev mode
|
|
183
|
+
git clone https://github.com/clue2solve/clue2app-cli.git
|
|
184
|
+
cd clue2app-cli
|
|
185
|
+
pip install -e ".[dev]"
|
|
186
|
+
|
|
187
|
+
# Run tests
|
|
188
|
+
pytest
|
|
189
|
+
|
|
190
|
+
# Build executable
|
|
191
|
+
pip install -e ".[build]"
|
|
192
|
+
make build
|
|
193
|
+
```
|
|
194
|
+
|
|
195
|
+
## Support
|
|
196
|
+
|
|
197
|
+
- **Documentation**: [clue2app.ai/docs](https://clue2app.ai/docs)
|
|
198
|
+
- **Issues**: [GitHub Issues](https://github.com/clue2solve/clue2app-cli/issues)
|
|
199
|
+
|
|
200
|
+
## License
|
|
201
|
+
|
|
202
|
+
MIT License - see [LICENSE](LICENSE) for details.
|
|
@@ -0,0 +1,150 @@
|
|
|
1
|
+
# Clue2App CLI
|
|
2
|
+
|
|
3
|
+
**Command-line interface for the Clue2App platform**
|
|
4
|
+
|
|
5
|
+
[](https://www.python.org/downloads/)
|
|
6
|
+
[](https://opensource.org/licenses/MIT)
|
|
7
|
+
[](https://github.com/clue2solve/clue2app-cli/actions/workflows/tests.yml)
|
|
8
|
+
[](https://github.com/clue2solve/clue2app-cli/releases)
|
|
9
|
+
|
|
10
|
+
## Installation
|
|
11
|
+
|
|
12
|
+
### Option 1: pip (Recommended)
|
|
13
|
+
|
|
14
|
+
```bash
|
|
15
|
+
pip install clue2app-cli
|
|
16
|
+
```
|
|
17
|
+
|
|
18
|
+
### Option 2: Standalone Executable
|
|
19
|
+
|
|
20
|
+
Download from [Releases](https://github.com/clue2solve/clue2app-cli/releases):
|
|
21
|
+
|
|
22
|
+
```bash
|
|
23
|
+
# macOS (Apple Silicon)
|
|
24
|
+
curl -L https://github.com/clue2solve/clue2app-cli/releases/latest/download/clue2app-macos-arm64 -o c2a
|
|
25
|
+
chmod +x c2a && sudo mv c2a /usr/local/bin/
|
|
26
|
+
|
|
27
|
+
# macOS (Intel)
|
|
28
|
+
curl -L https://github.com/clue2solve/clue2app-cli/releases/latest/download/clue2app-macos-x64 -o c2a
|
|
29
|
+
chmod +x c2a && sudo mv c2a /usr/local/bin/
|
|
30
|
+
|
|
31
|
+
# Linux
|
|
32
|
+
curl -L https://github.com/clue2solve/clue2app-cli/releases/latest/download/clue2app-linux-x64 -o c2a
|
|
33
|
+
chmod +x c2a && sudo mv c2a /usr/local/bin/
|
|
34
|
+
```
|
|
35
|
+
|
|
36
|
+
## Quick Start
|
|
37
|
+
|
|
38
|
+
```bash
|
|
39
|
+
# Login to your account
|
|
40
|
+
c2a login
|
|
41
|
+
|
|
42
|
+
# Check status
|
|
43
|
+
c2a status
|
|
44
|
+
|
|
45
|
+
# List your projects
|
|
46
|
+
c2a project list
|
|
47
|
+
|
|
48
|
+
# Select a project
|
|
49
|
+
c2a project use MyProject
|
|
50
|
+
|
|
51
|
+
# List apps in current project
|
|
52
|
+
c2a app list
|
|
53
|
+
|
|
54
|
+
# Deploy an app from GitHub
|
|
55
|
+
c2a app create my-app --git-url https://github.com/user/repo
|
|
56
|
+
|
|
57
|
+
# View app logs
|
|
58
|
+
c2a logs show my-app
|
|
59
|
+
|
|
60
|
+
# Rebuild an app
|
|
61
|
+
c2a rebuild my-app
|
|
62
|
+
```
|
|
63
|
+
|
|
64
|
+
## Key Commands
|
|
65
|
+
|
|
66
|
+
| Command | Description |
|
|
67
|
+
|---------|-------------|
|
|
68
|
+
| `c2a login` | Authenticate with Clue2App |
|
|
69
|
+
| `c2a status` | Show CLI and auth status |
|
|
70
|
+
| `c2a project list` | List all projects |
|
|
71
|
+
| `c2a project use <name>` | Set active project |
|
|
72
|
+
| `c2a app list` | List apps in current project |
|
|
73
|
+
| `c2a app create <name> --git-url <url>` | Deploy a new app from a Git repo |
|
|
74
|
+
| `c2a logs show <app>` | View application logs (`--build` for build logs, `-f` to follow) |
|
|
75
|
+
| `c2a build logs <app>` | View latest build logs for an app |
|
|
76
|
+
| `c2a rebuild <app>` | Trigger app rebuild |
|
|
77
|
+
| `c2a env set <app> KEY=value` | Set environment variables |
|
|
78
|
+
| `c2a secrets create -n <name> -u <user> -p <token>` | Create a git credential secret |
|
|
79
|
+
| `c2a llm list` / `c2a llm create` / `c2a llm bind <app> <secret>` | Manage LLM Gateway bindings (see [Daari LLM](docs/daari-llm.md)) |
|
|
80
|
+
| `c2a daari secrets list` / `bind <app> <secret>` | Manage Daari service bindings (see [Daari](docs/daari.md)) |
|
|
81
|
+
|
|
82
|
+
## Configuration
|
|
83
|
+
|
|
84
|
+
Config files are stored in `~/.c2a/`:
|
|
85
|
+
- `config.toml` - CLI settings
|
|
86
|
+
- `credentials.json` - Authentication tokens
|
|
87
|
+
|
|
88
|
+
Override the API base URL (or any other config key) with `c2a config set`:
|
|
89
|
+
```bash
|
|
90
|
+
c2a config set api.base_url https://custom-api.example.com
|
|
91
|
+
```
|
|
92
|
+
|
|
93
|
+
## Documentation
|
|
94
|
+
|
|
95
|
+
For complete documentation, guides, and tutorials:
|
|
96
|
+
|
|
97
|
+
**[https://clue2app.ai/docs](https://clue2app.ai/docs)**
|
|
98
|
+
|
|
99
|
+
- [Quick Start Guide](https://clue2app.ai/docs/quick-start)
|
|
100
|
+
- [CLI Reference](https://clue2app.ai/docs/cli-reference)
|
|
101
|
+
- [MCP Server Setup](https://clue2app.ai/docs/mcp-quickstart)
|
|
102
|
+
- [Deployment Guide](https://clue2app.ai/docs/deployment-journey)
|
|
103
|
+
|
|
104
|
+
## Agents
|
|
105
|
+
|
|
106
|
+
Clue2App includes specialized agents that help manage your applications:
|
|
107
|
+
|
|
108
|
+
| Agent | Purpose |
|
|
109
|
+
|-------|---------|
|
|
110
|
+
| **Deployment** | Deploy, rebuild, and manage application lifecycle |
|
|
111
|
+
| **Cleanup** | Remove orphaned resources and maintain clean infrastructure |
|
|
112
|
+
| **System Health** | Detect anomalies and report system issues |
|
|
113
|
+
| **Audit** | Track all operations with full audit trail and rollback support |
|
|
114
|
+
|
|
115
|
+
Each agent has a single responsibility and they work together to keep your platform healthy.
|
|
116
|
+
|
|
117
|
+
## MCP Server Integration
|
|
118
|
+
|
|
119
|
+
Use Clue2App with AI assistants (Claude Code, Cursor, Claude Desktop):
|
|
120
|
+
|
|
121
|
+
```bash
|
|
122
|
+
pip install clue2app-mcp
|
|
123
|
+
```
|
|
124
|
+
|
|
125
|
+
See [MCP Quick Start](https://clue2app.ai/docs/mcp-quickstart) for setup instructions.
|
|
126
|
+
|
|
127
|
+
## Development
|
|
128
|
+
|
|
129
|
+
```bash
|
|
130
|
+
# Clone and install in dev mode
|
|
131
|
+
git clone https://github.com/clue2solve/clue2app-cli.git
|
|
132
|
+
cd clue2app-cli
|
|
133
|
+
pip install -e ".[dev]"
|
|
134
|
+
|
|
135
|
+
# Run tests
|
|
136
|
+
pytest
|
|
137
|
+
|
|
138
|
+
# Build executable
|
|
139
|
+
pip install -e ".[build]"
|
|
140
|
+
make build
|
|
141
|
+
```
|
|
142
|
+
|
|
143
|
+
## Support
|
|
144
|
+
|
|
145
|
+
- **Documentation**: [clue2app.ai/docs](https://clue2app.ai/docs)
|
|
146
|
+
- **Issues**: [GitHub Issues](https://github.com/clue2solve/clue2app-cli/issues)
|
|
147
|
+
|
|
148
|
+
## License
|
|
149
|
+
|
|
150
|
+
MIT License - see [LICENSE](LICENSE) for details.
|
|
@@ -0,0 +1,104 @@
|
|
|
1
|
+
[build-system]
|
|
2
|
+
requires = ["setuptools>=45", "wheel"]
|
|
3
|
+
build-backend = "setuptools.build_meta"
|
|
4
|
+
|
|
5
|
+
[project]
|
|
6
|
+
name = "clue2app-cli"
|
|
7
|
+
version = "0.2.7"
|
|
8
|
+
description = "CLI application for clue2app using the clue2app-python-sdk"
|
|
9
|
+
readme = "README.md"
|
|
10
|
+
requires-python = ">=3.8"
|
|
11
|
+
license = {text = "MIT"}
|
|
12
|
+
authors = [
|
|
13
|
+
{name = "Clue2App CLI Team", email = "support@clue2app.com"}
|
|
14
|
+
]
|
|
15
|
+
keywords = ["cli", "clue2app", "sdk"]
|
|
16
|
+
classifiers = [
|
|
17
|
+
"Development Status :: 3 - Alpha",
|
|
18
|
+
"Intended Audience :: Developers",
|
|
19
|
+
"License :: OSI Approved :: MIT License",
|
|
20
|
+
"Programming Language :: Python :: 3",
|
|
21
|
+
"Programming Language :: Python :: 3.8",
|
|
22
|
+
"Programming Language :: Python :: 3.9",
|
|
23
|
+
"Programming Language :: Python :: 3.10",
|
|
24
|
+
"Programming Language :: Python :: 3.11",
|
|
25
|
+
"Environment :: Console",
|
|
26
|
+
"Operating System :: OS Independent",
|
|
27
|
+
"Topic :: Software Development :: Build Tools"
|
|
28
|
+
]
|
|
29
|
+
|
|
30
|
+
dependencies = [
|
|
31
|
+
"click>=8.0.0",
|
|
32
|
+
"requests>=2.28.0",
|
|
33
|
+
"rich>=12.0.0",
|
|
34
|
+
"keyring>=23.0.0",
|
|
35
|
+
"pydantic>=1.10.0",
|
|
36
|
+
"toml>=0.10.0",
|
|
37
|
+
"questionary>=2.0.0", # Interactive prompts for wizard
|
|
38
|
+
"textual>=0.40.0", # Modern TUI framework with CSS animations
|
|
39
|
+
]
|
|
40
|
+
|
|
41
|
+
[project.optional-dependencies]
|
|
42
|
+
dev = [
|
|
43
|
+
"pytest>=7.0.0",
|
|
44
|
+
"pytest-cov>=4.0.0",
|
|
45
|
+
"black>=22.0.0",
|
|
46
|
+
"isort>=5.10.0",
|
|
47
|
+
"flake8>=5.0.0",
|
|
48
|
+
"mypy>=0.991",
|
|
49
|
+
"pandas>=1.5.0", # For data upload functionality
|
|
50
|
+
]
|
|
51
|
+
build = [
|
|
52
|
+
"pyinstaller>=6.0.0",
|
|
53
|
+
"invoke>=2.0.0",
|
|
54
|
+
"tox>=4.0.0",
|
|
55
|
+
]
|
|
56
|
+
|
|
57
|
+
[project.scripts]
|
|
58
|
+
c2a = "clue2app_cli.main:cli"
|
|
59
|
+
clue2app = "clue2app_cli.main:cli"
|
|
60
|
+
|
|
61
|
+
[project.urls]
|
|
62
|
+
Homepage = "https://github.com/clue2solve/clue2app-cli"
|
|
63
|
+
Documentation = "https://docs.clue2app.com/cli"
|
|
64
|
+
Repository = "https://github.com/clue2solve/clue2app-cli"
|
|
65
|
+
Issues = "https://github.com/clue2solve/clue2app-cli/issues"
|
|
66
|
+
|
|
67
|
+
[tool.setuptools.packages.find]
|
|
68
|
+
where = ["src"]
|
|
69
|
+
|
|
70
|
+
[tool.setuptools.package-dir]
|
|
71
|
+
"" = "src"
|
|
72
|
+
|
|
73
|
+
[tool.black]
|
|
74
|
+
line-length = 88
|
|
75
|
+
target-version = ['py38']
|
|
76
|
+
|
|
77
|
+
[tool.isort]
|
|
78
|
+
profile = "black"
|
|
79
|
+
multi_line_output = 3
|
|
80
|
+
|
|
81
|
+
[tool.mypy]
|
|
82
|
+
python_version = "3.8"
|
|
83
|
+
warn_return_any = true
|
|
84
|
+
warn_unused_configs = true
|
|
85
|
+
disallow_untyped_defs = true
|
|
86
|
+
|
|
87
|
+
[tool.pytest.ini_options]
|
|
88
|
+
testpaths = ["tests"]
|
|
89
|
+
python_files = "test_*.py"
|
|
90
|
+
python_classes = "Test*"
|
|
91
|
+
python_functions = "test_*"
|
|
92
|
+
addopts = "-v --cov=clue2app_cli --cov-report=term-missing"
|
|
93
|
+
|
|
94
|
+
# Build automation configuration
|
|
95
|
+
[tool.clue2app-build]
|
|
96
|
+
executable_name = "clue2app"
|
|
97
|
+
platforms = ["macos-arm64", "macos-x64", "linux-x64", "windows-x64"]
|
|
98
|
+
entry_point = "from clue2app_cli.main import cli; cli()"
|
|
99
|
+
|
|
100
|
+
[tool.pyinstaller]
|
|
101
|
+
name = "clue2app"
|
|
102
|
+
onefile = true
|
|
103
|
+
console = true
|
|
104
|
+
noconfirm = true
|
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
#!/usr/bin/env python3
|
|
2
|
+
"""Setup script for Clue2App CLI."""
|
|
3
|
+
|
|
4
|
+
from setuptools import setup, find_packages
|
|
5
|
+
import os
|
|
6
|
+
|
|
7
|
+
# Read the README file
|
|
8
|
+
def read_readme():
|
|
9
|
+
with open("README.md", "r", encoding="utf-8") as fh:
|
|
10
|
+
return fh.read()
|
|
11
|
+
|
|
12
|
+
# Read requirements
|
|
13
|
+
def read_requirements():
|
|
14
|
+
with open("requirements.txt", "r", encoding="utf-8") as fh:
|
|
15
|
+
return [line.strip() for line in fh if line.strip() and not line.startswith("#")]
|
|
16
|
+
|
|
17
|
+
setup(
|
|
18
|
+
name="clue2app-cli",
|
|
19
|
+
version="0.1.0",
|
|
20
|
+
author="Clue2App CLI Team",
|
|
21
|
+
author_email="support@clue2app.com",
|
|
22
|
+
description="CLI application for clue2app using the clue2app-python-sdk",
|
|
23
|
+
long_description=read_readme(),
|
|
24
|
+
long_description_content_type="text/markdown",
|
|
25
|
+
url="https://github.com/clue2solve/clue2app-cli",
|
|
26
|
+
project_urls={
|
|
27
|
+
"Bug Tracker": "https://github.com/clue2solve/clue2app-cli/issues",
|
|
28
|
+
"Documentation": "https://docs.clue2app.com/cli",
|
|
29
|
+
},
|
|
30
|
+
classifiers=[
|
|
31
|
+
"Development Status :: 3 - Alpha",
|
|
32
|
+
"Intended Audience :: Developers",
|
|
33
|
+
"License :: OSI Approved :: MIT License",
|
|
34
|
+
"Operating System :: OS Independent",
|
|
35
|
+
"Programming Language :: Python :: 3",
|
|
36
|
+
"Programming Language :: Python :: 3.8",
|
|
37
|
+
"Programming Language :: Python :: 3.9",
|
|
38
|
+
"Programming Language :: Python :: 3.10",
|
|
39
|
+
"Programming Language :: Python :: 3.11",
|
|
40
|
+
"Console Application",
|
|
41
|
+
],
|
|
42
|
+
package_dir={"": "src"},
|
|
43
|
+
packages=find_packages(where="src"),
|
|
44
|
+
python_requires=">=3.8",
|
|
45
|
+
install_requires=read_requirements(),
|
|
46
|
+
extras_require={
|
|
47
|
+
"dev": [
|
|
48
|
+
"pytest>=7.0.0",
|
|
49
|
+
"pytest-cov>=4.0.0",
|
|
50
|
+
"black>=22.0.0",
|
|
51
|
+
"isort>=5.10.0",
|
|
52
|
+
"flake8>=5.0.0",
|
|
53
|
+
"mypy>=0.991",
|
|
54
|
+
],
|
|
55
|
+
},
|
|
56
|
+
entry_points={
|
|
57
|
+
"console_scripts": [
|
|
58
|
+
"c2a=clue2app_cli.main:cli",
|
|
59
|
+
"clue2app=clue2app_cli.main:cli",
|
|
60
|
+
],
|
|
61
|
+
},
|
|
62
|
+
include_package_data=True,
|
|
63
|
+
zip_safe=False,
|
|
64
|
+
)
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
"""
|
|
2
|
+
Clue2App CLI - A command line interface for the Clue2App platform.
|
|
3
|
+
|
|
4
|
+
This package provides CLI commands for interacting with the Clue2App platform,
|
|
5
|
+
including authentication, data management, and various app operations.
|
|
6
|
+
"""
|
|
7
|
+
|
|
8
|
+
__version__ = "0.1.0"
|
|
9
|
+
__author__ = "Clue2App CLI Team"
|
|
10
|
+
__email__ = "support@clue2app.com"
|