Dependency Purpose Annotator
Explain declared dependencies from import evidence, with optional runtime, test and tooling source groups and conservative unused-package findings.
The problem it solves
Dependency Purpose Annotator Explain declared dependencies from observable imports and flag apparently unused packages. The command uses explicit UTF-8 JSON input and produces reviewable JSON or Markdown output.
Who Dependency Purpose Annotator is for
- Developers and maintainers who need reviewable evidence before changing or releasing software.
- Users working with dependencies, imports, audit who want the documented v1.2.0 behavior.
- People who prefer an open-source release with visible limitations, source, and license terms.
Intended result
Explain declared dependencies from import evidence, with optional runtime, test and tooling source groups and conservative unused-package findings.
This summary is reconciled from the current catalog and repository documentation.
Features in v1.2.0
Capabilities below come from the current project README and release documentation.
Explain declared dependencies from observable imports and flag apparently unused packages. The command uses explicit UTF-8 JSON input and produces reviewable JSON or Markdown output.
Verified examples
Screenshots are shown only when the current README references a local source image. Otherwise, repository example files are linked directly.
Platforms and implementation
The public release claims only the cataloged platforms and technologies.
Supported platforms
- Windows
- macOS
- Linux
Built with
- Python
Changelog
Release notes from the canonical v1.2.0 source tag.
- Add explicit runtime/test/tooling source groups with separate evidence and runtime-specific statuses.
- Reject duplicate, invalid and overlapping groups; report ungrouped sources without treating them as runtime.
- Reuse conservative parsers and metadata across groups and preserve legacy ungrouped reports.
- Correct scoped imports, parse Python AST evidence, separate standard/local modules, and add reviewed purposes, mappings, exceptions and baseline diffs.
- Added regression coverage for the audited behavior and invalid inputs.
- Released the first complete Dependency Purpose Annotator command-line workflow.
- Added deterministic reporting, representative examples, cross-platform tests, and explicit limitations.
Quick start
The shortest documented path into the current release.
Before running these source commands, download the v1.2.0 source archive, extract it, and open a terminal in the extracted project folder containing README.md. Follow the tagged README for required runtimes and any platform-specific setup.
python -m pip install .
dependency-purpose examples/sample.json
dependency-purpose examples/sample.json --format json --output report.jsonThe example documents the v1 input shape. Existing report files are never overwritten. Source inputs are read-only except where the documented purpose explicitly creates a new output artifact.
Current limitations
These boundaries are part of the product and prevent the page from implying unverified capability.
Static import evidence is incomplete for plugins, reflection, command-line tools, generated code, and optional dependencies. Findings require human review.
Privacy and licensing
Review the actual data boundary before using a tool with sensitive inputs.
Privacy and safety
The tool runs locally and does not upload input or include telemetry. Python 3.10 or newer is supported on Windows, macOS, and Linux.
License and release
Dependency Purpose Annotator is published under MIT. The current cataloged release is v1.2.0, published 2026-10-15.
Related projects
Related projects are selected deterministically from shared catalog tags, category, and implementation technologies—not popularity or paid placement.
Dependency Purpose Annotator v1.2.0
Use the tagged release for downloads and release notes. Use the repository for source, issues, contribution guidance, security reporting, and complete documentation.
Page source: current Forge catalog plus README and CHANGELOG from the canonical GitHub release tag. Fingerprint: b68b0195633e1b60.