~ninjin/nixpkgs

0c60eb310e22e4b637a4de750ca51bf4118e75c8 — Samuel Ainsworth 3 months ago 3524da2 + 07ed3ff master
Merge pull request #183052 from mcwitt/squashed/init-etils

python310Packages.etils: init at 0.6.0
2 files changed, 91 insertions(+), 0 deletions(-)

A pkgs/development/python-modules/etils/default.nix
M pkgs/top-level/python-packages.nix
A pkgs/development/python-modules/etils/default.nix => pkgs/development/python-modules/etils/default.nix +89 -0
@@ 0,0 1,89 @@
{ 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.6.0";
  format = "pyproject";

  disabled = pythonOlder "3.7";

  src = fetchPypi {
    inherit pname version;
    hash = "sha256-ZnckEFGDXQ2xHElHvK2Tj1e1HqECKQYk+JLx5OUbcOU=";
  };

  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;
  };

  doCheck = false; # disable tests until https://github.com/NixOS/nixpkgs/issues/185273 is resolved

  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
  ];

  meta = with lib; {
    description = "Collection of eclectic utils for python";
    homepage = "https://github.com/google/etils";
    license = licenses.asl20;
    maintainers = with maintainers; [ mcwitt ];
  };
}

M pkgs/top-level/python-packages.nix => pkgs/top-level/python-packages.nix +2 -0
@@ 2900,6 2900,8 @@ in {

  eth-utils = callPackage ../development/python-modules/eth-utils { };

  etils = callPackage ../development/python-modules/etils { };

  etuples = callPackage ../development/python-modules/etuples { };

  et_xmlfile = callPackage ../development/python-modules/et_xmlfile { };