Clone of https://github.com/NixOS/nixpkgs.git (to stress-test knotserver)
1{ 2 lib, 3 buildPythonPackage, 4 dataclasses-json, 5 fetchFromGitHub, 6 fetchpatch, 7 limiter, 8 pythonOlder, 9 requests, 10 responses, 11 setuptools, 12}: 13 14buildPythonPackage rec { 15 pname = "spyse-python"; 16 version = "2.2.3"; 17 pyproject = true; 18 19 disabled = pythonOlder "3.8"; 20 21 src = fetchFromGitHub { 22 owner = "spyse-com"; 23 repo = "spyse-python"; 24 rev = "refs/tags/v${version}"; 25 hash = "sha256-c7BAJOplWNcd9v7FrEZuMHHdMpqtHljF7YpbdQYAMxA="; 26 }; 27 28 patches = [ 29 # Update limiter import and rate limit, https://github.com/spyse-com/spyse-python/pull/11 30 (fetchpatch { 31 name = "support-later-limiter.patch"; 32 url = "https://github.com/spyse-com/spyse-python/commit/ff68164c514dfb28ab77d8690b3a5153962dbe8c.patch"; 33 hash = "sha256-PoWPJCK/Scsh4P7lr97u4JpVHXNlY0C9rJgY4TDYmv0="; 34 }) 35 ]; 36 37 postPatch = '' 38 substituteInPlace setup.py \ 39 --replace "'dataclasses~=0.6'," "" \ 40 --replace "dataclasses-json~=0.5.4" "dataclasses-json>=0.5.4" \ 41 --replace "responses~=0.13.3" "responses>=0.13.3" \ 42 --replace "limiter~=0.1.2" "limiter>=0.1.2" \ 43 --replace "requests~=2.26.0" "requests>=2.26.0" 44 ''; 45 46 nativeBuildInputs = [ setuptools ]; 47 48 propagatedBuildInputs = [ 49 requests 50 dataclasses-json 51 responses 52 limiter 53 ]; 54 55 # Tests requires an API token 56 doCheck = false; 57 58 pythonImportsCheck = [ "spyse" ]; 59 60 meta = with lib; { 61 description = "Python module for spyse.com API"; 62 homepage = "https://github.com/spyse-com/spyse-python"; 63 changelog = "https://github.com/spyse-com/spyse-python/releases/tag/v${version}"; 64 license = with licenses; [ mit ]; 65 maintainers = with maintainers; [ fab ]; 66 }; 67}