Python package dependency analytics. Know what you depend on!
Project description
repute
Are your python project dependencies of good repute? Now you can run repute to describe the health of your dependencies based on data sources from the web.
Quickstart guide
- Generate a
requirements.txtfile for your project. - Install repute:
uv add repute, ideally in its own virtual environment, so that it does not become part of the project that you want to analyze. - Run
repute path/to/requirements.txtto analyze the health of your dependencies:
$ repute demo/requirements.txt
/Users/me/Desktop/mycloud/repos/repute/repute/requirements.py:31: UserWarning: ignoring editable installation: '-e file:///my/repo/path'
warnings.warn(f"ignoring editable installation: '{line}'")
Fetching data from PyPI: 100%|███████████████████████████████████████████████████████████████████████████████████████| 112/112
Fetching download stats from PyPI: 100%|██████████████████████████████████████████████████████████████████████████████| 56/56
Fetching data from GitHub: 100%|███████████████████████████████████████████████████████████████████████████████████████| 54/54
Summarizing 56 dependencies:
Oldest dependencies:
pypi:version_age_days pypi:time_since_last_release_days
name version
jsonpatch 1.33 642 642
azure-datalake-store 0.0.53 679 679
mpmath 1.3.0 744 744
Dependencies that we could not locate on GitHub:
ruamel-yaml
ruamel-yaml-clib
Dependencies with fewest GitHub stars:
gh:stars
name
astropy-iers-data 3
jsonschema-specifications 11
propcache 17
Dependencies with fewest recent downloads:
pypi:recent_avg_downloads_per_day
name
astropy-iers-data 2274182
pyerfa 6626394
astropy 7289296
See repute.csv for detailed results.
Installation
Installation:
- We're on pypi, so
pip install repute. - Consider using the simplest-possible virtual environment if working directly on this repo.
Context and discussion
Assessing the quality of python dependencies is a complex problem that goes far beyond the scope of this package. Here's a brief overview of the types of factors that could be considered in a more comprehensive review:
-
Dependency health metrics:
- Total dependency count (direct and transitive)
- Dependency tree depth
- Presence of known problematic dependencies
- Supply chain integrity (signed packages, integrity verification)
-
Maintenance indicators:
- Time since last commit/release
- Release frequency and consistency
- Issue resolution time
- Pull request responsiveness
- Number of active maintainers
- Bus factor (concentration of commits among maintainers)
-
Code quality metrics:
- Test coverage percentage
- CI/CD pipeline robustness
- Static analysis scores
- Documentation completeness
- Adherence to PEP standards
- Type hint coverage
- Presence of deprecation warnings
-
Community health:
- GitHub stars/forks trend over time
- Download statistics from PyPI
- Stack Overflow question frequency and answer rates
- Corporate backing or foundation support
-
Operational considerations:
- Package size (both download and installed)
- Import time impact
- Memory footprint
- Performance benchmarks
- Compatibility with target Python versions
- Platform compatibility (Windows/Linux/macOS)
-
Security-specific indicators:
- OSSF Scorecard results
- Use of memory-unsafe dependencies (C extensions)
- History of CVEs and their severity
- Time to patch previous vulnerabilities
- Application of secure coding practices
- Two-factor authentication usage by maintainers
- Dependency pinning practices
-
Build process integrity:
- Reproducible builds support
- Build artifact signing
- Provenance information availability
- Software Bill of Materials (SBOM) availability
-
API stability:
- Breaking change frequency
- Deprecation policy adherence
- Semantic versioning compliance
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 repute-0.1.4.tar.gz.
File metadata
- Download URL: repute-0.1.4.tar.gz
- Upload date:
- Size: 144.2 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.9.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
26744a4752931b5c16eaba815bd3fa9cd8535448286379ee3e950de297ca29f9
|
|
| MD5 |
28ad8fdcebf8b53b183fdc2cdfad367a
|
|
| BLAKE2b-256 |
747424a2cadc2c8c913dd5fd65c6fd4c47062c12e3a046c668c27ff2624e02bf
|
File details
Details for the file repute-0.1.4-py3-none-any.whl.
File metadata
- Download URL: repute-0.1.4-py3-none-any.whl
- Upload date:
- Size: 17.6 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.9.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
04c5a1b2182641a6514e1cfda0f4fef20dc042c529074e465a0e602e0e21e1b4
|
|
| MD5 |
d67f64c15fbcc70dce1902ece47e380f
|
|
| BLAKE2b-256 |
a1a5c9cf72e819f3ef334034baade4cb20f93f58e78a468f5b033f9c7552b7c7
|