Skip to main content

Deepwave CLI

PyPI

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

  1. 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.

  1. 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>
  1. 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:

  1. Run deepwave login
  2. Visit Deepwave Auth and enter the code
  3. Authorize with your Google account
  4. 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)

Table of built distributions (wheels) for deepwave-cli 1.0.14
File Interpreter ABI Platform Actions
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.

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page