Commit Graph

28 Commits

Author SHA1 Message Date
Martin Weinelt
d237a92e63
update-python-libraries: Fix some issues
discovered by ruff and pyright.
2023-05-07 12:23:52 +02:00
Ryan Hendrickson
56a07ba986 update-python-libraries: escape vars in regexes 2023-04-18 18:05:01 -04:00
Martin Weinelt
4323150c5c update-python-libraries: Improve code quality
- Prune unused imports
- Collect imports at the top
- Removed unused exception assignments
- Fill bare except clause with
- Expand overly long check_output lines
2023-02-27 02:21:07 +00:00
Martin Weinelt
c4ee7b8f62 update-python-libraries: Make the hash replacement more robust
Retrieve the current package hash and use it for a more precise match,
which allows us to update a derivation in situation where multiple
hashes are present.
2023-02-27 02:21:07 +00:00
Martin Weinelt
4ba1db9876 update-python-libraries: Allow packages to deny bulk updates
By settings `passthru.skipBulkUpdate = true` in a python package, it
will be excluded from bulk update runs.

This is useful in case of fragile packages, that require special
attention during updates.
2023-02-27 02:21:07 +00:00
Martin Weinelt
706cae6532 update-python-libraries: Add support for fetchgit
Previously when packages that required the git fetcher were updated, we
would wrongly rely on `nix-prefetch-url`, which would reliable break the
hash.

Instead we need to use `nix-prefetch-git` to determine the proper hash,
when the relevant attributes are present.
2023-02-27 02:21:07 +00:00
figsoda
ec8cb34358 treewide: fix typos 2022-12-17 19:39:44 -05:00
Alyssa Ross
3dae05bb91 update-python-libraries: enable nix command
Since the Nix command used is an implementation detail of the script,
it's the script that will have to be updated if the command changes,
it's the script that should be opting into this, rather than making
the user do it globally.
2022-10-12 11:38:55 +00:00
Alyssa Ross
6425011efe update-python-libraries: remove old Nix fallback
Since c0972c16dc ("update-python-libraries: add missing dependency nix"),
Nix will be provided as a dependency, so we know we'll always be using
a modern version and no longer need the fallback.
2022-10-12 11:38:55 +00:00
Ryan Mulligan
c0972c16dc update-python-libraries: add missing dependency nix
nix is needed for nix-prefetch-url
2022-10-09 16:06:59 +00:00
Jonathan Ringer
7f5915b048 update-python-libraries.py: Always use ref/tags/ for specifying rev
Avoids situations where a branch and tag share the same
label. Github will silently return a non-valid artifact and
will fail the build.

Since all github releases correspond to an annotated tag, it's
safe to assume that if we found a release for a tag, that the
tag will exist.
2022-03-14 00:29:09 +01:00
Jonathan Ringer
47c82c04ae
update-python-libraries: use sri-hash 2022-01-26 15:10:22 -08:00
Jonathan Ringer
b316efff4b update-python-libraries: skip replacing 'rev' when set to variable
It's common for fetchFromGitHub to have `rev = version;`, in which
it will inherit the version. So no replacement is required.
2022-01-13 18:55:44 -08:00
Jonathan Ringer
ce0a907730 update-python-libraries: support pyproject and flit formats
Generally, this is determined by the fetcher. The
notable exception would be the "wheel" format.
2022-01-13 18:55:44 -08:00
Jonathan Ringer
a230ca83f2 python/update-python-libraries: Allow usage of hash 2021-12-05 22:34:16 -08:00
Jonathan Ringer
8746627039 python/update-python-libraries: enable updates when file contains many pnames 2021-12-05 22:34:16 -08:00
Jonathan Ringer
48d0ca0c05 update-python-libraries: handle github branches and tags with same name 2021-06-22 13:42:46 +02:00
Samuel Gräfenstein
22b73d1282 pkgs/*: add final newline to .nix files 2020-11-09 11:39:28 +00:00
Jonathan Ringer
9c9418151d update-python-libraries: allow for top-level attrs to be updated with github fetcher 2020-10-15 12:10:08 -07:00
Jonathan Ringer
2a9c3ec083
update-python-libraries: make script updateScript friendly 2020-10-11 12:03:18 -07:00
Jonathan Ringer
4eaf246f24 update-python-libraries: add github fetcher 2020-10-06 00:55:43 -07:00
Jonathan Ringer
279438e7f8 python: add use-pkgs-prefix option to update script 2020-03-27 01:47:30 -07:00
Frederik Rietdijk
182571cdc3 update-python-libraries: ignore pyproject 2019-11-22 08:37:03 +01:00
Jonathan Ringer
deb201b311 update-python-libraries: update usage comments 2019-11-03 12:03:27 -08:00
Frederik Rietdijk
aedf4fc8fc Revert "update-python-libraries: use version key for latest release (#68857)"
This broke support for --target.

This reverts commit e8c29fa77c.
2019-10-18 09:53:55 +02:00
Frederik Rietdijk
7181aca6d9 update-python-libraries: handle other format 2019-10-18 09:53:55 +02:00
Mario Rodas
e8c29fa77c
update-python-libraries: use version key for latest release (#68857)
From warehouse API reference [1]:

     GET /pypi/<project_name>/json

     Returns metadata (info) about an individual project at the latest
     version […]

[1] https://warehouse.pypa.io/api-reference/json/#project
2019-09-16 17:34:15 -05:00
Frederik Rietdijk
74d0b82f29 buildPython*: add updateScript to passthru
All Python packages now have an updateScript. The script calls
`update-python-libraries` and passes it the position of the derivation
expression obtained using `meta.position`. This works fine in case a Nix
expression represents only a single derivation. If there are more in it,
`update-python-libraries` will fail.
2018-12-07 15:48:54 +01:00