Files
2026-05-21 13:02:12 +00:00

54 lines
1.5 KiB
Nix

{
lib,
buildPythonPackage,
fetchFromGitHub,
setuptools,
more-itertools,
base58,
pytestCheckHook,
}:
buildPythonPackage (finalAttrs: {
pname = "cyscale";
version = "0.4.0";
pyproject = true;
__structuredAttrs = true;
src = fetchFromGitHub {
owner = "latent-to";
repo = "cyscale";
tag = "v${finalAttrs.version}";
hash = "sha256-QkIyb00/KIVicdX/k3UhjGSvcwQ+yxcSAkMlC7tVpLM=";
};
build-system = [ setuptools ];
dependencies = [
more-itertools
base58
];
nativeCheckInputs = [ pytestCheckHook ];
# test_valid_type_registry_presets walks ../scalecodec/type_registry relative
# to the test file, which no longer exists after removing the source package dir
disabledTests = [ "test_valid_type_registry_presets" ];
# remove source package so tests import the installed Cython extensions, not the .pyx sources
preCheck = ''
rm -rf scalecodec
'';
pythonImportsCheck = [ "scalecodec" ];
meta = {
description = "Cython-accelerated SCALE codec library for Substrate-based blockchains (Polkadot, Kusama, Bittensor, etc.)";
longDescription = "A drop-in replacement for py-scale-codec same scalecodec module name, same public API, compiled with Cython for improved throughput.";
homepage = "https://github.com/latent-to/cyscale";
changelog = "https://github.com/latent-to/cyscale/releases/tag/${finalAttrs.src.tag}";
license = lib.licenses.asl20;
maintainers = with lib.maintainers; [ kilyanni ];
};
})