5083ee08a2
GitOrigin-RevId: 10ecda252ce1b3b1d6403caeadbcc8f30d5ab796
89 lines
1.9 KiB
Nix
89 lines
1.9 KiB
Nix
{ lib
|
|
, buildPythonPackage
|
|
, fetchPypi
|
|
, pythonOlder
|
|
, flit-core
|
|
|
|
# tests
|
|
, chex
|
|
, jaxlib
|
|
, pytest-subtests
|
|
, pytest-xdist
|
|
, pytestCheckHook
|
|
, yapf
|
|
|
|
# optional
|
|
, jupyter
|
|
, mediapy
|
|
, numpy
|
|
, importlib-resources
|
|
, typing-extensions
|
|
, zipp
|
|
, absl-py
|
|
, tqdm
|
|
, dm-tree
|
|
, jax
|
|
, tensorflow
|
|
}:
|
|
|
|
buildPythonPackage rec {
|
|
pname = "etils";
|
|
version = "0.8.0";
|
|
format = "pyproject";
|
|
|
|
disabled = pythonOlder "3.7";
|
|
|
|
src = fetchPypi {
|
|
inherit pname version;
|
|
hash = "sha256-0dWve9nHhKJzxOHsz6qP6speBIGghxe1MT+iMdoiqQM=";
|
|
};
|
|
|
|
nativeBuildInputs = [
|
|
flit-core
|
|
];
|
|
|
|
passthru.optional-dependencies = rec {
|
|
array-types = enp;
|
|
ecolab = [ jupyter numpy mediapy ] ++ enp ++ epy;
|
|
edc = epy;
|
|
enp = [ numpy ] ++ epy;
|
|
epath = [ importlib-resources typing-extensions zipp ] ++ epy;
|
|
epy = [ typing-extensions ];
|
|
etqdm = [ absl-py tqdm ] ++ epy;
|
|
etree = array-types ++ epy ++ enp ++ etqdm;
|
|
etree-dm = [ dm-tree ] ++ etree;
|
|
etree-jax = [ jax ] ++ etree;
|
|
etree-tf = [ tensorflow etree ] ++ etree;
|
|
all = array-types ++ ecolab ++ edc ++ enp ++ epath ++ epy ++ etqdm
|
|
++ etree ++ etree-dm ++ etree-jax ++ etree-tf;
|
|
};
|
|
|
|
pythonImportsCheck = [
|
|
"etils"
|
|
];
|
|
|
|
checkInputs = [
|
|
chex
|
|
jaxlib
|
|
pytest-subtests
|
|
pytest-xdist
|
|
pytestCheckHook
|
|
yapf
|
|
]
|
|
++ passthru.optional-dependencies.all;
|
|
|
|
disabledTests = [
|
|
"test_repr" # known to fail on Python 3.10, see https://github.com/google/etils/issues/143
|
|
"test_public_access" # requires network access
|
|
"test_resource_path" # known to fail on Python 3.10, see https://github.com/google/etils/issues/143
|
|
];
|
|
|
|
doCheck = false; # error: infinite recursion encountered
|
|
|
|
meta = with lib; {
|
|
description = "Collection of eclectic utils for python";
|
|
homepage = "https://github.com/google/etils";
|
|
license = licenses.asl20;
|
|
maintainers = with maintainers; [ mcwitt ];
|
|
};
|
|
}
|