PolicyEngine / PolicyEngine/policyengine-us

Relax dependency pins

Open
#1,643 1 comment 0 reactions 0 assignees View on GitHub
Dominant language
Python
Stars
162
Forks
212
Avg merge
3d 3h
Merged PRs (30d)
96

Description

I don't think there's one agreed-upon best practice, but the patch-version pins are creating API-blocking dependency conflicts. FWIW I agree with most of the answers in [this SO thread](https://stackoverflow.com/questions/28509481/should-i-pin-my-python-dependencies-versions).

If we want to ensure users can find an environment that works, why don't we specify a conda environment? IMHO, pinning to specific versions is perhaps not using setup.py in the way it seems to have been designed: with each package specifying the range of possible dependency sets, and `pip` finding an intersection. Patch-pinning all our dependencies is technically making it pretty much impossible for any other package to depend on this one right now, if they have even a slight deviation from our dependencies (even if it actually works just fine) - if every package copied our approach, the vast majority of packages would be uninstallable.

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.