superbox 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.
- superbox-1.0.0/LICENSE +21 -0
- superbox-1.0.0/PKG-INFO +170 -0
- superbox-1.0.0/README.md +129 -0
- superbox-1.0.0/pyproject.toml +77 -0
- superbox-1.0.0/setup.cfg +4 -0
- superbox-1.0.0/src/superbox/__init__.py +4 -0
- superbox-1.0.0/src/superbox/aws/__init__.py +1 -0
- superbox-1.0.0/src/superbox/aws/__main__.py +4 -0
- superbox-1.0.0/src/superbox/aws/lambda.py +303 -0
- superbox-1.0.0/src/superbox/aws/proxy.py +62 -0
- superbox-1.0.0/src/superbox/cli/__init__.py +1 -0
- superbox-1.0.0/src/superbox/cli/commands/__init__.py +11 -0
- superbox-1.0.0/src/superbox/cli/commands/auth.py +391 -0
- superbox-1.0.0/src/superbox/cli/commands/init.py +73 -0
- superbox-1.0.0/src/superbox/cli/commands/inspect.py +52 -0
- superbox-1.0.0/src/superbox/cli/commands/logs.py +179 -0
- superbox-1.0.0/src/superbox/cli/commands/pull.py +103 -0
- superbox-1.0.0/src/superbox/cli/commands/push.py +219 -0
- superbox-1.0.0/src/superbox/cli/commands/run.py +15 -0
- superbox-1.0.0/src/superbox/cli/commands/search.py +55 -0
- superbox-1.0.0/src/superbox/cli/commands/test.py +131 -0
- superbox-1.0.0/src/superbox/cli/main.py +57 -0
- superbox-1.0.0/src/superbox/cli/scanners/__init__.py +0 -0
- superbox-1.0.0/src/superbox/cli/scanners/bandit.py +110 -0
- superbox-1.0.0/src/superbox/cli/scanners/discovery.py +118 -0
- superbox-1.0.0/src/superbox/cli/scanners/ggshield.py +64 -0
- superbox-1.0.0/src/superbox/cli/scanners/snyk.py +149 -0
- superbox-1.0.0/src/superbox/cli/scanners/sonarqube.py +263 -0
- superbox-1.0.0/src/superbox/cli/utils.py +197 -0
- superbox-1.0.0/src/superbox/server/__init__.py +8 -0
- superbox-1.0.0/src/superbox/server/helpers/s3_helper.py +37 -0
- superbox-1.0.0/src/superbox/server/helpers/security_helper.py +83 -0
- superbox-1.0.0/src/superbox/shared/__init__.py +1 -0
- superbox-1.0.0/src/superbox/shared/config.py +116 -0
- superbox-1.0.0/src/superbox/shared/models.py +168 -0
- superbox-1.0.0/src/superbox/shared/s3.py +123 -0
- superbox-1.0.0/src/superbox.egg-info/PKG-INFO +170 -0
- superbox-1.0.0/src/superbox.egg-info/SOURCES.txt +40 -0
- superbox-1.0.0/src/superbox.egg-info/dependency_links.txt +1 -0
- superbox-1.0.0/src/superbox.egg-info/entry_points.txt +2 -0
- superbox-1.0.0/src/superbox.egg-info/requires.txt +22 -0
- superbox-1.0.0/src/superbox.egg-info/top_level.txt +1 -0
superbox-1.0.0/LICENSE
ADDED
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
MIT License
|
|
2
|
+
|
|
3
|
+
Copyright (c) 2025 Areeb Ahmed
|
|
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.
|
superbox-1.0.0/PKG-INFO
ADDED
|
@@ -0,0 +1,170 @@
|
|
|
1
|
+
Metadata-Version: 2.4
|
|
2
|
+
Name: superbox
|
|
3
|
+
Version: 1.0.0
|
|
4
|
+
Summary: Discover, deploy, and test MCPs in isolated sandboxes
|
|
5
|
+
Author: SuperBox Team
|
|
6
|
+
License: MIT
|
|
7
|
+
Project-URL: Homepage, https://github.com/areebahmeddd/superbox.ai
|
|
8
|
+
Project-URL: Documentation, https://github.com/areebahmeddd/superbox.ai#readme
|
|
9
|
+
Project-URL: Repository, https://github.com/areebahmeddd/superbox.ai
|
|
10
|
+
Project-URL: Issues, https://github.com/areebahmeddd/superbox.ai/issues
|
|
11
|
+
Keywords: mcp,fastapi,gin,docker,cli,security,registry
|
|
12
|
+
Classifier: Development Status :: 5 - Production/Stable
|
|
13
|
+
Classifier: Intended Audience :: Developers
|
|
14
|
+
Classifier: License :: OSI Approved :: MIT License
|
|
15
|
+
Classifier: Programming Language :: Python :: 3
|
|
16
|
+
Classifier: Programming Language :: Python :: 3.11
|
|
17
|
+
Classifier: Programming Language :: Python :: 3.12
|
|
18
|
+
Requires-Python: >=3.11
|
|
19
|
+
Description-Content-Type: text/markdown
|
|
20
|
+
License-File: LICENSE
|
|
21
|
+
Requires-Dist: python-dotenv
|
|
22
|
+
Requires-Dist: boto3
|
|
23
|
+
Requires-Dist: pydantic[email]
|
|
24
|
+
Requires-Dist: websockets
|
|
25
|
+
Provides-Extra: cli
|
|
26
|
+
Requires-Dist: click; extra == "cli"
|
|
27
|
+
Requires-Dist: requests; extra == "cli"
|
|
28
|
+
Requires-Dist: bandit; extra == "cli"
|
|
29
|
+
Requires-Dist: ggshield; extra == "cli"
|
|
30
|
+
Provides-Extra: dev
|
|
31
|
+
Requires-Dist: pytest; extra == "dev"
|
|
32
|
+
Requires-Dist: pytest-cov; extra == "dev"
|
|
33
|
+
Requires-Dist: pytest-asyncio; extra == "dev"
|
|
34
|
+
Requires-Dist: moto[s3]; extra == "dev"
|
|
35
|
+
Requires-Dist: freezegun; extra == "dev"
|
|
36
|
+
Requires-Dist: ruff; extra == "dev"
|
|
37
|
+
Requires-Dist: pre-commit; extra == "dev"
|
|
38
|
+
Provides-Extra: all
|
|
39
|
+
Requires-Dist: superbox[cli,dev]; extra == "all"
|
|
40
|
+
Dynamic: license-file
|
|
41
|
+
|
|
42
|
+
<div align="center">
|
|
43
|
+
|
|
44
|
+
```text
|
|
45
|
+
_ _
|
|
46
|
+
| | (_)
|
|
47
|
+
___ _ _ _ __ ___ _ __| |__ _____ __ __ _ _
|
|
48
|
+
/ __| | | | '_ \ / _ \ '__| '_ \ / _ \ \/ / / _` | |
|
|
49
|
+
\__ \ |_| | |_) | __/ | | |_) | (_) > < | (_| | |
|
|
50
|
+
|___/\__,_| .__/ \___|_| |_.__/ \___/_/\_(_)__,_|_|
|
|
51
|
+
| |
|
|
52
|
+
|_|
|
|
53
|
+
```
|
|
54
|
+
|
|
55
|
+
</div>
|
|
56
|
+
|
|
57
|
+
# 🧰 SuperBox
|
|
58
|
+
|
|
59
|
+
**SuperBox** (inspired by [Docker Hub](https://hub.docker.com)) helps you discover, deploy, and test MCPs in isolated sandboxes. It includes:
|
|
60
|
+
|
|
61
|
+
- A Python (Click) CLI to initialize metadata, run security scans, push to a registry (S3), search, and configure popular AI clients (VS Code, Cursor, Windsurf, Claude, ChatGPT)
|
|
62
|
+
- A Golang (Gin) backend to list/get/create MCP servers with optional pricing and security reports
|
|
63
|
+
- An AWS Lambda worker that executes MCP servers on demand directly from their Git repositories
|
|
64
|
+
|
|
65
|
+
Why this project:
|
|
66
|
+
|
|
67
|
+
- There's no centralized MCP registry to discover all MCPs, and many lack clear usage docs.
|
|
68
|
+
- MCPs on our platform pass a 5‑step security/quality check (SonarQube, Bandit, GitGuardian) to reduce vulnerabilities and promote best practices.
|
|
69
|
+
- Unlike MCPs that run locally on your machine, MCP servers here execute in sandboxed environments and return responses securely.
|
|
70
|
+
|
|
71
|
+
## Key Features
|
|
72
|
+
|
|
73
|
+
- **Central MCP Registry**: S3‑backed registry with per‑server JSON for easy discovery and portability.
|
|
74
|
+
- **Sandboxed Execution**: MCP servers run in isolated environments and return responses securely.
|
|
75
|
+
- **Security Pipeline (5‑step)**: SonarQube, Bandit, and GitGuardian checks with a unified report.
|
|
76
|
+
- **One‑Command Publish**: `superbox push` scans, discovers tools, and uploads a unified record to S3.
|
|
77
|
+
- **Client Auto‑Config**: `superbox pull --client cursor|vscode|...` writes correct MCP config pointing to the Lambda endpoint.
|
|
78
|
+
- **Terminal Runner**: `superbox run --name <server>` starts an interactive prompt against the Lambda executor.
|
|
79
|
+
- **CloudWatch Logs**: `superbox logs --name <server>` fetches execution logs from AWS with real-time follow support.
|
|
80
|
+
- **Tool Discovery**: Regex‑based discovery across Python code and optional Node `package.json` definitions.
|
|
81
|
+
|
|
82
|
+
> **Note:** The Lambda executor currently supports Python MCP servers.
|
|
83
|
+
|
|
84
|
+
## 📚 Documentation
|
|
85
|
+
|
|
86
|
+
**For complete documentation, setup guides, API references, and CLI usage:**
|
|
87
|
+
|
|
88
|
+
🔗 **[https://superbox.1mindlabs.org/docs](https://acm-aa28ebf6.mintlify.app)**
|
|
89
|
+
|
|
90
|
+
## 🗂️ Project Structure
|
|
91
|
+
|
|
92
|
+
```text
|
|
93
|
+
.
|
|
94
|
+
├── docs/ # Documentation (INSTALL.md)
|
|
95
|
+
├── src/
|
|
96
|
+
│ └── superbox/
|
|
97
|
+
│ ├── cli/ # CLI: init, auth, push, pull, run, search, inspect, test, logs
|
|
98
|
+
│ │ ├── commands/ # CLI subcommands
|
|
99
|
+
│ │ └── scanners/ # SonarCloud, Bandit, ggshield, tool-discovery
|
|
100
|
+
│ ├── server/ # Golang (Gin) app + handlers
|
|
101
|
+
│ │ ├── handlers/ # servers, payment, auth, health
|
|
102
|
+
│ │ ├── models/ # Request/response types
|
|
103
|
+
│ │ ├── helpers/ # Python S3 helper
|
|
104
|
+
│ │ └── templates/ # Landing page
|
|
105
|
+
│ ├── shared/ # Config, models, S3 utils
|
|
106
|
+
│ └── aws/ # AWS Lambda & WebSocket proxy
|
|
107
|
+
│ ├── lambda.py # Lambda handler (WebSocket executor)
|
|
108
|
+
│ └── proxy.py # Local stdio-WebSocket bridge
|
|
109
|
+
├── pyproject.toml # Project metadata & dependencies
|
|
110
|
+
├── Dockerfile # Server container
|
|
111
|
+
├── docker-compose.yaml # Optional local stack
|
|
112
|
+
└── tests/ # PyTests
|
|
113
|
+
```
|
|
114
|
+
|
|
115
|
+
## 🌐 API Reference
|
|
116
|
+
|
|
117
|
+
The HTTP API provides endpoints for server management, authentication, and payments.
|
|
118
|
+
|
|
119
|
+
For complete API documentation, see [https://superbox.1mindlabs.org/docs/api](https://acm-aa28ebf6.mintlify.app/api)
|
|
120
|
+
|
|
121
|
+
## 🔧 CLI Overview
|
|
122
|
+
|
|
123
|
+
The SuperBox CLI provides commands for authentication, server management, and testing:
|
|
124
|
+
|
|
125
|
+
**Authentication:**
|
|
126
|
+
|
|
127
|
+
- `superbox auth register` – Register a new account
|
|
128
|
+
- `superbox auth login` – Log in (email/Google/GitHub)
|
|
129
|
+
- `superbox auth logout` – Log out
|
|
130
|
+
- `superbox auth status` – Check authentication status
|
|
131
|
+
- `superbox auth refresh` – Refresh authentication token
|
|
132
|
+
|
|
133
|
+
**Server Management:**
|
|
134
|
+
|
|
135
|
+
- `superbox init` – Initialize a new MCP server project
|
|
136
|
+
- `superbox push` – Publish server to registry
|
|
137
|
+
- `superbox pull` – Download and configure server for AI clients
|
|
138
|
+
- `superbox search` – Search for servers in registry
|
|
139
|
+
- `superbox inspect` – View server details and security report
|
|
140
|
+
- `superbox test` – Test server directly from repository (without registry)
|
|
141
|
+
|
|
142
|
+
**Execution & Monitoring:**
|
|
143
|
+
|
|
144
|
+
- `superbox run` – Run server in interactive mode
|
|
145
|
+
- `superbox logs` – View server execution logs
|
|
146
|
+
|
|
147
|
+
For detailed CLI documentation and usage examples, see [https://superbox.1mindlabs.org/docs/cli](https://acm-aa28ebf6.mintlify.app/cli)
|
|
148
|
+
|
|
149
|
+
## 📦 Installation
|
|
150
|
+
|
|
151
|
+
See [docs/INSTALL.md](docs/INSTALL.md) for complete installation instructions.
|
|
152
|
+
|
|
153
|
+
## 📄 License
|
|
154
|
+
|
|
155
|
+
This project is licensed under the [MIT License](LICENSE).
|
|
156
|
+
|
|
157
|
+
## 👥 Authors
|
|
158
|
+
|
|
159
|
+
**Core Contributors:**
|
|
160
|
+
|
|
161
|
+
- [Areeb Ahmed](https://github.com/areebahmeddd)
|
|
162
|
+
- [Amartya Anand](https://github.com/amarr07)
|
|
163
|
+
- [Arush Verma](https://github.com/arush3218)
|
|
164
|
+
- [Devansh Aryan](https://github.com/devansharyan123)
|
|
165
|
+
|
|
166
|
+
**Acknowledgments:**
|
|
167
|
+
|
|
168
|
+
- [Shivansh Karan](https://github.com/spacetesla)
|
|
169
|
+
- [Rishi Chirchi](https://github.com/rishichirchi)
|
|
170
|
+
- [Avantika Kesarwani](https://github.com/avii09)
|
superbox-1.0.0/README.md
ADDED
|
@@ -0,0 +1,129 @@
|
|
|
1
|
+
<div align="center">
|
|
2
|
+
|
|
3
|
+
```text
|
|
4
|
+
_ _
|
|
5
|
+
| | (_)
|
|
6
|
+
___ _ _ _ __ ___ _ __| |__ _____ __ __ _ _
|
|
7
|
+
/ __| | | | '_ \ / _ \ '__| '_ \ / _ \ \/ / / _` | |
|
|
8
|
+
\__ \ |_| | |_) | __/ | | |_) | (_) > < | (_| | |
|
|
9
|
+
|___/\__,_| .__/ \___|_| |_.__/ \___/_/\_(_)__,_|_|
|
|
10
|
+
| |
|
|
11
|
+
|_|
|
|
12
|
+
```
|
|
13
|
+
|
|
14
|
+
</div>
|
|
15
|
+
|
|
16
|
+
# 🧰 SuperBox
|
|
17
|
+
|
|
18
|
+
**SuperBox** (inspired by [Docker Hub](https://hub.docker.com)) helps you discover, deploy, and test MCPs in isolated sandboxes. It includes:
|
|
19
|
+
|
|
20
|
+
- A Python (Click) CLI to initialize metadata, run security scans, push to a registry (S3), search, and configure popular AI clients (VS Code, Cursor, Windsurf, Claude, ChatGPT)
|
|
21
|
+
- A Golang (Gin) backend to list/get/create MCP servers with optional pricing and security reports
|
|
22
|
+
- An AWS Lambda worker that executes MCP servers on demand directly from their Git repositories
|
|
23
|
+
|
|
24
|
+
Why this project:
|
|
25
|
+
|
|
26
|
+
- There's no centralized MCP registry to discover all MCPs, and many lack clear usage docs.
|
|
27
|
+
- MCPs on our platform pass a 5‑step security/quality check (SonarQube, Bandit, GitGuardian) to reduce vulnerabilities and promote best practices.
|
|
28
|
+
- Unlike MCPs that run locally on your machine, MCP servers here execute in sandboxed environments and return responses securely.
|
|
29
|
+
|
|
30
|
+
## Key Features
|
|
31
|
+
|
|
32
|
+
- **Central MCP Registry**: S3‑backed registry with per‑server JSON for easy discovery and portability.
|
|
33
|
+
- **Sandboxed Execution**: MCP servers run in isolated environments and return responses securely.
|
|
34
|
+
- **Security Pipeline (5‑step)**: SonarQube, Bandit, and GitGuardian checks with a unified report.
|
|
35
|
+
- **One‑Command Publish**: `superbox push` scans, discovers tools, and uploads a unified record to S3.
|
|
36
|
+
- **Client Auto‑Config**: `superbox pull --client cursor|vscode|...` writes correct MCP config pointing to the Lambda endpoint.
|
|
37
|
+
- **Terminal Runner**: `superbox run --name <server>` starts an interactive prompt against the Lambda executor.
|
|
38
|
+
- **CloudWatch Logs**: `superbox logs --name <server>` fetches execution logs from AWS with real-time follow support.
|
|
39
|
+
- **Tool Discovery**: Regex‑based discovery across Python code and optional Node `package.json` definitions.
|
|
40
|
+
|
|
41
|
+
> **Note:** The Lambda executor currently supports Python MCP servers.
|
|
42
|
+
|
|
43
|
+
## 📚 Documentation
|
|
44
|
+
|
|
45
|
+
**For complete documentation, setup guides, API references, and CLI usage:**
|
|
46
|
+
|
|
47
|
+
🔗 **[https://superbox.1mindlabs.org/docs](https://acm-aa28ebf6.mintlify.app)**
|
|
48
|
+
|
|
49
|
+
## 🗂️ Project Structure
|
|
50
|
+
|
|
51
|
+
```text
|
|
52
|
+
.
|
|
53
|
+
├── docs/ # Documentation (INSTALL.md)
|
|
54
|
+
├── src/
|
|
55
|
+
│ └── superbox/
|
|
56
|
+
│ ├── cli/ # CLI: init, auth, push, pull, run, search, inspect, test, logs
|
|
57
|
+
│ │ ├── commands/ # CLI subcommands
|
|
58
|
+
│ │ └── scanners/ # SonarCloud, Bandit, ggshield, tool-discovery
|
|
59
|
+
│ ├── server/ # Golang (Gin) app + handlers
|
|
60
|
+
│ │ ├── handlers/ # servers, payment, auth, health
|
|
61
|
+
│ │ ├── models/ # Request/response types
|
|
62
|
+
│ │ ├── helpers/ # Python S3 helper
|
|
63
|
+
│ │ └── templates/ # Landing page
|
|
64
|
+
│ ├── shared/ # Config, models, S3 utils
|
|
65
|
+
│ └── aws/ # AWS Lambda & WebSocket proxy
|
|
66
|
+
│ ├── lambda.py # Lambda handler (WebSocket executor)
|
|
67
|
+
│ └── proxy.py # Local stdio-WebSocket bridge
|
|
68
|
+
├── pyproject.toml # Project metadata & dependencies
|
|
69
|
+
├── Dockerfile # Server container
|
|
70
|
+
├── docker-compose.yaml # Optional local stack
|
|
71
|
+
└── tests/ # PyTests
|
|
72
|
+
```
|
|
73
|
+
|
|
74
|
+
## 🌐 API Reference
|
|
75
|
+
|
|
76
|
+
The HTTP API provides endpoints for server management, authentication, and payments.
|
|
77
|
+
|
|
78
|
+
For complete API documentation, see [https://superbox.1mindlabs.org/docs/api](https://acm-aa28ebf6.mintlify.app/api)
|
|
79
|
+
|
|
80
|
+
## 🔧 CLI Overview
|
|
81
|
+
|
|
82
|
+
The SuperBox CLI provides commands for authentication, server management, and testing:
|
|
83
|
+
|
|
84
|
+
**Authentication:**
|
|
85
|
+
|
|
86
|
+
- `superbox auth register` – Register a new account
|
|
87
|
+
- `superbox auth login` – Log in (email/Google/GitHub)
|
|
88
|
+
- `superbox auth logout` – Log out
|
|
89
|
+
- `superbox auth status` – Check authentication status
|
|
90
|
+
- `superbox auth refresh` – Refresh authentication token
|
|
91
|
+
|
|
92
|
+
**Server Management:**
|
|
93
|
+
|
|
94
|
+
- `superbox init` – Initialize a new MCP server project
|
|
95
|
+
- `superbox push` – Publish server to registry
|
|
96
|
+
- `superbox pull` – Download and configure server for AI clients
|
|
97
|
+
- `superbox search` – Search for servers in registry
|
|
98
|
+
- `superbox inspect` – View server details and security report
|
|
99
|
+
- `superbox test` – Test server directly from repository (without registry)
|
|
100
|
+
|
|
101
|
+
**Execution & Monitoring:**
|
|
102
|
+
|
|
103
|
+
- `superbox run` – Run server in interactive mode
|
|
104
|
+
- `superbox logs` – View server execution logs
|
|
105
|
+
|
|
106
|
+
For detailed CLI documentation and usage examples, see [https://superbox.1mindlabs.org/docs/cli](https://acm-aa28ebf6.mintlify.app/cli)
|
|
107
|
+
|
|
108
|
+
## 📦 Installation
|
|
109
|
+
|
|
110
|
+
See [docs/INSTALL.md](docs/INSTALL.md) for complete installation instructions.
|
|
111
|
+
|
|
112
|
+
## 📄 License
|
|
113
|
+
|
|
114
|
+
This project is licensed under the [MIT License](LICENSE).
|
|
115
|
+
|
|
116
|
+
## 👥 Authors
|
|
117
|
+
|
|
118
|
+
**Core Contributors:**
|
|
119
|
+
|
|
120
|
+
- [Areeb Ahmed](https://github.com/areebahmeddd)
|
|
121
|
+
- [Amartya Anand](https://github.com/amarr07)
|
|
122
|
+
- [Arush Verma](https://github.com/arush3218)
|
|
123
|
+
- [Devansh Aryan](https://github.com/devansharyan123)
|
|
124
|
+
|
|
125
|
+
**Acknowledgments:**
|
|
126
|
+
|
|
127
|
+
- [Shivansh Karan](https://github.com/spacetesla)
|
|
128
|
+
- [Rishi Chirchi](https://github.com/rishichirchi)
|
|
129
|
+
- [Avantika Kesarwani](https://github.com/avii09)
|
|
@@ -0,0 +1,77 @@
|
|
|
1
|
+
[build-system]
|
|
2
|
+
requires = ["setuptools", "wheel"]
|
|
3
|
+
build-backend = "setuptools.build_meta"
|
|
4
|
+
|
|
5
|
+
[project]
|
|
6
|
+
name = "superbox"
|
|
7
|
+
version = "1.0.0"
|
|
8
|
+
description = "Discover, deploy, and test MCPs in isolated sandboxes"
|
|
9
|
+
readme = "README.md"
|
|
10
|
+
requires-python = ">=3.11"
|
|
11
|
+
license = {text = "MIT"}
|
|
12
|
+
authors = [
|
|
13
|
+
{name = "SuperBox Team"}
|
|
14
|
+
]
|
|
15
|
+
keywords = ["mcp", "fastapi", "gin", "docker", "cli", "security", "registry"]
|
|
16
|
+
classifiers = [
|
|
17
|
+
"Development Status :: 5 - Production/Stable",
|
|
18
|
+
"Intended Audience :: Developers",
|
|
19
|
+
"License :: OSI Approved :: MIT License",
|
|
20
|
+
"Programming Language :: Python :: 3",
|
|
21
|
+
"Programming Language :: Python :: 3.11",
|
|
22
|
+
"Programming Language :: Python :: 3.12",
|
|
23
|
+
]
|
|
24
|
+
|
|
25
|
+
dependencies = [
|
|
26
|
+
"python-dotenv",
|
|
27
|
+
"boto3",
|
|
28
|
+
"pydantic[email]",
|
|
29
|
+
"websockets",
|
|
30
|
+
]
|
|
31
|
+
|
|
32
|
+
[project.optional-dependencies]
|
|
33
|
+
cli = [
|
|
34
|
+
"click",
|
|
35
|
+
"requests",
|
|
36
|
+
"bandit",
|
|
37
|
+
"ggshield",
|
|
38
|
+
]
|
|
39
|
+
dev = [
|
|
40
|
+
"pytest",
|
|
41
|
+
"pytest-cov",
|
|
42
|
+
"pytest-asyncio",
|
|
43
|
+
"moto[s3]",
|
|
44
|
+
"freezegun",
|
|
45
|
+
"ruff",
|
|
46
|
+
"pre-commit",
|
|
47
|
+
]
|
|
48
|
+
all = [
|
|
49
|
+
"superbox[cli,dev]"
|
|
50
|
+
]
|
|
51
|
+
|
|
52
|
+
[project.scripts]
|
|
53
|
+
superbox = "superbox.cli.main:main"
|
|
54
|
+
|
|
55
|
+
[project.urls]
|
|
56
|
+
Homepage = "https://github.com/areebahmeddd/superbox.ai"
|
|
57
|
+
Documentation = "https://github.com/areebahmeddd/superbox.ai#readme"
|
|
58
|
+
Repository = "https://github.com/areebahmeddd/superbox.ai"
|
|
59
|
+
Issues = "https://github.com/areebahmeddd/superbox.ai/issues"
|
|
60
|
+
|
|
61
|
+
[tool.setuptools]
|
|
62
|
+
package-dir = {"" = "src"}
|
|
63
|
+
|
|
64
|
+
[tool.setuptools.packages.find]
|
|
65
|
+
where = ["src"]
|
|
66
|
+
include = ["superbox*"]
|
|
67
|
+
|
|
68
|
+
[tool.ruff]
|
|
69
|
+
line-length = 100
|
|
70
|
+
target-version = "py311"
|
|
71
|
+
|
|
72
|
+
[tool.pytest.ini_options]
|
|
73
|
+
testpaths = ["tests"]
|
|
74
|
+
python_files = ["test_*.py"]
|
|
75
|
+
python_classes = ["Test*"]
|
|
76
|
+
python_functions = ["test_*"]
|
|
77
|
+
asyncio_mode = "auto"
|
superbox-1.0.0/setup.cfg
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"""AWS integration components for SuperBox."""
|