diff --git a/pkgs/development/python-modules/eth-utils/default.nix b/pkgs/development/python-modules/eth-utils/default.nix new file mode 100644 index 000000000000..cae3f34f0c9f --- /dev/null +++ b/pkgs/development/python-modules/eth-utils/default.nix @@ -0,0 +1,35 @@ +{ lib, fetchFromGitHub, buildPythonPackage, pytest, eth-hash, eth-typing, + cytoolz, hypothesis }: + +buildPythonPackage rec { + pname = "eth-utils"; + version = "1.2.1"; + + # Tests are missing from the PyPI source tarball so let's use GitHub + # https://github.com/ethereum/eth-utils/issues/130 + src = fetchFromGitHub { + owner = "ethereum"; + repo = pname; + rev = "v${version}"; + sha256 = "0g8f5vdjh7qd8kgsqqd9qkm6m79rx3w9yp0rf9vpdsv3xfzrkh1w"; + }; + + checkInputs = [ pytest hypothesis ]; + propagatedBuildInputs = [ eth-hash eth-typing cytoolz ]; + + # setuptools-markdown uses pypandoc which is broken at the moment + preConfigure = '' + substituteInPlace setup.py --replace \'setuptools-markdown\' "" + ''; + + checkPhase = '' + pytest . + ''; + + meta = { + description = "Common utility functions for codebases which interact with ethereum"; + homepage = https://github.com/ethereum/eth-utils; + license = lib.licenses.mit; + maintainers = with lib.maintainers; [ jluttine ]; + }; +} diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index a2419d74b1a2..e74d264d6028 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -1659,6 +1659,8 @@ in { eth-typing = callPackage ../development/python-modules/eth-typing { }; + eth-utils = callPackage ../development/python-modules/eth-utils { }; + jsonrpc-async = callPackage ../development/python-modules/jsonrpc-async { }; jsonrpc-base = callPackage ../development/python-modules/jsonrpc-base { };