Skip to main content

Command-line interface for analyzing codebases and uploading results to Deepwave

Project description

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.

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

deepwave_cli-1.0.12.tar.gz (80.3 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

deepwave_cli-1.0.12-py3-none-any.whl (98.6 kB view details)

Uploaded Python 3

File details

Details for the file deepwave_cli-1.0.12.tar.gz.

File metadata

  • Download URL: deepwave_cli-1.0.12.tar.gz
  • Upload date:
  • Size: 80.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.7

File hashes

Hashes for deepwave_cli-1.0.12.tar.gz
Algorithm Hash digest
SHA256 71bcd5cb504e8da5457cded640723eac0a62748055ff97aab9d4629ea78152e9
MD5 c71ee511658e51452a870d12ea3a960a
BLAKE2b-256 ec2f886570e7aba35e30205dbcf3bf1f794ca8668565ee42d27fe369f8d91270

See more details on using hashes here.

File details

Details for the file deepwave_cli-1.0.12-py3-none-any.whl.

File metadata

  • Download URL: deepwave_cli-1.0.12-py3-none-any.whl
  • Upload date:
  • Size: 98.6 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.7

File hashes

Hashes for deepwave_cli-1.0.12-py3-none-any.whl
Algorithm Hash digest
SHA256 6ec0fab9177f18dcac15b64fc3c80e12b7abeb73691b02a09cb68dd09c7e0460
MD5 cc0068f68aab3c6f3fee5c9956e5742f
BLAKE2b-256 3bf35f7c389a891c1ef66c14b9a988fe8812eedad7ac4d3a3e4acaca2510dc8f

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page