diff --git a/pkgs/development/python-modules/frozendict/default.nix b/pkgs/development/python-modules/frozendict/default.nix index 2374d6b828b8..8c6c79c3ec6e 100644 --- a/pkgs/development/python-modules/frozendict/default.nix +++ b/pkgs/development/python-modules/frozendict/default.nix @@ -1,8 +1,9 @@ { lib , buildPythonPackage -, fetchPypi -, isPy3k +, fetchFromGitHub , pytestCheckHook +, pythonAtLeast +, pythonOlder }: buildPythonPackage rec { @@ -10,32 +11,43 @@ buildPythonPackage rec { version = "2.3.4"; format = "setuptools"; - disabled = !isPy3k; + disabled = pythonOlder "3.7"; - src = fetchPypi { - inherit pname version; - sha256 = "15b4b18346259392b0d27598f240e9390fafbff882137a9c48a1e0104fb17f78"; + src = fetchFromGitHub { + owner = "Marco-Sulla"; + repo = "python-frozendict"; + rev = "refs/tags/v${version}"; + hash = "sha256-rDorFoVHiwbkRsIIA2MLKPHJ9HWJw2FKZ5iFHEiqzhg="; }; - pythonImportsCheck = [ - "frozendict" - ]; + postPatch = '' + # https://github.com/Marco-Sulla/python-frozendict/pull/69 + substituteInPlace setup.py \ + --replace 'if impl == "PyPy":' 'if impl == "PyPy" or not src_path.exists():' + ''; nativeCheckInputs = [ pytestCheckHook ]; + pythonImportsCheck = [ + "frozendict" + ]; + preCheck = '' pushd test ''; - postCheck = '' - popd - ''; + disabledTests = lib.optionals (pythonAtLeast "3.11") [ + # https://github.com/Marco-Sulla/python-frozendict/issues/68 + "test_c_extension" + ]; meta = with lib; { + description = "Module for immutable dictionary"; homepage = "https://github.com/Marco-Sulla/python-frozendict"; - description = "A simple immutable dictionary"; + changelog = "https://github.com/Marco-Sulla/python-frozendict/releases/tag/v${version}"; license = licenses.lgpl3Only; + maintainers = with maintainers; [ ]; }; } diff --git a/pkgs/development/python-modules/merkletools/default.nix b/pkgs/development/python-modules/merkletools/default.nix index a57f926a615f..b5dc5adf3dcc 100644 --- a/pkgs/development/python-modules/merkletools/default.nix +++ b/pkgs/development/python-modules/merkletools/default.nix @@ -1,19 +1,42 @@ -{ lib, buildPythonPackage, fetchPypi, pysha3 }: +{ lib +, buildPythonPackage +, fetchFromGitHub +, pythonOlder +, pytestCheckHook +}: buildPythonPackage rec { pname = "merkletools"; version = "1.0.3"; + format = "setuptools"; - src = fetchPypi { - inherit pname version; - sha256 = "0pdik5sil0xcrwdcgdfy86c5qcfrz24r0gfc8m8bxa0i7h7x2v9l"; + disabled = pythonOlder "3.7"; + + src = fetchFromGitHub { + owner = "Tierion"; + repo = "pymerkletools"; + rev = "refs/tags/${version}"; + hash = "sha256-pd7Wxi7Sk95RcrFOTOtl725nIXidva3ftdKSGxHYPTA="; }; - propagatedBuildInputs = [ pysha3 ]; + postPatch = '' + # pysha3 is deprecated and not needed for Python > 3.6 + substituteInPlace setup.py \ + --replace "install_requires=install_requires" "install_requires=[]," + ''; + + checkInputs = [ + pytestCheckHook + ]; + + pythonImportsCheck = [ + "merkletools" + ]; meta = with lib; { description = "Python tools for creating Merkle trees, generating Merkle proofs, and verification of Merkle proofs"; homepage = "https://github.com/Tierion/pymerkletools"; + changelog = "https://github.com/Tierion/pymerkletools/releases/tag/${version}"; license = licenses.mit; maintainers = with maintainers; [ Madouura ]; }; diff --git a/pkgs/development/python-modules/yfinance/default.nix b/pkgs/development/python-modules/yfinance/default.nix index 86d93a604990..919937445064 100644 --- a/pkgs/development/python-modules/yfinance/default.nix +++ b/pkgs/development/python-modules/yfinance/default.nix @@ -1,8 +1,10 @@ { lib , appdirs +, beautifulsoup4 , buildPythonPackage , cryptography , fetchFromGitHub +, frozendict , multitasking , numpy , pandas @@ -13,7 +15,7 @@ buildPythonPackage rec { pname = "yfinance"; - version = "0.2.3"; + version = "0.2.4"; format = "setuptools"; disabled = pythonOlder "3.7"; @@ -22,12 +24,14 @@ buildPythonPackage rec { owner = "ranaroussi"; repo = pname; rev = "refs/tags/${version}"; - hash = "sha256-1xO+zz+syuiWeZAxnRIV0va8WOIW2P9elRBtHDk7w1M="; + hash = "sha256-WWqRj6It2sYZk1gV3+D94wFbOfzBhIngygalTSwVwaI="; }; propagatedBuildInputs = [ appdirs + beautifulsoup4 cryptography + frozendict multitasking numpy pandas