# Etils
[](https://github.com/google/etils/actions/workflows/pytest_and_autopublish.yml)
[](https://badge.fury.io/py/etils)
[](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": null,
"name": "etils",
"maintainer": null,
"docs_url": null,
"requires_python": ">=3.10",
"maintainer_email": null,
"keywords": "utils, jax, tensorflow, tf, machine learning, deep learning",
"author": null,
"author_email": "Conchylicultor <etils@google.com>",
"download_url": "https://files.pythonhosted.org/packages/6a/f4/1b64bc8088adfeb421bb220cac71a7696a31e89c24c6f8a89a0d2427ab6a/etils-1.12.0.tar.gz",
"platform": null,
"description": "# Etils\n\n[](https://github.com/google/etils/actions/workflows/pytest_and_autopublish.yml)\n[](https://badge.fury.io/py/etils)\n[](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": null,
"summary": "Collection of common python utils",
"version": "1.12.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": null,
"digests": {
"blake2b_256": "0583bb4a4518bfa32a160dc455d8d944a6e00a7eb6759f449cb20c7b7879090e",
"md5": "2fefc79b27c482be0e2640da5c5a6767",
"sha256": "f80c2ff4289cc504b58b7e7a9f9db8b373a33227e43694a66808bcc81e51ffb8"
},
"downloads": -1,
"filename": "etils-1.12.0-py3-none-any.whl",
"has_sig": false,
"md5_digest": "2fefc79b27c482be0e2640da5c5a6767",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.10",
"size": 166570,
"upload_time": "2025-02-08T22:43:31",
"upload_time_iso_8601": "2025-02-08T22:43:31.187366Z",
"url": "https://files.pythonhosted.org/packages/05/83/bb4a4518bfa32a160dc455d8d944a6e00a7eb6759f449cb20c7b7879090e/etils-1.12.0-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "6af41b64bc8088adfeb421bb220cac71a7696a31e89c24c6f8a89a0d2427ab6a",
"md5": "59ce92b13d22d7bcbb2adc5d73590f7d",
"sha256": "67aa7d549f9bee7851e07fbf0e099232b7f867c2825f468d7cbe728ab0d01bd8"
},
"downloads": -1,
"filename": "etils-1.12.0.tar.gz",
"has_sig": false,
"md5_digest": "59ce92b13d22d7bcbb2adc5d73590f7d",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.10",
"size": 104245,
"upload_time": "2025-02-08T22:43:33",
"upload_time_iso_8601": "2025-02-08T22:43:33.269780Z",
"url": "https://files.pythonhosted.org/packages/6a/f4/1b64bc8088adfeb421bb220cac71a7696a31e89c24c6f8a89a0d2427ab6a/etils-1.12.0.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2025-02-08 22:43:33",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "google",
"github_project": "etils",
"travis_ci": false,
"coveralls": false,
"github_actions": true,
"lcname": "etils"
}