# 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.*
Raw data
{
"_id": null,
"home_page": "",
"name": "etils",
"maintainer": "",
"docs_url": null,
"requires_python": ">=3.11",
"maintainer_email": "",
"keywords": "utils,jax,tensorflow,tf,machine learning,deep learning",
"author": "",
"author_email": "Conchylicultor <etils@google.com>",
"download_url": "https://files.pythonhosted.org/packages/7f/f5/c93520360736e5ead36a36349a1010d483b64533ffce759e7d1eb443f70d/etils-1.8.0.tar.gz",
"platform": null,
"description": "# Etils\n\n[![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)\n[![PyPI version](https://badge.fury.io/py/etils.svg)](https://badge.fury.io/py/etils)\n[![Documentation Status](https://readthedocs.org/projects/etils/badge/?version=latest)](https://etils.readthedocs.io/en/latest/?badge=latest)\n\netils (eclectic utils) is an open-source collection of utils for python.\n\nEach top-level submodule is a **self-contained independent** module (with its\nown `BUILD` rule), meant to be imported individually. To avoid collisions with\nother modules/variables, module names are prefixed by `e` (arbitrary\nconvention):\n\n```python\nfrom etils import epath # Path utils\nfrom etils import epy # Python utils\nfrom etils import ejax # Jax utils\n...\n```\n\nBecauses each module is independent, only the minimal required libraries are\nimported (for example, importing `epy` won't suffer the cost of importing TF,\njax,...)\n\n## Documentation\n\n* [`etils.epath`](https://etils.readthedocs.io/en/latest/epath.html): pathlib-like API for `gs://`, `s3://`,...\n* [`etils.etree`](https://etils.readthedocs.io/en/latest/etree.html): Tree utils for `tf.nest`, `jax.tree_utils`, DeepMind `tree`.\n* [`etils.enp`](https://etils.readthedocs.io/en/latest/enp.html): Numpy utils.\n* [`etils.ecolab`](https://etils.readthedocs.io/en/latest/ecolab.html): Colab utils.\n* [`etils.array_types`](https://etils.readthedocs.io/en/latest/array_types.html): Typing annotations for jax, numpy,... arrays\n* [`etils.edc`](https://etils.readthedocs.io/en/latest/edc.html): Dataclasses utils.\n* [`etils.epy`](https://etils.readthedocs.io/en/latest/epy.html): Collection of generic python utils.\n* [`etils.eapp`](https://etils.readthedocs.io/en/latest/eapp.html): Absl flags/app utils.\n* [API design guide](https://etils.readthedocs.io/en/latest/api-design.html).\n\n## Installation\n\nBecause each module is independent and require different dependencies, you\ncan select which modules deps to install:\n\n```sh\npip install etils[array_types,epath,epy]\n```\n\n*This is not an official Google product.*\n\n",
"bugtrack_url": null,
"license": "",
"summary": "Collection of common python utils",
"version": "1.8.0",
"project_urls": {
"changelog": "https://github.com/google/etils/blob/main/CHANGELOG.md",
"documentation": "https://etils.readthedocs.io",
"homepage": "https://github.com/google/etils",
"repository": "https://github.com/google/etils"
},
"split_keywords": [
"utils",
"jax",
"tensorflow",
"tf",
"machine learning",
"deep learning"
],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "d03c784b5f94bcad62a4167f2347fe1095b627433c22a54aecc4504237494b81",
"md5": "01fb6d6f65c353cde936caa25f46c38b",
"sha256": "f31d7f27a889457eaa44eab18ce836d24fd6d40dbbb167d38879b7296f6456ea"
},
"downloads": -1,
"filename": "etils-1.8.0-py3-none-any.whl",
"has_sig": false,
"md5_digest": "01fb6d6f65c353cde936caa25f46c38b",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.11",
"size": 156121,
"upload_time": "2024-03-19T15:36:29",
"upload_time_iso_8601": "2024-03-19T15:36:29.497690Z",
"url": "https://files.pythonhosted.org/packages/d0/3c/784b5f94bcad62a4167f2347fe1095b627433c22a54aecc4504237494b81/etils-1.8.0-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "7ff5c93520360736e5ead36a36349a1010d483b64533ffce759e7d1eb443f70d",
"md5": "bbd7b1478ed0596b183d1a3e46e4ac16",
"sha256": "fb478f57fec202e260e54c9192b317692fd63db2d11d993e70bcdffa29cccd58"
},
"downloads": -1,
"filename": "etils-1.8.0.tar.gz",
"has_sig": false,
"md5_digest": "bbd7b1478ed0596b183d1a3e46e4ac16",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.11",
"size": 98325,
"upload_time": "2024-03-19T15:36:31",
"upload_time_iso_8601": "2024-03-19T15:36:31.394697Z",
"url": "https://files.pythonhosted.org/packages/7f/f5/c93520360736e5ead36a36349a1010d483b64533ffce759e7d1eb443f70d/etils-1.8.0.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2024-03-19 15:36:31",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "google",
"github_project": "etils",
"travis_ci": false,
"coveralls": false,
"github_actions": true,
"lcname": "etils"
}