Command-line interface for analyzing codebases and uploading results to Deepwave
Project description
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 app.deepwave.dev.
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.
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file deepwave_cli-1.0.9.tar.gz.
File metadata
- Download URL: deepwave_cli-1.0.9.tar.gz
- Upload date:
- Size: 73.4 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.13.5
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
0bdddd7782957394eb51a0568bbfa0eef86564dbb75e8bbe7ae195969f5fd5f1
|
|
| MD5 |
d2c277fc8f07702c54ef7c4d98ed51b5
|
|
| BLAKE2b-256 |
03f00fb15358bb13232841722939f547eeae82958a3b3153d4adf820635f52df
|
File details
Details for the file deepwave_cli-1.0.9-py3-none-any.whl.
File metadata
- Download URL: deepwave_cli-1.0.9-py3-none-any.whl
- Upload date:
- Size: 87.5 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.13.5
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
6c01b92009e2f27171b77624ee964e2219a4126436ffc5b4064a9c219eab040c
|
|
| MD5 |
b507c88ae840d2f613e06a10f0f85bab
|
|
| BLAKE2b-256 |
515ceab5b17db5292d3616cef57e883bea8ee773b74bbbc2cb5786113589f656
|