doc/python: explain bulk package set updates
This commit is contained in:
parent
296da7b2f8
commit
304ed7c421
1 changed files with 30 additions and 0 deletions
|
@ -1602,3 +1602,33 @@ The following rules are desired to be respected:
|
|||
If necessary, `pname` has to be given a different value within `fetchPypi`.
|
||||
* Attribute names in `python-packages.nix` should be sorted alphanumerically to
|
||||
avoid merge conflicts and ease locating attributes.
|
||||
|
||||
## Package set maintenance
|
||||
|
||||
The whole Python package set has a lot of packages that do not see regular
|
||||
updates, because they either are a very fragile component in the Python
|
||||
ecosystem, like for example the `hypothesis` package, or packages that have
|
||||
no maintainer, so maintenance falls back to the package set maintainers.
|
||||
|
||||
### Updating packages in bulk
|
||||
|
||||
There is a tool to update alot of python libraries in bulk, it exists at
|
||||
`maintainers/scripts/update-python-libraries` with this repository.
|
||||
|
||||
It can quickly update minor or major versions for all packages selected
|
||||
and create update commits, and supports the `fetchPypi`, `fetchurl` and
|
||||
`fetchFromGitHub` fetchers. When updating lots of packages that are
|
||||
hosted on GitHub, exporting a `GITHUB_API_TOKEN` is highly recommended.
|
||||
|
||||
Updating packages in bulk leads to lots of breakages, which is why a
|
||||
stabilization period on the `python-unstable` branch is required.
|
||||
|
||||
Once the branch is sufficiently stable it should normally be merged
|
||||
into the `staging` branch.
|
||||
|
||||
An exemplary call to update all python libraries between minor versions
|
||||
would be:
|
||||
|
||||
```ShellSession
|
||||
$ maintainers/scripts/update-python-libraries --target minor --commit --use-pkgs-prefix pkgs/development/python-modules/**/default.nix
|
||||
```
|
||||
|
|
Loading…
Reference in a new issue