Skip to main content

finds packages that prevent upgrading a transitive dependency

Project description

pip-blame

finds packages that prevent upgrading a transitive dependency

pip-blame

install

pip install pip-blame

usage

pip-blame NAME

it will fetch the latest version of the package from pypi and compare it against the requirement specifiers declared by the installed packages.

then it will highlight the dependencies that need relaxing their requirements, as well as provide links to open new issues where repo links can be found in the metadata.

philosophy

when making a library, prefer >= specifiers for requirements.

capping dependencies scales poorly when you build a project with dependencies by multiple maintainers. everyone has been through the dependency hell.

every person has a different understanding of semver.

you simply cannot predict that your library breaks with a patch release from a change so small it didn't make it to the changelog, or that it would still function with the next major release.

swim upstream to freshness.

not capping requirements allows you to find out when things break earlier and keep the requirements fresh. people who rely on your work as a building block will be thankful as they spend less time pulling their hair.

overrides as a last resort.

if you struggle with a transitive dependency, use depencency overrides feature of uv. it allows you to lie to the resolver and install the version you know that works.

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

pip_blame-0.2.4.tar.gz (2.8 kB view hashes)

Uploaded Source

Built Distribution

pip_blame-0.2.4-py3-none-any.whl (3.3 kB view hashes)

Uploaded Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page