[python-updates] major updates 2026-07-12 (#541370)

This commit is contained in:
Martin Weinelt
2026-07-15 03:00:32 +00:00
committed by GitHub
254 changed files with 1365 additions and 762 deletions
+22 -1
View File
@@ -4,6 +4,7 @@
acl,
e2fsprogs,
fetchFromGitHub,
fetchpatch,
libb2,
lz4,
openssh,
@@ -32,6 +33,26 @@ python.pkgs.buildPythonApplication (finalAttrs: {
hash = "sha256-pMZr9cVr84b948b5Iuevpy6AtMeYo/Ma8uFLuagAYy4=";
};
patches = [
(fetchpatch {
name = "msgspec-1.2.0-compat.patch";
url = "https://github.com/borgbackup/borg/commit/364438f58c86aebd157b55bd2202afaf5945e008.patch";
excludes = [ "docs/changes.rst" ];
hash = "sha256-YhZDD6i2cn7p00Dgmpqi8uGJzFZzixMZmHPcZroB1sE=";
})
(fetchpatch {
name = "msgspec-1.2.1-compat.patch";
url = "https://github.com/borgbackup/borg/commit/8abdd3b8bf065dceecd52d2b22d92b3c407a7c1d.patch";
excludes = [ "docs/changes.rst" ];
hash = "sha256-bvSRxEzNvejG6PQFkeNDuQB7Zd4/EYPEZkrgjpgQ9Ss=";
})
(fetchpatch {
name = "msgspec-1.2.1-unpacker-compat.patch";
url = "https://github.com/borgbackup/borg/commit/b09bbed3de095d6ac9d69a42a486ec18523046dc.patch";
hash = "sha256-F8CIqOcQOLdYn7srsev2op0pgkgt8zdkc5DQUH1c6xg=";
})
];
postPatch = ''
# sandbox does not support setuid/setgid/sticky bits
substituteInPlace src/borg/testsuite/archiver.py \
@@ -103,7 +124,7 @@ python.pkgs.buildPythonApplication (finalAttrs: {
py
pytest-benchmark
pytest-xdist
pytestCheckHook
pytest9_0CheckHook
versionCheckHook
];
+5
View File
@@ -98,6 +98,11 @@ let
tag = version;
hash = "sha256-ZYEjT/yShfA4+zpbGOtaFOx1nSSOWPtMvskPhHv3c9U=";
};
postPatch = ''
substituteInPlace py_ext/setup.py \
--replace-fail "0.2.0" "${version}"
'';
}
);
};
@@ -1,16 +1,11 @@
{
lib,
stdenv,
python312,
python3Packages,
fetchFromGitHub,
}:
let
# more-itertools unsupported on 3.13
python3 = python312;
in
python3.pkgs.buildPythonApplication (finalAttrs: {
python3Packages.buildPythonApplication (finalAttrs: {
pname = "dmarc-metrics-exporter";
version = "1.3.1";
@@ -25,15 +20,14 @@ python3.pkgs.buildPythonApplication (finalAttrs: {
pythonRelaxDeps = true;
build-system = with python3.pkgs; [
build-system = with python3Packages; [
poetry-core
];
dependencies =
with python3.pkgs;
with python3Packages;
[
bite-parser
dataclasses-serialization
prometheus-client
pydantic
structlog
@@ -42,7 +36,7 @@ python3.pkgs.buildPythonApplication (finalAttrs: {
]
++ uvicorn.optional-dependencies.standard;
nativeCheckInputs = with python3.pkgs; [
nativeCheckInputs = with python3Packages; [
aiohttp
pytest-asyncio
pytestCheckHook
+1 -1
View File
@@ -66,7 +66,7 @@ py.pkgs.buildPythonApplication rec {
social-auth-app-django
sorl-thumbnail
strawberry-graphql
strawberry-django
strawberry-graphql-django
svgwrite
tablib
+1 -1
View File
@@ -73,7 +73,7 @@ py.pkgs.buildPythonApplication rec {
social-auth-app-django
sorl-thumbnail
strawberry-graphql
strawberry-django
strawberry-graphql-django
svgwrite
tablib
@@ -109,6 +109,7 @@ pythonPackages.buildPythonApplication (finalAttrs: {
];
pythonRelaxDeps = [
"bleach"
"celery"
"django-allauth"
"django-auditlog"
@@ -119,6 +120,7 @@ pythonPackages.buildPythonApplication (finalAttrs: {
"redis"
"scikit-learn"
"tika-client"
"tqdm"
# requested by maintainer
"imap-tools"
"ocrmypdf"
@@ -59,6 +59,8 @@ pythonPackages.buildPythonApplication (finalAttrs: {
u-msgpack-python
];
pythonRelaxDeps = [ "cbor2" ];
nativeCheckInputs = [ pythonPackages.pytestCheckHook ];
# nixpkgs-update: no auto update
+2 -1
View File
@@ -102,7 +102,8 @@ stdenv.mkDerivation (finalAttrs: {
--skipunit unit/memefficiency \
--skipunit unit/type/string \
--skipunit integration/failover \
--skipunit integration/aof-multi-part
--skipunit integration/aof-multi-part \
--skipunit integration/dual-channel-replication
runHook postCheck
'';
@@ -63,6 +63,8 @@ buildPythonPackage rec {
"test_get_project"
"test_get_builds"
"test_get_build"
# something about aiohttp and url mocking, maybe yarl
"test_get_work_items"
];
disabledTestPaths = [
@@ -20,14 +20,14 @@
buildPythonPackage rec {
pname = "aiohappyeyeballs";
version = "2.7.0";
version = "2.7.1";
pyproject = true;
src = fetchFromGitHub {
owner = "bdraco";
repo = "aiohappyeyeballs";
tag = "v${version}";
hash = "sha256-BqwKo1zZ7CqkUZ9H05fbbHVj/z3m0xaERh5dGBDKFYI=";
hash = "sha256-smpdmmut4wYekVew13KZXluI71lSUdZriPejUumkLNU=";
};
outputs = [
@@ -53,6 +53,11 @@ buildPythonPackage rec {
pytestCheckHook
];
disabledTests = [
# mocked url differs with empty query param value vs dropped query param
"test_download_backup"
];
pythonImportsCheck = [ "aiohasupervisor" ];
meta = {
@@ -7,6 +7,7 @@
mashumaro,
orjson,
poetry-core,
pyprojectVersionPatchHook,
pytest-asyncio,
pytest-cov-stub,
pytestCheckHook,
@@ -26,6 +27,8 @@ buildPythonPackage rec {
hash = "sha256-llhdLqVueATKCb4wyPYjnsdOpbbE2BnUU0PH0jwHPMU=";
};
nativeBuildInputs = [ pyprojectVersionPatchHook ];
build-system = [ poetry-core ];
dependencies = [
@@ -7,7 +7,7 @@
voluptuous,
}:
buildPythonPackage rec {
pname = "alphaess";
pname = "alphaessopenapi";
version = "0.0.19";
pyproject = true;
@@ -15,7 +15,7 @@ buildPythonPackage rec {
owner = "CharlesGillanders";
repo = "alphaess-openAPI";
tag = version;
sha256 = "sha256-wdwA1MIQrkZCT4zIf8WXyq0+F+peC/auVtjDJ8ZZyxE=";
hash = "sha256-wdwA1MIQrkZCT4zIf8WXyq0+F+peC/auVtjDJ8ZZyxE=";
};
build-system = [ setuptools ];
@@ -32,14 +32,14 @@
buildPythonPackage rec {
pname = "anyio";
version = "4.14.1";
version = "4.14.2";
pyproject = true;
src = fetchFromGitHub {
owner = "agronholm";
repo = "anyio";
tag = version;
hash = "sha256-LPNRNb1RuSVQqsI6aAAiYWC2c2CZAhFS67XW9OfbIiE=";
hash = "sha256-MEU0c8/NI1vlyNtBsg/hGLv6DR619ZqoZzNY1eJLEWM=";
};
build-system = [ setuptools-scm ];
@@ -28,6 +28,12 @@ buildPythonPackage rec {
url = "https://github.com/ionelmc/python-aspectlib/commit/ef2c12304f08723dc8e79d1c59bc32c946d758dc.patch";
hash = "sha256-gtPFtwDsGIMkHTyuoiLk+SAGgB2Wyx/Si9HIdoIsvI8=";
})
(fetchpatch {
name = "pluggy-compat.patch";
url = "https://github.com/ionelmc/python-aspectlib/commit/b85abdb0565d1598ce56bd49d49dc709d4e16081.patch";
hash = "sha256-hW9xF50RjlrKXyABc69dkiV7YUeee95MnF0J/xQDWd4=";
includes = [ "tests/conftest.py" ];
})
];
nativeBuildInputs = [ setuptools ];
@@ -7,19 +7,19 @@
buildPythonPackage (finalAttrs: {
pname = "ast-serialize";
version = "0.5.0";
version = "0.6.0";
pyproject = true;
src = fetchFromGitHub {
owner = "mypyc";
repo = "ast_serialize";
tag = "v${finalAttrs.version}";
hash = "sha256-GmhbMraI16J6ePtn7lXAWaJ+9zDH1GdebKIAzm5w9ok=";
hash = "sha256-7MNtry/GDUpjuh/rMB+R4wAQpPAG/yLNGqH4tEyK7tw=";
};
cargoDeps = rustPlatform.fetchCargoVendor {
inherit (finalAttrs) pname version src;
hash = "sha256-h+BklNeoQaRVWczsE9sFXgvFrnHW5vjWOVaOvLghv0U=";
hash = "sha256-iw1qkQoagmS+8e9znEEo4EZocu+ECL4c+egBY2TOrk0=";
};
build-system = [
@@ -10,14 +10,14 @@
buildPythonPackage (finalAttrs: {
pname = "astroid";
version = "4.0.3"; # Check whether the version is compatible with pylint
version = "4.2.0"; # Check whether the version is compatible with pylint
pyproject = true;
src = fetchFromGitHub {
owner = "PyCQA";
repo = "astroid";
tag = "v${finalAttrs.version}";
hash = "sha256-5p1xY6EWviSgmrLVOx3w7RcG/Vpx+sUtVndoxXrIFTQ=";
hash = "sha256-PwKGAk9tiQzxWydEREg0l0cF4J56SNRwhGRCVjmRoCo=";
};
build-system = [ setuptools ];
@@ -42,6 +42,10 @@ buildPythonPackage (finalAttrs: {
hypothesis
];
pytestFlags = [
"-Wignore::pytest.PytestRemovedIn10Warning"
];
disabledTests = lib.optional (!stdenv.hostPlatform.isDarwin) "test_interpolate_bilinear_skycoord";
# tests must be run in the build directory
@@ -9,14 +9,14 @@
buildPythonPackage rec {
pname = "asttokens";
version = "3.0.1";
version = "3.0.2";
pyproject = true;
src = fetchFromGitHub {
owner = "gristlabs";
repo = "asttokens";
tag = "v${version}";
hash = "sha256-1qkkNpjX89TmGD0z0KA2y+UbiHuEOaXzZ6hs9nw7EeM=";
hash = "sha256-qdjfhcU1Of07hEY9HZ8qUofPoYBixE4RnIohYMQWsqU=";
};
build-system = [ setuptools-scm ];
@@ -31,6 +31,7 @@ buildPythonPackage rec {
pytestFlags = [
"-Wignore::trio.TrioDeprecationWarning"
"-Wignore::pytest.PytestRemovedIn10Warning"
];
disabledTests = [
@@ -10,14 +10,14 @@
buildPythonPackage rec {
pname = "azure-eventhub";
version = "39.0.0";
version = "5.15.0";
pyproject = true;
src = fetchFromGitHub {
owner = "Azure";
repo = "azure-sdk-for-python";
tag = "azure-mgmt-containerservice_${version}";
hash = "sha256-zufXc8LR4STHi/jjV0bcLsifcHIif2m+3Q/KZlsSkRw=";
tag = "azure-eventhub_${version}";
hash = "sha256-zpj1DUeFCXgVw44LcBCYtuFcQtA9BnrDKAxKSYzu4ts=";
};
sourceRoot = "${src.name}/sdk/eventhub/azure-eventhub";
@@ -35,7 +35,7 @@
buildPythonPackage rec {
pname = "beautifulsoup4";
version = "4.14.3";
version = "4.15.0";
pyproject = true;
outputs = [
@@ -45,18 +45,9 @@ buildPythonPackage rec {
src = fetchPypi {
inherit pname version;
hash = "sha256-YpKxxRhtNWu6Zp759/BRdXCZVlrZraXdYwvZ3l+n+4Y=";
hash = "sha256-KI48p9VLBvKsGRlwvCdcGTnLRtRQslW/ZxiwSqN6tPc=";
};
patches = [
# Fix tests with python 3.13.10 / 3.14.1
(fetchpatch {
url = "https://git.launchpad.net/beautifulsoup/patch/?id=55f655ffb7ef03bdd1df0f013743831fe54e3c7a";
excludes = [ "CHANGELOG" ];
hash = "sha256-DJl1pey0NdJH+SyBH9+y6gwUvQCmou0D9xcRAEV8OBw=";
})
];
build-system = [ hatchling ];
nativeBuildInputs = [ sphinxHook ];
@@ -10,14 +10,14 @@
buildPythonPackage (finalAttrs: {
pname = "bleach";
version = "6.3.0";
version = "6.4.0";
pyproject = true;
src = fetchFromGitHub {
owner = "mozilla";
repo = "bleach";
tag = "v${finalAttrs.version}";
hash = "sha256-a85gLy0Ix4cWvXY0s3m+ZD+ga7en6bYu1iAA22OaSwk=";
hash = "sha256-2HcJIxmH78TIE4q481OZPL5ZempMqka6OChEv+BFctY=";
};
pythonRelaxDeps = [
@@ -11,7 +11,7 @@
buildPythonPackage (finalAttrs: {
pname = "blobfile";
version = "3.1.0";
version = "3.2.0";
pyproject = true;
__structuredAttrs = true;
@@ -20,7 +20,7 @@ buildPythonPackage (finalAttrs: {
owner = "christopher-hesse";
repo = "blobfile";
tag = "v${finalAttrs.version}";
hash = "sha256-aTHEJ1P+v9IWXPg9LN+KG1TlEVJh0qTl8J41iWpoPWk=";
hash = "sha256-6WECMS05upC+M81EtOlEs1K3NKD/z073PqutA/OCMiE=";
};
build-system = [ setuptools ];
@@ -11,14 +11,14 @@
buildPythonPackage rec {
pname = "blockbuster";
version = "1.5.25";
version = "1.5.26";
pyproject = true;
src = fetchFromGitHub {
owner = "cbornet";
repo = "blockbuster";
tag = "v${version}";
hash = "sha256-1+Q1IdJXqLAy7kIcVU38TC3dtMeWAn7YOLyGrjCkxD0=";
hash = "sha256-2p1xKThna33nhT3rkp1kfZPVkzsJd42OPs3cHenizJs=";
};
build-system = [ hatchling ];
@@ -20,14 +20,14 @@
buildPythonPackage rec {
pname = "build";
version = "1.5.0";
version = "1.5.1";
pyproject = true;
src = fetchFromGitHub {
owner = "pypa";
repo = "build";
tag = version;
hash = "sha256-Kxqqh9HfNC28CxFHzVkNVzqNM8MVkLgkaCU2jxpjceA=";
hash = "sha256-vm47wuSEKfU4CjonokylTyGe62jGS/5m2dhLKhY5TPc=";
};
build-system = [ flit-core ];
@@ -3,22 +3,26 @@
buildPythonPackage,
fetchFromGitHub,
setuptools,
setuptools-scm,
pytestCheckHook,
}:
buildPythonPackage rec {
pname = "cachetools";
version = "6.2.4";
version = "7.1.4";
pyproject = true;
src = fetchFromGitHub {
owner = "tkem";
repo = "cachetools";
tag = "v${version}";
hash = "sha256-LlDyrjiRYCD9btDl5NA0Seb3jk3hlpNhwu0jAQp9YZE=";
hash = "sha256-zgIUNzDVQMBjaaEitD3ACVd8ZXCeXu3MBTEapzH5sSY=";
};
build-system = [ setuptools ];
build-system = [
setuptools
setuptools-scm
];
nativeCheckInputs = [ pytestCheckHook ];
@@ -7,7 +7,7 @@
icalendar-searcher,
lxml,
manuel,
pytestCheckHook,
pytest9_0CheckHook,
python,
radicale,
recurring-ical-events,
@@ -59,7 +59,7 @@ buildPythonPackage rec {
proxy-py
pyfakefs
pytest-asyncio
pytestCheckHook
pytest9_0CheckHook
(toPythonModule (radicale.override { python3 = python; }))
tzlocal
vobject
@@ -3,12 +3,13 @@
fetchPypi,
buildPythonPackage,
pytestCheckHook,
setuptools,
}:
buildPythonPackage rec {
pname = "calmjs-types";
version = "1.0.1";
format = "setuptools";
pyproject = true;
src = fetchPypi {
pname = "calmjs.types";
@@ -17,11 +18,14 @@ buildPythonPackage rec {
extension = "zip";
};
build-system = [ setuptools ];
checkInputs = [ pytestCheckHook ];
pythonImportsCheck = [ "calmjs.types" ];
meta = {
broken = lib.versionAtLeast setuptools.version "82";
description = "Types for the calmjs framework";
homepage = "https://github.com/calmjs/calmjs.types";
license = lib.licenses.mit;
@@ -12,27 +12,34 @@
msgpack,
msgspec,
orjson,
pymongo,
pytest-xdist,
pytestCheckHook,
pythonAtLeast,
pyyaml,
tomli-w,
tomlkit,
typing-extensions,
ujson,
writableTmpDirAsHomeHook,
}:
buildPythonPackage rec {
buildPythonPackage (finalAttrs: {
pname = "cattrs";
version = "25.3.0";
version = "26.1.0";
pyproject = true;
src = fetchFromGitHub {
owner = "python-attrs";
repo = "cattrs";
tag = "v${version}";
hash = "sha256-6oQblSanvSZOMD5ossCP7fNjyxF54SRbU1cQrW1I5Ps=";
tag = "v${finalAttrs.version}";
hash = "sha256-i1C7TvtQhiEZPi4YELxPHkiz33nNw2rtgRTqs98PVlc=";
};
postPatch = ''
substituteInPlace pyproject.toml \
--replace-fail "-l --benchmark-sort=fullname --benchmark-warmup=true --benchmark-warmup-iterations=5 --benchmark-group-by=fullname" ""
'';
build-system = [
hatchling
hatch-vcs
@@ -43,57 +50,58 @@ buildPythonPackage rec {
typing-extensions
];
optional-dependencies = {
ujson = [
ujson
];
orjson = [
orjson
];
msgpack = [
msgpack
];
pyyaml = [
pyyaml
];
tomlkit = [
tomlkit
];
cbor2 = [
cbor2
];
bson = [
pymongo
];
msgspec = [
msgspec
];
tomllib = [
tomli-w
];
};
nativeCheckInputs = [
cbor2
hypothesis
immutables
motor
msgpack
msgspec
orjson
pytest-xdist
pytestCheckHook
pyyaml
tomlkit
ujson
];
postPatch = ''
substituteInPlace pyproject.toml \
--replace-fail "-l --benchmark-sort=fullname --benchmark-warmup=true --benchmark-warmup-iterations=5 --benchmark-group-by=fullname" ""
substituteInPlace tests/test_preconf.py \
--replace-fail "from orjson import dumps as orjson_dumps" "" \
--replace-fail "from orjson import loads as orjson_loads" ""
'';
preCheck = ''
export HOME=$(mktemp -d);
'';
writableTmpDirAsHomeHook
]
++ lib.concatAttrValues finalAttrs.passthru.optional-dependencies;
disabledTestPaths = [
# Don't run benchmarking tests
"bench"
];
disabledTests = [
# orjson is not available as it requires Rust nightly features to compile its requirements
"test_orjson"
# msgspec causes a segmentation fault for some reason
"test_simple_classes"
"test_msgspec_json_converter"
]
++ lib.optionals (pythonAtLeast "3.13") [
# https://github.com/python-attrs/cattrs/pull/543
"test_unstructure_deeply_nested_generics_list"
];
pythonImportsCheck = [ "cattr" ];
meta = {
changelog = "https://github.com/python-attrs/cattrs/blob/${finalAttrs.src.tag}/HISTORY.md";
description = "Python custom class converters for attrs";
homepage = "https://github.com/python-attrs/cattrs";
changelog = "https://github.com/python-attrs/cattrs/blob/${src.tag}/HISTORY.md";
license = with lib.licenses; [ mit ];
maintainers = with lib.maintainers; [ fab ];
};
}
})
@@ -1,28 +1,52 @@
{
lib,
buildPythonPackage,
fetchPypi,
cargo,
fetchFromGitHub,
hypothesis,
pytest-cov-stub,
pytestCheckHook,
setuptools-scm,
rustc,
rustPlatform,
setuptools,
setuptools-rust,
setuptools-scm,
withCExtensions ? true,
}:
buildPythonPackage rec {
buildPythonPackage (finalAttrs: {
pname = "cbor2";
version = "5.8.0";
version = "6.1.3";
pyproject = true;
src = fetchPypi {
inherit pname version;
hash = "sha256-sZw1/K6WiKwB73W61dsnMAwlN+tO4A7QfgXYRWoNSTE=";
src = fetchFromGitHub {
owner = "agronholm";
repo = "cbor2";
tag = finalAttrs.version;
hash = "sha256-DAhMoWZ820bfa7u+Mu+uqQ+ci+ibxQGwP70t4eOCHg8=";
};
cargoRoot = "rust";
cargoDeps = rustPlatform.fetchCargoVendor {
inherit (finalAttrs)
pname
version
src
cargoRoot
;
hash = "sha256-L9aYpPNGWf8h/NCjDwj5qper9sMSTCxPL91eIbb4hw0=";
};
nativeBuildInputs = [
cargo
rustc
rustPlatform.cargoSetupHook
];
build-system = [
setuptools
setuptools-scm
setuptools-rust
];
nativeCheckInputs = [
@@ -43,11 +67,11 @@ buildPythonPackage rec {
meta = {
description = "Python CBOR (de)serializer with extensive tag support";
changelog = "https://github.com/agronholm/cbor2/releases/tag/${version}";
changelog = "https://github.com/agronholm/cbor2/releases/tag/${finalAttrs.src.tag}";
homepage = "https://github.com/agronholm/cbor2";
license = lib.licenses.mit;
maintainers = [ ];
mainProgram = "cbor2";
};
}
})
@@ -197,6 +197,9 @@ buildPythonPackage (finalAttrs: {
# Flaky: Unclosed temporary file handle under heavy load (as in nixpkgs-review)
"test_check_privileges_without_c_force_root_and_no_group_entry"
# click 8.4 error message flag quoting changes
"test_preload_options"
]
++ lib.optionals (lib.versionAtLeast django.version "6.0") [
"test_is_pickled"
@@ -9,14 +9,14 @@
buildPythonPackage (finalAttrs: {
pname = "certifi";
version = "2026.04.22";
version = "2026.06.17";
pyproject = true;
src = fetchFromGitHub {
owner = "certifi";
repo = "python-certifi";
tag = finalAttrs.version;
hash = "sha256-bGeOrYd7ZUG0VIbgRiYIBK3JDRC5wpST5IrFHyWO/cg=";
hash = "sha256-/Jg/tNYuZtL3YeCzPUwP0phLfkHiLxiWbPfby05XKw4=";
};
patches = [
@@ -12,14 +12,14 @@
buildPythonPackage rec {
pname = "cffi";
version = "2.0.0";
version = "2.1.0";
pyproject = true;
src = fetchFromGitHub {
owner = "python-cffi";
repo = "cffi";
tag = "v${version}";
hash = "sha256-7Mzz3KmmmE2xQru1GA4aY0DZqn6vxykWiExQvnA1bjM=";
hash = "sha256-17OgcPo1pYwsPV/2iHe7iXVusCp5zLTFGcHYUfX1g48=";
};
nativeBuildInputs = [ pkg-config ];
@@ -14,19 +14,19 @@
buildPythonPackage rec {
pname = "charset-normalizer";
version = "3.4.7";
version = "3.4.9";
pyproject = true;
src = fetchFromGitHub {
owner = "jawah";
repo = "charset_normalizer";
tag = version;
hash = "sha256-dOdJ4f98smCYdskp3BwtQG6aOyK+2a73+x580FKRWDk=";
hash = "sha256-YOskF90ach/qEwnMeYDEEO2H4DOoz/LZApXDRU9mvnM=";
};
postPatch = ''
substituteInPlace _mypyc_hook/backend.py \
--replace-fail "mypy>=1.4.1,<=1.20" "mypy"
--replace-fail "mypy>=1.4.1,<2.2" "mypy"
'';
build-system = [
@@ -30,6 +30,10 @@ buildPythonPackage rec {
nativeCheckInputs = [ pytestCheckHook ];
pytestFlags = [
"-Wignore::pytest.PytestRemovedIn10Warning"
];
disabledTests = [
# for some reason the tests fail to execute cat, even though they run with less just fine,
# even adding coreutils to nativeCheckInputs explicitly does not change anything
@@ -17,6 +17,11 @@ buildPythonPackage (finalAttrs: {
hash = "sha256-Y3weYo/pjz8gpeRNpZGnK0K/VNfUUnGQvzntX2SvdYU=";
};
postPatch = ''
substituteInPlace setup.py \
--replace-fail "setuptools_scm<10" setuptools_scm
'';
build-system = [ setuptools-scm ];
dependencies = [ click ];
@@ -70,6 +70,11 @@ buildPythonPackage (finalAttrs: {
]
++ lib.concatAttrValues finalAttrs.passthru.optional-dependencies;
pytestFlags = [
# Using `httpx` with `starlette.testclient` is deprecated; install `httpx2` instead.
"-Wignore::starlette.exceptions.StarletteDeprecationWarning"
];
pythonImportsCheck = [ "cross_web" ];
preCheck = ''
@@ -16,6 +16,7 @@
# tests
pytest-asyncio,
pytest-dotenv,
pytestCheckHook,
}:
@@ -55,6 +56,7 @@ buildPythonPackage (finalAttrs: {
nativeCheckInputs = [
pytest-asyncio
pytest-dotenv
pytestCheckHook
]
++ finalAttrs.passthru.optional-dependencies.cli;
@@ -1,64 +0,0 @@
{
lib,
buildPythonPackage,
fetchFromGitHub,
more-properties,
typing-inspect,
toolz,
toposort,
bson,
pytestCheckHook,
}:
buildPythonPackage rec {
pname = "dataclasses-serialization";
version = "1.3.1";
# upstream requires >= 3.6 but only 3.7 includes dataclasses
format = "setuptools";
src = fetchFromGitHub {
owner = "madman-bob";
repo = "python-dataclasses-serialization";
rev = version;
hash = "sha256-jLMR2D01KgzHHRP0zduMBJt8xgBmIquWLCjZYLo2/AA=";
};
postPatch = ''
mv pypi_upload/setup.py .
substituteInPlace setup.py \
--replace "project_root = Path(__file__).parents[1]" "project_root = Path(__file__).parents[0]"
# https://github.com/madman-bob/python-dataclasses-serialization/issues/16
sed -i '/(\(Dict\|List\)/d' tests/test_json.py tests/test_bson.py
'';
# dataclasses is included in Python 3.7
pythonRemoveDeps = [ "dataclasses" ];
propagatedBuildInputs = [
more-properties
typing-inspect
toolz
toposort
];
nativeCheckInputs = [
bson
pytestCheckHook
];
pythonImportsCheck = [
"dataclasses_serialization.bson"
"dataclasses_serialization.json"
"dataclasses_serialization.serializer_base"
];
meta = {
description = "Serialize/deserialize Python dataclasses to various other data formats";
homepage = "https://github.com/madman-bob/python-dataclasses-serialization";
license = lib.licenses.mit;
maintainers = with lib.maintainers; [ dotlambda ];
};
}
@@ -3,15 +3,21 @@
argcomplete,
black,
buildPythonPackage,
email-validator,
fetchFromGitHub,
genson,
graphql-core,
grpcio-tools,
hatch-vcs,
hatchling,
httpx,
hypothesis,
hypothesis-jsonschema,
inflect,
inline-snapshot,
isort,
jsonschema,
msgspec,
jinja2,
openapi-spec-validator,
packaging,
@@ -20,6 +26,8 @@
pydantic,
pysnooper,
pytest-mock,
pytest-timeout,
pytest-xdist,
pytestCheckHook,
pyyaml,
time-machine,
@@ -28,14 +36,14 @@
buildPythonPackage rec {
pname = "datamodel-code-generator";
version = "0.55.0";
version = "0.68.1";
pyproject = true;
src = fetchFromGitHub {
owner = "koxudaxi";
repo = "datamodel-code-generator";
tag = version;
hash = "sha256-zsLJv7gKhmnEIS/AUvnBzm+07QFQoMdiFo/PkfRyHek=";
hash = "sha256-fYnI7S4FJ927qZXyAsWQzxhLTrcpscYqJunmcSt/gkk=";
};
pythonRelaxDeps = [
@@ -65,6 +73,7 @@ buildPythonPackage rec {
debug = [ pysnooper ];
graphql = [ graphql-core ];
http = [ httpx ];
protobuf = [ grpcio-tools ];
ruff = [ ruff ];
validation = [
openapi-spec-validator
@@ -76,20 +85,31 @@ buildPythonPackage rec {
};
nativeCheckInputs = [
email-validator
inline-snapshot
hypothesis
hypothesis-jsonschema
jsonschema
msgspec
pytest-mock
pytest-timeout
pytest-xdist
pytestCheckHook
time-machine
]
++ optional-dependencies.all;
pythonImportsCheck = [ "datamodel_code_generator" ];
pytestFlags = [
"--maxfail=2"
];
disabledTests = [
# remote testing, name resolution failure.
"test_openapi_parser_parse_remote_ref"
];
pythonImportsCheck = [ "datamodel_code_generator" ];
meta = {
description = "Pydantic model and dataclasses.dataclass generator for easy conversion of JSON, OpenAPI, JSON Schema, and YAML data sources";
homepage = "https://github.com/koxudaxi/datamodel-code-generator";
@@ -8,14 +8,14 @@
buildPythonPackage rec {
pname = "decorator";
version = "5.2.1";
version = "5.3.1";
pyproject = true;
src = fetchFromGitHub {
owner = "micheles";
repo = "decorator";
tag = version;
hash = "sha256-UBjZ8LdgJ6iLBjNTlA3up0qAVBqTSZMJt7oEhUo3ZEo=";
hash = "sha256-whGT0XDVdo0mhc2KP5unjdUSP3AFWKql1fKM1qlK/Zc=";
};
build-system = [ setuptools ];
@@ -2,6 +2,7 @@
lib,
buildPythonPackage,
fetchFromGitHub,
pyprojectVersionPatchHook,
# build-system
poetry-core,
@@ -27,6 +28,8 @@ buildPythonPackage rec {
hash = "sha256-c91xCrlNpCutZZYO6y0pOaqPCF4exbr7xVxfsf5LI0Q=";
};
nativeBuildInputs = [ pyprojectVersionPatchHook ];
build-system = [ poetry-core ];
dependencies = [ aiohttp ];
@@ -23,14 +23,14 @@
buildPythonPackage rec {
pname = "docker";
version = "7.1.0";
version = "7.2.0";
pyproject = true;
src = fetchFromGitHub {
owner = "docker";
repo = "docker-py";
tag = version;
hash = "sha256-sk6TZLek+fRkKq7kG9g6cR9lvfPC8v8qUXKb7Tq4pLU=";
hash = "sha256-4LmmWAmwoFroV4Ez0r1X72jCpBt69upQMrsA4eP5K6o=";
};
build-system = [
@@ -13,12 +13,12 @@
let
self = buildPythonPackage rec {
pname = "docutils";
version = "0.22.4";
version = "0.23";
pyproject = true;
src = fetchurl {
url = "mirror://sourceforge/docutils/docutils-${version}.tar.gz";
hash = "sha256-TbU7H96avsu3TZEjDTKrYm2U9rrfxXXW25GUpJ3ymWg=";
hash = "sha256-dG9QYDIlESgKHlDrdoRu1r8jQphLKsBNxCyqGo14eZ4=";
};
build-system = [ flit-core ];
@@ -25,19 +25,19 @@
buildPythonPackage (finalAttrs: {
pname = "dulwich";
version = "1.2.6";
version = "1.2.10";
pyproject = true;
src = fetchFromGitHub {
owner = "jelmer";
repo = "dulwich";
tag = "dulwich-${finalAttrs.version}";
hash = "sha256-nj20g5OmlcqWDaKv3NoKWZS5/e4HOMCf7DHeS7xDzjQ=";
hash = "sha256-ogYR4xK4sYbh7zOozpiZ+bubA6/kDx1iFkbIAjYLkIs=";
};
cargoDeps = rustPlatform.fetchCargoVendor {
inherit (finalAttrs) pname version src;
hash = "sha256-wifh/beg3VVQpAXg/P/tq6qiUwCqXxhWPoRvX2HcFOc=";
hash = "sha256-Shu80kj4rir3JvrgXmO82/Z6ZROaACl43zQBzjlDFYc=";
};
nativeBuildInputs = [
@@ -8,12 +8,12 @@
buildPythonPackage rec {
pname = "editables";
version = "0.5";
version = "0.6";
pyproject = true;
src = fetchPypi {
inherit pname version;
hash = "sha256-MJYn2bXErcDmaNjG+nusG6fIxdQVwtJ/YPCB+OgNHeI=";
hash = "sha256-EWODSQI4HEYTeHlRxZFIAP3xVa4IhIo3O46lAGeAl3w=";
};
build-system = [ flit-core ];
@@ -22,7 +22,10 @@ buildPythonPackage rec {
hash = "sha256-y0QfxLDoTKNZuAKcPqrLjwkZ0mRseBVq7OyflwUd+Lk=";
};
pythonRelaxDeps = [ "events" ];
pythonRelaxDeps = [
"events"
"simplejson"
];
build-system = [ setuptools ];
@@ -22,14 +22,14 @@
buildPythonPackage rec {
pname = "eventlet";
version = "0.40.3";
version = "0.41.0";
pyproject = true;
src = fetchFromGitHub {
owner = "eventlet";
repo = "eventlet";
tag = version;
hash = "sha256-yieyNx91jvKoh02zDFIEFk70yf3I27DWiumqoOjtdzQ=";
hash = "sha256-g/AmHqCtWExp8XAdb9/knfATPne9Ma8MbIhYBHZxyOY=";
};
pythonRelaxDeps = lib.optionals isPyPy [ "greenlet" ];
@@ -73,6 +73,8 @@ buildPythonPackage rec {
"test_ssl_close"
# flaky test
"test_send_timeout"
# greenlet 3.5.1 compat issue
"test_patcher_existing_logging_module_lock"
];
pythonImportsCheck = [ "eventlet" ];
@@ -15,12 +15,12 @@
buildPythonPackage rec {
pname = "faker";
version = "40.1.2";
version = "40.28.1";
pyproject = true;
src = fetchPypi {
inherit pname version;
hash = "sha256-t2poFjql8XHSYPwkgnqDSbwdtnL2pmU1no0AlegTXTA=";
hash = "sha256-KmP7Uaurh5BjbUAwoJTPlCQEy8zJwojRytcOLj6ezVg=";
};
build-system = [ setuptools ];
@@ -27,14 +27,14 @@
buildPythonPackage rec {
pname = "falcon";
version = "4.2.0";
version = "4.3.1";
pyproject = true;
src = fetchFromGitHub {
owner = "falconry";
repo = "falcon";
tag = version;
hash = "sha256-Vi7J607PsjwxAKYNCiVGxSRYIbKHgrGvRX9Ent3+LQo=";
hash = "sha256-f+UoGYyrg8OZow4qONqzXuDVnrZalqUNDyavDoQ7QHE=";
};
build-system = [ setuptools ] ++ lib.optionals (!isPyPy) [ cython ];
@@ -9,13 +9,13 @@
}:
let
pname = "fastcrc";
version = "0.3.5";
version = "0.3.6";
src = fetchFromGitHub {
owner = "overcat";
repo = "fastcrc";
tag = "v${version}";
hash = "sha256-Q1R0EgxrfCMn/DxblOAW4Z7YOxpaZPL5Sx8SL/dry98=";
hash = "sha256-13z56Ei+++UzlXs1Kmrm0qOWbr88oPMmX7mi9fK4Gbk=";
};
in
buildPythonPackage {
@@ -29,7 +29,7 @@ buildPythonPackage {
cargoDeps = rustPlatform.fetchCargoVendor {
inherit pname version src;
hash = "sha256-dWxQuWV3w1UM8yvLG/9SrJQxSSyWTXV0FWFDKjIHBf0=";
hash = "sha256-Z4pMDuW0gR/by3v4/dPsanhgl09tTGe6FMJr41p9/fk=";
};
pythonImportsCheck = [ "fastcrc" ];
@@ -2,7 +2,6 @@
lib,
buildPythonPackage,
buildNpmPackage,
fetchpatch2,
fetchFromGitHub,
stdenv,
babel,
@@ -84,6 +83,8 @@ buildPythonPackage {
watchfiles
];
pythonRelaxDeps = [ "simplejson" ];
nativeCheckInputs = [ pytestCheckHook ];
pythonImportsCheck = [ "fava" ];
@@ -12,14 +12,14 @@
buildPythonPackage (finalAttrs: {
pname = "filelock";
version = "3.29.5";
version = "3.29.7";
pyproject = true;
src = fetchFromGitHub {
owner = "tox-dev";
repo = "filelock";
tag = finalAttrs.version;
hash = "sha256-rpkRk3SwpUWNdjyLCk6FMwNvEhHMSOKWnn096thkhWE=";
hash = "sha256-sRJQa7vmMf9aWXT5QdYAZQHM0oIFFZM9P2tQ2x5T79Y=";
};
build-system = [
@@ -16,7 +16,7 @@
let
pname = "findpython";
version = "0.7.1";
version = "0.8.0";
in
buildPythonPackage {
inherit pname version;
@@ -24,7 +24,7 @@ buildPythonPackage {
src = fetchPypi {
inherit pname version;
hash = "sha256-nynmo9q9t18rOclJdywO0m6rFTCABmafNHjNqw2GfHg=";
hash = "sha256-U7MiZIdN+lmQvQnXF4GThtjbMUnYn+IPiP4QeN4oa64=";
};
build-system = [ pdm-backend ];
@@ -11,12 +11,12 @@
buildPythonPackage rec {
pname = "fixtures";
version = "4.2.8";
version = "4.3.2";
pyproject = true;
src = fetchPypi {
inherit pname version;
hash = "sha256-6hRlZKZmYQbEgffDX5ek1lSFyEsMyGpQdZcWS2zA2Ek=";
hash = "sha256-t9tkAUcyUT8j0SsMSa5Se6DAwfJmfsl9kTbWcVfrzl0=";
};
build-system = [
@@ -3,6 +3,7 @@
buildPythonPackage,
fetchFromGitHub,
setuptools,
pyprojectVersionPatchHook,
pytestCheckHook,
flask,
flask-wtf,
@@ -24,6 +25,8 @@ buildPythonPackage rec {
hash = "sha256-bWu+hCVnNRSWvXgB2pAcCdhXJQEg3mZeAfZgxUqVOkY=";
};
nativeBuildInputs = [ pyprojectVersionPatchHook ];
build-system = [ setuptools ];
dependencies = [
@@ -29,14 +29,19 @@
buildPythonPackage rec {
pname = "flask";
version = "3.1.2";
version = "3.1.3";
pyproject = true;
src = fetchPypi {
inherit pname version;
hash = "sha256-v2VsFcgBkO1iitCM39Oqo1vrCHhV4vSUkQqjd0zE/Yc=";
hash = "sha256-DvDlK4qc2TKFU3kZfdj5QEezWcoKeGlRRDBMtF+Hyes=";
};
patches = [
# https://github.com/pallets/flask/issues/6071
./pytest-9.1-compat.patch
];
build-system = [ flit-core ];
dependencies = [
@@ -54,6 +59,11 @@ buildPythonPackage rec {
nativeCheckInputs = [ pytestCheckHook ] ++ lib.concatAttrValues optional-dependencies;
disabledTests = [
# https://github.com/pallets/flask/issues/6092#issuecomment-4952497033
"test_bad_environ_raises_bad_request"
];
passthru.tests = {
inherit
flask-limiter
@@ -0,0 +1,71 @@
From 498f13135acdf045c40bad193ec44c94277f32fb Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Tom=C3=A1=C5=A1=20Hrn=C4=8Diar?= <tomas.hrnciar@me.com>
Date: Thu, 2 Jul 2026 09:03:11 +0200
Subject: [PATCH] Fix pytest >= 9.1 compatibility
pytest 9.1 removed the private `notset` sentinel from `_pytest.monkeypatch` (now `NOTSET` in `_pytest.compat`).
Add compatibility shim in tests/test_cli.py
Fixes: #6071
Assisted-by: Claude Opus 4.6
---
tests/conftest.py | 17 +++++++++++------
tests/test_cli.py | 5 ++++-
2 files changed, 15 insertions(+), 7 deletions(-)
diff --git a/tests/conftest.py b/tests/conftest.py
index 0414b9e22f..ee00e270b8 100644
--- a/tests/conftest.py
+++ b/tests/conftest.py
@@ -4,6 +4,11 @@
import pytest
from _pytest import monkeypatch
+try:
+ _notset = monkeypatch.notset
+except AttributeError:
+ from _pytest.compat import NOTSET as _notset
+
from flask import Flask
from flask.globals import app_ctx as _app_ctx
@@ -16,15 +21,15 @@ def _standard_os_environ():
"""
mp = monkeypatch.MonkeyPatch()
out = (
- (os.environ, "FLASK_ENV_FILE", monkeypatch.notset),
- (os.environ, "FLASK_APP", monkeypatch.notset),
- (os.environ, "FLASK_DEBUG", monkeypatch.notset),
- (os.environ, "FLASK_RUN_FROM_CLI", monkeypatch.notset),
- (os.environ, "WERKZEUG_RUN_MAIN", monkeypatch.notset),
+ (os.environ, "FLASK_ENV_FILE", _notset),
+ (os.environ, "FLASK_APP", _notset),
+ (os.environ, "FLASK_DEBUG", _notset),
+ (os.environ, "FLASK_RUN_FROM_CLI", _notset),
+ (os.environ, "WERKZEUG_RUN_MAIN", _notset),
)
for _, key, value in out:
- if value is monkeypatch.notset:
+ if value is _notset:
mp.delenv(key, False)
else:
mp.setenv(key, value)
diff --git a/tests/test_cli.py b/tests/test_cli.py
index 2a34088bd5..35467265c1 100644
--- a/tests/test_cli.py
+++ b/tests/test_cli.py
@@ -11,7 +11,10 @@
import click
import pytest
-from _pytest.monkeypatch import notset
+try:
+ from _pytest.monkeypatch import notset
+except ImportError:
+ from _pytest.compat import NOTSET as notset
from click.testing import CliRunner
from flask import Blueprint
@@ -35,6 +35,8 @@ buildPythonPackage rec {
requests
];
pythonRelaxDeps = [ "cbor2" ];
nativeCheckInputs = [
busypie
pytest-asyncio
@@ -24,7 +24,7 @@ buildPythonPackage (finalAttrs: {
postPatch = ''
substituteInPlace setup.py \
--replace-warn 'version = "SNAPSHOT"' 'version = "${finalAttrs.version}"'
--replace-fail 'version = "0.0.0-dev"' 'version = "${finalAttrs.version}"'
'';
nativeBuildInputs = [ setuptools ];
@@ -2,7 +2,7 @@
lib,
buildPythonPackage,
fetchFromGitHub,
pytestCheckHook,
pytest9_0CheckHook,
requests,
segno,
setuptools,
@@ -30,7 +30,7 @@ buildPythonPackage (finalAttrs: {
};
nativeCheckInputs = [
pytestCheckHook
pytest9_0CheckHook
writableTmpDirAsHomeHook
];
@@ -38,14 +38,14 @@
buildPythonPackage rec {
pname = "fsspec";
version = "2026.3.0";
version = "2026.6.0";
pyproject = true;
src = fetchFromGitHub {
owner = "fsspec";
repo = "filesystem_spec";
tag = version;
hash = "sha256-K/qHc9uBYq/HkA6xhKAujdCBqH+0kcFnfD3a506A9Ns=";
hash = "sha256-MQkrSqXILUkIwm1r1Ins4ZLSATBvFDbylgRLTWQyQOQ=";
};
build-system = [
@@ -4,7 +4,8 @@
fetchFromGitHub,
# build-system
setuptools,
hatchling,
hatch-vcs,
# dependencies
aiohttp,
@@ -23,7 +24,7 @@
buildPythonPackage (finalAttrs: {
pname = "gcsfs";
version = "2026.3.0";
version = "2026.7.0";
pyproject = true;
__structuredAttrs = true;
@@ -31,11 +32,12 @@ buildPythonPackage (finalAttrs: {
owner = "fsspec";
repo = "gcsfs";
tag = finalAttrs.version;
hash = "sha256-RLh3xFW/0qX5labJeUDsRRmQtnTdkvBS+gzJUJ1IP7k=";
hash = "sha256-Q+aqlFyNiGj0alOrnyjV9ILSSv6jRp+2DjDF/+f65po=";
};
build-system = [
setuptools
hatchling
hatch-vcs
];
dependencies = [
@@ -24,12 +24,12 @@
buildPythonPackage rec {
pname = "gevent";
version = "25.9.1";
version = "26.5.0";
pyproject = true;
src = fetchPypi {
inherit pname version;
hash = "sha256-rfnNVS3kSk5nVMUf8ueNkZO3+m6rEj25V4ohDmVyNd0=";
hash = "sha256-FlXrBMHiDXGyqko8dSgWLdWP9sxGoDevHwH1NMgP77o=";
};
build-system = [
@@ -10,14 +10,14 @@
buildPythonPackage (finalAttrs: {
pname = "gitpython";
version = "3.1.50";
version = "3.1.51";
pyproject = true;
src = fetchFromGitHub {
owner = "gitpython-developers";
repo = "GitPython";
tag = finalAttrs.version;
hash = "sha256-oHJrN/iYaAZUNPgOLS+8Ekr1eLES8APfXynmR4OySwk=";
hash = "sha256-c8tjBvWjVR7krR59Tfx5jKoJc/fcLWVt5D4xk15DvP4=";
};
postPatch = ''
@@ -55,6 +55,12 @@ buildPythonPackage rec {
syrupy
];
disabledTests = [
# url encoding mismatch, probably yarl bump
"test_streams_add_list"
"test_streams_add_str"
];
pythonImportsCheck = [ "go2rtc_client" ];
__darwinAllowLocalNetworking = true;
@@ -56,6 +56,10 @@ buildPythonPackage rec {
pytestCheckHook
];
pytestFlags = [
"-Wignore::pytest.PytestRemovedIn10Warning"
];
# prevent google directory from shadowing google imports
preCheck = ''
rm -r google
@@ -20,14 +20,14 @@
buildPythonPackage rec {
pname = "granian";
version = "2.7.8";
version = "2.7.9";
pyproject = true;
src = fetchFromGitHub {
owner = "emmett-framework";
repo = "granian";
tag = "v${version}";
hash = "sha256-89Kl/MrotK0fv0oAayUuZXyLLG9PPM1km57ER+dM1jw=";
hash = "sha256-SYbdLrE/LaPGpzsrW4FBWtKyTM1VTqJ6sWRVbLjvCM8=";
};
# Granian forces a custom allocator for all the things it runs,
@@ -40,7 +40,7 @@ buildPythonPackage rec {
cargoDeps = rustPlatform.fetchCargoVendor {
inherit pname version src;
hash = "sha256-mnqtzZ2+xuxUezhsgw+gr6MmWbi4Z4j0bHndys6vHFw=";
hash = "sha256-DZZUWpTsKkJQ8ku1Hm5eKFNxhYVfxv7D2N9DLPS9+a4=";
};
nativeBuildInputs = with rustPlatform; [
@@ -17,12 +17,12 @@
let
greenlet = buildPythonPackage rec {
pname = "greenlet";
version = "3.3.0";
version = "3.5.3";
pyproject = true;
src = fetchPypi {
inherit pname version;
hash = "sha256-qCuyJaTp5NZT3S+3uLLTbk+yW8AWVCKhHki4jp5vePs=";
hash = "sha256-ph78AY/T6zF+7KMaupDunn8m8iiEp5tsbscVv3G7YvE=";
};
build-system = [ setuptools ];
@@ -17,6 +17,10 @@ buildPythonPackage rec {
cd "${pname}"
'';
postPatch = ''
echo "${version}" > "gruut_lang_${lang}/VERSION"
'';
pythonImportsCheck = [ "gruut_lang_${lang}" ];
doCheck = false;
@@ -22,19 +22,19 @@
buildPythonPackage (finalAttrs: {
pname = "gssapi";
version = "1.10.1";
version = "1.11.1";
pyproject = true;
src = fetchFromGitHub {
owner = "pythongssapi";
repo = "python-gssapi";
tag = "v${finalAttrs.version}";
hash = "sha256-A1y3PD+zycKxlZT2vZ9b9p8SMr+aZA62CIAUpi4eOvo=";
hash = "sha256-E9rX5/7jTFR4nZ7ww2B083Tlz5vwl00yhakBQg75WZs=";
};
postPatch = ''
substituteInPlace pyproject.toml \
--replace-fail "Cython == 3.1.3" Cython
--replace-fail "Cython == 3.2.4" Cython
substituteInPlace setup.py \
--replace-fail 'get_output(f"{kc} gssapi --prefix")' '"${lib.getDev krb5-c}"'
'';
@@ -15,20 +15,22 @@
tornado,
setproctitle,
# tests
pytest-asyncio,
pytestCheckHook,
pytest-cov-stub,
}:
buildPythonPackage rec {
pname = "gunicorn";
version = "23.0.0";
version = "26.0.0";
pyproject = true;
src = fetchFromGitHub {
owner = "benoitc";
repo = "gunicorn";
tag = version;
hash = "sha256-Dq/mrQwo3II6DBvYfD1FHsKHaIlyHlJCZ+ZyrM4Efe0=";
hash = "sha256-duq5ghUuiuZL644jHgZ0qXHkcc8POHt7BX91m9F5BGE=";
};
build-system = [ setuptools ];
@@ -46,11 +48,22 @@ buildPythonPackage rec {
pythonImportsCheck = [ "gunicorn" ];
nativeCheckInputs = [
pytest-asyncio
pytestCheckHook
pytest-cov-stub
]
++ lib.concatAttrValues optional-dependencies;
disabledTests = [
# failure while starting a gunicorn instance
"TestSignalHandlingIntegration"
];
disabledTestPaths = [
# tries to start gunicorn and fails on import
"tests/test_control_socket_integration.py"
];
meta = {
description = "WSGI HTTP Server for UNIX, fast clients and sleepy applications";
homepage = "https://github.com/benoitc/gunicorn";
@@ -7,6 +7,7 @@
buildPythonPackage,
fetchFromGitHub,
numpy,
pytest-doctestplus,
pytestCheckHook,
scipy,
setuptools-scm,
@@ -43,7 +44,10 @@ buildPythonPackage (finalAttrs: {
scipy
];
nativeCheckInputs = [ pytestCheckHook ];
nativeCheckInputs = [
pytest-doctestplus
pytestCheckHook
];
pythonImportsCheck = [ "gwcs" ];
@@ -20,13 +20,13 @@ let
mpiSupport = hdf5.mpiSupport;
in
buildPythonPackage rec {
version = "3.15.1";
version = "3.16.0";
pname = "h5py";
pyproject = true;
src = fetchPypi {
inherit pname version;
hash = "sha256-yG4+1FxEc1ZN5VqoO2/J5erYZXh3PfvZMEc4AELia2k=";
hash = "sha256-oNuq15aEDMqmekwUSg0MgIAHPDTHbVppQdaBhnjvJzg=";
};
pythonRelaxDeps = [ "mpi4py" ];
@@ -19,12 +19,12 @@
buildPythonPackage (finalAttrs: {
pname = "hatchling";
version = "1.30.1";
version = "1.31.0";
pyproject = true;
src = fetchPypi {
inherit (finalAttrs) pname version;
hash = "sha256-7uT9RTV/cuuz16QuXXLPteKe1CbXnog2KIkmxCWNXy4=";
hash = "sha256-a0itQGikgu1yObOoIVvFW0eq0zRdWN/JTlU8XS1GIRs=";
};
# listed in backend/pyproject.toml
@@ -48,6 +48,8 @@ buildPythonPackage rec {
syrupy
];
pytestFlags = [ "--snapshot-warn-unused" ];
enabledTestPaths = [ "tests" ];
pythonImportsCheck = [ "hdate" ];
@@ -9,14 +9,14 @@
buildPythonPackage (finalAttrs: {
pname = "hf-xet";
version = "1.4.3";
version = "1.5.1";
pyproject = true;
src = fetchFromGitHub {
owner = "huggingface";
repo = "xet-core";
tag = "v${finalAttrs.version}";
hash = "sha256-zAliMR2d2j6ynHQmAljQ8XgDyjuPxNawI1bZks5aRgs=";
hash = "sha256-TqSErydAOaHzCN7qglO/aqMF8BWYXvEv09adhxTwny0=";
};
sourceRoot = "${finalAttrs.src.name}/hf_xet";
@@ -28,7 +28,7 @@ buildPythonPackage (finalAttrs: {
src
sourceRoot
;
hash = "sha256-TOgBT0l7TvJamVdIAdAUFRWs8AMRRY+Ydoh6e+3dEp0=";
hash = "sha256-pwHUIkx+Dk8fGOVxRJKLswLjQB+sKzpyOOeqV6+Xyxo=";
};
nativeBuildInputs = [
@@ -9,14 +9,14 @@
buildPythonPackage rec {
pname = "hpack";
version = "4.1.0";
version = "4.2.0";
pyproject = true;
src = fetchFromGitHub {
owner = "python-hyper";
repo = "hpack";
rev = "v${version}";
hash = "sha256-vbxfDlRDwMXuzkPO0oceCpSz1ekLNxLSj4iocdHo680=";
hash = "sha256-gZe/ABRLXoBAeH/mp/yIgDj56jalyiYgs4EP2qK17Ig=";
};
build-system = [ setuptools ];
@@ -29,14 +29,14 @@
buildPythonPackage (finalAttrs: {
pname = "httpcore2";
version = "2.4.0";
version = "2.5.0";
pyproject = true;
src = fetchFromGitHub {
owner = "pydantic";
repo = "httpx2";
tag = "v${finalAttrs.version}";
hash = "sha256-T5As4cdZRHkWszzaDZX8G8Z35TkaBsB/oy92FtOhuBY=";
hash = "sha256-vIWAUjHPyafbeeUc2OvGpkiOoTj1fTniRnQiKSdkm6s=";
};
postPatch = ''
@@ -6,12 +6,12 @@
buildPythonPackage rec {
pname = "httptools";
version = "0.7.1";
version = "0.8.0";
format = "setuptools";
src = fetchPypi {
inherit pname version;
hash = "sha256-q9clVpdPjnx0olllWSSnF6I2WyNsiCw/b4pF/pRwOsk=";
hash = "sha256-ayoy8Y2X4W6Qgn16gZ/6jb2MwkX8Th+p0QlbVO9L2Zk=";
};
# Tests are not included in pypi tarball
@@ -100,6 +100,9 @@ buildPythonPackage rec {
"test_client_decode_text_using_autodetect"
"test_client_decode_text_using_explicit_encoding"
"test_response_decode_text_using_autodetect"
# uvicorn access logging mismatch
"test_logging_request"
"test_logging_redirect_chain"
];
disabledTestPaths = [ "tests/test_main.py" ];
@@ -39,14 +39,14 @@
buildPythonPackage (finalAttrs: {
pname = "httpx2";
version = "2.4.0";
version = "2.5.0";
pyproject = true;
src = fetchFromGitHub {
owner = "pydantic";
repo = "httpx2";
tag = "v${finalAttrs.version}";
hash = "sha256-T5As4cdZRHkWszzaDZX8G8Z35TkaBsB/oy92FtOhuBY=";
hash = "sha256-vIWAUjHPyafbeeUc2OvGpkiOoTj1fTniRnQiKSdkm6s=";
};
postPatch = ''
@@ -102,6 +102,13 @@ buildPythonPackage (finalAttrs: {
# network access
"test_async_proxy_close"
"test_sync_proxy_close"
# uvicorn access logging mismatch
"test_logging_request"
"test_logging_redirect_chain"
# chardet shenanigans (Windows-1252 == WINDOWS-1252 cmp)
"test_client_decode_text_using_autodetect"
"test_client_decode_text_using_explicit_encoding"
"test_response_decode_text_using_autodetect"
];
passthru.tests = {
@@ -7,6 +7,7 @@
setuptools,
# dependencies
click,
filelock,
fsspec,
hf-xet,
@@ -14,7 +15,6 @@
packaging,
pyyaml,
tqdm,
typer,
typing-extensions,
# optional-dependencies
@@ -28,6 +28,10 @@
# gradio
gradio,
requests,
# oauth
authlib,
fastapi,
itsdangerous,
# mcp
mcp,
@@ -37,19 +41,20 @@
buildPythonPackage (finalAttrs: {
pname = "huggingface-hub";
version = "1.10.2";
version = "1.23.0";
pyproject = true;
src = fetchFromGitHub {
owner = "huggingface";
repo = "huggingface_hub";
tag = "v${finalAttrs.version}";
hash = "sha256-Q9N0QnxV8oJcxUsJzv4wX8Z6FkNdEfUH5BEVoZolsRY=";
hash = "sha256-Xl9girALcJw7aeLjFd4d/xITS8bTz9xlmziEQwrOdQ0=";
};
build-system = [ setuptools ];
dependencies = [
click
filelock
fsspec
hf-xet
@@ -57,7 +62,6 @@ buildPythonPackage (finalAttrs: {
packaging
pyyaml
tqdm
typer
typing-extensions
];
@@ -65,11 +69,6 @@ buildPythonPackage (finalAttrs: {
all = [
];
torch = [
torch
safetensors
]
++ safetensors.optional-dependencies.torch;
fastai = [
toml
fastai
@@ -85,6 +84,17 @@ buildPythonPackage (finalAttrs: {
mcp = [
mcp
];
oauth = [
authlib
fastapi
httpx
itsdangerous
];
torch = [
torch
safetensors
]
++ safetensors.optional-dependencies.torch;
};
nativeCheckInputs = [
@@ -0,0 +1,50 @@
{
lib,
buildPythonPackage,
fetchPypi,
setuptools,
hypothesis,
jsonschema,
pytest-cov-stub,
pytestCheckHook,
}:
buildPythonPackage (finalAttrs: {
pname = "hypothesis-jsonschema";
version = "0.23.1";
pyproject = true;
__structuredAttrs = true;
# no git tags
src = fetchPypi {
inherit (finalAttrs) pname version;
hash = "sha256-9KwDICQ0KkFJoQJTmE9aVza4Kz/ir7CIjzg0oxFT8hU=";
};
build-system = [
setuptools
];
dependencies = [
hypothesis
jsonschema
];
doCheck = false; # sdist does not include everything to run the tests
nativeCheckInputs = [
pytest-cov-stub
pytestCheckHook
];
pythonImportsCheck = [
"hypothesis_jsonschema"
];
meta = {
description = "Generate test data from JSON schemata with Hypothesis";
homepage = "https://github.com/Zac-HD/hypothesis-jsonschema";
license = lib.licenses.mpl20;
};
})
@@ -272,6 +272,13 @@ buildPythonPackage (finalAttrs: {
"test_signature_from_callable_with_keyword_only_arguments"
];
disabledTestPaths = [
# TypeError: pytest.approx() does not support nan_ok for datetime/timedelta comparisons.
"ibis/backends/tests/tpc/h/test_queries.py::test_18"
"ibis/backends/tests/tpc/h/test_queries.py::test_03"
"ibis/backends/tests/tpc/ds/test_queries.py::test_51"
];
# patch out tests that check formatting with black
postPatch = ''
find ibis/tests -type f -name '*.py' -exec sed -i \
@@ -18,14 +18,14 @@
buildPythonPackage rec {
pname = "icecream";
version = "2.1.10";
version = "2.2.0";
pyproject = true;
src = fetchFromGitHub {
owner = "gruns";
repo = "icecream";
tag = "v${version}";
hash = "sha256-5PFl+DIsWGbh2VR+xW/L9fYBF0VCo1B10b+mzsq85As=";
hash = "sha256-8y109lTvZS50sBNzsgxxyIDf5w3gAou7RK1NxiGIziQ=";
};
build-system = [ setuptools ];
@@ -6,12 +6,12 @@
buildPythonPackage rec {
pname = "imagesize";
version = "1.4.1";
version = "2.0.0";
format = "setuptools";
src = fetchPypi {
inherit pname version;
hash = "sha256-aRUERK/7nLDVzFqSs2dvCy+3zZrjnpR6XhGja0SXzUo=";
hash = "sha256-joNYxKBcME8fzPf/lvA25yQ6GJ6eQukIUZk8VYz+nuM=";
};
meta = {
@@ -18,6 +18,11 @@ buildPythonPackage (finalAttrs: {
hash = "sha256-6kyb0a0cCwVSS4evDGg0Z7wLGhDUHnLeXUJ9PW+fhHk=";
};
postPatch = ''
substituteInPlace pyproject.toml \
--replace-fail "setuptools>=78.1.1,<83.0" setuptools
'';
build-system = [ setuptools ];
pythonImportsCheck = [ "infrared_protocols" ];
@@ -21,14 +21,14 @@
buildPythonPackage rec {
pname = "inline-snapshot";
version = "0.32.5";
version = "0.34.2";
pyproject = true;
src = fetchFromGitHub {
owner = "15r10nk";
repo = "inline-snapshot";
tag = version;
hash = "sha256-xnooMIm0UiNOWrZ4JZwbpFzliGsTF7b1DAXi1fxMb30=";
hash = "sha256-4Uvc925/6RxJRHjP3SZaB7T+gqky5KlL9agHy/14Jd0=";
};
build-system = [ hatchling ];
@@ -5,12 +5,13 @@
# build inputs
typing-extensions,
uri-template,
setuptools,
}:
buildPythonPackage rec {
pname = "json-home-client";
version = "1.1.1";
format = "setuptools";
pyproject = true;
src = fetchFromGitHub {
owner = "plinss";
@@ -23,7 +24,9 @@ buildPythonPackage rec {
sed -i -e 's/0.0.0/${version}/' setup.py
'';
propagatedBuildInputs = [
build-system = [ setuptools ];
dependenceis = [
typing-extensions
uri-template
];
@@ -31,6 +34,7 @@ buildPythonPackage rec {
pythonImportsCheck = [ "json_home_client" ];
meta = {
broken = lib.versionAtLeast setuptools.version "82";
description = "Client class for calling http+json APIs in Python";
homepage = "https://github.com/plinss/json_home_client";
license = lib.licenses.mit;
@@ -2,6 +2,7 @@
lib,
buildPythonPackage,
fetchFromGitHub,
hypothesis,
ply,
pytestCheckHook,
setuptools,
@@ -9,7 +10,7 @@
buildPythonPackage rec {
pname = "jsonpath-ng";
version = "1.7.0";
version = "1.8.0";
format = "setuptools";
# TODO: typo; change to pyproject = true;
pypropject = true;
@@ -18,14 +19,17 @@ buildPythonPackage rec {
owner = "h2non";
repo = "jsonpath-ng";
tag = "v${version}";
hash = "sha256-sfIqEc5SsNQYxK+Ur00fFdVoC0ysOkHrx4Cq/3SpGHw=";
hash = "sha256-soCSMOHJpAM/tOaydvv8tGS/VewtSMBteDNipSPttI0=";
};
build-system = [ setuptools ];
dependencies = [ ply ];
nativeCheckInputs = [ pytestCheckHook ];
nativeCheckInputs = [
hypothesis
pytestCheckHook
];
pythonImportsCheck = [ "jsonpath_ng" ];
@@ -6,12 +6,12 @@
buildPythonPackage rec {
pname = "jsonpointer";
version = "3.0.0";
version = "3.1.1";
format = "setuptools";
src = fetchPypi {
inherit pname version;
hash = "sha256-Ky1ynyCRUi1hw7MfguEYcPYLaPQ/vHBct2v0uDKvWe8=";
hash = "sha256-C4AcfbM6kEAk9gBNUm3MU7u4pKD04yv9EL6t9grfGQA=";
};
meta = {
@@ -34,13 +34,13 @@
buildPythonPackage rec {
pname = "jupyter-server";
version = "2.17.0";
version = "2.20.0";
pyproject = true;
src = fetchPypi {
pname = "jupyter_server";
inherit version;
hash = "sha256-w46omFZpZMiItHcq4e1Y7KhFkuiCUdLPxNFx+B9+mdU=";
hash = "sha256-tXeLozfYAVo9wrgIA+zdWsGNN5f932GlDqX7RytOvhQ=";
};
build-system = [
@@ -9,12 +9,12 @@
buildPythonPackage rec {
pname = "kiwisolver";
version = "1.4.9";
version = "1.5.0";
format = "setuptools";
src = fetchPypi {
inherit pname version;
hash = "sha256-w7IsJsb9aBGwroNjuVyozk6jwgLT0JdbKRQxDOsbzE0=";
hash = "sha256-1Bk/PZ3D9veartDlY39F2YhQ6/AffKIOaUV/PolGtmo=";
};
env.NIX_CFLAGS_COMPILE = lib.optionalString stdenv.hostPlatform.isDarwin "-I${lib.getInclude stdenv.cc.libcxx}/include/c++/v1";
@@ -29,6 +29,7 @@ buildPythonPackage rec {
pythonNamespaces = [ "lazr" ];
meta = {
broken = lib.versionAtLeast setuptools.version "82"; # pkg_resources at runtime
description = "Easily write objects that delegate behavior";
homepage = "https://launchpad.net/lazr.delegates";
changelog = "https://git.launchpad.net/lazr.delegates/tree/NEWS.rst?h=${version}";
@@ -5,6 +5,7 @@
uv-build,
serialx,
aiowebostv,
pyprojectVersionPatchHook,
pytest-asyncio,
pytest-timeout,
pytestCheckHook,
@@ -27,6 +28,8 @@ buildPythonPackage (finalAttrs: {
--replace-fail "uv_build>=0.8.4,<0.9.0" "uv_build"
'';
nativeBuildInputs = [ pyprojectVersionPatchHook ];
build-system = [ uv-build ];
dependencies = [ serialx ];
@@ -11,14 +11,14 @@
buildPythonPackage rec {
pname = "librt";
version = "0.11.0";
version = "0.13.0";
pyproject = true;
src = fetchFromGitHub {
owner = "mypyc";
repo = "librt";
tag = "v${version}";
hash = "sha256-y9z1EdrZRiDtT8cxz/Ex/f6B/RfjnAXdGf7tM+77HGg=";
hash = "sha256-DeeuUmMwm1Lg078qsdye1ZG08pZ36jBF2PdfV3f+fOs=";
};
# https://github.com/mypyc/librt/blob/v0.7.8/.github/workflows/buildwheels.yml#L90-L93
@@ -9,7 +9,7 @@
cmake,
ninja,
llvm_20,
llvm_22,
libxml2,
# tests
@@ -19,12 +19,12 @@
}:
let
llvm = llvm_20;
llvm = llvm_22;
in
buildPythonPackage rec {
pname = "llvmlite";
version = "0.47.0";
version = "0.48.0";
pyproject = true;
disabled = isPyPy;
@@ -33,7 +33,7 @@ buildPythonPackage rec {
owner = "numba";
repo = "llvmlite";
tag = "v${version}";
hash = "sha256-YEIdIdbk19JHYtgL2gWjnAUYu13CH+7ikoyBUkOPpws=";
hash = "sha256-qFly3Thx0jkCHy6r8+VWuGROUj910oHBEQFMZlAX1aw=";
};
build-system = [ setuptools ];
@@ -12,14 +12,14 @@
buildPythonPackage rec {
pname = "marisa-trie";
version = "1.3.1";
version = "1.4.1";
pyproject = true;
src = fetchFromGitHub {
owner = "pytries";
repo = "marisa-trie";
tag = version;
hash = "sha256-7T0V5levh9xjWmjJdFix0p8L3lZhfurikSWMI7Hotbs=";
hash = "sha256-U3gntlvJ0IaWoK+2V0OQ/XoDLfQsSbrrsSj95VR1m+4=";
};
patches = [

Some files were not shown because too many files have changed in this diff Show More