Metadata-Version: 2.4
Name: etils
Version: 1.13.0
Summary: Collection of common python utils
Keywords: utils,jax,tensorflow,tf,machine learning,deep learning
Author-email: Conchylicultor <etils@google.com>
Requires-Python: >=3.10
Description-Content-Type: text/markdown
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3 :: Only
Classifier: License :: OSI Approved :: Apache Software License
Classifier: Intended Audience :: Developers
Classifier: Intended Audience :: Science/Research
Classifier: Topic :: Software Development :: Libraries :: Python Modules
License-File: LICENSE
Requires-Dist: etils[array-types] ; extra == "all"
Requires-Dist: etils[eapp] ; extra == "all"
Requires-Dist: etils[ecolab] ; extra == "all"
Requires-Dist: etils[edc] ; extra == "all"
Requires-Dist: etils[enp] ; extra == "all"
Requires-Dist: etils[epath] ; extra == "all"
Requires-Dist: etils[epath-gcs] ; extra == "all"
Requires-Dist: etils[epath-s3] ; extra == "all"
Requires-Dist: etils[epy] ; extra == "all"
Requires-Dist: etils[etqdm] ; extra == "all"
Requires-Dist: etils[etree] ; extra == "all"
Requires-Dist: etils[etree-dm] ; extra == "all"
Requires-Dist: etils[etree-jax] ; extra == "all"
Requires-Dist: etils[etree-tf] ; extra == "all"
Requires-Dist: etils[enp] ; extra == "array-types"
Requires-Dist: pytest ; extra == "dev"
Requires-Dist: pytest-subtests ; extra == "dev"
Requires-Dist: pytest-xdist ; extra == "dev"
Requires-Dist: pyink ; extra == "dev"
Requires-Dist: pylint>=2.6.0 ; extra == "dev"
Requires-Dist: chex ; extra == "dev"
Requires-Dist: fiddle ; extra == "dev"
Requires-Dist: torch ; extra == "dev"
Requires-Dist: optree ; extra == "dev"
Requires-Dist: tensorflow_datasets ; extra == "dev"
Requires-Dist: pydantic ; extra == "dev"
Requires-Dist: sphinx-apitree[ext] ; extra == "docs"
Requires-Dist: etils[dev, all] ; extra == "docs"
Requires-Dist: absl-py ; extra == "eapp"
Requires-Dist: simple_parsing ; extra == "eapp"
Requires-Dist: etils[epy] ; extra == "eapp"
Requires-Dist: jupyter ; extra == "ecolab"
Requires-Dist: numpy ; extra == "ecolab"
Requires-Dist: mediapy ; extra == "ecolab"
Requires-Dist: packaging ; extra == "ecolab"
Requires-Dist: protobuf ; extra == "ecolab"
Requires-Dist: etils[enp] ; extra == "ecolab"
Requires-Dist: etils[epy] ; extra == "ecolab"
Requires-Dist: etils[etree] ; extra == "ecolab"
Requires-Dist: etils[epy] ; extra == "edc"
Requires-Dist: numpy ; extra == "enp"
Requires-Dist: einops ; extra == "enp"
Requires-Dist: etils[epy] ; extra == "enp"
Requires-Dist: fsspec ; extra == "epath"
Requires-Dist: importlib_resources ; extra == "epath"
Requires-Dist: typing_extensions ; extra == "epath"
Requires-Dist: zipp ; extra == "epath"
Requires-Dist: etils[epy] ; extra == "epath"
Requires-Dist: gcsfs ; extra == "epath-gcs"
Requires-Dist: etils[epath] ; extra == "epath-gcs"
Requires-Dist: s3fs ; extra == "epath-s3"
Requires-Dist: etils[epath] ; extra == "epath-s3"
Requires-Dist: typing_extensions ; extra == "epy"
Requires-Dist: absl-py ; extra == "etqdm"
Requires-Dist: tqdm ; extra == "etqdm"
Requires-Dist: etils[epy] ; extra == "etqdm"
Requires-Dist: etils[array-types] ; extra == "etree"
Requires-Dist: etils[epy] ; extra == "etree"
Requires-Dist: etils[enp] ; extra == "etree"
Requires-Dist: etils[etqdm] ; extra == "etree"
Requires-Dist: dm-tree ; extra == "etree-dm"
Requires-Dist: etils[etree] ; extra == "etree-dm"
Requires-Dist: jax[cpu] ; extra == "etree-jax"
Requires-Dist: etils[etree] ; extra == "etree-jax"
Requires-Dist: tensorflow ; extra == "etree-tf"
Requires-Dist: etils[etree] ; extra == "etree-tf"
Requires-Dist: etils[ecolab] ; extra == "lazy-imports"
Project-URL: changelog, https://github.com/google/etils/blob/main/CHANGELOG.md
Project-URL: documentation, https://etils.readthedocs.io
Project-URL: homepage, https://github.com/google/etils
Project-URL: repository, https://github.com/google/etils
Provides-Extra: all
Provides-Extra: array-types
Provides-Extra: dev
Provides-Extra: docs
Provides-Extra: eapp
Provides-Extra: ecolab
Provides-Extra: edc
Provides-Extra: enp
Provides-Extra: epath
Provides-Extra: epath-gcs
Provides-Extra: epath-no-tf
Provides-Extra: epath-s3
Provides-Extra: epy
Provides-Extra: etqdm
Provides-Extra: etree
Provides-Extra: etree-dm
Provides-Extra: etree-jax
Provides-Extra: etree-tf
Provides-Extra: lazy-imports

# Etils

[![Unittests](https://github.com/google/etils/actions/workflows/pytest_and_autopublish.yml/badge.svg)](https://github.com/google/etils/actions/workflows/pytest_and_autopublish.yml)
[![PyPI version](https://badge.fury.io/py/etils.svg)](https://badge.fury.io/py/etils)
[![Documentation Status](https://readthedocs.org/projects/etils/badge/?version=latest)](https://etils.readthedocs.io/en/latest/?badge=latest)

etils (eclectic utils) is an open-source collection of utils for python.

Each top-level submodule is a **self-contained independent** module (with its
own `BUILD` rule), meant to be imported individually. To avoid collisions with
other modules/variables, module names are prefixed by `e` (arbitrary
convention):

```python
from etils import epath  # Path utils
from etils import epy  # Python utils
from etils import ejax  # Jax utils
...
```

Becauses each module is independent, only the minimal required libraries are
imported (for example, importing `epy` won't suffer the cost of importing TF,
jax,...)

## Documentation

* [`etils.epath`](https://etils.readthedocs.io/en/latest/epath.html): pathlib-like API for `gs://`, `s3://`,...
* [`etils.etree`](https://etils.readthedocs.io/en/latest/etree.html): Tree utils for `tf.nest`, `jax.tree_utils`, DeepMind `tree`.
* [`etils.enp`](https://etils.readthedocs.io/en/latest/enp.html): Numpy utils.
* [`etils.ecolab`](https://etils.readthedocs.io/en/latest/ecolab.html): Colab utils.
* [`etils.array_types`](https://etils.readthedocs.io/en/latest/array_types.html): Typing annotations for jax, numpy,... arrays
* [`etils.edc`](https://etils.readthedocs.io/en/latest/edc.html): Dataclasses utils.
* [`etils.epy`](https://etils.readthedocs.io/en/latest/epy.html): Collection of generic python utils.
* [`etils.eapp`](https://etils.readthedocs.io/en/latest/eapp.html): Absl flags/app utils.
*  [API design guide](https://etils.readthedocs.io/en/latest/api-design.html).

## Installation

Because each module is independent and require different dependencies, you
can select which modules deps to install:

```sh
pip install etils[array_types,epath,epy]
```

*This is not an official Google product.*

