Deepwave CLI
Deepwave CLI is a command-line tool that analyzes codebases, extracts service graphs, routers, endpoints, call graphs, and dependency relationships, then uploads the results to Deepwave for interactive visualization. Understand your codebase architecture, track dependencies, and visualize your application's structure.
Learn more at deepwave.dev.
Warning ⚠️
This CLI tool is still under active development. Although the repository is public, it currently serves as a public preview to share progress and direction. The initial release date will be announced through official channels once it’s ready.
Get started
- Install Deepwave CLI:
MacOS/Linux/Windows:
curl -fsSL https://raw.githubusercontent.com/Deepwave-dev/Deepwave-cli/main/install.sh | bash
PyPI:
pip install deepwave-cli
From source:
git clone https://github.com/Deepwave-dev/Deepwave-cli.git
cd Deepwave-cli
pip install -r cli/requirements.txt
NOTE: Requires Python 3.8+ and a Git repository for automatic metadata detection.
- Authenticate and analyze:
# Login (interactive device code flow) using Deepwave.dev auth
deepwave login
# Analyze your repository
cd /path/to/your/repo
deepwave analyze . <your-project-id>
- View results in your Deepwave dashboard.
Commands
deepwave login
Authenticate with the Deepwave API using OAuth device code flow or a token.
# Interactive device code flow (opens browser)
deepwave login
# With a token
deepwave login --token <token>
Device code flow:
- Run
deepwave login - Visit Deepwave Auth and enter the code
- Authorize with your Google account
- Authentication completes automatically
deepwave analyze
Analyze a repository and automatically upload results to Deepwave.
deepwave analyze <repo-path> <project-id> [OPTIONS]
Default behavior:
- Analyzes the repository
- Creates a bundle
- Uploads to Deepwave
- Deletes bundle files after successful upload
Options:
--repo-url TEXT- Repository URL (auto-detected from git)--branch TEXT- Branch name (auto-detected from git)--commit-sha TEXT- Commit SHA (auto-detected from git)--output PATH- Output directory for bundle files--no-upload- Skip upload (keeps bundle files)--keep-files- Keep bundle files after upload
Examples:
# Analyze, upload, and clean up (default)
deepwave analyze . abc123def456
# Analyze without uploading
deepwave analyze . abc123def456 --no-upload
# Analyze and upload, but keep bundle files
deepwave analyze . abc123def456 --keep-files
deepwave upload
Upload a previously created bundle.
deepwave upload <bundle-path> --project-id <project-id>
What Gets Analyzed
The CLI analyzes your Python codebase and extracts:
- FastAPI/Django: Applications, routers, endpoints, and dependency injection
- Services: Classes, methods, and service dependencies
- Call graphs: Function call relationships
- Import graphs: Module import relationships
- Inheritance: Class hierarchies and inheritance chains
Results are visualized in the Deepwave web interface with interactive graphs and dependency maps.
Framework Support
- FastAPI: Full support (routers, dependencies, endpoints)
- Django: Basic support
Reporting Bugs
We welcome your feedback. File a GitHub issue to report bugs or suggest features.
License
MIT License - see LICENSE file for details.
Metadata
Release files for deepwave-cli 1.0.14
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| deepwave_cli-1.0.14-py3-none-any.whl | Python 3 | none | any | Details for deepwave_cli-1.0.14-py3-none-any.whl |
Release files / deepwave_cli-1.0.14-py3-none-any.whl
| Download URL | deepwave_cli-1.0.14-py3-none-any.whl |
|---|---|
| Size | 98.2 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
0752d4a491d9619c3bb40016048e05f4efaf64b45ca57e4389fadf063d4410a6
|
|
BLAKE2b-256 checksum How to use checksums |
d95d676bf7b737634b2d53067c23d6ec8bd9e141c38709f98711f4dc640b4219
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.12.7
|
Security for deepwave-cli 1.0.14
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.