Skip to main content

A modular dependency analysis framework

Project description

Depsight - Dependency Analysis Framework

Usage

Installation

Via pip

pip install depsight

Via uv

uv tool install depsight

Via Docker

docker pull <your-dockerhub-user>/depsight

Getting Started

Read the docs.

Development

System Requirements

Setup Locally

  • Open Visual Studio Code at the project root directory
  • When prompted, click Reopen in Container (or use Command Palette: Dev Containers: Reopen in Container)
  • Wait for the containers to build and start
  • Once ready, you'll have a fully configured development environment with all dependencies installed
  • Open a terminal inside the DevContainer and run depsight --help

Build Container Image

  • Open a terminal inside the DevContainer (Docker-in-Docker is available)

  • Build the image:

    docker build -t depsight .
    
  • Optionally override the Python or uv version via build args:

    docker build -t depsight --build-arg PYTHON_VERSION=3.13 --build-arg UV_VERSION=0.10.9 .
    
  • Verify the image works:

    docker run --rm depsight --help
    

Run Tests

  • Open a terminal inside the DevContainer

  • Activate the virtual environment:

    source .venv/bin/activate
    
  • Run all tests:

    pytest tests/ -v
    

Lint & Type Check

  • Run the Ruff linter:

    ruff check src/ tests/
    
  • Run the Mypy type checker:

    mypy src/
    

Build Docs

  • Open a terminal inside the DevContainer

  • Activate the virtual environment:

    source .venv/bin/activate
    
  • Serve the documentation locally with live reload:

    mkdocs serve
    

    The site will be available at http://127.0.0.1:8000.

  • Alternatively, build the static site as a site/ directory:

    mkdocs build
    

Build

Pre-release

Use this to trigger a build manually at any time without creating a release.

  • Navigate to your repository on GitHub and click the Actions tab
  • Select the Manual Dispatch workflow from the left sidebar
  • Click Run workflow
  • Enter the depsight_version (must match the version field in pyproject.toml, e.g. 0.1.0)
  • Select the desired python_version (3.12 or 3.13, defaults to 3.12)
  • Optionally set uv_version (defaults to 0.10.9)
  • Optionally check Upload wheel as artifact to download the built .whl after the run
  • Click Run workflow
  • Once the run completes, the wheel is available under the run's Artifacts section (if enabled)

Release

Use this to publish an official versioned build. The wheel is automatically attached to the GitHub Release.

  • Bump the version field in pyproject.toml to the desired version (e.g. 1.2.3)
  • Commit and push the change to main
  • Navigate to your repository on GitHub and click ReleasesDraft a new release
  • Create a new tag matching the version in pyproject.toml exactly (e.g. 1.2.3)
  • Click Publish release
  • The On Release workflow triggers automatically, runs the full CI pipeline, and uploads the .whl to the release assets

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

depsight-0.5.0.tar.gz (19.1 kB view details)

Uploaded Source

Built Distribution

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

depsight-0.5.0-py3-none-any.whl (22.4 kB view details)

Uploaded Python 3

File details

Details for the file depsight-0.5.0.tar.gz.

File metadata

  • Download URL: depsight-0.5.0.tar.gz
  • Upload date:
  • Size: 19.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for depsight-0.5.0.tar.gz
Algorithm Hash digest
SHA256 4fbfb03d3d720730b405c7d2d4d65c8282e5adfec24178a2b2d00759203e4c0a
MD5 3ff26651b9dcc5365f18eb480586803c
BLAKE2b-256 ca264889cf93bb454d2ff5f3e1740c18a1d281098d9df91630e6102b986f5c8f

See more details on using hashes here.

File details

Details for the file depsight-0.5.0-py3-none-any.whl.

File metadata

  • Download URL: depsight-0.5.0-py3-none-any.whl
  • Upload date:
  • Size: 22.4 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for depsight-0.5.0-py3-none-any.whl
Algorithm Hash digest
SHA256 85a97a915644abb93dafd539204e6b59f52223162efc00b22221e12a37e9b2ac
MD5 e1f5341cc02fd061b652f6b7d2c4e248
BLAKE2b-256 8598a58a87fe379b9d902acf759a316f8ad6e8d85bd478f256182c999705c660

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