diff --git a/pkgs/by-name/co/codespell/package.nix b/pkgs/by-name/co/codespell/package.nix index d033c7beb9f7..7478cf94b047 100644 --- a/pkgs/by-name/co/codespell/package.nix +++ b/pkgs/by-name/co/codespell/package.nix @@ -22,7 +22,7 @@ python3.pkgs.buildPythonApplication (finalAttrs: { ]; nativeCheckInputs = with python3.pkgs; [ - aspell-python + aspell-python-py3 chardet pytestCheckHook pytest-cov-stub diff --git a/pkgs/by-name/fr/freeipa/package.nix b/pkgs/by-name/fr/freeipa/package.nix index 6813e656de96..87de4728e992 100644 --- a/pkgs/by-name/fr/freeipa/package.nix +++ b/pkgs/by-name/fr/freeipa/package.nix @@ -60,7 +60,7 @@ let yubico setuptools jinja2 - augeas + python-augeas samba ifaddr ]; diff --git a/pkgs/by-name/kn/knot-resolver-manager_6/package.nix b/pkgs/by-name/kn/knot-resolver-manager_6/package.nix index cb449cb1df97..997daf3861bc 100644 --- a/pkgs/by-name/kn/knot-resolver-manager_6/package.nix +++ b/pkgs/by-name/kn/knot-resolver-manager_6/package.nix @@ -77,7 +77,7 @@ python3Packages.buildPythonPackage { doCheck = python3Packages.stdenv.hostPlatform.isLinux; # maybe in future nativeCheckInputs = with python3Packages; [ - augeas + python-augeas dnspython lief pytestCheckHook diff --git a/pkgs/development/interpreters/python/hooks/default.nix b/pkgs/development/interpreters/python/hooks/default.nix index f5f8dc59c072..4982332e88d1 100644 --- a/pkgs/development/interpreters/python/hooks/default.nix +++ b/pkgs/development/interpreters/python/hooks/default.nix @@ -361,6 +361,20 @@ in } ./python-imports-check-hook.sh ) { }; + pythonMetadataCheckHook = callPackage ( + { makePythonHook }: + makePythonHook { + name = "python-metadata-check-hook.sh"; + substitutions = { + inherit pythonInterpreter pythonSitePackages; + pythonWithPackaging = lib.getExe (pythonOnBuildForHost.withPackages (ps: [ ps.packaging ])); + }; + meta = { + maintainers = [ lib.maintainers.dotlambda ]; + }; + } ./python-metadata-check-hook.sh + ) { }; + pythonNamespacesHook = callPackage ( { makePythonHook, buildPackages }: makePythonHook { diff --git a/pkgs/development/interpreters/python/hooks/python-metadata-check-hook.sh b/pkgs/development/interpreters/python/hooks/python-metadata-check-hook.sh new file mode 100644 index 000000000000..f942e5bee76a --- /dev/null +++ b/pkgs/development/interpreters/python/hooks/python-metadata-check-hook.sh @@ -0,0 +1,37 @@ +# shellcheck shell=bash + +# Setup hook for checking whether metadata in .dist-info matches the derivation +echo "Sourcing python-metadata-check-hook.sh" + +pythonMetadataCheckPhase() { + echo "Executing pythonMetadataCheckPhase" + + # shellcheck disable=SC2154 + pythonMetadataCheckOutput="$out" + if [[ -n "${python-}" ]]; then + echo "Using python specific output \$python for metadata check" + pythonMetadataCheckOutput=$python + fi + # shellcheck disable=SC2154 + derivationPname="$pname" + # shellcheck disable=SC2154 + derivationVersion="$version" + # `python -P` avoids picking up egg-info dirs in $PWD + metadataVersion="$(PYTHONPATH="$pythonMetadataCheckOutput/@pythonSitePackages@:$PYTHONPATH" \ + @pythonInterpreter@ -P -c 'from importlib.metadata import version; import sys; print(version(sys.argv[1]))' "$derivationPname")" + + # chethat both versions can be parsed + @pythonWithPackaging@ -c "from packaging.version import Version; from sys import argv; Version(argv[1]); Version(argv[2])" "$derivationVersion" "$metadataVersion" + + if @pythonWithPackaging@ -c "from packaging.version import Version; from sys import argv, exit; exit(Version(argv[1]) == Version(argv[2]))" "$derivationVersion" "$metadataVersion"; then + echo "The '$derivationPname' derivation has version '$derivationVersion' but .dist-info/METADATA specifies version '$metadataVersion'." + echo "This usually means that the wrong version is hardcoded in pyproject.toml or setup.{py,cfg}." + echo "Use the pyprojectVersionPatchHook or patch the version manually so that the project metadata matches the derivation's version." + exit 1 + fi +} + +if [ -z "${dontCheckPythonMetadata-}" ]; then + echo "Using pythonMetadataCheckPhase" + appendToVar preDistPhases pythonMetadataCheckPhase +fi diff --git a/pkgs/development/interpreters/python/mk-python-derivation.nix b/pkgs/development/interpreters/python/mk-python-derivation.nix index bc44a7de7178..48748b5eec77 100644 --- a/pkgs/development/interpreters/python/mk-python-derivation.nix +++ b/pkgs/development/interpreters/python/mk-python-derivation.nix @@ -18,6 +18,7 @@ pypaInstallHook, pythonCatchConflictsHook, pythonImportsCheckHook, + pythonMetadataCheckHook, pythonNamespacesHook, pythonOutputDistHook, pythonRelaxDepsHook, @@ -358,6 +359,21 @@ lib.extendMkDerivation { # This is a test, however, it should be ran independent of the checkPhase and checkInputs pythonImportsCheckHook ] + ++ + optionals + ( + finalAttrs ? "pname" + && finalAttrs ? "version" + # We don't care about the METADATA of Python applications. + && isPythonModule finalAttrs.passthru + # METADATA is unlikely to be correct if pyproject is false or null. + && pyproject == true + && !lib.hasInfix "unstable-" finalAttrs.version + && !isBootstrapPackage + ) + [ + pythonMetadataCheckHook + ] ++ optionals (python.pythonAtLeast "3.3") [ # Optionally enforce PEP420 for python3 pythonNamespacesHook diff --git a/pkgs/development/python-modules/accuweather/default.nix b/pkgs/development/python-modules/accuweather/default.nix index 91318f108b18..7cb2d9b93d81 100644 --- a/pkgs/development/python-modules/accuweather/default.nix +++ b/pkgs/development/python-modules/accuweather/default.nix @@ -5,6 +5,7 @@ buildPythonPackage, fetchFromGitHub, orjson, + pyprojectVersionPatchHook, pytest-asyncio, pytest-error-for-skips, pytestCheckHook, @@ -27,6 +28,10 @@ buildPythonPackage rec { build-system = [ setuptools ]; + nativeBuildInputs = [ + pyprojectVersionPatchHook + ]; + dependencies = [ aiohttp orjson diff --git a/pkgs/development/python-modules/aioazuredevops/default.nix b/pkgs/development/python-modules/aioazuredevops/default.nix index 3573c5ab088f..0d3afa5d7746 100644 --- a/pkgs/development/python-modules/aioazuredevops/default.nix +++ b/pkgs/development/python-modules/aioazuredevops/default.nix @@ -34,6 +34,11 @@ buildPythonPackage rec { hash = "sha256-0KQHL9DmNeRvEs51XPcncxNzXb+SqYM5xPDvOdKSQMI="; }; + postPatch = '' + substituteInPlace setup.py \ + --replace-fail .dev0 "" + ''; + build-system = [ incremental setuptools diff --git a/pkgs/development/python-modules/aiobafi6/default.nix b/pkgs/development/python-modules/aiobafi6/default.nix index 6986e634c95e..18325d9d0ce4 100644 --- a/pkgs/development/python-modules/aiobafi6/default.nix +++ b/pkgs/development/python-modules/aiobafi6/default.nix @@ -4,6 +4,7 @@ fetchFromGitHub, poetry-core, protobuf, + pyprojectVersionPatchHook, pytest-asyncio, pytestCheckHook, zeroconf, @@ -21,6 +22,10 @@ buildPythonPackage (finalAttrs: { hash = "sha256-EXLMrZobSICAmWPREjx5D8boj/S/3AH5+lsWQlTCl1g="; }; + nativeBuildInputs = [ + pyprojectVersionPatchHook + ]; + build-system = [ poetry-core ]; dependencies = [ diff --git a/pkgs/development/python-modules/aioecowitt/default.nix b/pkgs/development/python-modules/aioecowitt/default.nix index 81f42e2bc72e..5478e356a3ba 100644 --- a/pkgs/development/python-modules/aioecowitt/default.nix +++ b/pkgs/development/python-modules/aioecowitt/default.nix @@ -4,6 +4,7 @@ buildPythonPackage, fetchFromGitHub, meteocalc, + pyprojectVersionPatchHook, pytest-aiohttp, pytestCheckHook, setuptools, @@ -23,6 +24,10 @@ buildPythonPackage rec { build-system = [ setuptools ]; + nativeBuildInputs = [ + pyprojectVersionPatchHook + ]; + dependencies = [ aiohttp meteocalc diff --git a/pkgs/development/python-modules/aiofile/default.nix b/pkgs/development/python-modules/aiofile/default.nix index 8122aa00c218..cab97b24e166 100644 --- a/pkgs/development/python-modules/aiofile/default.nix +++ b/pkgs/development/python-modules/aiofile/default.nix @@ -23,6 +23,10 @@ buildPythonPackage rec { build-system = [ setuptools ]; + pythonRelaxDeps = [ + "caio" + ]; + dependencies = [ caio ]; nativeCheckInputs = [ diff --git a/pkgs/development/python-modules/aiolyric/default.nix b/pkgs/development/python-modules/aiolyric/default.nix index df2a318f6ac2..efdbe5a96921 100644 --- a/pkgs/development/python-modules/aiolyric/default.nix +++ b/pkgs/development/python-modules/aiolyric/default.nix @@ -22,6 +22,11 @@ buildPythonPackage (finalAttrs: { hash = "sha256-+OYMe63sX5TtvJpNn6dzvnephlhS/MyFXmUerYZqF5A="; }; + postPatch = '' + substituteInPlace setup.py \ + --replace-fail .dev0 "" + ''; + build-system = [ setuptools ]; diff --git a/pkgs/development/python-modules/aiomealie/default.nix b/pkgs/development/python-modules/aiomealie/default.nix index bcade95a6377..7e2c8e6306d4 100644 --- a/pkgs/development/python-modules/aiomealie/default.nix +++ b/pkgs/development/python-modules/aiomealie/default.nix @@ -8,6 +8,7 @@ mashumaro, orjson, poetry-core, + pyprojectVersionPatchHook, pytest-asyncio, pytest-cov-stub, pytestCheckHook, @@ -29,6 +30,10 @@ buildPythonPackage (finalAttrs: { build-system = [ poetry-core ]; + nativeBuildInputs = [ + pyprojectVersionPatchHook + ]; + dependencies = [ aiohttp awesomeversion diff --git a/pkgs/development/python-modules/aiomusiccast/default.nix b/pkgs/development/python-modules/aiomusiccast/default.nix index 5e6d1f494344..9aba589e9abe 100644 --- a/pkgs/development/python-modules/aiomusiccast/default.nix +++ b/pkgs/development/python-modules/aiomusiccast/default.nix @@ -19,8 +19,8 @@ buildPythonPackage rec { }; postPatch = '' - substituteInPlace pyproject.toml \ - --replace '"0.0.0"' '"${version}"' + substituteInPlace aiomusiccast/__init__.py \ + --replace-fail '__version__ = "0.0.0"' '__version__ = "${version}"' ''; build-system = [ hatchling ]; diff --git a/pkgs/development/python-modules/aioshelly/default.nix b/pkgs/development/python-modules/aioshelly/default.nix index d911ebfa39e0..e79935cdce1e 100644 --- a/pkgs/development/python-modules/aioshelly/default.nix +++ b/pkgs/development/python-modules/aioshelly/default.nix @@ -8,6 +8,7 @@ fetchFromGitHub, habluetooth, orjson, + pyprojectVersionPatchHook, pytest-asyncio, pytestCheckHook, setuptools, @@ -29,6 +30,10 @@ buildPythonPackage (finalAttrs: { build-system = [ setuptools ]; + nativeBuildInputs = [ + pyprojectVersionPatchHook + ]; + dependencies = [ aiohttp bleak-retry-connector diff --git a/pkgs/development/python-modules/aioskybell/default.nix b/pkgs/development/python-modules/aioskybell/default.nix index 3cd0d0b024ad..6910307f0bee 100644 --- a/pkgs/development/python-modules/aioskybell/default.nix +++ b/pkgs/development/python-modules/aioskybell/default.nix @@ -12,7 +12,7 @@ setuptools, }: -buildPythonPackage rec { +buildPythonPackage (finalAttrs: { pname = "aioskybell"; version = "23.12.0"; pyproject = true; @@ -20,13 +20,13 @@ buildPythonPackage rec { src = fetchFromGitHub { owner = "tkdrob"; repo = "aioskybell"; - tag = version; + tag = finalAttrs.version; hash = "sha256-5F0B5z0pJLKJPzKIowE07vEgmNXnDVEeGFbPGnJ6H9I="; }; postPatch = '' substituteInPlace setup.py \ - --replace 'version="master",' 'version="${version}",' + --replace 'version="master",' 'version="${finalAttrs.version}",' ''; nativeBuildInputs = [ setuptools ]; @@ -59,4 +59,4 @@ buildPythonPackage rec { license = with lib.licenses; [ mit ]; maintainers = with lib.maintainers; [ fab ]; }; -} +}) diff --git a/pkgs/development/python-modules/aiotarfile/default.nix b/pkgs/development/python-modules/aiotarfile/default.nix index 6234535a9836..4008a15e1e1b 100644 --- a/pkgs/development/python-modules/aiotarfile/default.nix +++ b/pkgs/development/python-modules/aiotarfile/default.nix @@ -7,6 +7,7 @@ cargo, rustc, rustPlatform, + semver, }: buildPythonPackage rec { @@ -26,6 +27,15 @@ buildPythonPackage rec { hash = "sha256-Yf6N615X9ZB+HDp3xehMc3kjKbdsSbIJrqARRXwCRDQ="; }; + postPatch = '' + patchShebangs release.py + ./release.py finalize + ''; + + build-system = [ + semver # required for release.py + ]; + nativeBuildInputs = [ cargo rustPlatform.cargoSetupHook diff --git a/pkgs/development/python-modules/aiotractive/default.nix b/pkgs/development/python-modules/aiotractive/default.nix index 2182709658d1..6b026d1d7e6f 100644 --- a/pkgs/development/python-modules/aiotractive/default.nix +++ b/pkgs/development/python-modules/aiotractive/default.nix @@ -4,6 +4,7 @@ buildPythonPackage, fetchFromGitHub, orjson, + pyprojectVersionPatchHook, setuptools, yarl, }: @@ -22,6 +23,10 @@ buildPythonPackage (finalAttrs: { build-system = [ setuptools ]; + nativeBuildInputs = [ + pyprojectVersionPatchHook + ]; + pythonRelaxDeps = [ "orjson" ]; dependencies = [ diff --git a/pkgs/development/python-modules/aiowaqi/default.nix b/pkgs/development/python-modules/aiowaqi/default.nix index 01fc555be2df..38473486785b 100644 --- a/pkgs/development/python-modules/aiowaqi/default.nix +++ b/pkgs/development/python-modules/aiowaqi/default.nix @@ -5,6 +5,7 @@ buildPythonPackage, fetchFromGitHub, poetry-core, + pyprojectVersionPatchHook, pytest-asyncio, pytest-cov-stub, pytestCheckHook, @@ -26,6 +27,10 @@ buildPythonPackage rec { build-system = [ poetry-core ]; + nativeBuildInputs = [ + pyprojectVersionPatchHook + ]; + dependencies = [ aiohttp yarl diff --git a/pkgs/development/python-modules/aiowebdav2/default.nix b/pkgs/development/python-modules/aiowebdav2/default.nix index 6b557be078ee..9b9a46a38273 100644 --- a/pkgs/development/python-modules/aiowebdav2/default.nix +++ b/pkgs/development/python-modules/aiowebdav2/default.nix @@ -7,6 +7,7 @@ hatchling, lib, lxml, + pyprojectVersionPatchHook, pytest-asyncio, pytest-cov-stub, pytestCheckHook, @@ -26,6 +27,10 @@ buildPythonPackage rec { hash = "sha256-W3TdumweNyGz2qDFgSGu+ZPnEpLvWQQ216jER6e4k18="; }; + nativeBuildInputs = [ + pyprojectVersionPatchHook + ]; + build-system = [ hatchling ]; dependencies = [ diff --git a/pkgs/development/python-modules/aiowithings/default.nix b/pkgs/development/python-modules/aiowithings/default.nix index 5e9e6f7ac3c5..76d29829c716 100644 --- a/pkgs/development/python-modules/aiowithings/default.nix +++ b/pkgs/development/python-modules/aiowithings/default.nix @@ -5,6 +5,7 @@ buildPythonPackage, fetchFromGitHub, poetry-core, + pyprojectVersionPatchHook, pytest-asyncio, pytest-cov-stub, pytestCheckHook, @@ -24,6 +25,10 @@ buildPythonPackage rec { hash = "sha256-YC1rUyPXWbJ/xfUus5a7vw44gw7PIAdwhrUstXB/+nI="; }; + nativeBuildInputs = [ + pyprojectVersionPatchHook + ]; + build-system = [ poetry-core ]; dependencies = [ diff --git a/pkgs/development/python-modules/ancp-bids/default.nix b/pkgs/development/python-modules/ancpbids/default.nix similarity index 97% rename from pkgs/development/python-modules/ancp-bids/default.nix rename to pkgs/development/python-modules/ancpbids/default.nix index 1e0b8e9158c1..fa240945d297 100644 --- a/pkgs/development/python-modules/ancp-bids/default.nix +++ b/pkgs/development/python-modules/ancpbids/default.nix @@ -9,7 +9,7 @@ }: buildPythonPackage rec { - pname = "ancp-bids"; + pname = "ancpbids"; version = "0.3.1"; pyproject = true; diff --git a/pkgs/development/python-modules/apischema/default.nix b/pkgs/development/python-modules/apischema/default.nix index e3c2c235c596..54cd670036b3 100644 --- a/pkgs/development/python-modules/apischema/default.nix +++ b/pkgs/development/python-modules/apischema/default.nix @@ -3,6 +3,7 @@ buildPythonPackage, fetchFromGitHub, graphql-core, + pyprojectVersionPatchHook, pytest-asyncio, pytest8_3CheckHook, pythonAtLeast, @@ -32,6 +33,10 @@ buildPythonPackage rec { build-system = [ setuptools ]; + nativeBuildInputs = [ + pyprojectVersionPatchHook + ]; + optional-dependencies = { graphql = [ graphql-core ]; }; diff --git a/pkgs/development/python-modules/approvaltests/default.nix b/pkgs/development/python-modules/approvaltests/default.nix index 5c91f2217155..60ba742323c7 100644 --- a/pkgs/development/python-modules/approvaltests/default.nix +++ b/pkgs/development/python-modules/approvaltests/default.nix @@ -33,6 +33,8 @@ buildPythonPackage rec { postPatch = '' test -f setup.py || mv setup/setup.approvaltests.py setup.py + python3 setup/set_version.py '${version}' + patchShebangs internal_documentation/scripts ''; diff --git a/pkgs/development/python-modules/aspell-python/default.nix b/pkgs/development/python-modules/aspell-python-py3/default.nix similarity index 97% rename from pkgs/development/python-modules/aspell-python/default.nix rename to pkgs/development/python-modules/aspell-python-py3/default.nix index 4bc47fe3bd51..a7ed13759267 100644 --- a/pkgs/development/python-modules/aspell-python/default.nix +++ b/pkgs/development/python-modules/aspell-python-py3/default.nix @@ -9,7 +9,7 @@ }: buildPythonPackage rec { - pname = "aspell-python"; + pname = "aspell-python-py3"; version = "1.15"; pyproject = true; diff --git a/pkgs/development/python-modules/asyncclick/default.nix b/pkgs/development/python-modules/asyncclick/default.nix index 11508f2eedf9..823c921260ab 100644 --- a/pkgs/development/python-modules/asyncclick/default.nix +++ b/pkgs/development/python-modules/asyncclick/default.nix @@ -10,13 +10,13 @@ buildPythonPackage rec { pname = "asyncclick"; - version = "8.3.0.5+async"; + version = "8.3.0.5"; pyproject = true; src = fetchFromGitHub { owner = "python-trio"; repo = "asyncclick"; - tag = version; + tag = "${version}+async"; hash = "sha256-gKtxwI/vDB2pDrhiA+e1TClwW5nXvBRCMF3oCNoLaDo="; }; diff --git a/pkgs/development/python-modules/aurorapy/default.nix b/pkgs/development/python-modules/aurorapy/default.nix index b7e82bc72c64..e9f6d41c2ff8 100644 --- a/pkgs/development/python-modules/aurorapy/default.nix +++ b/pkgs/development/python-modules/aurorapy/default.nix @@ -21,6 +21,9 @@ buildPythonPackage (finalAttrs: { }; postPatch = '' + substituteInPlace setup.py \ + --replace-fail 'version="0.2.7"' 'version="${finalAttrs.version}"' + sed -i "/from past.builtins import map/d" aurorapy/client.py ''; diff --git a/pkgs/development/python-modules/awesomeversion/default.nix b/pkgs/development/python-modules/awesomeversion/default.nix index e932afa10828..fe1fd26bd603 100644 --- a/pkgs/development/python-modules/awesomeversion/default.nix +++ b/pkgs/development/python-modules/awesomeversion/default.nix @@ -3,6 +3,7 @@ buildPythonPackage, fetchFromGitHub, hatchling, + pyprojectVersionPatchHook, pytest-codspeed, pytest-snapshot, pytestCheckHook, @@ -20,13 +21,12 @@ buildPythonPackage rec { hash = "sha256-2CEuJagUkYwtjzpQLYLlz+V5e2feEU6di3wI0+uWuy4="; }; - postPatch = '' + nativeBuildInputs = [ # Upstream doesn't set a version - substituteInPlace pyproject.toml \ - --replace-fail 'version = "0"' 'version = "${version}"' - ''; + pyprojectVersionPatchHook + ]; - nativeBuildInputs = [ hatchling ]; + build-system = [ hatchling ]; pythonImportsCheck = [ "awesomeversion" ]; diff --git a/pkgs/development/python-modules/awsiotpythonsdk/default.nix b/pkgs/development/python-modules/awsiotpythonsdk/default.nix index fa6e8cffbd07..2065675dc226 100644 --- a/pkgs/development/python-modules/awsiotpythonsdk/default.nix +++ b/pkgs/development/python-modules/awsiotpythonsdk/default.nix @@ -17,6 +17,11 @@ buildPythonPackage (finalAttrs: { hash = "sha256-Jwj07yAl9LrHRy1y3cjipObqEcwP+j+a5dcvXj02kgA="; }; + postPatch = '' + substituteInPlace AWSIoTPythonSDK/__init__.py \ + --replace-fail '__version__ = "1.5.4"' '__version__ = "${finalAttrs.version}"' + ''; + nativeBuildInputs = [ setuptools ]; # Module has no tests diff --git a/pkgs/development/python-modules/bencode-py/default.nix b/pkgs/development/python-modules/bencode-py/default.nix index 5d1293e6e9e5..0f0c09680d8a 100644 --- a/pkgs/development/python-modules/bencode-py/default.nix +++ b/pkgs/development/python-modules/bencode-py/default.nix @@ -7,7 +7,7 @@ pytestCheckHook, }: buildPythonPackage (finalAttrs: { - pname = "beconde-py"; + pname = "bencode-py"; version = "4.0.0"; pyproject = true; diff --git a/pkgs/development/python-modules/bluecurrent-api/default.nix b/pkgs/development/python-modules/bluecurrent-api/default.nix index 5d66b378581f..b9cc22101da9 100644 --- a/pkgs/development/python-modules/bluecurrent-api/default.nix +++ b/pkgs/development/python-modules/bluecurrent-api/default.nix @@ -5,6 +5,7 @@ setuptools, pytz, websockets, + pyprojectVersionPatchHook, pytest-asyncio, pytest-mock, pytestCheckHook, @@ -22,6 +23,10 @@ buildPythonPackage rec { hash = "sha256-px4kZOvMUP5aGOQ1uxWnY6w77Woie/hVVdyylW8uSX4="; }; + nativeBuildInputs = [ + pyprojectVersionPatchHook + ]; + build-system = [ setuptools ]; dependencies = [ diff --git a/pkgs/development/python-modules/brother/default.nix b/pkgs/development/python-modules/brother/default.nix index b1a0a3470c68..1c25f62293ab 100644 --- a/pkgs/development/python-modules/brother/default.nix +++ b/pkgs/development/python-modules/brother/default.nix @@ -4,6 +4,7 @@ fetchFromGitHub, freezegun, dacite, + pyprojectVersionPatchHook, pysnmp, pytest-asyncio, pytest-error-for-skips, @@ -27,6 +28,10 @@ buildPythonPackage rec { hash = "sha256-7m0fakQCckIpG8Tc09P81xzHlIgeal9L2BwerUvBuX8="; }; + nativeBuildInputs = [ + pyprojectVersionPatchHook + ]; + build-system = [ setuptools ]; dependencies = [ diff --git a/pkgs/development/python-modules/caio/default.nix b/pkgs/development/python-modules/caio/default.nix index 897dbf76fee8..dd6b035a8c9c 100644 --- a/pkgs/development/python-modules/caio/default.nix +++ b/pkgs/development/python-modules/caio/default.nix @@ -20,6 +20,13 @@ buildPythonPackage (finalAttrs: { hash = "sha256-IeyksrYpLMc9PJjpYeaOgLx26CeVMoR/3r2RX66ucDs="; }; + postPatch = '' + substituteInPlace caio/version.py \ + --replace-fail 'version_info = (0, 9, 25)' 'version_info = (${ + lib.replaceString "." ", " finalAttrs.version + })' + ''; + build-system = [ setuptools ]; nativeCheckInputs = [ diff --git a/pkgs/development/python-modules/cgal/default.nix b/pkgs/development/python-modules/cgal/default.nix index aedab3c3c09f..900acd45ed52 100644 --- a/pkgs/development/python-modules/cgal/default.nix +++ b/pkgs/development/python-modules/cgal/default.nix @@ -42,6 +42,8 @@ buildPythonPackage rec { hash = "sha256-MnUsl4ozMamKcQ13TV6mtoG7VKq8BuiDSIVq1RPn2rs="; }; + env.CGAL_PYTHON_MODULE_VERSION = version; + dontUseCmakeConfigure = true; build-system = [ diff --git a/pkgs/development/python-modules/chroma-hnswlib/default.nix b/pkgs/development/python-modules/chroma-hnswlib/default.nix index 4deccaccc2af..85f76789a636 100644 --- a/pkgs/development/python-modules/chroma-hnswlib/default.nix +++ b/pkgs/development/python-modules/chroma-hnswlib/default.nix @@ -21,6 +21,11 @@ buildPythonPackage rec { hash = "sha256-Fs/BuocZblMSlmP6yp+aykbs0n1AdvL3AVAQI1AnZ9o="; }; + postPatch = '' + substituteInPlace setup.py \ + --replace-fail '__version__ = "0.7.6"' '__version__ = "${version}"' + ''; + nativeBuildInputs = [ numpy pybind11 diff --git a/pkgs/development/python-modules/clang/default.nix b/pkgs/development/python-modules/clang/default.nix index 1f6e2103034f..58f054c893e3 100644 --- a/pkgs/development/python-modules/clang/default.nix +++ b/pkgs/development/python-modules/clang/default.nix @@ -4,6 +4,7 @@ llvmPackages, setuptools, writeText, + pytestCheckHook, }: let @@ -51,6 +52,10 @@ buildPythonPackage { echo 'Config.set_library_path("${lib.getLib libclang}/lib")' >>./clang/cindex.py ''; + nativeCheckInputs = [ + pytestCheckHook + ]; + meta = libclang.meta // { description = "Python bindings for the C language family frontend for LLVM"; maintainers = [ ]; diff --git a/pkgs/development/python-modules/compressed-rtf/default.nix b/pkgs/development/python-modules/compressed-rtf/default.nix index acd0efdfc47a..022475c9073c 100644 --- a/pkgs/development/python-modules/compressed-rtf/default.nix +++ b/pkgs/development/python-modules/compressed-rtf/default.nix @@ -6,7 +6,7 @@ setuptools, }: -buildPythonPackage { +buildPythonPackage (finalAttrs: { pname = "compressed-rtf"; version = "1.0.7"; pyproject = true; @@ -14,12 +14,11 @@ buildPythonPackage { src = fetchFromGitHub { owner = "delimitry"; repo = "compressed_rtf"; - # https://github.com/delimitry/compressed_rtf/issues/15 - rev = "581400c1b4c69ab0d944cfb5ca82c32059bbcc96"; - hash = "sha256-ivvND+cOCAmRyO8yL0+WhFY/2OkrJ+E/o4xWWd7ivHA="; + tag = finalAttrs.version; + hash = "sha256-eQ1rX+IyQG6oStd+ELIMNJ3EjTKJTA3tHzuxdIuKgGs="; }; - nativeBuildInputs = [ setuptools ]; + build-system = [ setuptools ]; nativeCheckInputs = [ pytestCheckHook ]; @@ -28,9 +27,10 @@ buildPythonPackage { enabledTestPaths = [ "tests/tests.py" ]; meta = { + changelog = "https://github.com/delimitry/compressed_rtf/releases/tag/${finalAttrs.src.tag}"; description = "Compressed Rich Text Format (RTF) compression and decompression"; homepage = "https://github.com/delimitry/compressed_rtf"; license = lib.licenses.mit; maintainers = with lib.maintainers; [ fab ]; }; -} +}) diff --git a/pkgs/development/python-modules/cramjam/default.nix b/pkgs/development/python-modules/cramjam/default.nix index cd35c8fee54e..5c2a35930e0d 100644 --- a/pkgs/development/python-modules/cramjam/default.nix +++ b/pkgs/development/python-modules/cramjam/default.nix @@ -2,6 +2,7 @@ lib, buildPythonPackage, fetchFromGitHub, + pyprojectVersionPatchHook, rustPlatform, # tests @@ -28,9 +29,10 @@ buildPythonPackage (finalAttrs: { hash = "sha256-evXYLbv+GwSBUJBb0upjQTFtMPdQbKka8KfJltMUmDs="; }; - nativeBuildInputs = with rustPlatform; [ - cargoSetupHook - maturinBuildHook + nativeBuildInputs = [ + rustPlatform.cargoSetupHook + rustPlatform.maturinBuildHook + pyprojectVersionPatchHook ]; nativeCheckInputs = [ diff --git a/pkgs/development/python-modules/cross-web/default.nix b/pkgs/development/python-modules/cross-web/default.nix index 827ce4c250ff..8d69ff5d6211 100644 --- a/pkgs/development/python-modules/cross-web/default.nix +++ b/pkgs/development/python-modules/cross-web/default.nix @@ -10,6 +10,7 @@ hatchling, httpx, litestar, + pyprojectVersionPatchHook, pytest-asyncio, pytest-django, pytestCheckHook, @@ -35,6 +36,10 @@ buildPythonPackage (finalAttrs: { hash = "sha256-JxwzTU17jCQMFNCtmcZVAZQnwDZjHNxCGNdKhkCMoPs="; }; + nativeBuildInputs = [ + pyprojectVersionPatchHook + ]; + build-system = [ hatchling ]; dependencies = [ typing-extensions ]; diff --git a/pkgs/development/python-modules/cx-logging/default.nix b/pkgs/development/python-modules/cx-logging/default.nix index cda1235ed4d3..b8809fde80dc 100644 --- a/pkgs/development/python-modules/cx-logging/default.nix +++ b/pkgs/development/python-modules/cx-logging/default.nix @@ -22,6 +22,8 @@ buildPythonPackage (finalAttrs: { postPatch = '' substituteInPlace pyproject.toml \ --replace-fail "setuptools>=70.1,<75" "setuptools" + + echo '${finalAttrs.version}' > VERSION '' # The flag -soname isn't recognized by the linker on darwin. Only -install_name is valid. + lib.optionalString stdenv.hostPlatform.isDarwin '' diff --git a/pkgs/development/python-modules/dacite/default.nix b/pkgs/development/python-modules/dacite/default.nix index ed4bc835a634..1a323d7b709e 100644 --- a/pkgs/development/python-modules/dacite/default.nix +++ b/pkgs/development/python-modules/dacite/default.nix @@ -1,6 +1,7 @@ { lib, fetchFromGitHub, + fetchpatch, buildPythonPackage, pytestCheckHook, pythonAtLeast, @@ -19,6 +20,14 @@ buildPythonPackage rec { hash = "sha256-mAPqWvBpkTbtzHpwtCSDXMNkoc8/hbRH3OIEeK2yStU="; }; + patches = [ + (fetchpatch { + name = "fix-version-in-setup.py.patch"; + url = "https://github.com/konradhalas/dacite/commit/daad7e4a15569321d3cf118f8083a71a65d7e044.patch"; + hash = "sha256-5udIgEf2P9SCZVGnPg/rMtFtkPJyLw9RWvVO47BddK8="; + }) + ]; + postPatch = '' substituteInPlace pyproject.toml \ --replace "--benchmark-autosave --benchmark-json=benchmark.json" "" diff --git a/pkgs/development/python-modules/diskcache-stubs/default.nix b/pkgs/development/python-modules/diskcache-stubs/default.nix index c4d07ea702e1..b976d1c39bc6 100644 --- a/pkgs/development/python-modules/diskcache-stubs/default.nix +++ b/pkgs/development/python-modules/diskcache-stubs/default.nix @@ -3,6 +3,7 @@ buildPythonPackage, fetchFromGitHub, hatchling, + pyprojectVersionPatchHook, typing-extensions, }: @@ -20,6 +21,10 @@ buildPythonPackage rec { build-system = [ hatchling ]; + nativeBuildInputs = [ + pyprojectVersionPatchHook + ]; + dependencies = [ typing-extensions ]; pythonImportsCheck = [ "diskcache-stubs" ]; diff --git a/pkgs/development/python-modules/dlms-cosem/default.nix b/pkgs/development/python-modules/dlms-cosem/default.nix index 43a2da0ef092..1f7e5bee54bb 100644 --- a/pkgs/development/python-modules/dlms-cosem/default.nix +++ b/pkgs/development/python-modules/dlms-cosem/default.nix @@ -25,6 +25,11 @@ buildPythonPackage rec { hash = "sha256-ZsF+GUVG9bZNZE5daROQJIZZgqpjAkB/bFyre2oGu+E="; }; + postPatch = '' + substituteInPlace setup.py \ + --replace-fail 'VERSION = "24.1.0"' 'VERSION = "${version}"' + ''; + build-system = [ setuptools ]; dependencies = [ diff --git a/pkgs/development/python-modules/eq3btsmart/default.nix b/pkgs/development/python-modules/eq3btsmart/default.nix index 3a464212b2fb..e8bba45a8535 100644 --- a/pkgs/development/python-modules/eq3btsmart/default.nix +++ b/pkgs/development/python-modules/eq3btsmart/default.nix @@ -6,6 +6,7 @@ bleak, bleak-retry-connector, construct-typing, + pyprojectVersionPatchHook, pytest-asyncio, pytestCheckHook, }: @@ -24,6 +25,10 @@ buildPythonPackage rec { build-system = [ setuptools ]; + nativeBuildInputs = [ + pyprojectVersionPatchHook + ]; + dependencies = [ bleak bleak-retry-connector diff --git a/pkgs/development/python-modules/fastprogress/default.nix b/pkgs/development/python-modules/fastprogress/default.nix index 8b55e3f99e7d..5094394374c9 100644 --- a/pkgs/development/python-modules/fastprogress/default.nix +++ b/pkgs/development/python-modules/fastprogress/default.nix @@ -5,8 +5,8 @@ setuptools, fastcore, numpy, - fasthtml, ipython, + python-fasthtml, }: buildPythonPackage (finalAttrs: { @@ -26,8 +26,8 @@ buildPythonPackage (finalAttrs: { dependencies = [ fastcore numpy - fasthtml ipython + python-fasthtml ]; # no real tests diff --git a/pkgs/development/python-modules/flask-login/default.nix b/pkgs/development/python-modules/flask-login/default.nix index 7841dc704c9c..96dfc323b171 100644 --- a/pkgs/development/python-modules/flask-login/default.nix +++ b/pkgs/development/python-modules/flask-login/default.nix @@ -19,7 +19,7 @@ buildPythonPackage rec { pname = "flask-login"; - version = "0.7.0dev0-2024-06-18"; + version = "0.6.3-unstable-2024-06-18"; pyproject = true; src = fetchFromGitHub { diff --git a/pkgs/development/python-modules/flatten-dict/default.nix b/pkgs/development/python-modules/flatten-dict/default.nix index 03b699b3d593..872e3dd75700 100644 --- a/pkgs/development/python-modules/flatten-dict/default.nix +++ b/pkgs/development/python-modules/flatten-dict/default.nix @@ -3,6 +3,7 @@ buildPythonPackage, fetchFromGitHub, poetry-core, + pyprojectVersionPatchHook, pytestCheckHook, }: @@ -20,6 +21,10 @@ buildPythonPackage (finalAttrs: { build-system = [ poetry-core ]; + nativeBuildInputs = [ + pyprojectVersionPatchHook + ]; + nativeCheckInputs = [ pytestCheckHook ]; pythonImportsCheck = [ "flatten_dict" ]; diff --git a/pkgs/development/python-modules/forecast-solar/default.nix b/pkgs/development/python-modules/forecast-solar/default.nix index 616961728241..ef104fc6f244 100644 --- a/pkgs/development/python-modules/forecast-solar/default.nix +++ b/pkgs/development/python-modules/forecast-solar/default.nix @@ -6,6 +6,7 @@ aiohttp, aresponses, poetry-core, + pyprojectVersionPatchHook, pytest-asyncio, pytest-cov-stub, pytest-freezer, @@ -28,7 +29,9 @@ buildPythonPackage rec { build-system = [ poetry-core ]; - env.PACKAGE_VERSION = version; + nativeBuildInputs = [ + pyprojectVersionPatchHook + ]; dependencies = [ aiodns diff --git a/pkgs/development/python-modules/fressnapftracker/default.nix b/pkgs/development/python-modules/fressnapftracker/default.nix index 5f41c7fd723e..53b1b86b88dc 100644 --- a/pkgs/development/python-modules/fressnapftracker/default.nix +++ b/pkgs/development/python-modules/fressnapftracker/default.nix @@ -5,6 +5,7 @@ hatchling, httpx, pydantic, + pyprojectVersionPatchHook, pytest-asyncio, pytest-cov-stub, pytest-mock, @@ -24,6 +25,10 @@ buildPythonPackage (finalAttrs: { hash = "sha256-gJsE/1HnUXEDa5Y7eLtHexx+G00MGQDZJu3pui9OeMM="; }; + nativeBuildInputs = [ + pyprojectVersionPatchHook + ]; + build-system = [ hatchling ]; dependencies = [ diff --git a/pkgs/development/python-modules/gattlib/default.nix b/pkgs/development/python-modules/gattlib/default.nix index e9bf36c3d599..3073ee291ddc 100644 --- a/pkgs/development/python-modules/gattlib/default.nix +++ b/pkgs/development/python-modules/gattlib/default.nix @@ -16,13 +16,13 @@ buildPythonPackage rec { pname = "gattlib"; - version = "20210616"; + version = "0.20210616"; pyproject = true; src = fetchFromGitHub { owner = "oscaracena"; repo = "pygattlib"; - rev = "v.${version}"; + tag = "v.${lib.removePrefix "0." version}"; hash = "sha256-n3D9CWKvgw4FYmbvsfhaHN963HARBG0p4CcZBC8Gkb0="; }; diff --git a/pkgs/development/python-modules/gios/default.nix b/pkgs/development/python-modules/gios/default.nix index 2eafea3323cc..9e23491cf120 100644 --- a/pkgs/development/python-modules/gios/default.nix +++ b/pkgs/development/python-modules/gios/default.nix @@ -5,6 +5,7 @@ buildPythonPackage, dacite, fetchFromGitHub, + pyprojectVersionPatchHook, pytest-asyncio, pytest-error-for-skips, pytestCheckHook, @@ -27,6 +28,10 @@ buildPythonPackage rec { hash = "sha256-m7baTU7oWcjqCgiZ7GcOYVM23jcvycQcAbPhO1jWahk="; }; + nativeBuildInputs = [ + pyprojectVersionPatchHook + ]; + build-system = [ setuptools ]; dependencies = [ diff --git a/pkgs/development/python-modules/git-versioner/default.nix b/pkgs/development/python-modules/git-versioner/default.nix index e05d20dad3d4..46e9e6f5747e 100644 --- a/pkgs/development/python-modules/git-versioner/default.nix +++ b/pkgs/development/python-modules/git-versioner/default.nix @@ -1,8 +1,9 @@ { lib, buildPythonPackage, - setuptools-scm, + setuptools, fetchFromGitLab, + pyprojectVersionPatchHook, }: buildPythonPackage rec { @@ -13,11 +14,15 @@ buildPythonPackage rec { src = fetchFromGitLab { owner = "alelec"; repo = "__version__"; - rev = "v${version}"; + tag = "v${version}"; hash = "sha256-bnpuFJSd4nBXJA75V61kiB+nU5pUzdEAIScfKx7aaGU="; }; - nativeBuildInputs = [ setuptools-scm ]; + build-system = [ setuptools ]; + + nativeBuildInputs = [ + pyprojectVersionPatchHook + ]; pythonImportsCheck = [ "__version__" ]; diff --git a/pkgs/development/python-modules/goodwe/default.nix b/pkgs/development/python-modules/goodwe/default.nix index 0cf36da8a8f9..e5ec15975a46 100644 --- a/pkgs/development/python-modules/goodwe/default.nix +++ b/pkgs/development/python-modules/goodwe/default.nix @@ -18,6 +18,10 @@ buildPythonPackage (finalAttrs: { hash = "sha256-2wnfc+W1lhUgvWa1iwHxJu4WGZHaXvmxgtBAkTJHJ3E="; }; + postPatch = '' + echo '${finalAttrs.version}' > VERSION + ''; + build-system = [ setuptools ]; nativeCheckInputs = [ pytestCheckHook ]; diff --git a/pkgs/development/python-modules/goslide-api/default.nix b/pkgs/development/python-modules/goslide-api/default.nix index 008eb0ea3ab5..2dbe1108e691 100644 --- a/pkgs/development/python-modules/goslide-api/default.nix +++ b/pkgs/development/python-modules/goslide-api/default.nix @@ -18,6 +18,11 @@ buildPythonPackage rec { hash = "sha256-Z3+GijoI+351zV7IpLSBQu6LE2OhhXho4ygNMVbg2xs="; }; + postPatch = '' + substituteInPlace setup.py \ + --replace-fail "version='0.7.3'" "version='${version}'" + ''; + build-system = [ setuptools ]; dependencies = [ aiohttp ]; diff --git a/pkgs/development/python-modules/gpiod/default.nix b/pkgs/development/python-modules/gpiod/default.nix index 248dffdcc939..9c2a842abe5d 100644 --- a/pkgs/development/python-modules/gpiod/default.nix +++ b/pkgs/development/python-modules/gpiod/default.nix @@ -21,6 +21,9 @@ buildPythonPackage { doCheck = false; pythonImportsCheck = [ "gpiod" ]; + # the tag component of the version doesn't align + dontCheckPythonMetadata = true; + meta = { description = "Python bindings for libgpiod"; homepage = "https://git.kernel.org/pub/scm/libs/libgpiod/libgpiod.git/about/"; diff --git a/pkgs/development/python-modules/gradio/default.nix b/pkgs/development/python-modules/gradio/default.nix index 7e11791b068b..9d0f1a1ea290 100644 --- a/pkgs/development/python-modules/gradio/default.nix +++ b/pkgs/development/python-modules/gradio/default.nix @@ -439,6 +439,7 @@ buildPythonPackage (finalAttrs: { shopt -u globstar ''; pythonImportsCheck = null; + dontCheckPythonMetadata = true; dontCheckRuntimeDeps = true; }); diff --git a/pkgs/development/python-modules/greeneye-monitor/default.nix b/pkgs/development/python-modules/greeneye-monitor/default.nix index 04a30f73a4ef..6c15df1dbf96 100644 --- a/pkgs/development/python-modules/greeneye-monitor/default.nix +++ b/pkgs/development/python-modules/greeneye-monitor/default.nix @@ -3,9 +3,9 @@ aiohttp, buildPythonPackage, fetchFromGitHub, + poetry-core, pytest-socket, pytestCheckHook, - setuptools, siobrultech-protocols, }: @@ -21,7 +21,19 @@ buildPythonPackage rec { hash = "sha256-7EDuQ+wECcTzxkEufMpg3WSzosWeiwfxcVIVtQi+0BI="; }; - build-system = [ setuptools ]; + postPatch = '' + cat >> pyproject.toml << EOF + [build-system] + requires = ["poetry-core"] + build-backend = "poetry.core.masonry.api" + EOF + ''; + + build-system = [ poetry-core ]; + + pythonRelaxDeps = [ + "siobrultech-protocols" + ]; dependencies = [ aiohttp diff --git a/pkgs/development/python-modules/ha-philipsjs/default.nix b/pkgs/development/python-modules/ha-philipsjs/default.nix index f6371faf06cf..99624cd564cb 100644 --- a/pkgs/development/python-modules/ha-philipsjs/default.nix +++ b/pkgs/development/python-modules/ha-philipsjs/default.nix @@ -13,7 +13,7 @@ buildPythonPackage rec { pname = "ha-philipsjs"; - version = "3.3.4"; + version = "3.3.4"; # FIXME Can we check metadata again? pyproject = true; src = fetchFromGitHub { @@ -39,6 +39,9 @@ buildPythonPackage rec { pythonImportsCheck = [ "haphilipsjs" ]; + # the tag 3.3.4 actually corresponds to version 3.2.4 + dontCheckPythonMetadata = true; + meta = { description = "Library to interact with Philips TVs with jointSPACE API"; homepage = "https://github.com/danielperna84/ha-philipsjs"; diff --git a/pkgs/development/python-modules/here-routing/default.nix b/pkgs/development/python-modules/here-routing/default.nix index 1dfddf8e5306..4e6290a1adaa 100644 --- a/pkgs/development/python-modules/here-routing/default.nix +++ b/pkgs/development/python-modules/here-routing/default.nix @@ -7,6 +7,7 @@ async-timeout, yarl, aresponses, + pyprojectVersionPatchHook, pytest-asyncio, pytest-cov-stub, pytestCheckHook, @@ -24,6 +25,10 @@ buildPythonPackage rec { hash = "sha256-h3y5hjaSHH6oIfSt5JTt1+pH7mFLOFiq1RuMZ1uYtTE="; }; + nativeBuildInputs = [ + pyprojectVersionPatchHook + ]; + build-system = [ hatchling ]; dependencies = [ diff --git a/pkgs/development/python-modules/here-transit/default.nix b/pkgs/development/python-modules/here-transit/default.nix index 87541d36fd17..3d4e1cd35a18 100644 --- a/pkgs/development/python-modules/here-transit/default.nix +++ b/pkgs/development/python-modules/here-transit/default.nix @@ -7,6 +7,7 @@ async-timeout, yarl, aresponses, + pyprojectVersionPatchHook, pytest-asyncio, pytestCheckHook, }: @@ -28,6 +29,10 @@ buildPythonPackage rec { sed -i "/^addopts/d" pyproject.toml ''; + nativeBuildInputs = [ + pyprojectVersionPatchHook + ]; + build-system = [ hatchling ]; dependencies = [ diff --git a/pkgs/development/python-modules/imgw-pib/default.nix b/pkgs/development/python-modules/imgw-pib/default.nix index ed303cde63e0..399032553e99 100644 --- a/pkgs/development/python-modules/imgw-pib/default.nix +++ b/pkgs/development/python-modules/imgw-pib/default.nix @@ -8,6 +8,7 @@ freezegun, lib, orjson, + pyprojectVersionPatchHook, pytest-asyncio, pytestCheckHook, setuptools, @@ -28,6 +29,10 @@ buildPythonPackage (finalAttrs: { build-system = [ setuptools ]; + nativeBuildInputs = [ + pyprojectVersionPatchHook + ]; + pythonRelaxDeps = [ "aiohttp" ]; diff --git a/pkgs/development/python-modules/inkex/default.nix b/pkgs/development/python-modules/inkex/default.nix index e3633c2c536d..a65642f7d2ee 100644 --- a/pkgs/development/python-modules/inkex/default.nix +++ b/pkgs/development/python-modules/inkex/default.nix @@ -62,6 +62,9 @@ buildPythonPackage { pythonImportsCheck = [ "inkex" ]; + # The inkex version isn't update in tandem with inkscape + dontCheckPythonMetadata = true; + nativeCheckInputs = [ gobject-introspection pytestCheckHook diff --git a/pkgs/development/python-modules/ipfshttpclient/default.nix b/pkgs/development/python-modules/ipfshttpclient/default.nix index bcfab5aceb59..4e1d3160fab9 100644 --- a/pkgs/development/python-modules/ipfshttpclient/default.nix +++ b/pkgs/development/python-modules/ipfshttpclient/default.nix @@ -4,7 +4,7 @@ fetchFromGitHub, flit-core, python, - py-multiaddr, + multiaddr, requests, pytestCheckHook, pytest-cov-stub, @@ -34,7 +34,7 @@ buildPythonPackage rec { nativeBuildInputs = [ flit-core ]; propagatedBuildInputs = [ - py-multiaddr + multiaddr requests ]; diff --git a/pkgs/development/python-modules/iso4217/default.nix b/pkgs/development/python-modules/iso4217/default.nix index cebace0bf539..22dfbc95fb3a 100644 --- a/pkgs/development/python-modules/iso4217/default.nix +++ b/pkgs/development/python-modules/iso4217/default.nix @@ -26,6 +26,12 @@ buildPythonPackage rec { hash = "sha256-C7TwGlbTwpcJ0rE7notWzZHthWzXKMPbHq00zMhfHeA="; }; + postPatch = '' + # get_version() appends a date to the version prefix + substituteInPlace setup.py \ + --replace-fail 'version=get_version()' 'version="${version}"' + ''; + build-system = [ setuptools ]; nativeCheckInputs = [ pytestCheckHook ]; diff --git a/pkgs/development/python-modules/iterative-telemetry/default.nix b/pkgs/development/python-modules/iterative-telemetry/default.nix index 6e7f0ab17ca8..7312b62bd3fc 100644 --- a/pkgs/development/python-modules/iterative-telemetry/default.nix +++ b/pkgs/development/python-modules/iterative-telemetry/default.nix @@ -12,7 +12,7 @@ }: buildPythonPackage rec { - pname = "iterative-telemtry"; + pname = "iterative-telemetry"; version = "0.0.10"; pyproject = true; diff --git a/pkgs/development/python-modules/kgb/default.nix b/pkgs/development/python-modules/kgb/default.nix index 4b1a565fe73b..569e6e8583f4 100644 --- a/pkgs/development/python-modules/kgb/default.nix +++ b/pkgs/development/python-modules/kgb/default.nix @@ -18,6 +18,11 @@ buildPythonPackage rec { hash = "sha256-hNJXoUIyrCB9PCWLCmN81F6pBRwZApDR6JWA0adyklw="; }; + postPatch = '' + substituteInPlace setup.cfg \ + --replace-fail "tag_build = .dev" "" + ''; + build-system = [ setuptools ]; pythonImportsCheck = [ "kgb" ]; diff --git a/pkgs/development/python-modules/knocki/default.nix b/pkgs/development/python-modules/knocki/default.nix index 6073ba2b48c4..4400dba5559e 100644 --- a/pkgs/development/python-modules/knocki/default.nix +++ b/pkgs/development/python-modules/knocki/default.nix @@ -7,6 +7,7 @@ mashumaro, orjson, poetry-core, + pyprojectVersionPatchHook, pytestCheckHook, pytest-aiohttp, pytest-cov-stub, @@ -28,6 +29,10 @@ buildPythonPackage rec { build-system = [ poetry-core ]; + nativeBuildInputs = [ + pyprojectVersionPatchHook + ]; + dependencies = [ aiohttp mashumaro diff --git a/pkgs/development/python-modules/laszip/default.nix b/pkgs/development/python-modules/laszip/default.nix index 50bc114b7f7e..04c56f831b45 100644 --- a/pkgs/development/python-modules/laszip/default.nix +++ b/pkgs/development/python-modules/laszip/default.nix @@ -14,7 +14,7 @@ }: buildPythonPackage (finalAttrs: { - pname = "laszip-python"; + pname = "laszip"; version = "0.3.0"; pyproject = true; diff --git a/pkgs/development/python-modules/letpot/default.nix b/pkgs/development/python-modules/letpot/default.nix index 27cc39a877af..18d8f6778fdc 100644 --- a/pkgs/development/python-modules/letpot/default.nix +++ b/pkgs/development/python-modules/letpot/default.nix @@ -6,6 +6,7 @@ freezegun, lib, poetry-core, + pyprojectVersionPatchHook, pytest-asyncio, pytestCheckHook, }: @@ -22,6 +23,10 @@ buildPythonPackage (finalAttrs: { hash = "sha256-w4WS0AyNd4dNtA/fBKieDW2YXwBFltRkJvaGemRjsv4="; }; + nativeBuildInputs = [ + pyprojectVersionPatchHook + ]; + build-system = [ poetry-core ]; dependencies = [ diff --git a/pkgs/development/python-modules/libvalkey/default.nix b/pkgs/development/python-modules/libvalkey/default.nix index 0119e61608f2..06a80ff2db52 100644 --- a/pkgs/development/python-modules/libvalkey/default.nix +++ b/pkgs/development/python-modules/libvalkey/default.nix @@ -7,7 +7,7 @@ }: buildPythonPackage (finalAttrs: { - pname = "libvalkey-py"; + pname = "libvalkey"; version = "4.0.1"; pyproject = true; diff --git a/pkgs/development/python-modules/london-tube-status/default.nix b/pkgs/development/python-modules/london-tube-status/default.nix index 9f47872987fd..656ff7b39003 100644 --- a/pkgs/development/python-modules/london-tube-status/default.nix +++ b/pkgs/development/python-modules/london-tube-status/default.nix @@ -20,6 +20,11 @@ buildPythonPackage rec { hash = "sha256-0uDCrF3abx94X47LQxgALirSF/spJPVD91G2WqXaDVs="; }; + postPatch = '' + substituteInPlace setup.py \ + --replace-fail 'VERSION = "0.6.1"' 'VERSION = "${version}"' + ''; + build-system = [ setuptools ]; diff --git a/pkgs/development/python-modules/mako/default.nix b/pkgs/development/python-modules/mako/default.nix index a317e542fc80..20da44ffd62a 100644 --- a/pkgs/development/python-modules/mako/default.nix +++ b/pkgs/development/python-modules/mako/default.nix @@ -32,6 +32,11 @@ buildPythonPackage (finalAttrs: { hash = "sha256-YIMmP8CIGUlgnB8/96lR9yDvEZTES766dSN0vT0JfbM="; }; + postPatch = '' + substituteInPlace setup.cfg \ + --replace-fail "tag_build = dev" "" + ''; + build-system = [ setuptools_80 ]; dependencies = [ markupsafe ]; diff --git a/pkgs/development/python-modules/meteo-lt-pkg/default.nix b/pkgs/development/python-modules/meteo-lt-pkg/default.nix index dd1639485fce..8b9cc97c733f 100644 --- a/pkgs/development/python-modules/meteo-lt-pkg/default.nix +++ b/pkgs/development/python-modules/meteo-lt-pkg/default.nix @@ -3,6 +3,7 @@ buildPythonPackage, fetchFromGitHub, lib, + pyprojectVersionPatchHook, pytest-asyncio, pytestCheckHook, setuptools, @@ -22,6 +23,10 @@ buildPythonPackage rec { build-system = [ setuptools ]; + nativeBuildInputs = [ + pyprojectVersionPatchHook + ]; + dependencies = [ aiohttp ]; diff --git a/pkgs/development/python-modules/minimock/default.nix b/pkgs/development/python-modules/minimock/default.nix index fa45081db6a1..45800dd802ef 100644 --- a/pkgs/development/python-modules/minimock/default.nix +++ b/pkgs/development/python-modules/minimock/default.nix @@ -17,6 +17,11 @@ buildPythonPackage rec { hash = "sha256-Ut3iKc7Sr28uGgWCV3K3CS+gBta2icvbUPMjjo4fflU="; }; + postPatch = '' + substituteInPlace minimock.py \ + --replace-fail "__version__ = '1.2.10.dev0'" "__version__ = '${version}'" + ''; + nativeBuildInputs = [ setuptools ]; # Module has no tests diff --git a/pkgs/development/python-modules/py-multiaddr/default.nix b/pkgs/development/python-modules/multiaddr/default.nix similarity index 98% rename from pkgs/development/python-modules/py-multiaddr/default.nix rename to pkgs/development/python-modules/multiaddr/default.nix index 9b002fd4058e..7f9849778956 100644 --- a/pkgs/development/python-modules/py-multiaddr/default.nix +++ b/pkgs/development/python-modules/multiaddr/default.nix @@ -17,7 +17,7 @@ }: buildPythonPackage rec { - pname = "py-multiaddr"; + pname = "multiaddr"; version = "0.0.11"; pyproject = true; diff --git a/pkgs/development/python-modules/nbmake/default.nix b/pkgs/development/python-modules/nbmake/default.nix index f6780ba38981..89f208e77685 100644 --- a/pkgs/development/python-modules/nbmake/default.nix +++ b/pkgs/development/python-modules/nbmake/default.nix @@ -2,6 +2,7 @@ lib, buildPythonPackage, fetchFromGitHub, + pyprojectVersionPatchHook, # build-system hatchling, @@ -33,6 +34,10 @@ buildPythonPackage rec { hatchling ]; + nativeBuildInputs = [ + pyprojectVersionPatchHook + ]; + dependencies = [ ipykernel nbclient diff --git a/pkgs/development/python-modules/nest-asyncio/default.nix b/pkgs/development/python-modules/nest-asyncio/default.nix index 652c276534b7..6420fe406bf8 100644 --- a/pkgs/development/python-modules/nest-asyncio/default.nix +++ b/pkgs/development/python-modules/nest-asyncio/default.nix @@ -20,6 +20,11 @@ buildPythonPackage rec { hash = "sha256-5I5WItOl1QpyI4OXZgZf8GiQ7Jlo+SJbDicIbernaU4="; }; + postPatch = '' + substituteInPlace setup.cfg \ + --replace-fail 'version = 1.5.9' 'version = ${version}' + ''; + build-system = [ setuptools setuptools-scm diff --git a/pkgs/development/python-modules/nextcloudmonitor/default.nix b/pkgs/development/python-modules/nextcloudmonitor/default.nix index 9333a1679db2..be23ee8ea5b5 100644 --- a/pkgs/development/python-modules/nextcloudmonitor/default.nix +++ b/pkgs/development/python-modules/nextcloudmonitor/default.nix @@ -18,6 +18,11 @@ buildPythonPackage rec { hash = "sha256-748cDMxPjOQFKdSt1GrQqZHmPgz20HN1+lMzo2vMj6c="; }; + postPatch = '' + substituteInPlace setup.py \ + --replace-fail 'version="1.5.1"' 'version="${version}"' + ''; + build-system = [ setuptools ]; dependencies = [ requests ]; diff --git a/pkgs/development/python-modules/nsw-fuel-api-client/default.nix b/pkgs/development/python-modules/nsw-fuel-api-client/default.nix index fc03069077b0..bf309741dbc0 100644 --- a/pkgs/development/python-modules/nsw-fuel-api-client/default.nix +++ b/pkgs/development/python-modules/nsw-fuel-api-client/default.nix @@ -20,6 +20,11 @@ buildPythonPackage rec { hash = "sha256-3nkBDLmFOfYLvG5fi2subA9zxb51c7zWlhT4GaCQo9I="; }; + postPatch = '' + substituteInPlace nsw_fuel/__init__.py \ + --replace-fail '__version__ = "0.0.0-dev"' '__version__ = "${version}"' + ''; + build-system = [ setuptools ]; diff --git a/pkgs/development/python-modules/nyt-games/default.nix b/pkgs/development/python-modules/nyt-games/default.nix index 4a434194de3c..12249abf7c4e 100644 --- a/pkgs/development/python-modules/nyt-games/default.nix +++ b/pkgs/development/python-modules/nyt-games/default.nix @@ -7,6 +7,7 @@ mashumaro, orjson, poetry-core, + pyprojectVersionPatchHook, pytest-asyncio, pytest-cov-stub, pytestCheckHook, @@ -28,6 +29,10 @@ buildPythonPackage rec { build-system = [ poetry-core ]; + nativeBuildInputs = [ + pyprojectVersionPatchHook + ]; + dependencies = [ aiohttp mashumaro diff --git a/pkgs/development/python-modules/obsws-python/default.nix b/pkgs/development/python-modules/obsws-python/default.nix index f5beeab35a55..f66746bbbb14 100644 --- a/pkgs/development/python-modules/obsws-python/default.nix +++ b/pkgs/development/python-modules/obsws-python/default.nix @@ -8,7 +8,7 @@ }: buildPythonPackage (finalAttrs: { pname = "obsws-python"; - version = "5.5"; + version = "1.8.0"; pyproject = true; src = fetchFromGitHub { diff --git a/pkgs/development/python-modules/openai-whisper/default.nix b/pkgs/development/python-modules/openai-whisper/default.nix index 0fa011ac0a75..8ec856b23b72 100644 --- a/pkgs/development/python-modules/openai-whisper/default.nix +++ b/pkgs/development/python-modules/openai-whisper/default.nix @@ -27,7 +27,7 @@ }: buildPythonPackage (finalAttrs: { - pname = "whisper"; + pname = "openai-whisper"; version = "20250625"; pyproject = true; __structuredAttrs = true; diff --git a/pkgs/development/python-modules/openant/default.nix b/pkgs/development/python-modules/openant/default.nix index e3a549fd5d03..f37cfd052dfc 100644 --- a/pkgs/development/python-modules/openant/default.nix +++ b/pkgs/development/python-modules/openant/default.nix @@ -11,7 +11,7 @@ }: buildPythonPackage rec { - pname = "openant-unstable"; + pname = "openant"; version = "1.3.1"; pyproject = true; diff --git a/pkgs/development/python-modules/osadl-matrix/default.nix b/pkgs/development/python-modules/osadl-matrix/default.nix index 405fcc7e1e7d..f781f29389d7 100644 --- a/pkgs/development/python-modules/osadl-matrix/default.nix +++ b/pkgs/development/python-modules/osadl-matrix/default.nix @@ -24,6 +24,10 @@ buildPythonPackage (finalAttrs: { hash = "sha256-vcSaWDX8P07Bj035vGq5dZYO+WkZOod7tTubWygl27k="; }; + postPatch = '' + echo '${finalAttrs.version}' > VERSION + ''; + build-system = [ setuptools ]; diff --git a/pkgs/development/python-modules/ourgroceries/default.nix b/pkgs/development/python-modules/ourgroceries/default.nix index 833f6072ae5b..b95a92ed680c 100644 --- a/pkgs/development/python-modules/ourgroceries/default.nix +++ b/pkgs/development/python-modules/ourgroceries/default.nix @@ -19,6 +19,11 @@ buildPythonPackage rec { hash = "sha256-tlgctQvbR2YzM6Q1A/P1i40LSt4/2hsetlDeO07RBPE="; }; + postPatch = '' + substituteInPlace setup.py \ + --replace-fail "version='1.5.3'" "version='${version}'" + ''; + build-system = [ setuptools ]; dependencies = [ diff --git a/pkgs/development/python-modules/ovoenergy/default.nix b/pkgs/development/python-modules/ovoenergy/default.nix index fcb2e2207313..2303a97ebd9a 100644 --- a/pkgs/development/python-modules/ovoenergy/default.nix +++ b/pkgs/development/python-modules/ovoenergy/default.nix @@ -22,6 +22,11 @@ buildPythonPackage rec { hash = "sha256-oWJxpiC83C/ghs/Ik8+DrPWtP/j5jWEZ3+9Nqg4ARKU="; }; + postPatch = '' + substituteInPlace setup.py \ + --replace-fail .dev0 "" + ''; + build-system = [ incremental setuptools diff --git a/pkgs/development/python-modules/powerfox/default.nix b/pkgs/development/python-modules/powerfox/default.nix index 390d30818988..a68d36d5a336 100644 --- a/pkgs/development/python-modules/powerfox/default.nix +++ b/pkgs/development/python-modules/powerfox/default.nix @@ -7,6 +7,7 @@ mashumaro, orjson, poetry-core, + pyprojectVersionPatchHook, pytest-asyncio, pytest-cov-stub, pytestCheckHook, @@ -28,6 +29,10 @@ buildPythonPackage (finalAttrs: { build-system = [ poetry-core ]; + nativeBuildInputs = [ + pyprojectVersionPatchHook + ]; + dependencies = [ aiohttp mashumaro diff --git a/pkgs/development/python-modules/pproxy/default.nix b/pkgs/development/python-modules/pproxy/default.nix index 39b9f9f582ea..3816183ec7fe 100644 --- a/pkgs/development/python-modules/pproxy/default.nix +++ b/pkgs/development/python-modules/pproxy/default.nix @@ -8,6 +8,7 @@ aioquic, python-daemon, setuptools, + setuptools-scm, }: buildPythonPackage rec { @@ -22,7 +23,10 @@ buildPythonPackage rec { hash = "sha256-DWxbU2LtXzec1T175cMVJuWuhnxWYhe0FH67stMyOTM="; }; - nativeBuildInputs = [ setuptools ]; + build-system = [ + setuptools + setuptools-scm + ]; optional-dependencies = { accelerated = [ diff --git a/pkgs/development/python-modules/psycopg/default.nix b/pkgs/development/python-modules/psycopg/default.nix index cd9a4d7d6c05..724a8287ea09 100644 --- a/pkgs/development/python-modules/psycopg/default.nix +++ b/pkgs/development/python-modules/psycopg/default.nix @@ -108,6 +108,9 @@ let dependencies = [ typing-extensions ]; + # the psycopg-pool version isn't updated in tandem with psycopg + dontCheckPythonMetadata = true; + # tested in psycopg doCheck = false; diff --git a/pkgs/development/python-modules/pyanglianwater/default.nix b/pkgs/development/python-modules/pyanglianwater/default.nix index becb9af2a267..dd330e669d7c 100644 --- a/pkgs/development/python-modules/pyanglianwater/default.nix +++ b/pkgs/development/python-modules/pyanglianwater/default.nix @@ -22,6 +22,11 @@ buildPythonPackage rec { hash = "sha256-AkdWWiw1FMs/uuJNSocMBpReXY2mrxouQfWuu4ntRWY="; }; + postPatch = '' + substituteInPlace pyanglianwater/_version.py \ + --replace-fail '__version__ = "0.0.0"' '__version__ = "${version}"' + ''; + build-system = [ setuptools ]; dependencies = [ diff --git a/pkgs/development/python-modules/pycasbin/default.nix b/pkgs/development/python-modules/pycasbin/default.nix index 2d152c3c0a35..06210b965936 100644 --- a/pkgs/development/python-modules/pycasbin/default.nix +++ b/pkgs/development/python-modules/pycasbin/default.nix @@ -2,6 +2,7 @@ lib, buildPythonPackage, fetchFromGitHub, + pyprojectVersionPatchHook, pytestCheckHook, setuptools, simpleeval, @@ -22,6 +23,10 @@ buildPythonPackage rec { build-system = [ setuptools ]; + nativeBuildInputs = [ + pyprojectVersionPatchHook + ]; + dependencies = [ simpleeval wcmatch diff --git a/pkgs/development/python-modules/pycfdns/default.nix b/pkgs/development/python-modules/pycfdns/default.nix index 3ad4b1c12ed1..488d5fee4994 100644 --- a/pkgs/development/python-modules/pycfdns/default.nix +++ b/pkgs/development/python-modules/pycfdns/default.nix @@ -4,6 +4,7 @@ buildPythonPackage, fetchFromGitHub, poetry-core, + pyprojectVersionPatchHook, }: buildPythonPackage rec { @@ -18,14 +19,13 @@ buildPythonPackage rec { hash = "sha256-bLzDakxKq8fcjEKSxc6D5VN9gfAu1M3/zaAU2UYnwSs="; }; - postPatch = '' - substituteInPlace pyproject.toml \ - --replace 'version="0",' 'version="${version}",' - ''; + nativeBuildInputs = [ + pyprojectVersionPatchHook + ]; - nativeBuildInputs = [ poetry-core ]; + build-system = [ poetry-core ]; - propagatedBuildInputs = [ aiohttp ]; + dependencies = [ aiohttp ]; # Project has no tests doCheck = false; diff --git a/pkgs/development/python-modules/pyequihash/default.nix b/pkgs/development/python-modules/pyequihash/default.nix index 54b033d2b89e..18d8e4a38e3f 100644 --- a/pkgs/development/python-modules/pyequihash/default.nix +++ b/pkgs/development/python-modules/pyequihash/default.nix @@ -31,6 +31,9 @@ buildPythonPackage rec { pythonImportsCheck = [ "equihash" ]; + # The Python bindings' version isn't updated in tandem with equihash + dontCheckPythonMetadata = true; + checkPhase = '' runHook preCheck diff --git a/pkgs/development/python-modules/pyexcel-io/default.nix b/pkgs/development/python-modules/pyexcel-io/default.nix index 8ec7dad0213c..5e4137eb0060 100644 --- a/pkgs/development/python-modules/pyexcel-io/default.nix +++ b/pkgs/development/python-modules/pyexcel-io/default.nix @@ -18,6 +18,11 @@ buildPythonPackage rec { hash = "sha256-DBiHHiKXR26/WPJDmEZpRgjvJitFaidbV41Tvn0etLY="; }; + postPatch = '' + substituteInPlace setup.py \ + --replace-fail 'VERSION = "0.6.7"' 'VERSION = "${version}"' + ''; + build-system = [ setuptools ]; dependencies = [ lml ]; diff --git a/pkgs/development/python-modules/pyhacrf-datamade/default.nix b/pkgs/development/python-modules/pyhacrf-datamade/default.nix index db850e5809ff..abe4ed7b0f0f 100644 --- a/pkgs/development/python-modules/pyhacrf-datamade/default.nix +++ b/pkgs/development/python-modules/pyhacrf-datamade/default.nix @@ -10,7 +10,7 @@ setuptools, # dependencies - dedupe-pylbfgs, + pylbfgs, # tests pytestCheckHook, @@ -37,7 +37,7 @@ buildPythonPackage { ]; dependencies = [ - dedupe-pylbfgs + pylbfgs numpy ]; diff --git a/pkgs/development/python-modules/pyhanko/default.nix b/pkgs/development/python-modules/pyhanko/default.nix index 575cd470b4da..0b18e48eb38c 100644 --- a/pkgs/development/python-modules/pyhanko/default.nix +++ b/pkgs/development/python-modules/pyhanko/default.nix @@ -153,6 +153,10 @@ buildPythonPackage (finalAttrs: { build-system = [ setuptools ]; + nativeBuildInputs = [ + pyprojectVersionPatchHook + ]; + dependencies = [ certomancer pyhanko-certvalidator diff --git a/pkgs/development/python-modules/dedupe-pylbfgs/default.nix b/pkgs/development/python-modules/pylbfgs/default.nix similarity index 97% rename from pkgs/development/python-modules/dedupe-pylbfgs/default.nix rename to pkgs/development/python-modules/pylbfgs/default.nix index 738177ec8106..07dba43c1d0b 100644 --- a/pkgs/development/python-modules/dedupe-pylbfgs/default.nix +++ b/pkgs/development/python-modules/pylbfgs/default.nix @@ -14,7 +14,7 @@ }: buildPythonPackage rec { - pname = "dedupe-pylbfgs"; + pname = "pylbfgs"; version = "0.2.0.16"; pyproject = true; diff --git a/pkgs/development/python-modules/dedupe-pylbfgs/tests-numpy-2.4.patch b/pkgs/development/python-modules/pylbfgs/tests-numpy-2.4.patch similarity index 100% rename from pkgs/development/python-modules/dedupe-pylbfgs/tests-numpy-2.4.patch rename to pkgs/development/python-modules/pylbfgs/tests-numpy-2.4.patch diff --git a/pkgs/development/python-modules/pymilter/default.nix b/pkgs/development/python-modules/pymilter/default.nix index a54d852e3b83..dda74831930e 100644 --- a/pkgs/development/python-modules/pymilter/default.nix +++ b/pkgs/development/python-modules/pymilter/default.nix @@ -21,6 +21,11 @@ buildPythonPackage rec { hash = "sha256-plaWXwDAIsVzEtrabZuZj7T4WNfz2ntQHgcMCVf5S70="; }; + postPatch = '' + substituteInPlace setup.py \ + --replace-fail "version = '1.0.5'" "version = '${version}'" + ''; + build-system = [ setuptools ]; diff --git a/pkgs/development/python-modules/pynordpool/default.nix b/pkgs/development/python-modules/pynordpool/default.nix index 0eca17e437d0..7408e687f491 100644 --- a/pkgs/development/python-modules/pynordpool/default.nix +++ b/pkgs/development/python-modules/pynordpool/default.nix @@ -4,6 +4,7 @@ buildPythonPackage, fetchFromGitHub, poetry-core, + pyprojectVersionPatchHook, }: buildPythonPackage (finalAttrs: { @@ -18,6 +19,10 @@ buildPythonPackage (finalAttrs: { hash = "sha256-HDbYrwQ4v5cqej5aUat0gVzaRpJz5jaFHjWUC98gacg="; }; + nativeBuildInputs = [ + pyprojectVersionPatchHook + ]; + build-system = [ poetry-core ]; dependencies = [ aiohttp ]; diff --git a/pkgs/development/python-modules/pyportainer/default.nix b/pkgs/development/python-modules/pyportainer/default.nix index 82d1a4a55b4f..4cb6fd4c0e3b 100644 --- a/pkgs/development/python-modules/pyportainer/default.nix +++ b/pkgs/development/python-modules/pyportainer/default.nix @@ -8,6 +8,7 @@ lib, mashumaro, orjson, + pyprojectVersionPatchHook, pytest-cov-stub, pytestCheckHook, syrupy, @@ -29,6 +30,10 @@ buildPythonPackage (finalAttrs: { build-system = [ hatchling ]; + nativeBuildInputs = [ + pyprojectVersionPatchHook + ]; + dependencies = [ aiohttp mashumaro diff --git a/pkgs/development/python-modules/pysmartthings/default.nix b/pkgs/development/python-modules/pysmartthings/default.nix index f58967964499..ed09d5f5369c 100644 --- a/pkgs/development/python-modules/pysmartthings/default.nix +++ b/pkgs/development/python-modules/pysmartthings/default.nix @@ -7,6 +7,7 @@ mashumaro, orjson, hatchling, + pyprojectVersionPatchHook, pytest-asyncio, pytest-cov-stub, pytestCheckHook, @@ -31,6 +32,10 @@ buildPythonPackage (finalAttrs: { build-system = [ hatchling ]; + nativeBuildInputs = [ + pyprojectVersionPatchHook + ]; + dependencies = [ aiohttp mashumaro diff --git a/pkgs/development/python-modules/pysmi/default.nix b/pkgs/development/python-modules/pysmi/default.nix index 39ade30d993e..f1171b0b8932 100644 --- a/pkgs/development/python-modules/pysmi/default.nix +++ b/pkgs/development/python-modules/pysmi/default.nix @@ -5,6 +5,7 @@ flit-core, jinja2, lark, + pyprojectVersionPatchHook, pysmi, pysnmp, pytestCheckHook, @@ -25,6 +26,10 @@ buildPythonPackage (finalAttrs: { build-system = [ flit-core ]; + nativeBuildInputs = [ + pyprojectVersionPatchHook + ]; + dependencies = [ jinja2 lark diff --git a/pkgs/development/python-modules/pyspx/default.nix b/pkgs/development/python-modules/pyspx/default.nix index 07e9db803be8..94b8a5a9bf79 100644 --- a/pkgs/development/python-modules/pyspx/default.nix +++ b/pkgs/development/python-modules/pyspx/default.nix @@ -20,6 +20,11 @@ buildPythonPackage rec { fetchSubmodules = true; }; + postPatch = '' + substituteInPlace setup.py \ + --replace-fail 'version="0.5.0"' 'version="${version}"' + ''; + build-system = [ cffi setuptools diff --git a/pkgs/development/python-modules/pytest-cov-stub/src/pyproject.toml b/pkgs/development/python-modules/pytest-cov-stub/src/pyproject.toml index 1f356aa7f996..9c73b45061ad 100644 --- a/pkgs/development/python-modules/pytest-cov-stub/src/pyproject.toml +++ b/pkgs/development/python-modules/pytest-cov-stub/src/pyproject.toml @@ -3,7 +3,7 @@ requires = ["hatchling"] build-backend = "hatchling.build" [project] -name = "pytest-cov-nixpkgs-stub" +name = "pytest-cov-stub" version = "1.0.0" [tool.hatch.build.targets.wheel] diff --git a/pkgs/development/python-modules/pytest-lazy-fixtures/default.nix b/pkgs/development/python-modules/pytest-lazy-fixtures/default.nix index 2a9c5ef6ae7e..e28df32aca72 100644 --- a/pkgs/development/python-modules/pytest-lazy-fixtures/default.nix +++ b/pkgs/development/python-modules/pytest-lazy-fixtures/default.nix @@ -3,6 +3,7 @@ buildPythonPackage, fetchFromGitHub, hatchling, + pyprojectVersionPatchHook, pytest, pytest-fixture-classes, pytestCheckHook, @@ -29,6 +30,10 @@ buildPythonPackage rec { build-system = [ hatchling ]; + nativeBuildInputs = [ + pyprojectVersionPatchHook + ]; + dependencies = [ pytest ]; nativeCheckInputs = [ diff --git a/pkgs/development/python-modules/python-apt/default.nix b/pkgs/development/python-modules/python-apt/default.nix index 9df487e14ac0..0c0056888e6e 100644 --- a/pkgs/development/python-modules/python-apt/default.nix +++ b/pkgs/development/python-modules/python-apt/default.nix @@ -7,7 +7,7 @@ }: buildPythonPackage rec { - pname = "apt"; + pname = "python-apt"; version = "3.1.0"; pyproject = true; diff --git a/pkgs/development/python-modules/augeas/default.nix b/pkgs/development/python-modules/python-augeas/default.nix similarity index 97% rename from pkgs/development/python-modules/augeas/default.nix rename to pkgs/development/python-modules/python-augeas/default.nix index 1f0bb2cb80d2..8a89fd4d5292 100644 --- a/pkgs/development/python-modules/augeas/default.nix +++ b/pkgs/development/python-modules/python-augeas/default.nix @@ -10,7 +10,7 @@ setuptools, }: buildPythonPackage (finalAttrs: { - pname = "augeas"; + pname = "python-augeas"; version = "1.2.0"; pyproject = true; diff --git a/pkgs/development/python-modules/fasthtml/default.nix b/pkgs/development/python-modules/python-fasthtml/default.nix similarity index 98% rename from pkgs/development/python-modules/fasthtml/default.nix rename to pkgs/development/python-modules/python-fasthtml/default.nix index 12b9b77c0435..0e47a8aa38a1 100644 --- a/pkgs/development/python-modules/fasthtml/default.nix +++ b/pkgs/development/python-modules/python-fasthtml/default.nix @@ -30,7 +30,7 @@ }: buildPythonPackage (finalAttrs: { - pname = "fasthtml"; + pname = "python-fasthtml"; version = "0.13.3"; pyproject = true; diff --git a/pkgs/development/python-modules/python-homeassistant-analytics/default.nix b/pkgs/development/python-modules/python-homeassistant-analytics/default.nix index ae64842dd512..e5410c6c1cf1 100644 --- a/pkgs/development/python-modules/python-homeassistant-analytics/default.nix +++ b/pkgs/development/python-modules/python-homeassistant-analytics/default.nix @@ -5,6 +5,7 @@ # build-system poetry-core, + pyprojectVersionPatchHook, # dependencies aiohttp, @@ -34,6 +35,10 @@ buildPythonPackage rec { build-system = [ poetry-core ]; + nativeBuildInputs = [ + pyprojectVersionPatchHook + ]; + dependencies = [ aiohttp yarl diff --git a/pkgs/development/python-modules/python-melcloud/default.nix b/pkgs/development/python-modules/python-melcloud/default.nix index 5c81e0547f3c..e1eb073a32c9 100644 --- a/pkgs/development/python-modules/python-melcloud/default.nix +++ b/pkgs/development/python-modules/python-melcloud/default.nix @@ -7,6 +7,7 @@ mashumaro, orjson, poetry-core, + pyprojectVersionPatchHook, pytest-asyncio, pytest-cov-stub, pytestCheckHook, @@ -30,6 +31,10 @@ buildPythonPackage rec { --replace-fail "poetry-core>=1.5,<2.0" poetry-core ''; + nativeBuildInputs = [ + pyprojectVersionPatchHook + ]; + build-system = [ poetry-core ]; pythonRemoveDeps = [ diff --git a/pkgs/development/python-modules/python-memcached/default.nix b/pkgs/development/python-modules/python-memcached/default.nix index c3b8e28159b3..e7555b11fad6 100644 --- a/pkgs/development/python-modules/python-memcached/default.nix +++ b/pkgs/development/python-modules/python-memcached/default.nix @@ -20,6 +20,11 @@ buildPythonPackage rec { hash = "sha256-Qko4Qr9WofeklU0uRRrSPrT8YaBYMCy0GP+TF7YZHLI="; }; + postPatch = '' + substituteInPlace memcache.py \ + --replace-fail '__version__ = "1.60"' '__version__ = "${version}"' + ''; + nativeBuildInputs = [ setuptools ]; nativeCheckInputs = [ diff --git a/pkgs/development/python-modules/python-opensky/default.nix b/pkgs/development/python-modules/python-opensky/default.nix index 49391b7b032e..034fdcb6b102 100644 --- a/pkgs/development/python-modules/python-opensky/default.nix +++ b/pkgs/development/python-modules/python-opensky/default.nix @@ -6,6 +6,7 @@ fetchFromGitHub, poetry-core, pydantic, + pyprojectVersionPatchHook, pytest-asyncio, pytest-cov-stub, pytestCheckHook, @@ -26,13 +27,15 @@ buildPythonPackage rec { }; postPatch = '' - substituteInPlace pyproject.toml \ - --replace 'version = "0.0.0"' 'version = "${version}"' substituteInPlace src/python_opensky/opensky.py \ --replace ".joinpath(uri)" "/ uri" ''; - nativeBuildInputs = [ poetry-core ]; + nativeBuildInputs = [ + pyprojectVersionPatchHook + ]; + + build-system = [ poetry-core ]; propagatedBuildInputs = [ aiohttp diff --git a/pkgs/development/python-modules/python-overseerr/default.nix b/pkgs/development/python-modules/python-overseerr/default.nix index 040416961f67..b9c44aae59f7 100644 --- a/pkgs/development/python-modules/python-overseerr/default.nix +++ b/pkgs/development/python-modules/python-overseerr/default.nix @@ -7,6 +7,7 @@ mashumaro, orjson, poetry-core, + pyprojectVersionPatchHook, pytest-asyncio, pytest-cov-stub, pytestCheckHook, @@ -26,6 +27,10 @@ buildPythonPackage rec { hash = "sha256-9sJWglF1EqwXG0Cj1hOtNE2dYTmxIZoVWHYT5I4RQu0="; }; + nativeBuildInputs = [ + pyprojectVersionPatchHook + ]; + build-system = [ poetry-core ]; dependencies = [ diff --git a/pkgs/development/python-modules/python-technove/default.nix b/pkgs/development/python-modules/python-technove/default.nix index aeecb0d10bdd..d6da0d80d0e3 100644 --- a/pkgs/development/python-modules/python-technove/default.nix +++ b/pkgs/development/python-modules/python-technove/default.nix @@ -8,6 +8,7 @@ cachetools, fetchFromGitHub, poetry-core, + pyprojectVersionPatchHook, pytest-asyncio, pytest-cov-stub, pytestCheckHook, @@ -26,6 +27,10 @@ buildPythonPackage rec { hash = "sha256-TAB70EVrjxpl+vm3ncg45l2duaIXHjn7YKOURkS6k0k="; }; + nativeBuildInputs = [ + pyprojectVersionPatchHook + ]; + build-system = [ poetry-core ]; dependencies = [ diff --git a/pkgs/development/python-modules/python3-nmap/default.nix b/pkgs/development/python-modules/python3-nmap/default.nix index c41f20fc6acf..d4728a58a3b7 100644 --- a/pkgs/development/python-modules/python3-nmap/default.nix +++ b/pkgs/development/python-modules/python3-nmap/default.nix @@ -18,6 +18,11 @@ buildPythonPackage rec { hash = "sha256-d/rH3aRNh9SDyVvbiTFCQyfZ6amtnH2iSwKqTOlVLNY="; }; + postPatch = '' + substituteInPlace setup.py \ + --replace-fail 'version="1.9.1"' 'version="${version}"' + ''; + build-system = [ setuptools ]; dependencies = [ simplejson ]; diff --git a/pkgs/development/python-modules/pyvirtualdisplay/default.nix b/pkgs/development/python-modules/pyvirtualdisplay/default.nix index 1f76c8690a2a..9e015ee0d775 100644 --- a/pkgs/development/python-modules/pyvirtualdisplay/default.nix +++ b/pkgs/development/python-modules/pyvirtualdisplay/default.nix @@ -21,7 +21,7 @@ pytest-timeout, pytest-xdist, pytestCheckHook, - vncdo, + vncdotool, }: buildPythonPackage rec { @@ -53,7 +53,7 @@ buildPythonPackage rec { psutil pytest-timeout pytestCheckHook - (vncdo.overridePythonAttrs { doCheck = false; }) + (vncdotool.overridePythonAttrs { doCheck = false; }) xorg-server xmessage xvfb diff --git a/pkgs/development/python-modules/pyvis/default.nix b/pkgs/development/python-modules/pyvis/default.nix index 0a63b6be4062..ea70d09908fd 100644 --- a/pkgs/development/python-modules/pyvis/default.nix +++ b/pkgs/development/python-modules/pyvis/default.nix @@ -23,6 +23,11 @@ buildPythonPackage rec { hash = "sha256-eo9Mk2c0hrBarCrzwmkXha3Qt4Bl1qR7Lhl9EkUx96E="; }; + postPatch = '' + substituteInPlace pyvis/_version.py \ + --replace-fail "__version__ = '0.2.0'" "__version__ = '${version}'" + ''; + nativeBuildInputs = [ setuptools ]; dependencies = [ diff --git a/pkgs/development/python-modules/pywaze/default.nix b/pkgs/development/python-modules/pywaze/default.nix index 5804de59344e..844208465309 100644 --- a/pkgs/development/python-modules/pywaze/default.nix +++ b/pkgs/development/python-modules/pywaze/default.nix @@ -4,6 +4,7 @@ fetchFromGitHub, hatchling, httpx, + pyprojectVersionPatchHook, pytest-asyncio, pytest-cov-stub, pytestCheckHook, @@ -22,6 +23,10 @@ buildPythonPackage (finalAttrs: { hash = "sha256-yhECJORKVM8R/+CjhSTwgtCPeQ8QwIuG3EZHmtjVkX0="; }; + nativeBuildInputs = [ + pyprojectVersionPatchHook + ]; + build-system = [ hatchling ]; dependencies = [ httpx ]; diff --git a/pkgs/development/python-modules/qnapstats/default.nix b/pkgs/development/python-modules/qnapstats/default.nix index bcbe9c775469..a59fd07c99a1 100644 --- a/pkgs/development/python-modules/qnapstats/default.nix +++ b/pkgs/development/python-modules/qnapstats/default.nix @@ -21,6 +21,11 @@ buildPythonPackage rec { hash = "sha256-4zGCMwuPL9QFVLgyZ6/aV9YBQJBomPkX34C7ULEd4Fw="; }; + postPatch = '' + substituteInPlace setup.py \ + --replace-fail "version='0.4.0'" "version='${version}'" + ''; + build-system = [ setuptools ]; dependencies = [ diff --git a/pkgs/development/python-modules/rf-protocols/default.nix b/pkgs/development/python-modules/rf-protocols/default.nix index 4b6da5258243..395b4c996f6c 100644 --- a/pkgs/development/python-modules/rf-protocols/default.nix +++ b/pkgs/development/python-modules/rf-protocols/default.nix @@ -3,6 +3,7 @@ buildPythonPackage, fetchFromGitHub, prek, + pyprojectVersionPatchHook, pytest-asyncio, pytestCheckHook, setuptools, @@ -22,6 +23,10 @@ buildPythonPackage (finalAttrs: { build-system = [ setuptools ]; + nativeBuildInputs = [ + pyprojectVersionPatchHook + ]; + nativeCheckInputs = [ prek pytest-asyncio diff --git a/pkgs/development/python-modules/riden/default.nix b/pkgs/development/python-modules/riden/default.nix index 2fa2f095aead..c0f35bfc1927 100644 --- a/pkgs/development/python-modules/riden/default.nix +++ b/pkgs/development/python-modules/riden/default.nix @@ -5,6 +5,7 @@ fetchFromGitHub, modbus-tk, poetry-core, + pyprojectVersionPatchHook, pyserial, setuptools, }: @@ -26,6 +27,10 @@ buildPythonPackage rec { setuptools ]; + nativeBuildInputs = [ + pyprojectVersionPatchHook + ]; + dependencies = [ click modbus-tk diff --git a/pkgs/development/python-modules/simpleitk/default.nix b/pkgs/development/python-modules/simpleitk/default.nix index a8503a1197f2..18b4ad91ec34 100644 --- a/pkgs/development/python-modules/simpleitk/default.nix +++ b/pkgs/development/python-modules/simpleitk/default.nix @@ -28,6 +28,11 @@ buildPythonPackage rec { swig scikit-build ]; + + cmakeFlags = [ + "-DSimpleITK_BUILD_DISTRIBUTE=ON" + ]; + propagatedBuildInputs = [ elastix itk diff --git a/pkgs/development/python-modules/speechbrain/default.nix b/pkgs/development/python-modules/speechbrain/default.nix index 2bc905414aac..31b943e4ee95 100644 --- a/pkgs/development/python-modules/speechbrain/default.nix +++ b/pkgs/development/python-modules/speechbrain/default.nix @@ -2,6 +2,7 @@ lib, buildPythonPackage, fetchFromGitHub, + pyprojectVersionPatchHook, # build-system setuptools, @@ -33,6 +34,10 @@ buildPythonPackage (finalAttrs: { hash = "sha256-98g9HSCD6ahsmCSKSKIY1okYOuzUqVuJO9N9WUiZMPk="; }; + nativeBuildInputs = [ + pyprojectVersionPatchHook + ]; + build-system = [ setuptools ]; dependencies = [ diff --git a/pkgs/development/python-modules/sphinxfeed-lsaffre/default.nix b/pkgs/development/python-modules/sphinxfeed-lsaffre/default.nix index 1bddcab744a7..0d829173438c 100644 --- a/pkgs/development/python-modules/sphinxfeed-lsaffre/default.nix +++ b/pkgs/development/python-modules/sphinxfeed-lsaffre/default.nix @@ -22,6 +22,11 @@ buildPythonPackage (finalAttrs: { hash = "sha256-2hS8EzaUlxAqBT0R5NMYAuj3ZMPq+x5nqJnidQOAGfM="; }; + postPatch = '' + substituteInPlace sphinxfeed.py \ + --replace-fail "__version__ = '0.3.5'" "__version__ = '${finalAttrs.version}'" + ''; + build-system = [ hatchling ]; diff --git a/pkgs/development/python-modules/sqlite-vec/default.nix b/pkgs/development/python-modules/sqlite-vec/default.nix index fa5786b24425..2f710628c9b6 100644 --- a/pkgs/development/python-modules/sqlite-vec/default.nix +++ b/pkgs/development/python-modules/sqlite-vec/default.nix @@ -2,6 +2,7 @@ lib, buildPythonPackage, fetchpatch, + pyprojectVersionPatchHook, # build-system setuptools, @@ -58,6 +59,10 @@ buildPythonPackage rec { setuptools-scm ]; + nativeBuildInputs = [ + pyprojectVersionPatchHook + ]; + dependencies = [ sqlite-vec-c ]; diff --git a/pkgs/development/python-modules/stups-tokens/default.nix b/pkgs/development/python-modules/stups-tokens/default.nix index a2614e55969e..8a0f9cebad98 100644 --- a/pkgs/development/python-modules/stups-tokens/default.nix +++ b/pkgs/development/python-modules/stups-tokens/default.nix @@ -22,6 +22,11 @@ buildPythonPackage rec { sha256 = "09z3l3xzdlwpivbi141gk1k0zd9m75mjwbdy81zc386rr9k8s0im"; }; + postPatch = '' + substituteInPlace tokens/__init__.py \ + --replace-fail "__version__ = '0.8'" "__version__ = '${version}'" + ''; + build-system = [ setuptools ]; dependencies = [ requests ]; diff --git a/pkgs/development/python-modules/sure/default.nix b/pkgs/development/python-modules/sure/default.nix index f7e5ea7382bd..83bd386e7034 100644 --- a/pkgs/development/python-modules/sure/default.nix +++ b/pkgs/development/python-modules/sure/default.nix @@ -21,6 +21,9 @@ buildPythonPackage (finalAttrs: { }; postPatch = '' + substituteInPlace setup.py \ + --replace-fail version=version 'version="${finalAttrs.version}"' + substituteInPlace setup.cfg \ --replace "rednose = 1" "" ''; diff --git a/pkgs/development/python-modules/syrupy/default.nix b/pkgs/development/python-modules/syrupy/default.nix index c4f84e150699..84939fcf0ab4 100644 --- a/pkgs/development/python-modules/syrupy/default.nix +++ b/pkgs/development/python-modules/syrupy/default.nix @@ -5,6 +5,7 @@ hatchling, hypothesis, pydantic, + pyprojectVersionPatchHook, pytest, pytest-xdist, invoke, @@ -24,6 +25,11 @@ buildPythonPackage (finalAttrs: { build-system = [ hatchling ]; + nativeBuildInputs = [ + # the commit updating the version happens only after tagging + pyprojectVersionPatchHook + ]; + buildInputs = [ pytest ]; nativeCheckInputs = [ diff --git a/pkgs/development/python-modules/systembridgeconnector/default.nix b/pkgs/development/python-modules/systembridgeconnector/default.nix index 1f0245bc6955..d2f99e25f13a 100644 --- a/pkgs/development/python-modules/systembridgeconnector/default.nix +++ b/pkgs/development/python-modules/systembridgeconnector/default.nix @@ -25,6 +25,11 @@ buildPythonPackage rec { hash = "sha256-gkZRvS0abfXFEz2oRuaGJRmhFoxe92F3czNkahNdTm8="; }; + postPatch = '' + substituteInPlace setup.py \ + --replace-fail .dev0 "" + ''; + build-system = [ incremental setuptools diff --git a/pkgs/development/python-modules/tag-expressions/default.nix b/pkgs/development/python-modules/tag-expressions/default.nix index fec5184933ea..19a9999b2fa6 100644 --- a/pkgs/development/python-modules/tag-expressions/default.nix +++ b/pkgs/development/python-modules/tag-expressions/default.nix @@ -17,6 +17,11 @@ buildPythonPackage rec { hash = "sha256-EbSwfAH+sL3JGW+COfDA2f7cLGyKmQMsbyyDGy13Lkg="; }; + postPatch = '' + substituteInPlace setup.py \ + --replace-fail 'version=read_version()' 'version="${version}"' + ''; + build-system = [ setuptools ]; nativeCheckInputs = [ pytestCheckHook ]; diff --git a/pkgs/development/python-modules/tessie-api/default.nix b/pkgs/development/python-modules/tessie-api/default.nix index dbe80af65752..67113809b1c6 100644 --- a/pkgs/development/python-modules/tessie-api/default.nix +++ b/pkgs/development/python-modules/tessie-api/default.nix @@ -4,6 +4,7 @@ fetchFromGitHub, aiohttp, hatchling, + pyprojectVersionPatchHook, pytz, pytestCheckHook, pytest-asyncio, @@ -21,6 +22,10 @@ buildPythonPackage rec { hash = "sha256-Ia5J7dGbcfEa6rEKyJzEnzVnMC3HyI7l5g20v7d7Gjo="; }; + nativeBuildInputs = [ + pyprojectVersionPatchHook + ]; + build-system = [ hatchling ]; dependencies = [ diff --git a/pkgs/development/python-modules/tlsh/default.nix b/pkgs/development/python-modules/tlsh/default.nix index 1c2c8aa8532a..b71daa2736d9 100644 --- a/pkgs/development/python-modules/tlsh/default.nix +++ b/pkgs/development/python-modules/tlsh/default.nix @@ -18,6 +18,11 @@ buildPythonPackage rec { hash = "sha256-cYvXZrd+8ZC5LfucguFFNlEX8FR+AkchmCFButYoiMg="; }; + postPatch = '' + substituteInPlace py_ext/setup.py \ + --replace-fail "version = '4.5.0'" "version = '${version}'" + ''; + patches = [ # https://github.com/trendmicro/tlsh/pull/152 ./cmake-4-compat.patch diff --git a/pkgs/development/python-modules/trmnl/default.nix b/pkgs/development/python-modules/trmnl/default.nix index 8bc2662263b9..4b9f1c266999 100644 --- a/pkgs/development/python-modules/trmnl/default.nix +++ b/pkgs/development/python-modules/trmnl/default.nix @@ -3,6 +3,7 @@ buildPythonPackage, fetchFromGitHub, poetry-core, + pyprojectVersionPatchHook, aiohttp, mashumaro, orjson, @@ -26,6 +27,10 @@ buildPythonPackage (finalAttrs: { hash = "sha256-Gpyhp+d27/IxDOTFxcN9ltYbOJOg9scf17qVb/ArBw0="; }; + nativeBuildInputs = [ + pyprojectVersionPatchHook + ]; + build-system = [ poetry-core ]; dependencies = [ diff --git a/pkgs/development/python-modules/ttp-templates/default.nix b/pkgs/development/python-modules/ttp-templates/default.nix index f6818c7e6a73..26139e8e4e1c 100644 --- a/pkgs/development/python-modules/ttp-templates/default.nix +++ b/pkgs/development/python-modules/ttp-templates/default.nix @@ -4,6 +4,7 @@ fetchFromGitHub, poetry-core, pydantic, + pyprojectVersionPatchHook, }: buildPythonPackage (finalAttrs: { @@ -18,7 +19,11 @@ buildPythonPackage (finalAttrs: { hash = "sha256-W6F0/CGm713HhCtgqv+tEDm5mlkx0JJRmnUc9j+Fnvs="; }; - nativeBuildInputs = [ poetry-core ]; + build-system = [ poetry-core ]; + + nativeBuildInputs = [ + pyprojectVersionPatchHook + ]; dependencies = [ pydantic ]; diff --git a/pkgs/development/python-modules/ttp/default.nix b/pkgs/development/python-modules/ttp/default.nix index dffb57bc6d97..0eb01d3ea45d 100644 --- a/pkgs/development/python-modules/ttp/default.nix +++ b/pkgs/development/python-modules/ttp/default.nix @@ -11,6 +11,7 @@ openpyxl, pytestCheckHook, poetry-core, + pyprojectVersionPatchHook, pyyaml, tabulate, ttp-templates, @@ -29,7 +30,11 @@ buildPythonPackage rec { hash = "sha256-A0McQRpSjr0EYIrHQExtBqMe+AmL+IGWaRHeexyvtvg="; }; - nativeBuildInputs = [ poetry-core ]; + build-system = [ poetry-core ]; + + nativeBuildInputs = [ + pyprojectVersionPatchHook + ]; propagatedBuildInputs = [ # https://github.com/dmulyalin/ttp/blob/master/docs/source/Installation.rst#additional-dependencies diff --git a/pkgs/development/python-modules/tuya-device-handlers/default.nix b/pkgs/development/python-modules/tuya-device-handlers/default.nix index d5036e207ca2..6da570b300eb 100644 --- a/pkgs/development/python-modules/tuya-device-handlers/default.nix +++ b/pkgs/development/python-modules/tuya-device-handlers/default.nix @@ -3,6 +3,7 @@ buildPythonPackage, fetchFromGitHub, poetry-core, + pyprojectVersionPatchHook, tuya-device-sharing-sdk, pytestCheckHook, syrupy, @@ -20,6 +21,10 @@ buildPythonPackage (finalAttrs: { hash = "sha256-O08/NRB3xPjCGWjv5GHJJmn8/rL1rP6J7OlqR17zHeA="; }; + nativeBuildInputs = [ + pyprojectVersionPatchHook + ]; + build-system = [ poetry-core ]; dependencies = [ tuya-device-sharing-sdk ]; diff --git a/pkgs/development/python-modules/victron-mqtt/default.nix b/pkgs/development/python-modules/victron-mqtt/default.nix index ac13a0b9f9f5..82d9a9b340f4 100644 --- a/pkgs/development/python-modules/victron-mqtt/default.nix +++ b/pkgs/development/python-modules/victron-mqtt/default.nix @@ -4,6 +4,7 @@ fetchFromGitHub, hatchling, paho-mqtt, + pyprojectVersionPatchHook, pytest-asyncio, pytest-mock, pytestCheckHook, @@ -26,6 +27,10 @@ buildPythonPackage (finalAttrs: { hatchling ]; + nativeBuildInputs = [ + pyprojectVersionPatchHook + ]; + dependencies = [ paho-mqtt ]; diff --git a/pkgs/development/python-modules/vncdo/default.nix b/pkgs/development/python-modules/vncdotool/default.nix similarity index 95% rename from pkgs/development/python-modules/vncdo/default.nix rename to pkgs/development/python-modules/vncdotool/default.nix index 5fdcf62d14e1..5bfb05292676 100644 --- a/pkgs/development/python-modules/vncdo/default.nix +++ b/pkgs/development/python-modules/vncdotool/default.nix @@ -12,9 +12,10 @@ }: buildPythonPackage rec { - pname = "vncdo"; + pname = "vncdotool"; version = "1.2.0"; pyproject = true; + __structuredAttrs = true; src = fetchFromGitHub { owner = "sibson"; diff --git a/pkgs/development/python-modules/volvocarsapi/default.nix b/pkgs/development/python-modules/volvocarsapi/default.nix index 06eddaead2cd..7b766bc312ae 100644 --- a/pkgs/development/python-modules/volvocarsapi/default.nix +++ b/pkgs/development/python-modules/volvocarsapi/default.nix @@ -2,6 +2,7 @@ lib, buildPythonPackage, fetchFromGitHub, + pyprojectVersionPatchHook, pythonOlder, aiohttp, yarl, @@ -22,6 +23,10 @@ buildPythonPackage rec { hash = "sha256-GC2vktTFWh4z/sO+2hhsVKInSl5GQCtzq4q0YtfkfKg="; }; + nativeBuildInputs = [ + pyprojectVersionPatchHook + ]; + build-system = [ hatchling ]; diff --git a/pkgs/development/python-modules/word2number/default.nix b/pkgs/development/python-modules/word2number/default.nix index 0d5d92686d4d..abafd5a46f77 100644 --- a/pkgs/development/python-modules/word2number/default.nix +++ b/pkgs/development/python-modules/word2number/default.nix @@ -20,6 +20,11 @@ buildPythonPackage rec { hash = "sha256-dgHPEfieNDZnP6+YvywvN3ZzmeICav0WMYKkWDSJ/LE="; }; + postPatch = '' + substituteInPlace setup.py \ + --replace-fail "version = '1.0'" "version = '${version}'" + ''; + build-system = [ setuptools-scm ]; diff --git a/pkgs/development/python-modules/yamlloader/default.nix b/pkgs/development/python-modules/yamlloader/default.nix index 82ed1b8cee62..99c300aa96bc 100644 --- a/pkgs/development/python-modules/yamlloader/default.nix +++ b/pkgs/development/python-modules/yamlloader/default.nix @@ -4,6 +4,7 @@ fetchFromGitHub, hatch-vcs, hatchling, + pyprojectVersionPatchHook, pytestCheckHook, pyyaml, hypothesis, @@ -26,6 +27,10 @@ buildPythonPackage rec { hatchling ]; + nativeBuildInputs = [ + pyprojectVersionPatchHook + ]; + dependencies = [ pyyaml ]; nativeCheckInputs = [ diff --git a/pkgs/development/python-modules/youless-api/default.nix b/pkgs/development/python-modules/youless-api/default.nix index bead558a6cb5..80138d34e1cb 100644 --- a/pkgs/development/python-modules/youless-api/default.nix +++ b/pkgs/development/python-modules/youless-api/default.nix @@ -19,6 +19,8 @@ buildPythonPackage rec { hash = "sha256-BAIwShbIZaX5QOkxajwv6vtL8/EouHA3ELCLAm9ylKA="; }; + env.PUBLISH_VERSION = version; + build-system = [ setuptools ]; dependencies = [ requests ]; diff --git a/pkgs/development/python-modules/youtubeaio/default.nix b/pkgs/development/python-modules/youtubeaio/default.nix index ddb4a6edb589..82c3c629455e 100644 --- a/pkgs/development/python-modules/youtubeaio/default.nix +++ b/pkgs/development/python-modules/youtubeaio/default.nix @@ -7,6 +7,7 @@ pydantic, yarl, aresponses, + pyprojectVersionPatchHook, pytest-asyncio, pytest-cov-stub, pytestCheckHook, @@ -27,6 +28,10 @@ buildPythonPackage rec { build-system = [ poetry-core ]; + nativeBuildInputs = [ + pyprojectVersionPatchHook + ]; + dependencies = [ aiohttp pydantic diff --git a/pkgs/development/python-modules/zinvolt/default.nix b/pkgs/development/python-modules/zinvolt/default.nix index 81bec8ce2c43..975cd9506391 100644 --- a/pkgs/development/python-modules/zinvolt/default.nix +++ b/pkgs/development/python-modules/zinvolt/default.nix @@ -7,6 +7,7 @@ mashumaro, orjson, hatchling, + pyprojectVersionPatchHook, pytest-asyncio, pytest-cov-stub, pytestCheckHook, @@ -26,6 +27,10 @@ buildPythonPackage (finalAttrs: { hash = "sha256-e4kbAEUxJzc2qOnXhtNMFUeDcsUc/G1Wo0LHwTQcgXs="; }; + nativeBuildInputs = [ + pyprojectVersionPatchHook + ]; + build-system = [ hatchling ]; dependencies = [ diff --git a/pkgs/development/tools/continuous-integration/buildbot/pkg.nix b/pkgs/development/tools/continuous-integration/buildbot/pkg.nix index 71a79c8132e3..da9e088cefcf 100644 --- a/pkgs/development/tools/continuous-integration/buildbot/pkg.nix +++ b/pkgs/development/tools/continuous-integration/buildbot/pkg.nix @@ -18,6 +18,8 @@ buildPythonPackage { substituteInPlace buildbot_pkg.py --replace "os.listdir = listdir" "" ''; + env.BUILDBOT_VERSION = buildbot.version; + build-system = [ setuptools ]; # No tests diff --git a/pkgs/development/tools/continuous-integration/buildbot/worker.nix b/pkgs/development/tools/continuous-integration/buildbot/worker.nix index ad464fc47ebb..b8da7fd6ba3e 100644 --- a/pkgs/development/tools/continuous-integration/buildbot/worker.nix +++ b/pkgs/development/tools/continuous-integration/buildbot/worker.nix @@ -48,6 +48,9 @@ buildPythonPackage { psutil ]; + # the date-based version of buildbot-worker doesn't align with buildbot's version + dontCheckPythonMetadata = true; + passthru.tests = { smoke-test = nixosTests.buildbot; }; diff --git a/pkgs/top-level/aliases.nix b/pkgs/top-level/aliases.nix index ddfa65aa5db9..edd040c16e97 100644 --- a/pkgs/top-level/aliases.nix +++ b/pkgs/top-level/aliases.nix @@ -2348,6 +2348,7 @@ mapAliases { vkBasalt = throw "'vkBasalt' has been renamed to/replaced by 'vkbasalt'"; # Converted to throw 2025-10-27 vkdt-wayland = throw "'vkdt-wayland' has been renamed to/replaced by 'vkdt'"; # Converted to throw 2025-10-27 vmfs-tools = throw "'vmfs-tools' has been removed as it depends on unsupported fuse2 and is unmaintained upstream"; # Added 2026-06-07 + vncdo = warnAlias "'vncdo' has been renamed to 'vncdotool'" vncdotool; # Added 2026-06-30 vokoscreen = throw "'vokoscreen' has been replaced by vokoscreen-ng"; # Added 2025-10-21 volk_2 = throw "'volk_2' has been removed after not being used by any package for a long time"; # Added 2025-10-25 volnoti = throw "'volnoti' has been removed due to lack of maintenance upstream. Consider using 'rumno' instead."; # Added 2024-12-04 diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index bc5f5a5b0b8c..964943f83eac 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -3073,7 +3073,7 @@ with pkgs; vinyl-cache = vinyl-cache_9; - vncdo = with python3Packages; toPythonApplication vncdo; + vncdotool = with python3Packages; toPythonApplication vncdotool; # An alias to work around the splicing incidents # Related: diff --git a/pkgs/top-level/python-aliases.nix b/pkgs/top-level/python-aliases.nix index 16df0610345a..29974e6d9751 100644 --- a/pkgs/top-level/python-aliases.nix +++ b/pkgs/top-level/python-aliases.nix @@ -86,12 +86,14 @@ mapAliases { amazon-kclpy = throw "amazon-kclpy has been removed because it has been marked as broken since at least November 2024."; # Added 2025-10-03 amazon_kclpy = throw "'amazon_kclpy' has been renamed to/replaced by 'amazon-kclpy'"; # Converted to throw 2025-10-29 amqplib = throw "amqplib has been removed as it was unmaintained upstream"; # Added 2025-11-22 + ancp-bids = ancpbids; # added 2026-06-18 ansiconv = throw "ansiconv has been removed because it was archived upstream"; # Added 2026-01-14 ansiwrap = throw "ansiwrap has been removed because it has been marked as broken since at least November 2024."; # Added 2025-10-03 apkit = throw "apkit was removed because it is unmaintained upstream and different from apkit on PyPI"; # added 2025-09-13 APScheduler = throw "'APScheduler' has been renamed to/replaced by 'apscheduler'"; # Converted to throw 2025-10-29 argon2_cffi = throw "'argon2_cffi' has been renamed to/replaced by 'argon2-cffi'"; # Converted to throw 2025-10-29 asmog = throw "'asmog' has been removed because the service it polled is offline and the library has been unmaintained since 2019"; # Added 2026-06-04 + aspell-python = aspell-python-py3; # added 2026-06-18 aspy-refactor-imports = throw "'aspy-refactor-imports' has been renamed to/replaced by 'classify-imports'"; # Added 2026-05-22 aspy-yaml = throw "'aspy-yaml' has been removed because the upstream repository was archived in 2020"; # Added 2026-06-04 astropy-extension-helpers = extension-helpers; # Added 2025-10-15 @@ -105,6 +107,7 @@ mapAliases { atsim_potentials = throw "'atsim_potentials' has been renamed to/replaced by 'atsim-potentials'"; # Converted to throw 2025-10-29 aubio = throw "'aubio' only direct user LedFX switched to a fork named 'aubio-ledfx', hence the aubio package has been replaced."; # Added 2026-04-20 audio-metadata = throw "'audio-metadata' has been removed as it's unmaintained since 2020"; # Added 2026-03-12 + augeas = python-augeas; # added 2026-06-18 autotrash = throw "'autotrash' has been renamed to/replaced by 'super.pkgs.autotrash'"; # Converted to throw 2025-10-29 av_13 = throw "'av_13' has been renamed to/replaced by 'av'"; # Added 2026-02-01 avion = throw "'avion' has been removed since it depended on the unmaintained bluepy library"; # Added 2026-06-04 @@ -162,6 +165,7 @@ mapAliases { datatable = throw "'datatable' has been removed due to lack of upstream maintenance"; # added 2026-02-02 dateutil = throw "'dateutil' has been renamed to/replaced by 'python-dateutil'"; # Converted to throw 2025-10-29 debian = throw "'debian' has been renamed to/replaced by 'python-debian'"; # Converted to throw 2025-10-29 + dedupe-pylbfgs = pylbfgs; # added 2026-06-28 deepsearch-glm = throw "'deepsearch-glm' has been removed due to lack of upstream maintenance"; # Added 2025-03-04 dictpath = throw "'dictpath' has been renamed to/replaced by 'pathable'"; # Converted to throw 2025-10-29 diff_cover = throw "'diff_cover' has been renamed to/replaced by 'diff-cover'"; # Converted to throw 2025-10-29 @@ -224,6 +228,7 @@ mapAliases { face_recognition = throw "'face_recognition' has been renamed to/replaced by 'face-recognition'"; # Converted to throw 2025-10-29 face_recognition_models = throw "'face_recognition_models' has been renamed to/replaced by 'face-recognition-models'"; # Converted to throw 2025-10-29 factory_boy = throw "'factory_boy' has been renamed to/replaced by 'factory-boy'"; # Converted to throw 2025-10-29 + fasthtml = python-fasthtml; # Added 2026-07-11 fastnlo_toolkit = throw "'fastnlo_toolkit' has been renamed to/replaced by 'fastnlo-toolkit'"; # Converted to throw 2025-10-29 fasttext-predict = throw "'fasttext-predict' has been removed as the only consumer searxng removed its usage"; # Added 2026-03-11 fb-re2 = throw "fb-re2 has been removed since it is unmaintained upstream, consider google-re2 instead"; # added 2025-10-18 @@ -442,6 +447,7 @@ 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-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 pybind11-protobuf = throw "'pybind11-protobuf' was only used by or-tools, and with some overrides, so vendored in there until it's used in other places."; # Converted to throw 2025-11-06 @@ -675,6 +681,7 @@ mapAliases { vcver = throw "vcver has been removed, since it was an unused leaf package"; # added 2025-08-25 vega_datasets = throw "'vega_datasets' has been renamed to/replaced by 'vega-datasets'"; # Converted to throw 2025-10-29 ViennaRNA = throw "'ViennaRNA' has been renamed to/replaced by 'viennarna'"; # Converted to throw 2025-10-29 + vncdo = vncdotool; # Added 2026-06-30 vulcan-api = throw "vulcan-api has been removed. Their API has changed and they don't allow access from unofficial software anymore."; # added 2025-09-05 vxi11 = throw "'vxi11' has been removed as it was broken and unmaintained upstream"; # Added 2025-11-27 Wand = throw "'Wand' has been renamed to/replaced by 'wand'"; # Converted to throw 2025-10-29 diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index 4abfe9396f5a..24530d633333 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -1069,7 +1069,7 @@ self: super: with self; { anchor-kr = callPackage ../development/python-modules/anchor-kr { }; - ancp-bids = callPackage ../development/python-modules/ancp-bids { }; + ancpbids = callPackage ../development/python-modules/ancpbids { }; androguard = callPackage ../development/python-modules/androguard { }; @@ -1399,7 +1399,7 @@ self: super: with self; { aspectlib = callPackage ../development/python-modules/aspectlib { }; - aspell-python = callPackage ../development/python-modules/aspell-python { }; + aspell-python-py3 = callPackage ../development/python-modules/aspell-python-py3 { }; assay = callPackage ../development/python-modules/assay { }; @@ -1573,8 +1573,6 @@ self: super: with self; { ; }; - augeas = callPackage ../development/python-modules/augeas { inherit (pkgs) augeas; }; - augmax = callPackage ../development/python-modules/augmax { }; auroranoaa = callPackage ../development/python-modules/auroranoaa { }; @@ -4147,8 +4145,6 @@ self: super: with self; { dedupe-levenshtein-search = callPackage ../development/python-modules/dedupe-levenshtein-search { }; - dedupe-pylbfgs = callPackage ../development/python-modules/dedupe-pylbfgs { }; - deebot-client = callPackage ../development/python-modules/deebot-client { }; deemix = callPackage ../development/python-modules/deemix { }; @@ -5849,8 +5845,6 @@ self: super: with self; { fastgit = callPackage ../development/python-modules/fastgit { }; - fasthtml = callPackage ../development/python-modules/fasthtml { }; - fastimport = callPackage ../development/python-modules/fastimport { }; fastjet = callPackage ../development/python-modules/fastjet { }; @@ -10929,6 +10923,8 @@ self: super: with self; { multi-key-dict = callPackage ../development/python-modules/multi-key-dict { }; + multiaddr = callPackage ../development/python-modules/multiaddr { }; + multidict = callPackage ../development/python-modules/multidict { }; multimethod = callPackage ../development/python-modules/multimethod { }; @@ -13891,8 +13887,6 @@ self: super: with self; { py-moneyed = callPackage ../development/python-modules/py-moneyed { }; - py-multiaddr = callPackage ../development/python-modules/py-multiaddr { }; - py-multibase = callPackage ../development/python-modules/py-multibase { }; py-multicodec = callPackage ../development/python-modules/py-multicodec { }; @@ -14874,6 +14868,8 @@ self: super: with self; { pylaunches = callPackage ../development/python-modules/pylaunches { }; + pylbfgs = callPackage ../development/python-modules/pylbfgs { }; + pyld = callPackage ../development/python-modules/pyld { }; pyldavis = callPackage ../development/python-modules/pyldavis { }; @@ -16321,6 +16317,8 @@ self: super: with self; { python-arango = callPackage ../development/python-modules/python-arango { }; + python-augeas = callPackage ../development/python-modules/python-augeas { inherit (pkgs) augeas; }; + python-avatars = callPackage ../development/python-modules/python-avatars { }; python-awair = callPackage ../development/python-modules/python-awair { }; @@ -16435,6 +16433,8 @@ self: super: with self; { python-family-hub-local = callPackage ../development/python-modules/python-family-hub-local { }; + python-fasthtml = callPackage ../development/python-modules/python-fasthtml { }; + python-fedora = callPackage ../development/python-modules/python-fedora { }; python-ffmpeg = callPackage ../development/python-modules/python-ffmpeg { }; @@ -21791,7 +21791,7 @@ self: super: with self; { vmprof = callPackage ../development/python-modules/vmprof { }; - vncdo = callPackage ../development/python-modules/vncdo { }; + vncdotool = callPackage ../development/python-modules/vncdotool { }; vnoise = callPackage ../development/python-modules/vnoise { };