Files

66 lines
1.3 KiB
Nix

{
lib,
buildPythonPackage,
fetchFromGitHub,
# build-system
hatchling,
# tests
jupyter,
nbconvert,
numpy,
parameterized,
pillow,
pytestCheckHook,
torch,
writableTmpDirAsHomeHook,
}:
buildPythonPackage (finalAttrs: {
pname = "einops";
version = "0.8.2";
pyproject = true;
__structuredAttrs = true;
src = fetchFromGitHub {
owner = "arogozhnikov";
repo = "einops";
tag = "v${finalAttrs.version}";
hash = "sha256-d5Vbtkw/MChS2j2IC6j97wfVoKWZT9mU4OeXyEjm6ys=";
};
build-system = [ hatchling ];
nativeCheckInputs = [
jupyter
nbconvert
numpy
parameterized
pillow
pytestCheckHook
torch
writableTmpDirAsHomeHook
];
env.EINOPS_TEST_BACKENDS = "numpy";
pythonImportsCheck = [ "einops" ];
disabledTestPaths = [
# skip folder with notebook samples that depend on large packages
# or accelerator access and have been unreliable
"scripts/"
];
__darwinAllowLocalNetworking = true;
meta = {
description = "Flexible and powerful tensor operations for readable and reliable code";
homepage = "https://github.com/arogozhnikov/einops";
changelog = "https://github.com/arogozhnikov/einops/releases/tag/${finalAttrs.src.tag}";
license = lib.licenses.mit;
maintainers = with lib.maintainers; [ yl3dy ];
};
})