--- id: pylibyear version: "0.5.0" license: MIT License license_treatment: permissive maintenance: active --- # pylibyear — A simple measure of software dependency freshness. License: permissive · Maintenance: active · Downloads: 74.9K/mo ## What it is and what it does Pylibyear is a CLI tool that audits your project's dependency freshness by comparing each installed package version against its latest available release on PyPI, then sums the time gaps into a single metric called "libyears." It reads from requirements.txt or pyproject.toml files and outputs a table showing each dependency's current version, latest version, and how many libyears behind it is. The tool is designed around the principle that dependency age is a simple, explainable proxy for technical debt. A project with dependencies averaging one year old has accumulated one libyear of staleness; a project with ten dependencies each two years old accumulates twenty libyears. The package depends on httpx for PyPI queries, packaging for version parsing, prettytable for formatted output, python-dateutil for time calculations, and typer for CLI scaffolding. Use it for: - Audit a legacy project's dependency stack to quantify technical debt before planning upgrades. - Monitor dependency freshness in CI/CD pipelines and flag projects exceeding a staleness threshold. - Generate a single metric for stakeholder reports on codebase maintenance health. - Compare dependency age across multiple projects to prioritize which codebases need attention first. - Identify which specific packages are dragging down your freshness score before starting an upgrade sprint. ## Worth the install? AI-flagged interpretation of the facts above — verify before relying. Measures how outdated your project's dependencies are by calculating the total time gap between your installed versions and their latest releases, expressed as a single "libyear" number. Yes, if you need a quick, explainable measure of dependency age for auditing or reporting. The tool is lightweight, actively maintained, and solves a specific problem well. Not necessary if you already use a more comprehensive dependency scanner (e.g., one that also checks for security vulnerabilities or license compliance). ## Install pip install pylibyear uv add pylibyear poetry add pylibyear ## Installing pylibyear Before you install: Low friction: pure Python wheel with six straightforward runtime dependencies (httpx, packaging, prettytable, python-dateutil, typer, typing-extensions). Requires Python 3.11 or later. Active maintenance with a recent release. License in practice: MIT License permits free use, modification, and distribution with minimal restrictions—suitable for most commercial and open-source projects. Quickstart: pip install pylibyear libyear text requirements.txt Requires Python 3.11 or later. Needs a requirements.txt or pyproject.toml file to analyze. Verify before relying: - Whether the package correctly handles all dependency formats (editable installs, git URLs, environment markers). - Performance characteristics when analyzing very large dependency trees. - How it handles packages with irregular or missing version history in PyPI. ## Package facts - License: MIT License (permissive) - Python support: supports_current - Install friction: low - Maintenance: active - Downloads: 74.9K/month (top 15,000 on PyPI) - Known vulnerabilities: none known ## Tags dependency freshness checker, measure dependency age, libyear calculation, dependency staleness tool, check if dependencies are outdated, software dependency metrics, requirements.txt version gap, dependency-audit, cli-tool [View on SkillFed](https://skillfed.io/packages/pylibyear) · [View on PyPI](https://pypi.org/project/pylibyear/)