diff --git a/pkgs/development/python-modules/aiofile/default.nix b/pkgs/development/python-modules/aiofile/default.nix index cab97b24e166..f411ba9b5842 100644 --- a/pkgs/development/python-modules/aiofile/default.nix +++ b/pkgs/development/python-modules/aiofile/default.nix @@ -1,33 +1,47 @@ { lib, - aiomisc, - aiomisc-pytest, - caio, buildPythonPackage, fetchFromGitHub, + + # build-system + hatchling, + + # dependencies + caio, + + # tests + aiomisc, + aiomisc-pytest, pytestCheckHook, - setuptools, }: -buildPythonPackage rec { +buildPythonPackage (finalAttrs: { pname = "aiofile"; - version = "3.8.6"; + version = "3.12.3"; pyproject = true; + __structuredAttrs = true; src = fetchFromGitHub { owner = "mosquito"; repo = "aiofile"; - tag = version; - hash = "sha256-KBly/aeHHZh7mL8MJ9gmxbqS7PmR4sedtBY/2HCXt54="; + tag = finalAttrs.version; + hash = "sha256-Y79LGiPsaPxQLOCmH+MGXBcPUL+XWGje0RgYljKW11U="; }; - build-system = [ setuptools ]; + postPatch = '' + substituteInPlace pyproject.toml \ + --replace-fail \ + 'version = "3.9.0"' \ + 'version = "${finalAttrs.version}"' + ''; - pythonRelaxDeps = [ - "caio" + build-system = [ + hatchling ]; - dependencies = [ caio ]; + dependencies = [ + caio + ]; nativeCheckInputs = [ aiomisc @@ -39,6 +53,7 @@ buildPythonPackage rec { disabledTests = [ # Tests (SystemError) fails randomly during nixpkgs-review + "test_async_open" "test_async_open_fp" "test_async_open_iter_chunked" "test_async_open_iter_chunked" @@ -46,7 +61,6 @@ buildPythonPackage rec { "test_async_open_line_iter" "test_async_open_readline" "test_async_open_unicode" - "test_async_open" "test_binary_io_wrapper" "test_line_reader_one_line" "test_modes" @@ -61,8 +75,8 @@ buildPythonPackage rec { meta = { description = "File operations with asyncio support"; homepage = "https://github.com/mosquito/aiofile"; - changelog = "https://github.com/aiokitchen/aiomisc/blob/master/CHANGELOG.md"; + changelog = "https://github.com/mosquito/aiofile/releases/tag/${finalAttrs.src.tag}"; license = lib.licenses.asl20; maintainers = with lib.maintainers; [ fab ]; }; -} +}) diff --git a/pkgs/development/python-modules/caio/default.nix b/pkgs/development/python-modules/caio/default.nix index dd6b035a8c9c..9e65ec7ac5ea 100644 --- a/pkgs/development/python-modules/caio/default.nix +++ b/pkgs/development/python-modules/caio/default.nix @@ -1,45 +1,52 @@ { lib, stdenv, - aiomisc-pytest, buildPythonPackage, fetchFromGitHub, - pytestCheckHook, + + # build-system setuptools, + + # tests + aiomisc-pytest, + pytest-rerunfailures, + pytestCheckHook, }: buildPythonPackage (finalAttrs: { pname = "caio"; - version = "0.10.1"; + version = "0.12.3"; pyproject = true; + __structuredAttrs = true; src = fetchFromGitHub { owner = "mosquito"; repo = "caio"; tag = finalAttrs.version; - hash = "sha256-IeyksrYpLMc9PJjpYeaOgLx26CeVMoR/3r2RX66ucDs="; + hash = "sha256-caPSeggL9qjxkYCwl2/qEhXfH/tpJyGCK22U8+31dy0="; }; postPatch = '' - substituteInPlace caio/version.py \ - --replace-fail 'version_info = (0, 9, 25)' 'version_info = (${ - lib.replaceString "." ", " finalAttrs.version - })' + substituteInPlace pyproject.toml \ + --replace-fail \ + 'version = "0.10.2"' \ + 'version = "${finalAttrs.version}"' ''; build-system = [ setuptools ]; - nativeCheckInputs = [ - aiomisc-pytest - pytestCheckHook - ]; - env.NIX_CFLAGS_COMPILE = toString ( lib.optionals stdenv.cc.isClang [ "-Wno-error=implicit-function-declaration" ] ); pythonImportsCheck = [ "caio" ]; + nativeCheckInputs = [ + aiomisc-pytest + pytest-rerunfailures + pytestCheckHook + ]; + meta = { description = "File operations with asyncio support"; homepage = "https://github.com/mosquito/caio"; diff --git a/pkgs/development/python-modules/py-key-value-aio/default.nix b/pkgs/development/python-modules/py-key-value-aio/default.nix index ca7f2530637e..1347c520d6e9 100644 --- a/pkgs/development/python-modules/py-key-value-aio/default.nix +++ b/pkgs/development/python-modules/py-key-value-aio/default.nix @@ -1,6 +1,5 @@ { lib, - stdenv, buildPythonPackage, fetchFromGitHub, @@ -9,7 +8,7 @@ # dependencies beartype, - py-key-value-shared, + typing-extensions, # optional-dependencies # memory @@ -52,38 +51,28 @@ cryptography, # tests - bson, - docker, dirty-equals, inline-snapshot, - py-key-value-shared-test, pytest-asyncio, pytestCheckHook, }: buildPythonPackage (finalAttrs: { pname = "py-key-value-aio"; - version = "0.3.0"; + version = "0.4.5"; pyproject = true; + __structuredAttrs = true; src = fetchFromGitHub { owner = "strawgate"; repo = "py-key-value"; tag = finalAttrs.version; - hash = "sha256-4ji+GzJTv1QnC5n/OaL9vR65j8BQmJsVGGnjjuulDiU="; + hash = "sha256-N+bqgKkSVGEKW/BEWgcFiHEuFjGbgIn/j33Vd0YoJ7s="; }; - sourceRoot = "${finalAttrs.src.name}/key-value/key-value-aio"; - - postPatch = '' - substituteInPlace pyproject.toml \ - --replace-fail \ - "uv_build>=0.8.2,<0.9.0" \ - "uv_build" - '' # Tests fail when using pytest-xdist ('Worker crashes') # https://github.com/strawgate/py-key-value/issues/266 - + '' + postPatch = '' substituteInPlace pyproject.toml \ --replace-fail \ '"-n=auto",' \ @@ -100,7 +89,7 @@ buildPythonPackage (finalAttrs: { dependencies = [ beartype - py-key-value-shared + typing-extensions ]; optional-dependencies = { @@ -161,47 +150,30 @@ buildPythonPackage (finalAttrs: { ]; }; + # Prevent Beartype's import hook from writing non-reproducible bytecode. + env.PYTHONDONTWRITEBYTECODE = 1; + pythonImportsCheck = [ "key_value.aio" ]; nativeCheckInputs = [ - bson dirty-equals - docker - duckdb inline-snapshot - py-key-value-shared-test pytest-asyncio pytestCheckHook ] - ++ finalAttrs.passthru.optional-dependencies.disk - ++ finalAttrs.passthru.optional-dependencies.dynamodb - ++ finalAttrs.passthru.optional-dependencies.elasticsearch ++ finalAttrs.passthru.optional-dependencies.filetree - ++ finalAttrs.passthru.optional-dependencies.keyring - ++ finalAttrs.passthru.optional-dependencies.memcached ++ finalAttrs.passthru.optional-dependencies.memory - ++ finalAttrs.passthru.optional-dependencies.mongodb - ++ finalAttrs.passthru.optional-dependencies.pydantic - ++ finalAttrs.passthru.optional-dependencies.redis - ++ finalAttrs.passthru.optional-dependencies.rocksdb - ++ finalAttrs.passthru.optional-dependencies.wrappers-encryption; + ++ finalAttrs.passthru.optional-dependencies.pydantic; - disabledTestPaths = [ - # ModuleNotFoundError: No module named 'bson.codec_options' - "tests/stores/mongodb/test_mongodb.py" - ] - ++ lib.optionals stdenv.hostPlatform.isDarwin [ - # keyring.errors.PasswordSetError: Can't store password on keychain: (-61, 'Unknown Error') - "tests/stores/keyring/test_keyring.py" - - # Worker crashes - # https://github.com/strawgate/py-key-value/issues/266 - "tests/stores/rocksdb/test_rocksdb.py" + pytestFlags = [ + "tests/stores/filetree" + "tests/stores/memory" ]; meta = { description = "Async Key-Value"; - homepage = "https://github.com/strawgate/py-key-value/tree/main/key-value/key-value-aio"; + homepage = "https://github.com/strawgate/py-key-value"; + changelog = "https://github.com/strawgate/py-key-value/releases/tag/${finalAttrs.src.tag}"; license = lib.licenses.asl20; maintainers = with lib.maintainers; [ GaetanLepage ]; }; diff --git a/pkgs/development/python-modules/py-key-value-shared-test/default.nix b/pkgs/development/python-modules/py-key-value-shared-test/default.nix deleted file mode 100644 index be9c862e87c3..000000000000 --- a/pkgs/development/python-modules/py-key-value-shared-test/default.nix +++ /dev/null @@ -1,46 +0,0 @@ -{ - lib, - buildPythonPackage, - fetchFromGitHub, - - # build-system - uv-build, -}: - -buildPythonPackage (finalAttrs: { - pname = "py-key-value-shared-test"; - version = "0.3.0"; - pyproject = true; - - src = fetchFromGitHub { - owner = "strawgate"; - repo = "py-key-value"; - tag = finalAttrs.version; - hash = "sha256-4ji+GzJTv1QnC5n/OaL9vR65j8BQmJsVGGnjjuulDiU="; - }; - - sourceRoot = "${finalAttrs.src.name}/key-value/key-value-shared-test"; - - postPatch = '' - substituteInPlace pyproject.toml \ - --replace-fail \ - "uv_build>=0.8.2,<0.9.0" \ - "uv_build" - ''; - - build-system = [ - uv-build - ]; - - pythonImportsCheck = [ "key_value.shared_test" ]; - - # No tests - doCheck = false; - - meta = { - description = "Utils for key-value-shared"; - homepage = "https://github.com/strawgate/py-key-value/tree/main/key-value/key-value-shared-test"; - license = lib.licenses.asl20; - maintainers = with lib.maintainers; [ GaetanLepage ]; - }; -}) diff --git a/pkgs/development/python-modules/py-key-value-shared/default.nix b/pkgs/development/python-modules/py-key-value-shared/default.nix deleted file mode 100644 index 0b348b0d31cf..000000000000 --- a/pkgs/development/python-modules/py-key-value-shared/default.nix +++ /dev/null @@ -1,65 +0,0 @@ -{ - lib, - buildPythonPackage, - fetchFromGitHub, - - # build-system - uv-build, - - # dependencies - beartype, - typing-extensions, - - # tests - pytestCheckHook, - pytest-xdist, - inline-snapshot, - py-key-value-shared-test, -}: - -buildPythonPackage (finalAttrs: { - pname = "py-key-value-shared"; - version = "0.3.0"; - pyproject = true; - - src = fetchFromGitHub { - owner = "strawgate"; - repo = "py-key-value"; - tag = finalAttrs.version; - hash = "sha256-4ji+GzJTv1QnC5n/OaL9vR65j8BQmJsVGGnjjuulDiU="; - }; - - sourceRoot = "${finalAttrs.src.name}/key-value/key-value-shared"; - - postPatch = '' - substituteInPlace pyproject.toml \ - --replace-fail \ - "uv_build>=0.8.2,<0.9.0" \ - "uv_build" - ''; - - build-system = [ - uv-build - ]; - - dependencies = [ - beartype - typing-extensions - ]; - - pythonImportsCheck = [ "key_value.shared" ]; - - nativeCheckInputs = [ - inline-snapshot - py-key-value-shared-test - pytest-xdist - pytestCheckHook - ]; - - meta = { - description = "Shared code between key-value-aio and key-value-sync"; - homepage = "https://github.com/strawgate/py-key-value/tree/main/key-value/key-value-shared"; - license = lib.licenses.asl20; - maintainers = with lib.maintainers; [ GaetanLepage ]; - }; -}) diff --git a/pkgs/top-level/python-aliases.nix b/pkgs/top-level/python-aliases.nix index 3698fe6efc0c..3c51726f32cd 100644 --- a/pkgs/top-level/python-aliases.nix +++ b/pkgs/top-level/python-aliases.nix @@ -491,6 +491,8 @@ mapAliases { Pweave = throw "'Pweave' has been renamed to/replaced by 'pweave'"; # Converted to throw 2025-10-29 py-deprecate = throw "'py-deprecate' has been renamed to/replaced by 'pydeprecate'"; # Converted to throw 2026-06-19 py-eth-sig-utils = throw "py-eth-sig-utils has been removed because it has been marked as broken since at least November 2024."; # Added 2025-10-04 + py-key-value-shared = throw "'py-key-value-shared' has been integrated into 'py-key-value-aio'; use 'py-key-value-aio' instead"; # Added 2026-08-17 + py-key-value-shared-test = throw "'py-key-value-shared-test' has been integrated into 'py-key-value-aio'; use 'py-key-value-aio' instead"; # Added 2026-08-17 py-multiaddr = multiaddr; # added 2026-06-27 py-scrypt = scrypt; # added 2025-08-07 py_stringmatching = throw "'py_stringmatching' has been renamed to/replaced by 'py-stringmatching'"; # Converted to throw 2025-10-29 diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index d034c503c6c8..33c1ef2ce8ae 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -14215,10 +14215,6 @@ self: super: with self; { py-key-value-aio = callPackage ../development/python-modules/py-key-value-aio { }; - py-key-value-shared = callPackage ../development/python-modules/py-key-value-shared { }; - - py-key-value-shared-test = callPackage ../development/python-modules/py-key-value-shared-test { }; - py-libnuma = callPackage ../development/python-modules/py-libnuma { }; py-libzfs = callPackage ../development/python-modules/py-libzfs { };