Skip to main content

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

Project description

Deepwave CLI

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

Installation

curl -fsSL https://raw.githubusercontent.com/Deepwave-dev/Deepwave-cli/main/install.sh | bash

Or install via pip:

pip install deepwave-cli

Or build from source:

git clone https://github.com/Deepwave-dev/Deepwave-cli.git
cd Deepwave-cli
pip install -r cli/requirements.txt

Quick Start

  1. Authenticate:

    # Device code flow (recommended)
    deepwave login
    
    # Or with a token
    deepwave login --token <your-token>
    
  2. Analyze and upload:

    cd /path/to/your/repo
    deepwave analyze . <your-project-id>
    
  3. 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>

# Override API URL
deepwave login --api-url <url>

Device code flow:

  1. Run deepwave login
  2. Visit the displayed URL 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

Requirements

  • Python 3.8+ (for building from source)
  • Git repository (for automatic metadata detection)

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.8.tar.gz (72.8 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.8-py3-none-any.whl (87.2 kB view details)

Uploaded Python 3

File details

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

File metadata

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

File hashes

Hashes for deepwave_cli-1.0.8.tar.gz
Algorithm Hash digest
SHA256 bb9a7b774b116ec697dad592a12d08e80aafb775bf9389a97c6c0100b56b705a
MD5 a23627c546651584435a02a8dda32cdc
BLAKE2b-256 2b09cf2d29897d27986273ae63f0bdd9fc7faf42d5c2d9a066e1d6a79d210acb

See more details on using hashes here.

File details

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

File metadata

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

File hashes

Hashes for deepwave_cli-1.0.8-py3-none-any.whl
Algorithm Hash digest
SHA256 9f685fc0b52e3deff465280ac732f4a853671d21142fd294b064c914b7f9a404
MD5 4c53435c61973011610c071c51215780
BLAKE2b-256 24c2d7e0775e052d05c9bfd8acd25b967c54ec2b62e1f6c985b459baccc1c01e

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