diff options
Diffstat (limited to 'pkgs/development/python-modules')
48 files changed, 1013 insertions, 117 deletions
diff --git a/pkgs/development/python-modules/archspec/default.nix b/pkgs/development/python-modules/archspec/default.nix index 85772c41cb2c3..5be16a16771f9 100644 --- a/pkgs/development/python-modules/archspec/default.nix +++ b/pkgs/development/python-modules/archspec/default.nix @@ -10,7 +10,7 @@ buildPythonPackage rec { pname = "archspec"; - version = "0.2.0"; + version = "0.2.1"; format = "pyproject"; disabled = pythonOlder "3.7"; @@ -20,7 +20,7 @@ buildPythonPackage rec { repo = pname; rev = "refs/tags/v${version}"; fetchSubmodules = true; - hash = "sha256-Zu7/zx3FTVJVGpAdRDdnLBokeodspZg6ou/GBaqz4XY="; + hash = "sha256-2rMsxSAnPIVqvsbAUtBbHLb3AvrZFjGzxYO6A/1qXnY="; }; nativeBuildInputs = [ @@ -43,7 +43,7 @@ buildPythonPackage rec { meta = with lib; { description = "Library for detecting, labeling, and reasoning about microarchitectures"; homepage = "https://archspec.readthedocs.io/"; - changelog = "https://github.com/archspec/archspec/releases/tag/v0.2.0"; + changelog = "https://github.com/archspec/archspec/releases/tag/v0.2.1"; license = with licenses; [ mit asl20 ]; maintainers = with maintainers; [ atila ]; }; diff --git a/pkgs/development/python-modules/atlassian-python-api/default.nix b/pkgs/development/python-modules/atlassian-python-api/default.nix index 1663830fa1f43..47d3741fa618f 100755 --- a/pkgs/development/python-modules/atlassian-python-api/default.nix +++ b/pkgs/development/python-modules/atlassian-python-api/default.nix @@ -12,7 +12,7 @@ buildPythonPackage rec { pname = "atlassian-python-api"; - version = "3.36.0"; + version = "3.37.0"; format = "setuptools"; disabled = pythonOlder "3.7"; @@ -21,7 +21,7 @@ buildPythonPackage rec { owner = "atlassian-api"; repo = pname; rev = "refs/tags/${version}"; - hash = "sha256-9xKGA9F3RLijjiEnb01QjmWA9CnN7FZGEEFEWZU4A+A="; + hash = "sha256-+lhDivbw30Oa3aB0TprRhBzv/c72IzNltFZA87LY2nM="; }; propagatedBuildInputs = [ diff --git a/pkgs/development/python-modules/boiboite-opener-framework/default.nix b/pkgs/development/python-modules/boiboite-opener-framework/default.nix new file mode 100644 index 0000000000000..e7a0b017f405f --- /dev/null +++ b/pkgs/development/python-modules/boiboite-opener-framework/default.nix @@ -0,0 +1,79 @@ +{ lib +, buildPythonPackage +, fetchFromGitHub +, packaging +, pytestCheckHook +, pythonOlder +, pythonRelaxDepsHook +, scapy +}: + +buildPythonPackage rec { + pname = "boiboite-opener-framework"; + version = "1.2.1"; + format = "setuptools"; + + disabled = pythonOlder "3.7"; + + src = fetchFromGitHub { + owner = "Orange-Cyberdefense"; + repo = "bof"; + rev = "refs/tags/${version}"; + hash = "sha256-atKqHRX24UjF/9Dy0aYXAN+80nBJKCd07FmaR5Vl1q4="; + }; + + postPatch = '' + substituteInPlace setup.py \ + --replace "scapy==2.5.0rc1" "scapy" + ''; + + propagatedBuildInputs = [ + packaging + scapy + ]; + + nativeCheckInputs = [ + pytestCheckHook + ]; + + pythonImportsCheck = [ + "bof" + ]; + + disabledTests = [ + # Tests are using netcat and cat to do UDP connections + "test_0101_knxnet_instantiate" + "test_0101_modbusnet_instantiate" + "test_0102_knxnet_connect" + "test_0102_modbusnet_connect" + "test_0201_knxnet_send_knxpacket" + "test_0201_modbus_send_modbuspacket" + "test_0201_udp_send_str_bytes" + "test_0202_knxnet_send_knxpacket" + "test_0202_modbus_send_modbuspacket" + "test_0202_udp_send_receive" + "test_0203_knxnet_send_raw" + "test_0203_modbus_send_raw" + "test_0203_send_receive_timeout" + "test_0204_knxnet_receive" + "test_0204_modbus_receive" + "test_0204_multicast_error_handling" + "test_0205_broadcast_error_handling" + "test_0301_pndcp_device_raise" + "test_0301_tcp_instantiate" + "test_0302_tcp_connect" + "test_0303_tcp_connect_bad_addr" + "test_0304_tcp_connect_bad_port" + "test_0401_tcp_send_str_bytes" + "test_0402_tcp_send_receive" + "test_0802_search_valid" + ]; + + meta = with lib; { + description = "Testing framework for industrial protocols implementations and devices"; + homepage = "https://github.com/Orange-Cyberdefense/bof"; + changelog = "https://github.com/Orange-Cyberdefense/bof/releases/tag/${version}"; + license = licenses.gpl3Only; + maintainers = with maintainers; [ fab ]; + }; +} diff --git a/pkgs/development/python-modules/bqplot/default.nix b/pkgs/development/python-modules/bqplot/default.nix new file mode 100644 index 0000000000000..967b0a15fcf64 --- /dev/null +++ b/pkgs/development/python-modules/bqplot/default.nix @@ -0,0 +1,53 @@ +{ lib +, buildPythonPackage +, pythonOlder +, fetchPypi +, jupyter-packaging +, bqscales +, ipywidgets +, numpy +, pandas +, traitlets +, traittypes +}: + +buildPythonPackage rec { + pname = "bqplot"; + version = "0.12.36"; + + format = "pyproject"; + disabled = pythonOlder "3.6"; + + src = fetchPypi { + inherit pname version; + hash = "sha256-alU+Vf28xPYuBWeb10slSdHvvkPhIK07C8sDplx5Ia8="; + }; + + nativeBuildInputs = [ + jupyter-packaging + ]; + + propagatedBuildInputs = [ + bqscales + ipywidgets + numpy + pandas + traitlets + traittypes + ]; + + # no tests in PyPI dist, and not obvious to me how to build the js files from GitHub + doCheck = false; + + pythonImportsCheck = [ + "bqplot" + "bqplot.pyplot" + ]; + + meta = { + description = "2D plotting library for Jupyter based on Grammar of Graphics"; + homepage = "https://bqplot.github.io/bqplot"; + license = lib.licenses.asl20; + maintainers = with lib.maintainers; [ bcdarwin ]; + }; +} diff --git a/pkgs/development/python-modules/bqscales/default.nix b/pkgs/development/python-modules/bqscales/default.nix new file mode 100644 index 0000000000000..3bd015a58f67a --- /dev/null +++ b/pkgs/development/python-modules/bqscales/default.nix @@ -0,0 +1,48 @@ +{ lib +, buildPythonPackage +, pythonOlder +, fetchPypi +, hatchling +, jupyter-packaging +, ipywidgets +, numpy +, traitlets +, traittypes +}: + +buildPythonPackage rec { + pname = "bqscales"; + version = "0.3.1"; + + format = "pyproject"; + disabled = pythonOlder "3.6"; + + src = fetchPypi { + inherit pname version; + hash = "sha256-C+/GLpqYpePngbn5W0MwvpdmVgFZF7aGHyKMgO5XM90="; + }; + + nativeBuildInputs = [ + hatchling + jupyter-packaging + ]; + + propagatedBuildInputs = [ + ipywidgets + numpy + traitlets + traittypes + ]; + + # no tests in PyPI dist + doCheck = false; + + pythonImportsCheck = [ "bqscales" ]; + + meta = { + description = "Grammar of Graphics scales for bqplot and other Jupyter widgets libraries"; + homepage = "https://github.com/bqplot/bqscales"; + license = lib.licenses.asl20; + maintainers = with lib.maintainers; [ bcdarwin ]; + }; +} diff --git a/pkgs/development/python-modules/bx-py-utils/default.nix b/pkgs/development/python-modules/bx-py-utils/default.nix index c2db1cd1108f5..f6a70a3adecf8 100644 --- a/pkgs/development/python-modules/bx-py-utils/default.nix +++ b/pkgs/development/python-modules/bx-py-utils/default.nix @@ -13,7 +13,7 @@ buildPythonPackage rec { pname = "bx-py-utils"; - version = "78"; + version = "80"; disabled = pythonOlder "3.9"; @@ -23,9 +23,13 @@ buildPythonPackage rec { owner = "boxine"; repo = "bx_py_utils"; rev = "refs/tags/v${version}"; - hash = "sha256-dMcbv/qf+8Qzu47MVFU2QUviT/vjKsHp+45F/6NOlWo="; + hash = "sha256-ih0tqT+3fTTgncXz4bneo4OGT0jVhybdADTy1de5VqI="; }; + postPatch = '' + rm bx_py_utils_tests/publish.py + ''; + nativeBuildInputs = [ poetry-core ]; diff --git a/pkgs/development/python-modules/captcha/default.nix b/pkgs/development/python-modules/captcha/default.nix new file mode 100644 index 0000000000000..d040c2e7bf760 --- /dev/null +++ b/pkgs/development/python-modules/captcha/default.nix @@ -0,0 +1,37 @@ +{ lib +, fetchFromGitHub +, buildPythonPackage +, nose +, pillow +, wheezy-captcha +}: + +buildPythonPackage rec { + pname = "captcha"; + version = "0.4"; + format = "setuptools"; + + src = fetchFromGitHub { + owner = "lepture"; + repo = pname; + rev = "v${version}"; + hash = "sha256-uxUjoACN65Cx5LMKpT+bZhKpf2JRSaEyysnYUgZntp8="; + }; + + propagatedBuildInputs = [ pillow ]; + + pythonImportsCheck = [ "captcha" ]; + + nativeCheckInputs = [ nose wheezy-captcha ]; + + checkPhase = '' + nosetests -s + ''; + + meta = with lib; { + description = "A captcha library that generates audio and image CAPTCHAs"; + homepage = "https://github.com/lepture/captcha"; + license = licenses.bsd3; + maintainers = with maintainers; [ Flakebi ]; + }; +} diff --git a/pkgs/development/python-modules/chiapos/default.nix b/pkgs/development/python-modules/chiapos/default.nix index ea7aa3b0ff549..501a8f543b2b5 100644 --- a/pkgs/development/python-modules/chiapos/default.nix +++ b/pkgs/development/python-modules/chiapos/default.nix @@ -43,6 +43,11 @@ buildPythonPackage rec { pytestCheckHook ]; + # A fix for cxxopts >=3.1 + postPatch = '' + substituteInPlace src/cli.cpp \ + --replace "cxxopts::OptionException" "cxxopts::exceptions::exception" + ''; # CMake needs to be run by setuptools rather than by its hook dontConfigure = true; diff --git a/pkgs/development/python-modules/dashing/default.nix b/pkgs/development/python-modules/dashing/default.nix new file mode 100644 index 0000000000000..e4c57679966a8 --- /dev/null +++ b/pkgs/development/python-modules/dashing/default.nix @@ -0,0 +1,27 @@ +{ lib +, python3 +}: + +python3.pkgs.buildPythonPackage rec { + pname = "dashing"; + version = "0.1.0"; + format = "setuptools"; + + disabled = python3.pythonOlder "3.7"; + + src = python3.pkgs.fetchPypi { + inherit pname version; + hash = "sha256-JRRgjg8pp3Xb0bERFWEhnOg9U8+kuqL+QQH6uE/Vbxs="; + }; + + propagatedBuildInputs = with python3.pkgs; [ + blessed + ]; + + meta = with lib; { + homepage = "https://github.com/FedericoCeratto/dashing"; + description = "Terminal dashboards for Python"; + license = licenses.gpl3; + maintainers = with maintainers; [ juliusrickert ]; + }; +} diff --git a/pkgs/development/python-modules/dsnap/default.nix b/pkgs/development/python-modules/dsnap/default.nix new file mode 100644 index 0000000000000..0525f4d861198 --- /dev/null +++ b/pkgs/development/python-modules/dsnap/default.nix @@ -0,0 +1,69 @@ +{ lib +, aws-sam-cli +, boto3 +, buildPythonPackage +, cfn-lint +, fetchFromGitHub +, mock +, moto +, mypy-boto3-ebs +, poetry-core +, pytestCheckHook +, pythonOlder +, typer +, urllib3 +}: + +buildPythonPackage rec { + pname = "dsnap"; + version = "1.0.0"; + format = "pyproject"; + + disabled = pythonOlder "3.7"; + + src = fetchFromGitHub { + owner = "RhinoSecurityLabs"; + repo = "dsnap"; + rev = "refs/tags/v${version}"; + hash = "sha256-yKch+tKjFhvZfzloazMH378dkERF8gnZEX1Som+d670="; + }; + + nativeBuildInputs = [ + poetry-core + ]; + + propagatedBuildInputs = [ + boto3 + urllib3 + ]; + + passthru.optional-dependencies = { + cli = [ + typer + ]; + scannerd = [ + aws-sam-cli + cfn-lint + ]; + }; + + nativeCheckInputs = [ + mock + moto + mypy-boto3-ebs + pytestCheckHook + ] ++ lib.flatten (builtins.attrValues passthru.optional-dependencies); + + pythonImportsCheck = [ + "dsnap" + ]; + + meta = with lib; { + description = "Utility for downloading and mounting EBS snapshots using the EBS Direct API's"; + homepage = "https://github.com/RhinoSecurityLabs/dsnap"; + changelog = "https://github.com/RhinoSecurityLabs/dsnap/releases/tag/v${version}"; + license = licenses.bsd3; + maintainers = with maintainers; [ fab ]; + }; +} + diff --git a/pkgs/development/python-modules/energyzero/default.nix b/pkgs/development/python-modules/energyzero/default.nix index 7b6150e46ecf9..21a14e2fff56b 100644 --- a/pkgs/development/python-modules/energyzero/default.nix +++ b/pkgs/development/python-modules/energyzero/default.nix @@ -13,7 +13,7 @@ buildPythonPackage rec { pname = "energyzero"; - version = "0.4.1"; + version = "0.4.2"; format = "pyproject"; disabled = pythonOlder "3.9"; @@ -22,7 +22,7 @@ buildPythonPackage rec { owner = "klaasnicolaas"; repo = "python-energyzero"; rev = "refs/tags/v${version}"; - hash = "sha256-qBtsNqmGLCUGTYJ8iPL/Ie3yGX7Ocs4e+yp0tRAhK8g="; + hash = "sha256-sqkpbvsMd/8y6QSrMZHJeHl9GTes8TUoZ7RKePJsREs="; }; postPatch = '' diff --git a/pkgs/development/python-modules/eth-hash/default.nix b/pkgs/development/python-modules/eth-hash/default.nix index f1b22597f2c32..aabd3b38f429e 100644 --- a/pkgs/development/python-modules/eth-hash/default.nix +++ b/pkgs/development/python-modules/eth-hash/default.nix @@ -1,6 +1,7 @@ { lib , fetchFromGitHub , buildPythonPackage +, pythonAtLeast , pythonOlder , pytest , safe-pysha3 @@ -22,10 +23,14 @@ buildPythonPackage rec { nativeCheckInputs = [ pytest ] ++ passthru.optional-dependencies.pycryptodome - ++ passthru.optional-dependencies.pysha3; + # eth-hash can use either safe-pysha3 or pycryptodome; + # safe-pysha3 requires Python 3.9+ while pycryptodome does not. + # https://github.com/ethereum/eth-hash/issues/46#issuecomment-1314029211 + ++ lib.optional (pythonAtLeast "3.9") passthru.optional-dependencies.pysha3; checkPhase = '' pytest tests/backends/pycryptodome/ + '' + lib.optionalString (pythonAtLeast "3.9") '' pytest tests/backends/pysha3/ ''; diff --git a/pkgs/development/python-modules/flask-session-captcha/default.nix b/pkgs/development/python-modules/flask-session-captcha/default.nix new file mode 100644 index 0000000000000..a720d2a4b555e --- /dev/null +++ b/pkgs/development/python-modules/flask-session-captcha/default.nix @@ -0,0 +1,38 @@ +{ lib +, fetchFromGitHub +, buildPythonPackage +, flask +, flask-sessionstore +, flask-sqlalchemy +, captcha +, pytestCheckHook +}: + +buildPythonPackage rec { + pname = "flask-session-captcha"; + version = "1.3.0"; + format = "setuptools"; + + src = fetchFromGitHub { + owner = "Tethik"; + repo = pname; + rev = "v${version}"; + hash = "sha256-V0f3mXCfqwH2l3OtJKOHGdrlKAFxs2ynqXvNve7Amkc="; + }; + + propagatedBuildInputs = [ flask flask-sessionstore captcha ]; + + pythonImportsCheck = [ "flask_session_captcha" ]; + + nativeCheckInputs = [ flask-sqlalchemy pytestCheckHook ]; + + # RuntimeError: Working outside of application context. + doCheck = false; + + meta = with lib; { + description = "A captcha implemention for flask"; + homepage = "https://github.com/Tethik/flask-session-captcha"; + license = licenses.mit; + maintainers = with maintainers; [ Flakebi ]; + }; +} diff --git a/pkgs/development/python-modules/flask-sessionstore/default.nix b/pkgs/development/python-modules/flask-sessionstore/default.nix new file mode 100644 index 0000000000000..12f3ff51b425c --- /dev/null +++ b/pkgs/development/python-modules/flask-sessionstore/default.nix @@ -0,0 +1,35 @@ +{ lib +, fetchPypi +, buildPythonPackage +, flask +, nose +}: + +buildPythonPackage rec { + pname = "flask-sessionstore"; + version = "0.4.5"; + format = "setuptools"; + + src = fetchPypi { + pname = "Flask-Sessionstore"; + inherit version; + hash = "sha256-AQ3jWrnw2UI8L3nFEx4AhDwGP4R8Tr7iBMsDS5jLQPQ="; + }; + + propagatedBuildInputs = [ flask ]; + + pythonImportsCheck = [ "flask_sessionstore" ]; + + nativeCheckInputs = [ nose ]; + + checkPhase = '' + nosetests -s + ''; + + meta = with lib; { + description = "Session Storage Backends for Flask"; + homepage = "https://github.com/mcrowson/flask-sessionstore"; + license = licenses.bsd3; + maintainers = with maintainers; [ Flakebi ]; + }; +} diff --git a/pkgs/development/python-modules/gitignore-parser/default.nix b/pkgs/development/python-modules/gitignore-parser/default.nix new file mode 100644 index 0000000000000..f9758e38c2d79 --- /dev/null +++ b/pkgs/development/python-modules/gitignore-parser/default.nix @@ -0,0 +1,37 @@ +{ lib +, buildPythonPackage +, fetchFromGitHub +, pythonOlder +, unittestCheckHook +}: + +buildPythonPackage rec { + pname = "gitignore-parser"; + version = "0.1.2"; + format = "setuptools"; + + disabled = pythonOlder "3.7"; + + src = fetchFromGitHub { + owner = "mherrmann"; + repo = "gitignore_parser"; + rev = "refs/tags/v${version}"; + hash = "sha256-F1ZQQ33naOO7KNuSdlo0JN8i50lLty+eGSJAzVJL730="; + }; + + nativeCheckInputs = [ + unittestCheckHook + ]; + + pythonImportsCheck = [ + "gitignore_parser" + ]; + + meta = with lib; { + description = "A spec-compliant gitignore parser"; + homepage = "https://github.com/mherrmann/gitignore_parser"; + changelog = "https://github.com/mherrmann/gitignore_parser/releases/tag/v${version}"; + license = licenses.mit; + maintainers = with maintainers; [ fab ]; + }; +} diff --git a/pkgs/development/python-modules/google-cloud-bigtable/default.nix b/pkgs/development/python-modules/google-cloud-bigtable/default.nix index 660dd96cfe8ae..69be7cdf735b7 100644 --- a/pkgs/development/python-modules/google-cloud-bigtable/default.nix +++ b/pkgs/development/python-modules/google-cloud-bigtable/default.nix @@ -15,14 +15,14 @@ buildPythonPackage rec { pname = "google-cloud-bigtable"; - version = "2.17.0"; + version = "2.18.1"; format = "setuptools"; disabled = pythonOlder "3.7"; src = fetchPypi { inherit pname version; - hash = "sha256-wysLs0seCRDadYj9aRowebq6+kMi7RZp/DITC4lqsVY="; + hash = "sha256-Qdb3AnwHS2nho3ld0oehVkORAy+F3xzEqHuSJQb18OI="; }; propagatedBuildInputs = [ diff --git a/pkgs/development/python-modules/httpie/default.nix b/pkgs/development/python-modules/httpie/default.nix index b226ee1690cd1..04add67c8c848 100644 --- a/pkgs/development/python-modules/httpie/default.nix +++ b/pkgs/development/python-modules/httpie/default.nix @@ -26,14 +26,14 @@ buildPythonPackage rec { pname = "httpie"; - version = "3.2.1"; + version = "3.2.2"; format = "setuptools"; src = fetchFromGitHub { owner = "httpie"; repo = "httpie"; rev = version; - hash = "sha256-WEe8zSlNckl7bPBi6u8mHQ1/xPw3kE81F8Xr15TchgM="; + hash = "sha256-hPsjEpvT6tnPm68AUB2Tv3Gon4DfSzO2VYCGqP8ozSI="; }; nativeBuildInputs = [ diff --git a/pkgs/development/python-modules/ipyxact/default.nix b/pkgs/development/python-modules/ipyxact/default.nix new file mode 100644 index 0000000000000..7ddaf432d1284 --- /dev/null +++ b/pkgs/development/python-modules/ipyxact/default.nix @@ -0,0 +1,31 @@ +{ buildPythonPackage +, fetchFromGitHub +, lib +, pyyaml +, six +, lxml +}: + +buildPythonPackage rec { + pname = "ipyxact"; + version = "0.3.2"; + + propagatedBuildInputs = [ pyyaml ]; + checkInputs = [ six lxml ]; + + src = fetchFromGitHub { + owner = "olofk"; + repo = pname; + rev = "v${version}"; + hash = "sha256-myD+NnqcxxaSAV7qZa8xqeciaiFqFePqIzd7sb/2GXA="; + }; + + pythonImportsCheck = [ "ipyxact" ]; + + meta = with lib; { + homepage = "https://github.com/olofk/ipyxact"; + description = "IP-XACT parser"; + maintainers = with maintainers; [ genericnerdyusername ]; + license = licenses.mit; + }; +} diff --git a/pkgs/development/python-modules/manifest-ml/default.nix b/pkgs/development/python-modules/manifest-ml/default.nix index e0f908b3fd4f9..e93b18c46c9df 100644 --- a/pkgs/development/python-modules/manifest-ml/default.nix +++ b/pkgs/development/python-modules/manifest-ml/default.nix @@ -27,7 +27,7 @@ buildPythonPackage rec { pname = "manifest-ml"; - version = "0.1.5"; + version = "0.1.7"; format = "setuptools"; disalbed = pythonOlder "3.8"; @@ -36,7 +36,7 @@ buildPythonPackage rec { owner = "HazyResearch"; repo = "manifest"; rev = "refs/tags/v${version}"; - hash = "sha256-WKibIJv4eJ0IOCRgTl02Zusf0XNTPLBIyme6HMANr8I="; + hash = "sha256-wrslrzMAPBVAlb4ieB+DcLfWjZdlaUBnGXbzcMhlf34="; }; propagatedBuildInputs = [ diff --git a/pkgs/development/python-modules/matplotlib/default.nix b/pkgs/development/python-modules/matplotlib/default.nix index 1fd70739b4c80..4df554f891604 100644 --- a/pkgs/development/python-modules/matplotlib/default.nix +++ b/pkgs/development/python-modules/matplotlib/default.nix @@ -80,7 +80,7 @@ buildPythonPackage rec { pname = "matplotlib"; format = "pyproject"; - disabled = pythonOlder "3.9"; + disabled = pythonOlder "3.8"; src = fetchPypi { inherit pname version; diff --git a/pkgs/development/python-modules/mypy-boto3-ebs/default.nix b/pkgs/development/python-modules/mypy-boto3-ebs/default.nix new file mode 100644 index 0000000000000..228ceab3134d7 --- /dev/null +++ b/pkgs/development/python-modules/mypy-boto3-ebs/default.nix @@ -0,0 +1,39 @@ +{ lib +, boto3 +, buildPythonPackage +, fetchPypi +, pythonOlder +, typing-extensions +}: + +buildPythonPackage rec { + pname = "mypy-boto3-ebs"; + version = "1.26.0"; + format = "setuptools"; + + disabled = pythonOlder "3.7"; + + src = fetchPypi { + inherit pname version; + hash = "sha256-w15SM5F1IFtX4qDrMv5B7PItaTnXOOABg0aUU24onBk="; + }; + + propagatedBuildInputs = [ + boto3 + typing-extensions + ]; + + # Project has no tests + doCheck = false; + + pythonImportsCheck = [ + "mypy_boto3_ebs" + ]; + + meta = with lib; { + description = "Type annotations for boto3.s3"; + homepage = "https://github.com/youtype/mypy_boto3_builder"; + license = with licenses; [ mit ]; + maintainers = with maintainers; [ fab ]; + }; +} diff --git a/pkgs/development/python-modules/nvidia-ml-py/default.nix b/pkgs/development/python-modules/nvidia-ml-py/default.nix index a7309398def44..218b623307115 100644 --- a/pkgs/development/python-modules/nvidia-ml-py/default.nix +++ b/pkgs/development/python-modules/nvidia-ml-py/default.nix @@ -5,13 +5,13 @@ buildPythonPackage rec { pname = "nvidia-ml-py"; - version = "11.525.84"; + version = "11.525.112"; format = "setuptools"; src = fetchPypi { inherit pname version; extension = "tar.gz"; - hash = "sha256-WckO3WyKdkWL3JVFrLDc+Iv4igrYi2A3v8wFZDqkvVU="; + hash = "sha256-xk5HOVO2XsDMx2zzYBwxMKCsgGC7yuqRLMAPqOTJho0="; }; patches = [ diff --git a/pkgs/development/python-modules/okonomiyaki/default.nix b/pkgs/development/python-modules/okonomiyaki/default.nix new file mode 100644 index 0000000000000..f1699e2096662 --- /dev/null +++ b/pkgs/development/python-modules/okonomiyaki/default.nix @@ -0,0 +1,47 @@ +{ buildPythonPackage +, stdenv +, fetchFromGitHub +, lib +, attrs +, distro +, jsonschema +, six +, zipfile2 +, hypothesis +, mock +, packaging +, testfixtures +}: + +buildPythonPackage rec { + pname = "okonomiyaki"; + version = "1.3.2"; + + src = fetchFromGitHub { + owner = "enthought"; + repo = pname; + rev = version; + hash = "sha256-eWCOuGtdjBGThAyu15aerclkSWC593VGDPHJ98l30iY="; + }; + + propagatedBuildInputs = [ distro attrs jsonschema six zipfile2 ]; + + preCheck = '' + substituteInPlace okonomiyaki/runtimes/tests/test_runtime.py \ + --replace 'runtime_info = PythonRuntime.from_running_python()' 'raise unittest.SkipTest() #' + '' + lib.optionalString stdenv.isDarwin '' + substituteInPlace okonomiyaki/platforms/tests/test_pep425.py \ + --replace 'self.assertEqual(platform_tag, self.tag.platform)' 'raise unittest.SkipTest()' + ''; + + checkInputs = [ hypothesis mock packaging testfixtures ]; + + pythonImportsCheck = [ "okonomiyaki" ]; + + meta = with lib; { + homepage = "https://github.com/enthought/okonomiyaki"; + description = "An experimental library aimed at consolidating a lot of low-level code used for Enthought's eggs"; + maintainers = with maintainers; [ genericnerdyusername ]; + license = licenses.bsd3; + }; +} diff --git a/pkgs/development/python-modules/pwntools/default.nix b/pkgs/development/python-modules/pwntools/default.nix index 42cd7035cb747..8e3df0360de5b 100644 --- a/pkgs/development/python-modules/pwntools/default.nix +++ b/pkgs/development/python-modules/pwntools/default.nix @@ -28,20 +28,15 @@ let debuggerName = lib.strings.getName debugger; in buildPythonPackage rec { - version = "4.9.0"; pname = "pwntools"; + version = "4.10.0"; src = fetchPypi { inherit pname version; - hash = "sha256-7qZ9GC+RcEiDkpmNmy8d67dYiTgFBVAfB3B2RfrH5xI="; + hash = "sha256-WI6J6meFJ8C1tsru7n524xNS544vHPPdp7yaz1JuRG0="; }; postPatch = '' - # Upstream has set an upper bound on unicorn because of https://github.com/Gallopsled/pwntools/issues/1538, - # but since that is a niche use case and it requires extra work to get unicorn 1.0.2rc3 to work we relax - # the bound here. Check if this is still necessary when updating! - sed -i 's/unicorn>=1.0.2rc1,<1.0.2rc4/unicorn>=1.0.2rc1/' setup.py - # Upstream hardcoded the check for the command `gdb-multiarch`; # Forcefully use the provided debugger, as `gdb` (hence `pwndbg`) is built with multiarch in `nixpkgs`. sed -i 's/gdb-multiarch/${debuggerName}/' pwnlib/gdb.py @@ -84,8 +79,9 @@ buildPythonPackage rec { ''; meta = with lib; { - homepage = "https://pwntools.com"; description = "CTF framework and exploit development library"; + homepage = "https://pwntools.com"; + changelog = "https://github.com/Gallopsled/pwntools/releases/tag/${version}"; license = licenses.mit; maintainers = with maintainers; [ bennofs kristoff3r pamplemousse ]; }; diff --git a/pkgs/development/python-modules/py-pdf-parser/default.nix b/pkgs/development/python-modules/py-pdf-parser/default.nix new file mode 100644 index 0000000000000..b5d9ef6806c38 --- /dev/null +++ b/pkgs/development/python-modules/py-pdf-parser/default.nix @@ -0,0 +1,56 @@ +{ lib +, buildPythonPackage +, docopt +, fetchPypi +, pdfminer-six +, pythonOlder +, pythonRelaxDepsHook +, setuptools +, wand +}: + +buildPythonPackage rec { + pname = "py-pdf-parser"; + version = "0.10.2"; + format = "pyproject"; + + disabled = pythonOlder "3.7"; + + src = fetchPypi { + inherit pname version; + hash = "sha256-F12uDAjG9P3eVyaXqVSHNFrEGnOzLlJERDwOiWSq1ZY="; + }; + + nativeBuildInputs = [ + setuptools + pythonRelaxDepsHook + ]; + + propagatedBuildInputs = [ + docopt + pdfminer-six + wand + ]; + + pythonRelaxDeps = [ + "docopt" + "pdfminer.six" + "wand" + ]; + + # needs pyvoronoi, which isn't packaged yet + doCheck = false; + + pythonImportsCheck = [ + "py_pdf_parser" + "py_pdf_parser.loaders" + ]; + + meta = with lib; { + description = "A tool to help extracting information from structured PDFs"; + homepage = "https://github.com/jstockwin/py-pdf-parser"; + changelog = "https://github.com/jstockwin/py-pdf-parser/blob/v${version}/CHANGELOG.md"; + license = licenses.mit; + maintainers = [ maintainers.marsam ]; + }; +} diff --git a/pkgs/development/python-modules/pyTelegramBotAPI/default.nix b/pkgs/development/python-modules/pyTelegramBotAPI/default.nix index 95e892d215123..6d9ea5ddf2edc 100644 --- a/pkgs/development/python-modules/pyTelegramBotAPI/default.nix +++ b/pkgs/development/python-modules/pyTelegramBotAPI/default.nix @@ -18,7 +18,7 @@ buildPythonPackage rec { pname = "pytelegrambotapi"; - version = "4.11.0"; + version = "4.12.0"; format = "setuptools"; disabled = pythonOlder "3.7"; @@ -27,7 +27,7 @@ buildPythonPackage rec { owner = "eternnoir"; repo = "pyTelegramBotAPI"; rev = "refs/tags/${version}"; - hash = "sha256-K81B8cNQ5Vvu8nH8kiroeffwRaUIKpwnpX2Jq7xPjB0="; + hash = "sha256-cW9IQy4D2iaoQ6oHQ07f27YQR7q9DBv2JkoukUtPBRQ="; }; passthru.optional-dependencies = { diff --git a/pkgs/development/python-modules/pygame_sdl2/default.nix b/pkgs/development/python-modules/pygame_sdl2/default.nix index 444fe10dfea3f..318683f048159 100644 --- a/pkgs/development/python-modules/pygame_sdl2/default.nix +++ b/pkgs/development/python-modules/pygame_sdl2/default.nix @@ -9,7 +9,7 @@ buildPythonPackage rec { src = fetchurl { url = "https://www.renpy.org/dl/${renpy_version}/pygame_sdl2-${version}-for-renpy-${renpy_version}.tar.gz"; - hash = "sha256-BpETor1dz8qdMM8iYijlthnsrPF0FS8b1FDvuXxFB9s="; + hash = "sha256-smJsOVavMvy0aO3C5PC050LlOy5bsG45uWSMbbFMQ+I="; }; # force rebuild of headers needed for install diff --git a/pkgs/development/python-modules/pyglet/default.nix b/pkgs/development/python-modules/pyglet/default.nix index 2c7ba46d0aba2..29d3bab48ab19 100644 --- a/pkgs/development/python-modules/pyglet/default.nix +++ b/pkgs/development/python-modules/pyglet/default.nix @@ -18,13 +18,13 @@ }: buildPythonPackage rec { - version = "2.0.6"; + version = "2.0.7"; pname = "pyglet"; disabled = pythonOlder "3.6"; src = fetchPypi { inherit pname version; - hash = "sha256-b5PyvebfgYCH4bXZEDMIbLL7aJwSILYyxG0fxKZoWgA="; + hash = "sha256-koL5SXwcDNyyzDnYwFCQz2ht7bnrvvSo3kmvIqCuDo8="; extension = "zip"; }; diff --git a/pkgs/development/python-modules/pysimplegui/default.nix b/pkgs/development/python-modules/pysimplegui/default.nix index 827c3ececf5e8..c5c71810a9382 100644 --- a/pkgs/development/python-modules/pysimplegui/default.nix +++ b/pkgs/development/python-modules/pysimplegui/default.nix @@ -7,7 +7,7 @@ buildPythonPackage rec { pname = "pysimplegui"; - version = "4.60.4"; + version = "4.60.5"; format = "setuptools"; disabled = pythonOlder "3.6"; @@ -15,7 +15,7 @@ buildPythonPackage rec { src = fetchPypi { pname = "PySimpleGUI"; inherit version; - hash = "sha256-+IyCwwGlGuo1vmBdwGC8zrDctmguFigFRIhHAatLI7o="; + hash = "sha256-MQFNHMXu8Tc9fpNWT/JgRmJkXMd0qTmx8BqiU+f514s="; }; propagatedBuildInputs = [ diff --git a/pkgs/development/python-modules/python-libnmap/default.nix b/pkgs/development/python-modules/python-libnmap/default.nix new file mode 100644 index 0000000000000..a6acf665ee855 --- /dev/null +++ b/pkgs/development/python-modules/python-libnmap/default.nix @@ -0,0 +1,43 @@ +{ lib +, buildPythonPackage +, defusedxml +, fetchFromGitHub +, pytestCheckHook +, pythonOlder +}: + +buildPythonPackage rec { + pname = "python-libnmap"; + version = "0.7.3"; + format = "setuptools"; + + disabled = pythonOlder "3.7"; + + src = fetchFromGitHub { + owner = "savon-noir"; + repo = "python-libnmap"; + rev = "refs/tags/v${version}"; + hash = "sha256-cI8wdOvTmRy2cxLBkJn7vXRBRvewDMNl/tkIiRGhZJ8="; + }; + + passthru.optional-dependencies = { + defusedxml = [ + defusedxml + ]; + }; + + # We don't want the nmap binary being present + doCheck = false; + + pythonImportsCheck = [ + "libnmap" + ]; + + meta = with lib; { + description = "Library to run nmap scans, parse and diff scan results"; + homepage = "https://github.com/savon-noir/python-libnmap"; + changelog = "https://github.com/savon-noir/python-libnmap/blob/${version}/CHANGELOG.md"; + license = licenses.asl20; + maintainers = with maintainers; [ fab ]; + }; +} diff --git a/pkgs/development/python-modules/python-mystrom/default.nix b/pkgs/development/python-modules/python-mystrom/default.nix index e269ccc121da0..16b634999c894 100644 --- a/pkgs/development/python-modules/python-mystrom/default.nix +++ b/pkgs/development/python-modules/python-mystrom/default.nix @@ -9,11 +9,11 @@ buildPythonPackage rec { pname = "python-mystrom"; - version = "2.1.0"; + version = "2.2.0"; src = fetchPypi { inherit pname version; - hash = "sha256-Kqv5rUdwkynOzssID77gVYyzs0CDR/bUWh6zpt5zOP8="; + hash = "sha256-VFsTA/isBw0H7qXQhOX6K2p1QcVxO7q5TIzf8YivVgc="; }; propagatedBuildInputs = [ diff --git a/pkgs/development/python-modules/qtile-extras/default.nix b/pkgs/development/python-modules/qtile-extras/default.nix index 3ba8f9487d58f..44e6a2dcc906c 100644 --- a/pkgs/development/python-modules/qtile-extras/default.nix +++ b/pkgs/development/python-modules/qtile-extras/default.nix @@ -6,7 +6,7 @@ , xorgserver , pulseaudio , pytest-asyncio -, qtile-unwrapped +, qtile , keyring , requests , stravalib @@ -34,7 +34,7 @@ buildPythonPackage rec { ]; checkInputs = [ pytest-asyncio - qtile-unwrapped + qtile pulseaudio keyring requests diff --git a/pkgs/development/python-modules/qtile/default.nix b/pkgs/development/python-modules/qtile/default.nix new file mode 100644 index 0000000000000..bf3f59dcb3bbd --- /dev/null +++ b/pkgs/development/python-modules/qtile/default.nix @@ -0,0 +1,99 @@ +{ lib +, buildPythonPackage +, fetchFromGitHub +, cairocffi +, dbus-next +, dbus-python +, glib +, libinput +, libxkbcommon +, mpd2 +, mypy +, pango +, pkg-config +, psutil +, pulseaudio +, pygobject3 +, python-dateutil +, pywayland +, pywlroots +, pyxdg +, setuptools +, setuptools-scm +, wayland +, wlroots +, xcbutilcursor +, xcffib +, xkbcommon +}: + +buildPythonPackage rec { + pname = "qtile"; + version = "0.22.1"; + + src = fetchFromGitHub { + owner = "qtile"; + repo = "qtile"; + rev = "v${version}"; + hash = "sha256-HOyExVKOqZ4OeNM1/AiXQeiUV+EbSJLEjWEibm07ff8="; + }; + + patches = [ + ./fix-restart.patch # https://github.com/NixOS/nixpkgs/issues/139568 + ]; + + postPatch = '' + substituteInPlace libqtile/pangocffi.py \ + --replace libgobject-2.0.so.0 ${glib.out}/lib/libgobject-2.0.so.0 \ + --replace libpangocairo-1.0.so.0 ${pango.out}/lib/libpangocairo-1.0.so.0 \ + --replace libpango-1.0.so.0 ${pango.out}/lib/libpango-1.0.so.0 + substituteInPlace libqtile/backend/x11/xcursors.py \ + --replace libxcb-cursor.so.0 ${xcbutilcursor.out}/lib/libxcb-cursor.so.0 + ''; + + SETUPTOOLS_SCM_PRETEND_VERSION = version; + + nativeBuildInputs = [ + pkg-config + setuptools-scm + setuptools + ]; + + propagatedBuildInputs = [ + xcffib + (cairocffi.override { withXcffib = true; }) + python-dateutil + dbus-python + dbus-next + mpd2 + psutil + pyxdg + pygobject3 + pywayland + pywlroots + xkbcommon + pulseaudio + ]; + + buildInputs = [ + libinput + wayland + wlroots + libxkbcommon + ]; + + # for `qtile check`, needs `stubtest` and `mypy` commands + makeWrapperArgs = [ + "--suffix PATH : ${lib.makeBinPath [ mypy ]}" + ]; + + doCheck = false; # Requires X server #TODO this can be worked out with the existing NixOS testing infrastructure. + + meta = with lib; { + homepage = "http://www.qtile.org/"; + license = licenses.mit; + description = "A small, flexible, scriptable tiling window manager written in Python"; + platforms = platforms.linux; + maintainers = with maintainers; [ kamilchm arjan-s ]; + }; +} diff --git a/pkgs/development/python-modules/qtile/fix-restart.patch b/pkgs/development/python-modules/qtile/fix-restart.patch new file mode 100644 index 0000000000000..eca4f0866342f --- /dev/null +++ b/pkgs/development/python-modules/qtile/fix-restart.patch @@ -0,0 +1,22 @@ +diff --git a/libqtile/core/lifecycle.py b/libqtile/core/lifecycle.py +index 0d4d119d..c37d1799 100644 +--- a/libqtile/core/lifecycle.py ++++ b/libqtile/core/lifecycle.py +@@ -25,7 +25,7 @@ class LifeCycle: + + def _atexit(self) -> None: + if self.behavior is Behavior.RESTART: +- argv = [sys.executable] + sys.argv ++ argv = sys.argv + if "--no-spawn" not in argv: + argv.append("--no-spawn") + argv = [s for s in argv if not s.startswith("--with-state")] +@@ -33,7 +33,7 @@ class LifeCycle: + argv.append("--with-state=" + self.state_file) + logger.warning("Restarting Qtile with os.execv(...)") + # No other code will execute after the following line does +- os.execv(sys.executable, argv) ++ os.execv(sys.argv[0], argv) + elif self.behavior is Behavior.TERMINATE: + logger.warning("Qtile will now terminate") + elif self.behavior is Behavior.NONE: diff --git a/pkgs/development/python-modules/qtile/wrapper.nix b/pkgs/development/python-modules/qtile/wrapper.nix new file mode 100644 index 0000000000000..b4f6e4c2e23b2 --- /dev/null +++ b/pkgs/development/python-modules/qtile/wrapper.nix @@ -0,0 +1,8 @@ +{ python3 }: + +(python3.withPackages (_: [ python3.pkgs.qtile ])).overrideAttrs (_: { + # restore some qtile attrs, beautify name + inherit (python3.pkgs.qtile) pname version meta; + name = with python3.pkgs.qtile; "${pname}-${version}"; + passthru.unwrapped = python3.pkgs.qtile; +}) diff --git a/pkgs/development/python-modules/rdkit/default.nix b/pkgs/development/python-modules/rdkit/default.nix index 07c18b5463a86..470cc1e22e8c4 100644 --- a/pkgs/development/python-modules/rdkit/default.nix +++ b/pkgs/development/python-modules/rdkit/default.nix @@ -1,4 +1,5 @@ { lib +, stdenv , buildPythonPackage , fetchFromGitHub , cmake @@ -15,6 +16,7 @@ , numpy , pandas , pillow +, memorymappingHook }: let external = { @@ -82,6 +84,8 @@ buildPythonPackage rec { buildInputs = [ boost cairo + ] ++ lib.optionals (stdenv.system == "x86_64-darwin") [ + memorymappingHook ]; propagatedBuildInputs = [ @@ -149,7 +153,7 @@ buildPythonPackage rec { meta = with lib; { description = "Open source toolkit for cheminformatics"; - maintainers = [ maintainers.rmcgibbo ]; + maintainers = with maintainers; [ rmcgibbo natsukium ]; license = licenses.bsd3; homepage = "https://www.rdkit.org"; }; diff --git a/pkgs/development/python-modules/scancode-toolkit/default.nix b/pkgs/development/python-modules/scancode-toolkit/default.nix index 4dc74dcbf6a13..bc25094c3d7f6 100644 --- a/pkgs/development/python-modules/scancode-toolkit/default.nix +++ b/pkgs/development/python-modules/scancode-toolkit/default.nix @@ -61,13 +61,13 @@ buildPythonPackage rec { pname = "scancode-toolkit"; - version = "31.2.4"; + version = "31.2.6"; disabled = pythonOlder "3.6"; src = fetchPypi { inherit pname version; - hash = "sha256-08C3T4CoQm/6s8ERbq/m1t513zYuzVJoexlRkCvv3UY="; + hash = "sha256-VvhgXZpV58DHeY5+7nPbrbTTVuHkawFw5akbm4hPnBY="; }; dontConfigure = true; @@ -169,7 +169,8 @@ buildPythonPackage rec { meta = with lib; { description = "Tool to scan code for license, copyright, package and their documented dependencies and other interesting facts"; homepage = "https://github.com/nexB/scancode-toolkit"; + changelog = "https://github.com/nexB/scancode-toolkit/blob/v${version}/CHANGELOG.rst"; license = with licenses; [ asl20 cc-by-40 ]; - maintainers = [ ]; + maintainers = with maintainers; [ ]; }; } diff --git a/pkgs/development/python-modules/scikit-fmm/default.nix b/pkgs/development/python-modules/scikit-fmm/default.nix index ba507803fa848..2915e68767e90 100644 --- a/pkgs/development/python-modules/scikit-fmm/default.nix +++ b/pkgs/development/python-modules/scikit-fmm/default.nix @@ -7,11 +7,11 @@ buildPythonPackage rec { pname = "scikit-fmm"; - version = "2022.8.15"; + version = "2023.4.2"; src = fetchPypi { inherit pname version; - hash = "sha256-BgDmxoB1QzZ/DlqIB0m66Km+fbAo5RcpjmX0BZ9985w="; + hash = "sha256-14ccR/ggdyq6kvJWUe8U5NJ96M45PArjwCqzxuJCPAs="; }; propagatedBuildInputs = [ diff --git a/pkgs/development/python-modules/simplesat/default.nix b/pkgs/development/python-modules/simplesat/default.nix new file mode 100644 index 0000000000000..406283fc8b09d --- /dev/null +++ b/pkgs/development/python-modules/simplesat/default.nix @@ -0,0 +1,48 @@ +{ buildPythonPackage +, fetchFromGitHub +, writeText +, lib +, attrs +, six +, okonomiyaki +}: + +let + version = "0.8.2"; + + versionFile = writeText "simplesat_ver" '' + version = '${version}' + full_version = '${version}' + git_revision = '0000000000000000000000000000000000000000' + is_released = True + msi_version = '${version}.000' + version_info = (${lib.versions.major version}, ${lib.versions.minor version}, ${lib.versions.patch version}, 'final', 0) + ''; + +in buildPythonPackage rec { + pname = "simplesat"; + inherit version; + + propagatedBuildInputs = [ attrs six okonomiyaki ]; + + src = fetchFromGitHub { + owner = "enthought"; + repo = "sat-solver"; + rev = "v${version}"; + hash = "sha256-6BQn1W2JGrMmNqgxi+sXx06XzNMcvwqYGMkpD0SSpT8="; + }; + + preConfigure = '' + cp ${versionFile} simplesat/_version.py + ''; + dontUseSetuptoolsCheck = true; + + pythonImportsCheck = [ "simplesat" ]; + + meta = with lib; { + homepage = "https://github.com/enthought/sat-solver"; + description = "Prototype for SAT-based dependency handling"; + maintainers = with maintainers; [ genericnerdyusername ]; + license = licenses.bsd3; + }; +} diff --git a/pkgs/development/python-modules/single-source/default.nix b/pkgs/development/python-modules/single-source/default.nix new file mode 100644 index 0000000000000..3bf2ff810d507 --- /dev/null +++ b/pkgs/development/python-modules/single-source/default.nix @@ -0,0 +1,49 @@ +{ lib +, buildPythonPackage +, fetchFromGitHub +, importlib-metadata +, poetry-core +, pytest-mock +, pytestCheckHook +, pythonOlder +}: + +buildPythonPackage rec { + pname = "single-source"; + version = "0.3.0"; + format = "pyproject"; + + disabled = pythonOlder "3.7"; + + src = fetchFromGitHub { + owner = "rabbit72"; + repo = "single-source"; + rev = "refs/tags/v${version}"; + hash = "sha256-bhfMRIeJUd5JhN2tPww7fdbmHQ7ypcsZrYSa55v0+W8="; + }; + + nativeBuildInputs = [ + poetry-core + ]; + + propagatedBuildInputs = [ + importlib-metadata + ]; + + nativeCheckInputs = [ + pytest-mock + pytestCheckHook + ]; + + pythonImportsCheck = [ + "single_source" + ]; + + meta = with lib; { + description = "Access to the project version in Python code for PEP 621-style projects"; + homepage = "https://github.com/rabbit72/single-source"; + changelog = "https://github.com/rabbit72/single-source/releases/tag/v${version}"; + license = licenses.mit; + maintainers = with maintainers; [ ]; + }; +} diff --git a/pkgs/development/python-modules/trimesh/default.nix b/pkgs/development/python-modules/trimesh/default.nix index 8eb1af7c01ed9..0dcaaa4cbef7f 100644 --- a/pkgs/development/python-modules/trimesh/default.nix +++ b/pkgs/development/python-modules/trimesh/default.nix @@ -8,12 +8,12 @@ buildPythonPackage rec { pname = "trimesh"; - version = "3.21.6"; + version = "3.21.7"; format = "pyproject"; src = fetchPypi { inherit pname version; - hash = "sha256-+gFqZAbGLoNDdOmbxElKwb0QY7BJfOUZVD7888T6eU8="; + hash = "sha256-wtGt3PUCUiSIiQRA3NxO1nPE35XQDipWfrwSKdDBhtE="; }; nativeBuildInputs = [ setuptools ]; diff --git a/pkgs/development/python-modules/wheezy-captcha/default.nix b/pkgs/development/python-modules/wheezy-captcha/default.nix new file mode 100644 index 0000000000000..4006bedf14e1f --- /dev/null +++ b/pkgs/development/python-modules/wheezy-captcha/default.nix @@ -0,0 +1,27 @@ +{ lib +, buildPythonPackage +, fetchPypi +, pillow +}: + +buildPythonPackage rec { + pname = "wheezy.captcha"; + version = "3.0.2"; + format = "setuptools"; + + src = fetchPypi { + inherit pname version; + hash = "sha256-PdtOhoVOopQsX2raPqh0P8meM8/MysgKsIe27HNtl3s="; + }; + + propagatedBuildInputs = [ pillow ]; + + pythonImportsCheck = [ "wheezy.captcha" ]; + + meta = with lib; { + homepage = "https://wheezycaptcha.readthedocs.io/en/latest/"; + description = "A lightweight CAPTCHA library"; + license = licenses.mit; + maintainers = with maintainers; [ Flakebi ]; + }; +} diff --git a/pkgs/development/python-modules/word2vec/default.nix b/pkgs/development/python-modules/word2vec/default.nix deleted file mode 100644 index 58d513adcc47a..0000000000000 --- a/pkgs/development/python-modules/word2vec/default.nix +++ /dev/null @@ -1,55 +0,0 @@ -{ stdenv -, lib -, buildPythonPackage -, fetchPypi -, fetchzip -, cython -, numpy -, scikit-learn -, six -, setuptools-scm -, gcc -, pytest -, pytest-cov -, isPy27 -}: -let - testData = fetchzip { - url = "http://mattmahoney.net/dc/text8.zip"; - sha256 = "0w3l64bww9znmmvd9cqbfmh3dddnlrjicz43y5qq6fhi9cfqjfar"; - }; -in -buildPythonPackage rec { - pname = "word2vec"; - version = "0.11.1"; - disabled = isPy27; - - src = fetchPypi { - inherit pname version; - sha256 = "222d8ffb47f385c43eba45e3f308e605fc9736b2b7137d74979adf1a31e7c8b4"; - }; - - nativeBuildInputs = [ setuptools-scm gcc ]; - - propagatedBuildInputs = [ cython numpy scikit-learn six ]; - - nativeCheckInputs = [ pytest pytest-cov ]; - - # Checks require test data downloaded separately - # See project source Makefile:test-data rule for reference - checkPhase = '' - PATH=$PATH:$out/bin - mkdir data - head -c 100000 ${testData}/text8 > data/text8-small - pytest - ''; - - meta = with lib; { - broken = stdenv.isDarwin; - description = "Tool for computing continuous distributed representations of words"; - homepage = "https://github.com/danielfrg/word2vec"; - license = licenses.asl20; - maintainers = with maintainers; [ NikolaMandic ]; - }; - -} diff --git a/pkgs/development/python-modules/wordcloud/default.nix b/pkgs/development/python-modules/wordcloud/default.nix index 9886f2db1cb44..bf71a5a14cd3e 100644 --- a/pkgs/development/python-modules/wordcloud/default.nix +++ b/pkgs/development/python-modules/wordcloud/default.nix @@ -2,7 +2,6 @@ , buildPythonPackage , cython , fetchFromGitHub -, fetchpatch , matplotlib , mock , numpy @@ -13,7 +12,7 @@ buildPythonPackage rec { pname = "wordcloud"; - version = "unstable-2023-01-04"; + version = "1.9.1.1"; format = "setuptools"; disabled = pythonOlder "3.7"; @@ -21,8 +20,8 @@ buildPythonPackage rec { src = fetchFromGitHub { owner = "amueller"; repo = "word_cloud"; - rev = "dbf7ab7753a36e1c12c0e1b36aeeece5023f39f9"; - hash = "sha256-ogSkVcPUth7bh7mxwdDmF/Fc2ySDxbLA8ArmBNnPvw8="; + rev = "refs/tags/${version}"; + hash = "sha256-Tcle9otT1eBN/RzajwKZDUq8xX0Lhi2t74OvhUrvHZE="; }; nativeBuildInputs = [ diff --git a/pkgs/development/python-modules/wordfreq/default.nix b/pkgs/development/python-modules/wordfreq/default.nix index 6adc8b1538e50..5f77c34f98ade 100644 --- a/pkgs/development/python-modules/wordfreq/default.nix +++ b/pkgs/development/python-modules/wordfreq/default.nix @@ -1,5 +1,6 @@ { lib , buildPythonPackage +, poetry-core , regex , langcodes , ftfy @@ -7,21 +8,27 @@ , mecab-python3 , jieba , pytestCheckHook -, isPy27 +, pythonOlder , fetchFromGitHub }: buildPythonPackage rec { pname = "wordfreq"; version = "3.0.2"; - disabled = isPy27; + format = "pyproject"; - src = fetchFromGitHub { - owner = "LuminosoInsight"; + disabled = pythonOlder "3.7"; + + src = fetchFromGitHub { + owner = "rspeer"; repo = "wordfreq"; rev = "refs/tags/v${version}"; hash = "sha256-ANOBbQWLB35Vz6oil6QZDpsNpKHeKUJnDKA5Q9JRVdE="; - }; + }; + + nativeBuildInputs = [ + poetry-core + ]; propagatedBuildInputs = [ regex @@ -32,10 +39,6 @@ buildPythonPackage rec { jieba ]; - postPatch = '' - substituteInPlace setup.py --replace "regex ==" "regex >=" - ''; - nativeCheckInputs = [ pytestCheckHook ]; disabledTests = [ # These languages require additional dictionaries that aren't packaged @@ -46,7 +49,7 @@ buildPythonPackage rec { meta = with lib; { description = "A library for looking up the frequencies of words in many languages, based on many sources of data"; - homepage = "https://github.com/LuminosoInsight/wordfreq/"; + homepage = "https://github.com/rspeer/wordfreq/"; license = licenses.mit; maintainers = with maintainers; [ ixxie ]; }; diff --git a/pkgs/development/python-modules/xiaomi-ble/default.nix b/pkgs/development/python-modules/xiaomi-ble/default.nix index 22fe3f178b27c..bdb5888f352b4 100644 --- a/pkgs/development/python-modules/xiaomi-ble/default.nix +++ b/pkgs/development/python-modules/xiaomi-ble/default.nix @@ -14,7 +14,7 @@ buildPythonPackage rec { pname = "xiaomi-ble"; - version = "0.17.0"; + version = "0.17.1"; format = "pyproject"; disabled = pythonOlder "3.9"; @@ -23,7 +23,7 @@ buildPythonPackage rec { owner = "Bluetooth-Devices"; repo = pname; rev = "refs/tags/v${version}"; - hash = "sha256-sXmwLXbFNckw9lCZ4V5hyZyDnStTp2x4InmoBz3c++w="; + hash = "sha256-CioXmv5VJBiJx97k69Sp5kaeD59p+OSL14RVse/gYUA="; }; nativeBuildInputs = [ diff --git a/pkgs/development/python-modules/zipfile2/default.nix b/pkgs/development/python-modules/zipfile2/default.nix new file mode 100644 index 0000000000000..fc733e6cdbd48 --- /dev/null +++ b/pkgs/development/python-modules/zipfile2/default.nix @@ -0,0 +1,27 @@ +{ buildPythonPackage +, fetchFromGitHub +, lib +}: + +buildPythonPackage rec { + pname = "zipfile2"; + version = "0.0.12"; + + src = fetchFromGitHub { + owner = "cournape"; + repo = pname; + rev = "v${version}"; + hash = "sha256-BwcEgW4XrQqz0Jmtbyxf8q0mWTJXv2dL3Tk7N/IYuMI="; + }; + + patches = [ ./no-setuid.patch ]; + + pythonImportsCheck = [ "zipfile2" ]; + + meta = with lib; { + homepage = "https://github.com/cournape/zipfile2"; + description = "A backwards-compatible improved zipfile class"; + maintainers = with maintainers; [ genericnerdyusername ]; + license = licenses.psfl; + }; +} diff --git a/pkgs/development/python-modules/zipfile2/no-setuid.patch b/pkgs/development/python-modules/zipfile2/no-setuid.patch new file mode 100644 index 0000000000000..951358585a770 --- /dev/null +++ b/pkgs/development/python-modules/zipfile2/no-setuid.patch @@ -0,0 +1,15 @@ +diff --git a/zipfile2/tests/test__zipfile.py b/zipfile2/tests/test__zipfile.py +index 60f2ed2..db6e5bc 100644 +--- a/zipfile2/tests/test__zipfile.py ++++ b/zipfile2/tests/test__zipfile.py +@@ -585,8 +585,8 @@ class TestsPermissionExtraction(unittest.TestCase): + if index & 1 << order: + mode |= permissions[permgroup][order] + for order in range(3): +- if specialindex & 1 << order: +- mode |= permissions['special'][order] ++ if specialindex & 1 << order and order == 0: ++ raise unittest.SkipTest("The nix build process doesn't allow you to use the setuid bit") + os.chmod(path, mode) + real_permission = os.stat(path).st_mode & 0xFFF + self.files.append((path, real_permission)) |