diff options
Diffstat (limited to 'pkgs/development/python-modules')
32 files changed, 838 insertions, 170 deletions
diff --git a/pkgs/development/python-modules/aioshelly/default.nix b/pkgs/development/python-modules/aioshelly/default.nix index aa5e227ca65..05b4794a826 100644 --- a/pkgs/development/python-modules/aioshelly/default.nix +++ b/pkgs/development/python-modules/aioshelly/default.nix @@ -7,13 +7,13 @@ buildPythonPackage rec { pname = "aioshelly"; - version = "0.6.2"; + version = "0.6.3"; src = fetchFromGitHub { owner = "home-assistant-libs"; repo = pname; rev = version; - sha256 = "sha256-vlIon+VAHeJiaSIVMEKEpwQC4gXA52vxfEkiQMC9yiw="; + sha256 = "sha256-c4EFR7rcYdrCdM0AfmX/d7cP4woh6P1iAjeSQV9ieKM="; }; propagatedBuildInputs = [ diff --git a/pkgs/development/python-modules/blspy/default.nix b/pkgs/development/python-modules/blspy/default.nix new file mode 100644 index 00000000000..e75e474bdab --- /dev/null +++ b/pkgs/development/python-modules/blspy/default.nix @@ -0,0 +1,58 @@ +{ lib +, buildPythonPackage +, fetchPypi +, fetchFromGitHub +, setuptools-scm +, substituteAll +, cmake +, boost +, gmp +, pybind11 +, pythonOlder +}: + +buildPythonPackage rec { + pname = "blspy"; + version = "1.0.2"; + disabled = pythonOlder "3.7"; + + src = fetchPypi { + inherit pname version; + hash = "sha256-N1mk83uZrzSty2DyXfKiVp85z/jmztiUSRXKfNBRJV4="; + }; + + patches = [ + # prevent CMake from trying to get libraries on the Internet + (substituteAll { + src = ./dont_fetch_dependencies.patch; + pybind11_src = pybind11.src; + relic_src = fetchFromGitHub { + owner = "relic-toolkit"; + repo = "relic"; + rev = "1885ae3b681c423c72b65ce1fe70910142cf941c"; # pinned by blspy + hash = "sha256-tsSZTcssl8t7Nqdex4BesgQ+ACPgTdtHnJFvS9josN0="; + }; + }) + ]; + + nativeBuildInputs = [ cmake setuptools-scm ]; + + buildInputs = [ boost gmp.static pybind11 ]; + + pythonImportsCheck = [ + "blspy" + ]; + + # Note: upstream testsuite is just a single test.py script outside of any framework + doCheck = false; + + # CMake needs to be run by setuptools rather than by its hook + dontConfigure = true; + + meta = with lib; { + description = "BLS signatures with aggregation"; + homepage = "https://github.com/Chia-Network/bls-signatures/"; + license = licenses.asl20; + maintainers = teams.chia.members; + }; +} diff --git a/pkgs/development/python-modules/blspy/dont_fetch_dependencies.patch b/pkgs/development/python-modules/blspy/dont_fetch_dependencies.patch new file mode 100644 index 00000000000..f9c41d9420b --- /dev/null +++ b/pkgs/development/python-modules/blspy/dont_fetch_dependencies.patch @@ -0,0 +1,38 @@ +diff --git a/python-bindings/CMakeLists.txt b/python-bindings/CMakeLists.txt +index 255e3bb..5f99c3a 100644 +--- a/python-bindings/CMakeLists.txt ++++ b/python-bindings/CMakeLists.txt +@@ -6,8 +6,7 @@ include(FetchContent) + + FetchContent_Declare( + pybind11 +- GIT_REPOSITORY https://github.com/pybind/pybind11.git +- GIT_TAG v2.6.2 ++ SOURCE_DIR @pybind11_src@ + ) + FetchContent_MakeAvailable(pybind11 relic) + +diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt +index faecc61..3272116 100644 +--- a/src/CMakeLists.txt ++++ b/src/CMakeLists.txt +@@ -4,18 +4,9 @@ set (CMAKE_CXX_STANDARD 17) + # CMake 3.14+ + include(FetchContent) + +-if (DEFINED ENV{RELIC_MAIN}) +- set(RELIC_GIT_TAG "origin/main") +-else () +- set(RELIC_GIT_TAG "1885ae3b681c423c72b65ce1fe70910142cf941c") +-endif () +- +-message(STATUS "Relic will be built from: ${RELIC_GIT_TAG}") +- + FetchContent_Declare( + relic +- GIT_REPOSITORY https://github.com/relic-toolkit/relic.git +- GIT_TAG ${RELIC_GIT_TAG} ++ SOURCE_DIR @relic_src@ + ) + FetchContent_MakeAvailable(relic) + diff --git a/pkgs/development/python-modules/chiabip158/default.nix b/pkgs/development/python-modules/chiabip158/default.nix new file mode 100644 index 00000000000..f2c30959361 --- /dev/null +++ b/pkgs/development/python-modules/chiabip158/default.nix @@ -0,0 +1,38 @@ +{ lib +, buildPythonPackage +, fetchPypi +, cmake +, pybind11 +, pythonOlder +, pytestCheckHook +, setuptools-scm +}: + +buildPythonPackage rec { + pname = "chiabip158"; + version = "1.0"; + disabled = pythonOlder "3.7"; + + src = fetchPypi { + inherit pname version; + hash = "sha256-dG6A4n30uPswQWY/Wmi75HK4ZMCDNr9Lt05FRWEPYV8="; + }; + + nativeBuildInputs = [ cmake setuptools-scm ]; + + buildInputs = [ pybind11 ]; + + checkInputs = [ + pytestCheckHook + ]; + + # CMake needs to be run by setuptools rather than by its hook + dontConfigure = true; + + meta = with lib; { + description = "Chia's implementation of BIP 158"; + homepage = "https://www.chia.net/"; + license = licenses.asl20; + maintainers = teams.chia.members; + }; +} diff --git a/pkgs/development/python-modules/chiapos/default.nix b/pkgs/development/python-modules/chiapos/default.nix new file mode 100644 index 00000000000..1faf5a94f8c --- /dev/null +++ b/pkgs/development/python-modules/chiapos/default.nix @@ -0,0 +1,48 @@ +{ lib +, substituteAll +, buildPythonPackage +, fetchPypi +, cmake +, cxxopts +, ghc_filesystem +, pybind11 +, pythonOlder +, psutil +, setuptools-scm +}: + +buildPythonPackage rec { + pname = "chiapos"; + version = "1.0.1"; + disabled = pythonOlder "3.7"; + + src = fetchPypi { + inherit pname version; + hash = "sha256-kJx57EtwPBrGMpjnSzeYYhWqc/g1N1Bg8slW5oZKjg8="; + }; + + patches = [ + # prevent CMake from trying to get libraries on the Internet + (substituteAll { + src = ./dont_fetch_dependencies.patch; + inherit cxxopts ghc_filesystem; + pybind11_src = pybind11.src; + }) + ]; + + nativeBuildInputs = [ cmake setuptools-scm ]; + + buildInputs = [ pybind11 ]; + + checkInputs = [ psutil ]; + + # CMake needs to be run by setuptools rather than by its hook + dontConfigure = true; + + meta = with lib; { + description = "Chia proof of space library"; + homepage = "https://www.chia.net/"; + license = licenses.asl20; + maintainers = teams.chia.members; + }; +} diff --git a/pkgs/development/python-modules/chiapos/dont_fetch_dependencies.patch b/pkgs/development/python-modules/chiapos/dont_fetch_dependencies.patch new file mode 100644 index 00000000000..ca18fd292ca --- /dev/null +++ b/pkgs/development/python-modules/chiapos/dont_fetch_dependencies.patch @@ -0,0 +1,31 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 9b4a2f5..86f849c 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -18,22 +18,19 @@ include(FetchContent) + + FetchContent_Declare( + pybind11-src +- GIT_REPOSITORY https://github.com/pybind/pybind11.git +- GIT_TAG v2.6.2 ++ SOURCE_DIR @pybind11_src@ + ) + FetchContent_MakeAvailable(pybind11-src) + + FetchContent_Declare( + cxxopts +- GIT_REPOSITORY https://github.com/jarro2783/cxxopts.git +- GIT_TAG v2.2.1 ++ SOURCE_DIR @cxxopts@ + ) + FetchContent_MakeAvailable(cxxopts) + + FetchContent_Declare( + gulrak +- GIT_REPOSITORY https://github.com/gulrak/filesystem.git +- GIT_TAG v1.5.4 ++ SOURCE_DIR @ghc_filesystem@ + ) + FetchContent_MakeAvailable(gulrak) + + diff --git a/pkgs/development/python-modules/chiavdf/default.nix b/pkgs/development/python-modules/chiavdf/default.nix new file mode 100644 index 00000000000..deb7d21adc7 --- /dev/null +++ b/pkgs/development/python-modules/chiavdf/default.nix @@ -0,0 +1,53 @@ +{ lib +, stdenv +, buildPythonPackage +, fetchPypi +, setuptools-scm +, substituteAll +, cmake +, boost +, gmp +, pybind11 +, pytestCheckHook +, pythonOlder +}: + +buildPythonPackage rec { + pname = "chiavdf"; + version = "1.0.1"; + disabled = pythonOlder "3.7"; + + src = fetchPypi { + inherit pname version; + hash = "sha256-z0od/VrH580+9641lKNI7jbVMlJZKCWnoT+GljnFxmU="; + }; + + patches = [ + # prevent CMake from trying to get libraries on the Internet + (substituteAll { + src = ./dont_fetch_dependencies.patch; + pybind11_src = pybind11.src; + }) + ]; + + # x86 instructions are needed for this component + BUILD_VDF_CLIENT = lib.optionalString (!stdenv.isx86_64) "N"; + + nativeBuildInputs = [ cmake setuptools-scm ]; + + buildInputs = [ boost gmp pybind11 ]; + + checkInputs = [ + pytestCheckHook + ]; + + # CMake needs to be run by setuptools rather than by its hook + dontConfigure = true; + + meta = with lib; { + description = "Chia verifiable delay function utilities"; + homepage = "https://www.chia.net/"; + license = licenses.asl20; + maintainers = teams.chia.members; + }; +} diff --git a/pkgs/development/python-modules/chiavdf/dont_fetch_dependencies.patch b/pkgs/development/python-modules/chiavdf/dont_fetch_dependencies.patch new file mode 100644 index 00000000000..9b49db81fcf --- /dev/null +++ b/pkgs/development/python-modules/chiavdf/dont_fetch_dependencies.patch @@ -0,0 +1,14 @@ +diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt +index c975128..a9f6910 100644 +--- a/src/CMakeLists.txt ++++ b/src/CMakeLists.txt +@@ -31,8 +31,7 @@ include(FetchContent) + + FetchContent_Declare( + pybind11-src +- GIT_REPOSITORY https://github.com/pybind/pybind11.git +- GIT_TAG v2.6.2 ++ SOURCE_DIR @pybind11_src@ + ) + FetchContent_MakeAvailable(pybind11-src) + diff --git a/pkgs/development/python-modules/cirq-core/default.nix b/pkgs/development/python-modules/cirq-core/default.nix new file mode 100644 index 00000000000..54e2fa1954d --- /dev/null +++ b/pkgs/development/python-modules/cirq-core/default.nix @@ -0,0 +1,98 @@ +{ stdenv +, lib +, buildPythonPackage +, pythonOlder +, fetchFromGitHub +, matplotlib +, networkx +, numpy +, pandas +, requests +, scipy +, sortedcontainers +, sympy +, tqdm +, typing-extensions + # Contrib requirements +, withContribRequires ? false +, autoray ? null +, opt-einsum +, ply +, pylatex ? null +, pyquil ? null +, quimb ? null + # test inputs +, pytestCheckHook +, freezegun +, pytest-asyncio +}: +buildPythonPackage rec { + pname = "cirq-core"; + version = "0.11.0"; + + disabled = pythonOlder "3.6"; + + src = fetchFromGitHub { + owner = "quantumlib"; + repo = "cirq"; + rev = "v${version}"; + hash = "sha256-JaKTGnkYhzIFb35SGaho8DRupoT0JFYKA5+rJEq4oXw="; + }; + + sourceRoot = "source/${pname}"; + + postPatch = '' + substituteInPlace requirements.txt \ + --replace "matplotlib~=3.0" "matplotlib" \ + --replace "networkx~=2.4" "networkx" \ + --replace "numpy~=1.16" "numpy" \ + --replace "requests~=2.18" "requests" + ''; + + propagatedBuildInputs = [ + matplotlib + networkx + numpy + pandas + requests + scipy + sortedcontainers + sympy + tqdm + typing-extensions + ] ++ lib.optionals withContribRequires [ + autoray + opt-einsum + ply + pylatex + pyquil + quimb + ]; + + checkInputs = [ + pytestCheckHook + pytest-asyncio + freezegun + ]; + + pytestFlagsArray = lib.optionals (!withContribRequires) [ + # requires external (unpackaged) libraries, so untested. + "--ignore=cirq/contrib/" + ]; + disabledTests = [ + "test_metadata_search_path" # tries to import flynt, which isn't in Nixpkgs + "test_benchmark_2q_xeb_fidelities" # fails due pandas MultiIndex. Maybe issue with pandas version in nix? + ] ++ lib.optionals stdenv.hostPlatform.isAarch64 [ + # Seem to fail due to math issues on aarch64? + "expectation_from_wavefunction" + "test_single_qubit_op_to_framed_phase_form_output_on_example_case" + ]; + + meta = with lib; { + description = "A framework for creating, editing, and invoking Noisy Intermediate Scale Quantum (NISQ) circuits."; + homepage = "https://github.com/quantumlib/cirq"; + changelog = "https://github.com/quantumlib/Cirq/releases/tag/v${version}"; + license = licenses.asl20; + maintainers = with maintainers; [ drewrisinger ]; + }; +} diff --git a/pkgs/development/python-modules/cirq-google/default.nix b/pkgs/development/python-modules/cirq-google/default.nix new file mode 100644 index 00000000000..8692aef4b67 --- /dev/null +++ b/pkgs/development/python-modules/cirq-google/default.nix @@ -0,0 +1,29 @@ +{ lib +, buildPythonPackage +, pythonOlder +, cirq-core +, google-api-core +, protobuf +# test inputs +, pytestCheckHook +, freezegun +}: + +buildPythonPackage rec { + pname = "cirq-google"; + inherit (cirq-core) version src meta; + + sourceRoot = "source/${pname}"; + + postPatch = '' + substituteInPlace requirements.txt --replace "protobuf~=3.13.0" "protobuf" + ''; + + propagatedBuildInputs = [ + cirq-core + google-api-core + protobuf + ]; + + checkInputs = [ pytestCheckHook freezegun ]; +} diff --git a/pkgs/development/python-modules/cirq/default.nix b/pkgs/development/python-modules/cirq/default.nix index f0b576299b2..f8afdcbbb05 100644 --- a/pkgs/development/python-modules/cirq/default.nix +++ b/pkgs/development/python-modules/cirq/default.nix @@ -1,114 +1,28 @@ -{ stdenv -, lib +{ lib , buildPythonPackage -, pythonOlder -, fetchFromGitHub -, google-api-core -, matplotlib -, networkx -, numpy -, pandas -, protobuf -, requests -, scipy -, sortedcontainers -, sympy -, tqdm -, typing-extensions +, cirq-core +, cirq-google # test inputs -, freezegun , pytestCheckHook -, pytest-asyncio -, pytest-benchmark -, ply -, pydot -, pyyaml -, pygraphviz }: buildPythonPackage rec { pname = "cirq"; - version = "0.10.0"; - - disabled = pythonOlder "3.6"; - - src = fetchFromGitHub { - owner = "quantumlib"; - repo = "cirq"; - rev = "v${version}"; - sha256 = "0xinml44n2lfl0q2lb2apmn69gsszlwim83082f66vyk0gpwd4lr"; - }; - - postPatch = '' - substituteInPlace requirements.txt \ - --replace "matplotlib~=3.0" "matplotlib" \ - --replace "networkx~=2.4" "networkx" \ - --replace "numpy~=1.16" "numpy" \ - --replace "protobuf~=3.13.0" "protobuf" - ''; + inherit (cirq-core) version src meta; propagatedBuildInputs = [ - google-api-core - matplotlib - networkx - numpy - pandas - protobuf - requests - scipy - sortedcontainers - sympy - tqdm - typing-extensions + cirq-core + cirq-google ]; # pythonImportsCheck = [ "cirq" "cirq.Circuit" ]; # cirq's importlib hook doesn't work here - checkInputs = [ - pytestCheckHook - freezegun - pytest-asyncio - pytest-benchmark - ply - pydot - pyyaml - pygraphviz - ]; + checkInputs = [ pytestCheckHook ]; - pytestFlagsArray = [ - "--ignore=dev_tools" # Only needed when developing new code, which is out-of-scope - "--ignore=cirq/contrib/" # requires external (unpackaged) python packages, so untested. - "--benchmark-disable" # Don't need to run benchmarks when packaging. - ]; - disabledTests = lib.optionals stdenv.isAarch64 [ - # Seem to fail due to math issues on aarch64? - "expectation_from_wavefunction" - "test_single_qubit_op_to_framed_phase_form_output_on_example_case" - ] ++ [ - # slow tests, for quicker building - "test_anneal_search_method_calls" - "test_density_matrix_from_state_tomography_is_correct" - "test_example_runs_qubit_characterizations" - "test_example_runs_hello_line_perf" - "test_example_runs_bc_mean_field_perf" - "test_main_loop" - "test_clifford_circuit_2" - "test_decompose_specific_matrices" - "test_two_qubit_randomized_benchmarking" - "test_kak_decomposition_perf" - "test_example_runs_simon" - "test_decompose_random_unitary" - "test_decompose_size_special_unitary" - "test_api_retry_5xx_errors" - "test_xeb_fidelity" - "test_example_runs_phase_estimator_perf" - "test_cross_entropy_benchmarking" + # Don't run submodule or development tool tests + disabledTestPaths = [ + "cirq-google" + "cirq-core" + "dev_tools" ]; - meta = with lib; { - description = "A framework for creating, editing, and invoking Noisy Intermediate Scale Quantum (NISQ) circuits."; - homepage = "https://github.com/quantumlib/cirq"; - changelog = "https://github.com/quantumlib/Cirq/releases/tag/v${version}"; - license = licenses.asl20; - maintainers = with maintainers; [ drewrisinger ]; - }; } diff --git a/pkgs/development/python-modules/clickhouse-driver/default.nix b/pkgs/development/python-modules/clickhouse-driver/default.nix index a1addcfc97a..9a4c0f0f92b 100644 --- a/pkgs/development/python-modules/clickhouse-driver/default.nix +++ b/pkgs/development/python-modules/clickhouse-driver/default.nix @@ -1,6 +1,6 @@ { lib , buildPythonPackage -, fetchPypi +, fetchFromGitHub , setuptools , pytz , tzlocal @@ -10,15 +10,20 @@ , freezegun , mock , nose +, pytestCheckHook +, pytest-xdist }: buildPythonPackage rec { pname = "clickhouse-driver"; version = "0.2.0"; - src = fetchPypi { - inherit pname version; - sha256 = "62d37f93872d5a13eb6b0d52bab2b593ed0e14cf9200949aa2d02f9801064c0f"; + # pypi source doesn't contain tests + src = fetchFromGitHub { + owner = "mymarilyn"; + repo = "clickhouse-driver"; + rev = "96b7ba448c63ca2670cc9aa70d4a0e08826fb650"; + sha256 = "sha256-HFKUxJOlBCVlu7Ia8heGpwX6+HdKuwSy92s3v+GKGwE="; }; propagatedBuildInputs = [ @@ -34,9 +39,30 @@ buildPythonPackage rec { freezegun mock nose + pytest-xdist + pytestCheckHook ]; - doCheck = true; + postPatch = '' + substituteInPlace setup.py \ + --replace "lz4<=3.0.1" "lz4<=4" + ''; + + # remove source to prevent pytest testing source instead of the build artifacts + # (the source doesn't contain the extension modules) + preCheck = '' + rm -rf clickhouse_driver + ''; + + # some test in test_buffered_reader.py doesn't seem to return + disabledTestPaths = [ "tests/test_buffered_reader.py" ]; + + pytestFlagsArray = [ "-n" "$NIX_BUILD_CORES" ]; + + # most tests require `clickhouse` + # TODO: enable tests after `clickhouse` unbroken + doCheck = false; + pythonImportsCheck = [ "clickhouse_driver" ]; meta = with lib; { diff --git a/pkgs/development/python-modules/clvm-rs/default.nix b/pkgs/development/python-modules/clvm-rs/default.nix new file mode 100644 index 00000000000..4e5f69f8cd5 --- /dev/null +++ b/pkgs/development/python-modules/clvm-rs/default.nix @@ -0,0 +1,47 @@ +{ lib +, fetchFromGitHub +, buildPythonPackage +, rustPlatform +, pythonOlder +, openssl +, perl +}: + +buildPythonPackage rec { + pname = "clvm_rs"; + version = "0.1.7"; + disabled = pythonOlder "3.7"; + + src = fetchFromGitHub { + owner = "Chia-Network"; + repo = "clvm_rs"; + rev = version; + sha256 = "sha256-ves23q1uQ3lexwK9l1xGRss05jYObJDi/aY9Yvp4aPU="; + }; + + cargoDeps = rustPlatform.fetchCargoTarball { + inherit src; + name = "${pname}-${version}"; + hash = "sha256-3kPzM2EX61ZvU6VKXY1OG/ic+9FU3Et4RuKp+3QYzSo="; + }; + + format = "pyproject"; + + nativeBuildInputs = [ + perl # used by openssl-sys to configure + ] ++ (with rustPlatform; [ + cargoSetupHook + maturinBuildHook + ]); + + buildInputs = [ openssl ]; + + pythonImportsCheck = [ "clvm_rs" ]; + + meta = with lib; { + homepage = "https://chialisp.com/"; + description = "Rust implementation of clvm"; + license = licenses.asl20; + maintainers = teams.chia.members; + }; +} diff --git a/pkgs/development/python-modules/clvm-tools/default.nix b/pkgs/development/python-modules/clvm-tools/default.nix new file mode 100644 index 00000000000..365f21e8c36 --- /dev/null +++ b/pkgs/development/python-modules/clvm-tools/default.nix @@ -0,0 +1,51 @@ +{ lib +, buildPythonPackage +, fetchFromGitHub +, pythonOlder +, clvm +, setuptools-scm +, pytestCheckHook +}: + +buildPythonPackage rec { + pname = "clvm_tools"; + version = "0.4.3"; + disabled = pythonOlder "3.7"; + + src = fetchFromGitHub { + owner = "Chia-Network"; + repo = "clvm_tools"; + rev = version; + sha256 = "sha256-bWz3YCrakob/kROq+LOA+yD1wtIbInVrmDqtg4/cV4g="; + }; + + nativeBuildInputs = [ + setuptools-scm + ]; + + propagatedBuildInputs = [ + clvm + ]; + + checkInputs = [ + pytestCheckHook + ]; + + pythonImportsCheck = [ + "clvm_tools" + ]; + + disabledTests = [ + "test_cmd_unknown-1_txt" + ]; + + # give a hint to setuptools_scm on package version + SETUPTOOLS_SCM_PRETEND_VERSION="v${version}"; + + meta = with lib; { + description = "Tools for clvm development"; + homepage = "https://www.chialisp.com/"; + license = licenses.asl20; + maintainers = teams.chia.members; + }; +} diff --git a/pkgs/development/python-modules/clvm/default.nix b/pkgs/development/python-modules/clvm/default.nix new file mode 100644 index 00000000000..f7168832fa4 --- /dev/null +++ b/pkgs/development/python-modules/clvm/default.nix @@ -0,0 +1,52 @@ +{ lib +, buildPythonPackage +, fetchFromGitHub +, pythonOlder +, blspy +, setuptools-scm +, pytestCheckHook +}: + +buildPythonPackage rec { + pname = "clvm"; + version = "0.9.6"; + disabled = pythonOlder "3.7"; + + src = fetchFromGitHub { + owner = "Chia-Network"; + repo = "clvm"; + rev = version; + sha256 = "sha256-XBQEilDFhx0kT9bEMD4jX+SDk3cAC1BUCWhbtpgrLcA="; + }; + + nativeBuildInputs = [ + setuptools-scm + ]; + + # give a hint to setuptools_scm on package version + SETUPTOOLS_SCM_PRETEND_VERSION = "v${version}"; + + propagatedBuildInputs = [ + blspy + ]; + + checkInputs = [ + pytestCheckHook + ]; + + disabledTestPaths = [ + # all tests in this file have a circular dependency on clvm-tools + "tests/cmds_test.py" + ]; + + pythonImportsCheck = [ + "clvm" + ]; + + meta = with lib; { + description = "Chia Lisp virtual machine"; + homepage = "https://www.chia.net/"; + license = licenses.asl20; + maintainers = teams.chia.members; + }; +} diff --git a/pkgs/development/python-modules/concurrent-log-handler/default.nix b/pkgs/development/python-modules/concurrent-log-handler/default.nix new file mode 100644 index 00000000000..5880cdf961e --- /dev/null +++ b/pkgs/development/python-modules/concurrent-log-handler/default.nix @@ -0,0 +1,32 @@ +{ lib +, buildPythonPackage +, fetchPypi +, portalocker +}: + +buildPythonPackage rec { + pname = "concurrent-log-handler"; + version = "0.9.19"; + + src = fetchPypi { + inherit pname version; + hash = "sha256-sS95q+0/lBIcJc6cJM21fYiSguxv9h9VNasgaNw31Ak="; + }; + + propagatedBuildInputs = [ + portalocker + ]; + + pythonImportsCheck = [ + "concurrent_log_handler" + ]; + + doCheck = false; # upstream has no tests + + meta = with lib; { + description = "Python logging handler that allows multiple processes to safely write to the same log file concurrently"; + homepage = "https://www.chia.net/"; + license = licenses.asl20; + maintainers = teams.chia.members; + }; +} diff --git a/pkgs/development/python-modules/fastpair/default.nix b/pkgs/development/python-modules/fastpair/default.nix index 9a3f8c53b1d..eaf1a78520a 100644 --- a/pkgs/development/python-modules/fastpair/default.nix +++ b/pkgs/development/python-modules/fastpair/default.nix @@ -1,35 +1,28 @@ -{ lib, buildPythonPackage, fetchFromGitHub, pytestrunner, pytest, scipy }: +{ lib, buildPythonPackage, fetchFromGitHub, pytestrunner, pytest, scipy, pytestCheckHook }: buildPythonPackage { pname = "fastpair"; - version = "2016-07-05"; + version = "2021-05-19"; src = fetchFromGitHub { owner = "carsonfarmer"; repo = "fastpair"; - rev = "92364962f6b695661f35a117bf11f96584128a8d"; - sha256 = "1pv9sxycxdk567s5gs947rhlqngrb9nn9yh4dhdvg1ix1i8dca71"; + rev = "d3170fd7e4d6e95312e7e1cb02e84077a3f06379"; + sha256 = "1l8zgr8awg27lhlkpa2dsvghrb7b12jl1bkgpzg5q7pg8nizl9mx"; }; nativeBuildInputs = [ pytestrunner ]; - checkInputs = [ pytest ]; + checkInputs = [ pytest pytestCheckHook ]; propagatedBuildInputs = [ scipy ]; - # Does not support pytest 4 https://github.com/carsonfarmer/fastpair/issues/14 - doCheck = false; - - checkPhase = '' - pytest fastpair - ''; - meta = with lib; { homepage = "https://github.com/carsonfarmer/fastpair"; description = "Data-structure for the dynamic closest-pair problem"; license = licenses.mit; - maintainers = with maintainers; [ cmcdragonkai ]; + maintainers = with maintainers; [ cmcdragonkai rakesh4g ]; }; } diff --git a/pkgs/development/python-modules/hatasmota/default.nix b/pkgs/development/python-modules/hatasmota/default.nix index 36fb5b61c74..0164e84f8f7 100644 --- a/pkgs/development/python-modules/hatasmota/default.nix +++ b/pkgs/development/python-modules/hatasmota/default.nix @@ -7,13 +7,13 @@ buildPythonPackage rec { pname = "hatasmota"; - version = "0.2.12"; + version = "0.2.13"; src = fetchFromGitHub { owner = "emontnemery"; repo = pname; rev = version; - sha256 = "sha256-rf0EB9PxageMQhPzG96oWovt+5L/u68VPllzPT4yp2A="; + sha256 = "sha256-RzBEiO8IfeMls7ssCZ2yhL78UVrpZykwDl1IUshqOu8="; }; propagatedBuildInputs = [ diff --git a/pkgs/development/python-modules/hdbscan/default.nix b/pkgs/development/python-modules/hdbscan/default.nix index 269062a1e71..5264ff24890 100644 --- a/pkgs/development/python-modules/hdbscan/default.nix +++ b/pkgs/development/python-modules/hdbscan/default.nix @@ -35,6 +35,12 @@ buildPythonPackage rec { rm __init__.py ''; checkInputs = [ pytestCheckHook ]; + disabledTests = [ + # known flaky tests: https://github.com/scikit-learn-contrib/hdbscan/issues/420 + "test_mem_vec_diff_clusters" + "test_all_points_mem_vec_diff_clusters" + "test_approx_predict_diff_clusters" + ]; meta = with lib; { description = "Hierarchical Density-Based Spatial Clustering of Applications with Noise, a clustering algorithm with a scikit-learn compatible API"; diff --git a/pkgs/development/python-modules/karton-autoit-ripper/default.nix b/pkgs/development/python-modules/karton-autoit-ripper/default.nix index d1f79f42a2a..e675c055d78 100644 --- a/pkgs/development/python-modules/karton-autoit-ripper/default.nix +++ b/pkgs/development/python-modules/karton-autoit-ripper/default.nix @@ -9,13 +9,13 @@ buildPythonPackage rec { pname = "karton-autoit-ripper"; - version = "1.0.0"; + version = "1.0.1"; src = fetchFromGitHub { owner = "CERT-Polska"; repo = pname; rev = "v${version}"; - sha256 = "0vdsxkbjcr0inpcfjh45gl72ipzklkhgs06fdpkyy9y0cfx3zq7z"; + sha256 = "1bsqpf9w6d9fjysmnafaglg2w41gsafs2xz4dzcgc7n92shpcs8w"; }; propagatedBuildInputs = [ @@ -28,7 +28,6 @@ buildPythonPackage rec { postPatch = '' substituteInPlace requirements.txt \ --replace "autoit-ripper==1.0.0" "autoit-ripper" \ - --replace "karton.core==4.0.4" "karton-core" \ --replace "malduck==3.1.0" "malduck>=3.1.0" \ --replace "regex==2020.2.20" "regex>=2020.2.20" ''; diff --git a/pkgs/development/python-modules/karton-config-extractor/default.nix b/pkgs/development/python-modules/karton-config-extractor/default.nix index a82db34d880..71170ac5342 100644 --- a/pkgs/development/python-modules/karton-config-extractor/default.nix +++ b/pkgs/development/python-modules/karton-config-extractor/default.nix @@ -7,13 +7,13 @@ buildPythonPackage rec { pname = "karton-config-extractor"; - version = "2.0.0"; + version = "2.0.1"; src = fetchFromGitHub { owner = "CERT-Polska"; repo = pname; rev = "v${version}"; - sha256 = "sha256-vijyqki2x813H2xbmz2JIXlh87J5l6NFoZcOu8xi61o="; + sha256 = "1kq0gbfz9y0n0bcblyrmwv4la3lcf86lf80794sdvyvn49g0brny"; }; propagatedBuildInputs = [ diff --git a/pkgs/development/python-modules/karton-yaramatcher/default.nix b/pkgs/development/python-modules/karton-yaramatcher/default.nix index f64ee17f843..6183e950005 100644 --- a/pkgs/development/python-modules/karton-yaramatcher/default.nix +++ b/pkgs/development/python-modules/karton-yaramatcher/default.nix @@ -8,13 +8,13 @@ buildPythonPackage rec { pname = "karton-yaramatcher"; - version = "1.1.0"; + version = "1.1.1"; src = fetchFromGitHub { owner = "CERT-Polska"; repo = pname; rev = "v${version}"; - sha256 = "0yb9l5z826zli5cpcj234dmjdjha2g1lcwxyvpxm95whkhapc2cf"; + sha256 = "0mv8v1gk6p21pw9kx6cxr76l6c5fxd3p6dk85cwfzz100h8mdvar"; }; propagatedBuildInputs = [ @@ -22,12 +22,6 @@ buildPythonPackage rec { yara-python ]; - postPatch = '' - substituteInPlace requirements.txt \ - --replace "karton-core==4.0.5" "karton-core" \ - --replace "yara-python==4.0.2" "yara-python" \ - ''; - checkPhase = '' runHook preCheck ${python.interpreter} -m unittest discover diff --git a/pkgs/development/python-modules/keyrings-cryptfile/default.nix b/pkgs/development/python-modules/keyrings-cryptfile/default.nix new file mode 100644 index 00000000000..7f2cacea629 --- /dev/null +++ b/pkgs/development/python-modules/keyrings-cryptfile/default.nix @@ -0,0 +1,59 @@ +{ lib +, buildPythonPackage +, fetchPypi +, fetchpatch +, argon2_cffi +, keyring +, pycryptodome +, pytestCheckHook +, pythonOlder +}: + +buildPythonPackage rec { + pname = "keyrings.cryptfile"; + # NOTE: newer releases are bugged/incompatible + # https://github.com/frispete/keyrings.cryptfile/issues/15 + version = "1.3.4"; + disabled = pythonOlder "3.5"; + + src = fetchPypi { + inherit pname version; + sha256 = "sha256-jW+cKMm+xef8C+fl0CGe+6SEkYBHDjFX2/kLCZ62j6c="; + }; + + patches = [ + # upstream setup.cfg has an option that is not supported + ./fix-testsuite.patch + # change of API in keyrings.testing + (fetchpatch { + url = "https://github.com/frispete/keyrings.cryptfile/commit/6fb9e45f559b8b69f7a0a519c0bece6324471d79.patch"; + sha256 = "sha256-1878pMO9Ed1zs1pl+7gMjwx77HbDHdE1CryN8TPfPdU="; + }) + ]; + + propagatedBuildInputs = [ + argon2_cffi + keyring + pycryptodome + ]; + + pythonImportsCheck = [ + "keyrings.cryptfile" + ]; + + checkInputs = [ + pytestCheckHook + ]; + + disabledTests = [ + "test_set_properties" + "UncryptedFileKeyringTestCase" + ]; + + meta = with lib; { + description = "Encrypted file keyring backend"; + homepage = "https://github.com/frispete/keyrings.cryptfile"; + license = licenses.mit; + maintainers = teams.chia.members; + }; +} diff --git a/pkgs/development/python-modules/keyrings-cryptfile/fix-testsuite.patch b/pkgs/development/python-modules/keyrings-cryptfile/fix-testsuite.patch new file mode 100644 index 00000000000..8e32a64e529 --- /dev/null +++ b/pkgs/development/python-modules/keyrings-cryptfile/fix-testsuite.patch @@ -0,0 +1,14 @@ +diff --git a/setup.cfg b/setup.cfg +index ec7eb30..7ffd831 100644 +--- a/setup.cfg ++++ b/setup.cfg +@@ -5,9 +5,6 @@ dists = clean --all sdist bdist_wheel + [wheel] + universal = 1 + +-[tool:pytest] +-addopts = -s --cov=keyrings/cryptfile +- + [egg_info] + tag_build = + tag_date = 0 diff --git a/pkgs/development/python-modules/locationsharinglib/default.nix b/pkgs/development/python-modules/locationsharinglib/default.nix new file mode 100644 index 00000000000..4baf8600ac7 --- /dev/null +++ b/pkgs/development/python-modules/locationsharinglib/default.nix @@ -0,0 +1,59 @@ +{ lib +, betamax +, buildPythonPackage +, cachetools +, coloredlogs +, emoji +, fetchPypi +, nose +, python +, pythonOlder +, pytz +, requests +}: + +buildPythonPackage rec { + pname = "locationsharinglib"; + version = "4.1.6"; + disabled = pythonOlder "3.6"; + + src = fetchPypi { + inherit pname version; + sha256 = "092j8z01nwjqh5zr7aj8mxl1zjd3j2irhrs39dhn47bd6db2a6ij"; + }; + + propagatedBuildInputs = [ + coloredlogs + requests + cachetools + pytz + ]; + + checkInputs = [ + betamax + emoji + nose + ]; + + postPatch = '' + # Tests requirements want to pull in multiple modules which we don't need + substituteInPlace setup.py \ + --replace "tests_require=test_requirements" "tests_require=[]" + ''; + + checkPhase = '' + runHook preCheck + # Only coverage no real unit tests + ${python.interpreter} setup.py nosetests + runHook postCheck + ''; + + pythonImportsCheck = [ "locationsharinglib" ]; + + meta = with lib; { + description = "Python package to retrieve coordinates from a Google account"; + homepage = "https://locationsharinglib.readthedocs.io/"; + license = licenses.mit; + maintainers = with maintainers; [ fab ]; + }; +} diff --git a/pkgs/development/python-modules/nassl/default.nix b/pkgs/development/python-modules/nassl/default.nix index 8a290a7b859..97033224c14 100644 --- a/pkgs/development/python-modules/nassl/default.nix +++ b/pkgs/development/python-modules/nassl/default.nix @@ -90,7 +90,7 @@ buildPythonPackage rec { ${opensslLegacyStatic.out}/lib/libcrypto.a \ deps/openssl-OpenSSL_${legacyOpenSSLVersion}/ ln -s ${opensslLegacyStatic.out.dev}/include deps/openssl-OpenSSL_${legacyOpenSSLVersion}/include - ln -s ${opensslLegacyStatic.bin} deps/openssl-OpenSSL_${legacyOpenSSLVersion}/apps + ln -s ${opensslLegacyStatic.bin}/bin deps/openssl-OpenSSL_${legacyOpenSSLVersion}/apps mkdir -p deps/openssl-OpenSSL_${modernOpenSSLVersion}/ cp ${opensslStatic.out}/lib/libssl.a \ diff --git a/pkgs/development/python-modules/pyflume/default.nix b/pkgs/development/python-modules/pyflume/default.nix index 7c80aab59cd..075297794b2 100644 --- a/pkgs/development/python-modules/pyflume/default.nix +++ b/pkgs/development/python-modules/pyflume/default.nix @@ -12,14 +12,14 @@ buildPythonPackage rec { pname = "pyflume"; - version = "0.6.4"; + version = "0.7.0"; disabled = pythonOlder "3.7"; src = fetchFromGitHub { owner = "ChrisMandich"; repo = "PyFlume"; rev = "v${version}"; - sha256 = "1dm560hh6fl1waiwsq8m31apmvvwhc3y95bfdb7449bs8k96dmxq"; + sha256 = "129sz33a270v120bzl9l98nmvdzn7ns4cf9w2v18lmzlldbyz2vn"; }; prePatch = '' diff --git a/pkgs/development/python-modules/pysonos/default.nix b/pkgs/development/python-modules/pysonos/default.nix index 683894543e3..05411e0d7fb 100644 --- a/pkgs/development/python-modules/pysonos/default.nix +++ b/pkgs/development/python-modules/pysonos/default.nix @@ -14,7 +14,7 @@ buildPythonPackage rec { pname = "pysonos"; - version = "0.0.48"; + version = "0.0.49"; disabled = !isPy3k; @@ -23,7 +23,7 @@ buildPythonPackage rec { owner = "amelchio"; repo = pname; rev = "v${version}"; - sha256 = "sha256-jHfckJJT6cycY9qvXzwmm0UYYaUDCkUE98c2sT9VPpw="; + sha256 = "sha256-f8MBf2E7kHzvdt7oBwdJZ91jlU6I5np1FhOmxgxbqYw="; }; propagatedBuildInputs = [ diff --git a/pkgs/development/python-modules/pythonnet/default.nix b/pkgs/development/python-modules/pythonnet/default.nix index d0054f7076a..7387d387dbe 100644 --- a/pkgs/development/python-modules/pythonnet/default.nix +++ b/pkgs/development/python-modules/pythonnet/default.nix @@ -2,8 +2,7 @@ , fetchPypi , fetchNuGet , buildPythonPackage -, python -, pytest +, pytestCheckHook , pycparser , psutil , pkg-config @@ -15,29 +14,36 @@ let - UnmanagedExports127 = fetchNuGet { - baseName = "UnmanagedExports"; - version = "1.2.7"; - sha256 = "0bfrhpmq556p0swd9ssapw4f2aafmgp930jgf00sy89hzg2bfijf"; - outputFiles = [ "*" ]; - }; - - NUnit371 = fetchNuGet { - baseName = "NUnit"; - version = "3.7.1"; - sha256 = "1yc6dwaam4w2ss1193v735nnl79id78yswmpvmjr1w4bgcbdza4l"; - outputFiles = [ "*" ]; - }; + dotnetPkgs = [ + (fetchNuGet { + baseName = "UnmanagedExports"; + version = "1.2.7"; + sha256 = "0bfrhpmq556p0swd9ssapw4f2aafmgp930jgf00sy89hzg2bfijf"; + outputFiles = [ "*" ]; + }) + (fetchNuGet { + baseName = "NUnit"; + version = "3.12.0"; + sha256 = "1880j2xwavi8f28vxan3hyvdnph4nlh5sbmh285s4lc9l0b7bdk2"; + outputFiles = [ "*" ]; + }) + (fetchNuGet { + baseName = "System.ValueTuple"; + version = "4.5.0"; + sha256 = "00k8ja51d0f9wrq4vv5z2jhq8hy31kac2rg0rv06prylcybzl8cy"; + outputFiles = [ "*" ]; + }) + ]; in buildPythonPackage rec { pname = "pythonnet"; - version = "2.4.0"; + version = "2.5.2"; src = fetchPypi { inherit pname version; - sha256 = "1ach9jic7a9rd3vmc4bphkr9fq01a0qk81f8a7gr9npwzmkqx8x3"; + sha256 = "1qzdc6jd7i9j7p6bcihnr98y005gv1358xqdr1plpbpnl6078a5p"; }; postPatch = '' @@ -50,7 +56,6 @@ buildPythonPackage rec { ''; nativeBuildInputs = [ - pytest pycparser pkg-config @@ -59,13 +64,15 @@ buildPythonPackage rec { mono - NUnit371 - UnmanagedExports127 - ]; + ] ++ dotnetPkgs; buildInputs = [ glib mono + ]; + + checkInputs = [ + pytestCheckHook psutil # needed for memory leak tests ]; @@ -73,22 +80,21 @@ buildPythonPackage rec { rm -rf packages mkdir packages - ln -s ${NUnit371}/lib/dotnet/NUnit/ packages/NUnit.3.7.1 - ln -s ${UnmanagedExports127}/lib/dotnet/NUnit/ packages/UnmanagedExports.1.2.7 + ${builtins.concatStringsSep "\n" ( + builtins.map ( + x: ''ln -s ${x}/lib/dotnet/${x.baseName} ./packages/${x.baseName}.${x.version}'' + ) dotnetPkgs)} # Setting TERM=xterm fixes an issue with terminfo in mono: System.Exception: Magic number is wrong: 542 export TERM=xterm ''; - checkPhase = '' - ${python.interpreter} -m pytest - ''; - meta = with lib; { description = ".Net and Mono integration for Python"; homepage = "https://pythonnet.github.io"; license = licenses.mit; + # <https://github.com/pythonnet/pythonnet/issues/898> + badPlatforms = [ "aarch64-linux" ]; maintainers = with maintainers; [ jraygauthier ]; - broken = true; }; } diff --git a/pkgs/development/python-modules/vdirsyncer/default.nix b/pkgs/development/python-modules/vdirsyncer/default.nix index 1f7642bfe34..01ab42ed9c3 100644 --- a/pkgs/development/python-modules/vdirsyncer/default.nix +++ b/pkgs/development/python-modules/vdirsyncer/default.nix @@ -1,6 +1,7 @@ { lib , buildPythonPackage , fetchPypi +, fetchpatch , isPy27 , click , click-log @@ -45,6 +46,14 @@ buildPythonPackage rec { pytest-subtesthack ]; + patches = [ + (fetchpatch { + name = "update-usage-deprecated-method.patch"; + url = "https://github.com/pimutils/vdirsyncer/commit/7577fa21177442aacc2d86640ef28cebf1c4aaef.patch"; + sha256 = "0inkr1wfal20kssij8l5myhpjivxg8wlvhppqc3lvml9d1i75qbh"; + }) + ]; + postPatch = '' substituteInPlace setup.py --replace "click>=5.0,<6.0" "click" ''; diff --git a/pkgs/development/python-modules/ytmusicapi/default.nix b/pkgs/development/python-modules/ytmusicapi/default.nix index 4728da51a64..9c92e5e55a6 100644 --- a/pkgs/development/python-modules/ytmusicapi/default.nix +++ b/pkgs/development/python-modules/ytmusicapi/default.nix @@ -7,13 +7,13 @@ buildPythonPackage rec { pname = "ytmusicapi"; - version = "0.16.0"; + version = "0.17.1"; disabled = isPy27; src = fetchPypi { inherit pname version; - sha256 = "sha256-/94/taeBI6xZ3uN/wfMnk/NPmk+j0+aaH8CAZBEsK10="; + sha256 = "sha256-b5+AGf9qFqQbx4Rq4RovK2NllYsB+sXVMFU4AvbDkzI="; }; propagatedBuildInputs = [ diff --git a/pkgs/development/python-modules/zeroconf/default.nix b/pkgs/development/python-modules/zeroconf/default.nix index 80a503fbb8a..313f121510e 100644 --- a/pkgs/development/python-modules/zeroconf/default.nix +++ b/pkgs/development/python-modules/zeroconf/default.nix @@ -9,12 +9,12 @@ buildPythonPackage rec { pname = "zeroconf"; - version = "0.30.0"; + version = "0.31.0"; disabled = pythonOlder "3.6"; src = fetchPypi { inherit pname version; - sha256 = "sha256-elpjZq4FpI2wTf1ciILumKE/LQ4fxtCaXxvQo9HRCcc="; + sha256 = "sha256-U6GAJIRxxvgb0f/8vOA+2T19jq8QkFyRIaweqZbRmEQ="; }; propagatedBuildInputs = [ ifaddr ]; |