1{ 2 lib, 3 buildPythonPackage, 4 fetchFromGitHub, 5 setuptools, 6 # dependencies 7 eth-keys, 8 eth-utils, 9 pycryptodome, 10 py-ecc, 11 # nativeCheckInputs 12 pytestCheckHook, 13 pydantic, 14}: 15 16buildPythonPackage rec { 17 pname = "eth-keyfile"; 18 version = "0.9.1"; 19 pyproject = true; 20 21 src = fetchFromGitHub { 22 owner = "ethereum"; 23 repo = "eth-keyfile"; 24 tag = "v${version}"; 25 fetchSubmodules = true; 26 hash = "sha256-DR17EupRDnviN6OXF+B+RlCVdG8cfcvnIgIEKxrXFKs="; 27 }; 28 29 build-system = [ setuptools ]; 30 31 dependencies = [ 32 eth-keys 33 eth-utils 34 pycryptodome 35 py-ecc 36 ]; 37 38 nativeCheckInputs = [ 39 pytestCheckHook 40 pydantic 41 ]; 42 43 pythonImportsCheck = [ "eth_keyfile" ]; 44 45 disabledTests = [ 46 "test_install_local_wheel" 47 ]; 48 49 meta = { 50 description = "Tools for handling the encrypted keyfile format used to store private keys"; 51 homepage = "https://github.com/ethereum/eth-keyfile"; 52 changelog = "https://github.com/ethereum/eth-keyfile/blob/v${version}/CHANGELOG.rst"; 53 license = lib.licenses.mit; 54 maintainers = with lib.maintainers; [ hellwolf ]; 55 }; 56}