dandi / dandi/dandi-archive

Figure out a better dependency pinning strategy

Open
#2,333 0 comments 0 reactions 0 assignees View on GitHub
Dominant language
Python
Stars
26
Forks
21
Avg merge
4d 23h
Merged PRs (30d)
15

Description

_Originally posted by @waxlamp in [#2325](https://github.com/dandi/dandi-archive/issues/2325#issuecomment-2813468086)_:

> Heroku suggests specifying the Python minor version but not the patch level, which means Python versions will upgrade more frequently, with attendant invalidation of the pip cache and therefore more upgrades of dependencies, possibly into incompatible versions, etc. So if we follow Heroku's full recommendation, we'll need a more robust version pinning strategy.
>
> My initial feeling is to restrict all dependencies to their current versions via the [compatible release](https://packaging.python.org/en/latest/specifications/version-specifiers/#compatible-release) operator, which holds the major version constant and allows for updated minor versions.
>
> Alongside that, we should have better hygiene around dependabot's suggestions for security updates, etc.

As part of this issue:
- [ ] Remove the patch level from `.python-version`
- [ ] Overhaul dependency version constraints

Contributor guide

No contributing guide indexed for this repository

Research direction

Start with `.python-version`, then locate the project’s dependency declarations and current Dependabot setup to understand the existing constraints. Done means the patch-level Python pin is removed, dependency constraints follow an agreed strategy, and security-update handling is documented or configured consistently.

Written by the indexing model from the issue text.

Assessment

Tech stack
python
Domain
devops
Issue type
Refactor
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.