mirror of
https://github.com/NixOS/nixpkgs.git
synced 2025-07-11 21:06:19 +03:00
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`.
|
If necessary, `pname` has to be given a different value within `fetchPypi`.
|
||||||
* Attribute names in `python-packages.nix` should be sorted alphanumerically to
|
* Attribute names in `python-packages.nix` should be sorted alphanumerically to
|
||||||
avoid merge conflicts and ease locating attributes.
|
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…
Add table
Add a link
Reference in a new issue