21 buildPythonPackage rec {
24 format = "setuptools";
26 disabled = pythonOlder "3.7";
28 src = fetchFromGitHub {
32 hash = "sha256-RNWCZQjcse415SSNkHhMWckDcBJGFZnjisckF7gbYY8=";
35 # Note: to reflect the extra_requires in main/setup.py.
36 optional-dependencies = {
37 ipfs = [ ipfshttpclient ];
40 propagatedBuildInputs =
47 ++ eth-hash.optional-dependencies.pycryptodome
59 # TODO: package eth-tester required for tests
63 substituteInPlace setup.py --replace "types-protobuf==3.19.13" "types-protobuf"
66 pythonImportsCheck = [ "web3" ];
69 description = "Python interface for interacting with the Ethereum blockchain and ecosystem";
70 homepage = "https://web3py.readthedocs.io/";
71 license = licenses.mit;
72 maintainers = with maintainers; [ hellwolf ];