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)

    Logo
  • 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.4.0.tar.gz (19.2 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.4.0-py3-none-any.whl (22.5 kB view details)

Uploaded Python 3

File details

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

File metadata

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

File hashes

Hashes for depsight-0.4.0.tar.gz
Algorithm Hash digest
SHA256 63bdf27f8e21220b32153e2e68015d4c8c0d76c01d75c791209658d8165eefe9
MD5 938d3f47800778c0a2fa373d38643574
BLAKE2b-256 fb5f1d452d0fccfb65a81c1d62efe6578761ca24b0c56136c5a02a1fbf895e1e

See more details on using hashes here.

File details

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

File metadata

  • Download URL: depsight-0.4.0-py3-none-any.whl
  • Upload date:
  • Size: 22.5 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.4.0-py3-none-any.whl
Algorithm Hash digest
SHA256 34071c862e76e17850ff7024b91ee5115691bd98638579d3100d8d290888321d
MD5 df54e6e62e6010599d6914f55b50f323
BLAKE2b-256 bc3574d7166c5d88c1e8d8754c1e79015ba6d2b6f4f95cc69b6beea4c5c2ce63

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