20 buildPythonPackage rec {
23 format = "setuptools";
25 disabled = pythonOlder "3.7";
27 src = fetchFromGitHub {
31 hash = "sha256-RNWCZQjcse415SSNkHhMWckDcBJGFZnjisckF7gbYY8=";
34 # Note: to reflect the extra_requires in main/setup.py.
35 passthru.optional-dependencies = {
36 ipfs = [ ipfshttpclient ];
39 propagatedBuildInputs = [
43 eth-hash ] ++ eth-hash.optional-dependencies.pycryptodome ++ [
54 # TODO: package eth-tester required for tests
58 substituteInPlace setup.py --replace "types-protobuf==3.19.13" "types-protobuf"
61 pythonImportsCheck = [
66 description = "A python interface for interacting with the Ethereum blockchain and ecosystem";
67 homepage = "https://web3py.readthedocs.io/";
68 license = licenses.mit;
69 maintainers = with maintainers; [ hellwolf ];