1{ 2 lib, 3 buildPythonPackage, 4 fetchFromGitHub, 5 rustPlatform, 6 libiconv, 7 pytestCheckHook, 8}: 9 10buildPythonPackage rec { 11 pname = "graspologic-native"; 12 version = "1.2.1"; 13 pyproject = true; 14 15 src = fetchFromGitHub { 16 owner = "graspologic-org"; 17 repo = "graspologic-native"; 18 tag = version; 19 hash = "sha256-fgiBUzYBerYX59uj+I0Yret94vA+FpQK+MckskCBqj4="; 20 }; 21 22 cargoDeps = rustPlatform.importCargoLock { lockFile = ./Cargo.lock; }; 23 24 postPatch = '' 25 ln -s ${./Cargo.lock} Cargo.lock 26 ''; 27 28 buildAndTestSubdir = "packages/pyo3"; 29 30 nativeBuildInputs = [ rustPlatform.cargoSetupHook ]; 31 32 buildInputs = [ libiconv ]; 33 34 build-system = [ rustPlatform.maturinBuildHook ]; 35 36 pythonImportsCheck = [ "graspologic_native" ]; 37 38 nativeCheckInputs = [ pytestCheckHook ]; 39 40 preCheck = '' 41 cd packages/pyo3 42 ''; 43 44 meta = with lib; { 45 description = "Library of rust components to add additional capability to graspologic a python library for intelligently building networks and network embeddings, and for analyzing connected data"; 46 homepage = "https://github.com/graspologic-org/graspologic-native"; 47 license = licenses.mit; 48 maintainers = with maintainers; [ natsukium ]; 49 }; 50}