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
- IDE with DevContainer support — either of the following:
- Visual Studio Code with the Dev Containers extension
- JetBrains Gateway (supports Dev Containers via the Remote Development plugin)
- Container manager — any one of the following:
- Docker Desktop (macOS, Windows, Linux) (RECOMMENDED)
- Docker Engine (Linux)
- Podman with the Podman Desktop or CLI
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 serveThe 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 theversionfield inpyproject.toml, e.g.0.1.0) - Select the desired
python_version(3.12or3.13, defaults to3.12) - Optionally set
uv_version(defaults to0.10.9) - Optionally check Upload wheel as artifact to download the built
.whlafter 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
versionfield inpyproject.tomlto the desired version (e.g.1.2.3) - Commit and push the change to
main - Navigate to your repository on GitHub and click Releases → Draft a new release
- Create a new tag matching the version in
pyproject.tomlexactly (e.g.1.2.3) - Click Publish release
- The On Release workflow triggers automatically, runs the full CI pipeline, and uploads the
.whlto 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
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
63bdf27f8e21220b32153e2e68015d4c8c0d76c01d75c791209658d8165eefe9
|
|
| MD5 |
938d3f47800778c0a2fa373d38643574
|
|
| BLAKE2b-256 |
fb5f1d452d0fccfb65a81c1d62efe6578761ca24b0c56136c5a02a1fbf895e1e
|
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
34071c862e76e17850ff7024b91ee5115691bd98638579d3100d8d290888321d
|
|
| MD5 |
df54e6e62e6010599d6914f55b50f323
|
|
| BLAKE2b-256 |
bc3574d7166c5d88c1e8d8754c1e79015ba6d2b6f4f95cc69b6beea4c5c2ce63
|