diff --git a/pkgs/development/python-modules/dataprep-ml/default.nix b/pkgs/development/python-modules/dataprep-ml/default.nix index 6af89e238ccd..00a25158bc87 100644 --- a/pkgs/development/python-modules/dataprep-ml/default.nix +++ b/pkgs/development/python-modules/dataprep-ml/default.nix @@ -1,24 +1,28 @@ { lib , buildPythonPackage +, colorlog +, dataclasses-json , fetchPypi -, pythonOlder -, poetry-core +, nltk-data , numpy , pandas +, poetry-core +, pydantic , pydateinfer , python-dateutil +, pythonOlder +, pythonRelaxDepsHook , scipy -, type-infer -, dataclasses-json -, colorlog -, pydantic -, nltk-data , symlinkJoin +, type-infer }: let testNltkData = symlinkJoin { name = "nltk-test-data"; - paths = [ nltk-data.punkt nltk-data.stopwords ]; + paths = [ + nltk-data.punkt + nltk-data.stopwords + ]; }; in buildPythonPackage rec { @@ -35,20 +39,25 @@ buildPythonPackage rec { hash = "sha256-BtnRmj5JtgNdCFowgNdpIZn5vUdw8QYCWneHfDgC4/c="; }; + pythonRelaxDeps = [ + "pydantic" + ]; + nativeBuildInputs = [ poetry-core + pythonRelaxDepsHook ]; propagatedBuildInputs = [ + colorlog + dataclasses-json numpy pandas + pydantic pydateinfer python-dateutil scipy type-infer - dataclasses-json - colorlog - pydantic ]; # PyPI tarball has no tests diff --git a/pkgs/development/python-modules/json-schema-for-humans/default.nix b/pkgs/development/python-modules/json-schema-for-humans/default.nix index dfbe2d7d638e..3fa36c938fda 100644 --- a/pkgs/development/python-modules/json-schema-for-humans/default.nix +++ b/pkgs/development/python-modules/json-schema-for-humans/default.nix @@ -11,6 +11,7 @@ , pygments , pytestCheckHook , pythonOlder +, pythonRelaxDepsHook , pytz , pyyaml , requests @@ -19,19 +20,24 @@ buildPythonPackage rec { pname = "json-schema-for-humans"; version = "0.46"; - format = "pyproject"; + pyproject = true; disabled = pythonOlder "3.7"; src = fetchFromGitHub { owner = "coveooss"; - repo = pname; + repo = "json-schema-for-humans"; rev = "refs/tags/v${version}"; hash = "sha256-wTO+d0O3SKT2jJ2zNubT2q76PdJ7+kT9RBEw5MMH1yg="; }; + pythonRelaxDeps = [ + "dataclasses-json" + ]; + nativeBuildInputs = [ poetry-core + pythonRelaxDepsHook ]; propagatedBuildInputs = [ diff --git a/pkgs/development/python-modules/marshmallow-polyfield/default.nix b/pkgs/development/python-modules/marshmallow-polyfield/default.nix index 24d117eb322e..dfdb85ebf9c7 100644 --- a/pkgs/development/python-modules/marshmallow-polyfield/default.nix +++ b/pkgs/development/python-modules/marshmallow-polyfield/default.nix @@ -4,22 +4,32 @@ , marshmallow , pythonOlder , pytestCheckHook +, setuptools }: buildPythonPackage rec { pname = "marshmallow-polyfield"; - version = "5.10"; - format = "setuptools"; + version = "5.11"; + pyproject = true; disabled = pythonOlder "3.6"; src = fetchFromGitHub { owner = "Bachmann1234"; - repo = pname; - rev = "v${version}"; - hash = "sha256-oF5LBuDK4kqsAcKwidju+wFjigjy4CNbJ6bfWpGO1yQ="; + repo = "marshmallow-polyfield"; + rev = "refs/tags/v${version}"; + hash = "sha256-jbpeyih2Ccw1Rk+QcXRO9AfN5B/DhZmxa/M6FzXHqqs="; }; + postPatch = '' + substituteInPlace setup.cfg \ + --replace "--cov=marshmallow_polyfield" "" + ''; + + nativeBuildInputs = [ + setuptools + ]; + propagatedBuildInputs = [ marshmallow ]; @@ -28,11 +38,6 @@ buildPythonPackage rec { pytestCheckHook ]; - postPatch = '' - substituteInPlace setup.cfg \ - --replace "--cov=marshmallow_polyfield" "" - ''; - pythonImportsCheck = [ "marshmallow" ]; diff --git a/pkgs/development/python-modules/marshmallow/default.nix b/pkgs/development/python-modules/marshmallow/default.nix index bbe9c9bf157d..880e3c869aab 100644 --- a/pkgs/development/python-modules/marshmallow/default.nix +++ b/pkgs/development/python-modules/marshmallow/default.nix @@ -6,22 +6,27 @@ , pytz , simplejson , packaging +, setuptools }: buildPythonPackage rec { pname = "marshmallow"; - version = "3.20.1"; - format = "setuptools"; + version = "3.20.2"; + pyproject = true; disabled = pythonOlder "3.8"; src = fetchFromGitHub { owner = "marshmallow-code"; - repo = pname; + repo = "marshmallow"; rev = "refs/tags/${version}"; - hash = "sha256-sPYiup7ontnubtBxv+rIT0up4IHPJNCUlH9J4FlHsss="; + hash = "sha256-z6Quf6uTelGwB/uYayVXtVmculwaoI5LL8I0kKiM/e8="; }; + nativeBuildInputs = [ + setuptools + ]; + propagatedBuildInputs = [ packaging ]; diff --git a/pkgs/development/python-modules/pygitguardian/default.nix b/pkgs/development/python-modules/pygitguardian/default.nix index 3d3590a37104..ad97cd944250 100644 --- a/pkgs/development/python-modules/pygitguardian/default.nix +++ b/pkgs/development/python-modules/pygitguardian/default.nix @@ -5,6 +5,7 @@ , marshmallow-dataclass , pytestCheckHook , pythonOlder +, pythonRelaxDepsHook , requests , responses , setuptools @@ -26,7 +27,12 @@ buildPythonPackage rec { hash = "sha256-ybl6QOLb1xE6v0D1C2wKMsSU+r2gWzj24Q4pPIMBsCY="; }; + pythonRelaxDeps = [ + "marshmallow-dataclass" + ]; + nativeBuildInputs = [ + pythonRelaxDepsHook setuptools ]; diff --git a/pkgs/development/python-modules/spyse-python/default.nix b/pkgs/development/python-modules/spyse-python/default.nix index 0064454a1eaf..56ffdfe8c080 100644 --- a/pkgs/development/python-modules/spyse-python/default.nix +++ b/pkgs/development/python-modules/spyse-python/default.nix @@ -7,32 +7,23 @@ , pythonOlder , requests , responses +, setuptools }: buildPythonPackage rec { pname = "spyse-python"; version = "2.2.3"; - format = "setuptools"; + pyproject = true; disabled = pythonOlder "3.8"; src = fetchFromGitHub { owner = "spyse-com"; - repo = pname; - rev = "v${version}"; - sha256 = "041k0037anwaxp2mh7mdk8rdsw9hdr3arigyyqfxfn35x8j41c3k"; + repo = "spyse-python"; + rev = "refs/tags/v${version}"; + hash = "sha256-c7BAJOplWNcd9v7FrEZuMHHdMpqtHljF7YpbdQYAMxA="; }; - propagatedBuildInputs = [ - requests - dataclasses-json - responses - limiter - ]; - - # Tests requires an API token - doCheck = false; - patches = [ # Update limiter import and rate limit, https://github.com/spyse-com/spyse-python/pull/11 (fetchpatch { @@ -45,11 +36,26 @@ buildPythonPackage rec { postPatch = '' substituteInPlace setup.py \ --replace "'dataclasses~=0.6'," "" \ + --replace "dataclasses-json~=0.5.4" "dataclasses-json>=0.5.4" \ --replace "responses~=0.13.3" "responses>=0.13.3" \ --replace "limiter~=0.1.2" "limiter>=0.1.2" \ --replace "requests~=2.26.0" "requests>=2.26.0" ''; + nativeBuildInputs = [ + setuptools + ]; + + propagatedBuildInputs = [ + requests + dataclasses-json + responses + limiter + ]; + + # Tests requires an API token + doCheck = false; + pythonImportsCheck = [ "spyse" ]; @@ -57,6 +63,7 @@ buildPythonPackage rec { meta = with lib; { description = "Python module for spyse.com API"; homepage = "https://github.com/spyse-com/spyse-python"; + changelog = "https://github.com/spyse-com/spyse-python/releases/tag/v${version}"; license = with licenses; [ mit ]; maintainers = with maintainers; [ fab ]; }; diff --git a/pkgs/development/python-modules/stravalib/default.nix b/pkgs/development/python-modules/stravalib/default.nix index df64dbebab50..f7e527eae146 100644 --- a/pkgs/development/python-modules/stravalib/default.nix +++ b/pkgs/development/python-modules/stravalib/default.nix @@ -1,23 +1,23 @@ { lib +, arrow , buildPythonPackage , fetchPypi -, nose -, setuptools -, setuptools-scm -, wheel -, arrow -, requests -, units , pint , pydantic +, pythonOlder , pytz -, six +, requests +, responses +, setuptools +, setuptools-scm }: buildPythonPackage rec { pname = "stravalib"; version = "1.5"; - format = "pyproject"; + pyproject = true; + + disabled = pythonOlder "3.9"; src = fetchPypi { inherit pname version; @@ -27,31 +27,31 @@ buildPythonPackage rec { nativeBuildInputs = [ setuptools setuptools-scm - wheel - ]; - - nativeCheckInputs = [ - nose ]; propagatedBuildInputs = [ arrow - requests - units pint pydantic pytz - six + requests + responses ]; - # tests require network access - # testing strava api + # Tests require network access, testing strava API doCheck = false; + pythonImportsCheck = [ + "stravalib" + ]; + meta = with lib; { description = "Python library for interacting with Strava v3 REST API"; homepage = "https://github.com/stravalib/stravalib"; + changelog = "https://github.com/stravalib/stravalib/releases/tag/v${version}"; license = licenses.asl20; - maintainers = [ ]; + maintainers = with maintainers; [ ]; + # Support for pydantic > 2, https://github.com/stravalib/stravalib/issues/379 + broken = versionAtLeast pydantic.version "2"; }; } diff --git a/pkgs/development/python-modules/strenum/default.nix b/pkgs/development/python-modules/strenum/default.nix index b7d2661ce2c8..b3ae130af270 100644 --- a/pkgs/development/python-modules/strenum/default.nix +++ b/pkgs/development/python-modules/strenum/default.nix @@ -1,14 +1,16 @@ { lib , buildPythonPackage , fetchFromGitHub +, fetchpatch , pytestCheckHook , pythonOlder +, setuptools }: buildPythonPackage rec { pname = "strenum"; version = "0.4.15"; - format = "setuptools"; + pyproject = true; disabled = pythonOlder "3.7"; @@ -19,6 +21,15 @@ buildPythonPackage rec { hash = "sha256-LrDLIWiV/zIbl7CwKh7DAy4LoLyY7+hfUu8nqduclnA="; }; + patches = [ + # Replace SafeConfigParser and readfp, https://github.com/milanmeu/aioaseko/pull/6 + (fetchpatch { + name = "replace-safeconfigparser.patch"; + url = "https://github.com/irgeek/StrEnum/commit/896bef1b7e4a50c8b53d90c8d2fb5c0164f08ecd.patch"; + hash = "sha256-dmmEzhy17huclo1wOubpBUDc2L7vqEU5b/6a5loM47A="; + }) + ]; + postPatch = '' substituteInPlace setup.py \ --replace '"pytest-runner"' "" @@ -26,6 +37,10 @@ buildPythonPackage rec { --replace " --cov=strenum --cov-report term-missing --black --pylint" "" ''; + nativeBuildInputs = [ + setuptools + ]; + nativeCheckInputs = [ pytestCheckHook ]; @@ -35,7 +50,7 @@ buildPythonPackage rec { ]; meta = with lib; { - description = "MOdule for enum that inherits from str"; + description = "Module for enum that inherits from str"; homepage = "https://github.com/irgeek/StrEnum"; changelog = "https://github.com/irgeek/StrEnum/releases/tag/v${version}"; license = with licenses; [ mit ]; diff --git a/pkgs/development/python-modules/token-bucket/default.nix b/pkgs/development/python-modules/token-bucket/default.nix index 497d10d84fe8..0805ee9dea39 100644 --- a/pkgs/development/python-modules/token-bucket/default.nix +++ b/pkgs/development/python-modules/token-bucket/default.nix @@ -2,14 +2,16 @@ , stdenv , buildPythonPackage , fetchFromGitHub +, fetchpatch , pytestCheckHook , pythonOlder +, setuptools }: buildPythonPackage rec { pname = "token-bucket"; version = "0.3.0"; - format = "setuptools"; + pyproject = true; disabled = pythonOlder "3.7"; @@ -20,11 +22,24 @@ buildPythonPackage rec { hash = "sha256-dazqJRpC8FUHOhgKFzDnIl5CT2L74J2o2Hsm0IQf4Cg="; }; + patches = [ + # Replace imp with importlib, https://github.com/falconry/token-bucket/pull/24 + (fetchpatch { + name = "remove-imp.patch"; + url = "https://github.com/falconry/token-bucket/commit/10a3c9f4de00f4933349f66b4c72b6c96db6e766.patch"; + hash = "sha256-Hk5+i3xzeA3F1kXRaRarWT9mff2lT2WNmTfTZvYzGYI="; + }) + ]; + postPatch = '' substituteInPlace setup.py \ --replace "'pytest-runner'" "" ''; + nativeBuildInputs = [ + setuptools + ]; + nativeCheckInputs = [ pytestCheckHook ];