# 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": 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/85/28/8a4d0614a7864c1c703f848dedb69d2f532a623ffb0159e390c06ad20279/etils-1.11.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": null,
"summary": "Collection of common python utils",
"version": "1.11.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": "4f4aff8aa2c57300613b69905308c5afe92c5b01112d766c25a305fd6796170a",
"md5": "2678e87b49f81ebcaafde518bc03e608",
"sha256": "a394cf3476bcec51c221426a70c39cd1006e889456ba41e4d7f12fd6814be7a5"
},
"downloads": -1,
"filename": "etils-1.11.0-py3-none-any.whl",
"has_sig": false,
"md5_digest": "2678e87b49f81ebcaafde518bc03e608",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.10",
"size": 165419,
"upload_time": "2024-11-27T16:01:51",
"upload_time_iso_8601": "2024-11-27T16:01:51.278957Z",
"url": "https://files.pythonhosted.org/packages/4f/4a/ff8aa2c57300613b69905308c5afe92c5b01112d766c25a305fd6796170a/etils-1.11.0-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "85288a4d0614a7864c1c703f848dedb69d2f532a623ffb0159e390c06ad20279",
"md5": "42a809810bbf16a8b966cfadd184519e",
"sha256": "aff3278a3be7fddf302dfd80335e9f924244666c71239cd91e836f3d055f1c4a"
},
"downloads": -1,
"filename": "etils-1.11.0.tar.gz",
"has_sig": false,
"md5_digest": "42a809810bbf16a8b966cfadd184519e",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.10",
"size": 103610,
"upload_time": "2024-11-27T16:01:53",
"upload_time_iso_8601": "2024-11-27T16:01:53.264116Z",
"url": "https://files.pythonhosted.org/packages/85/28/8a4d0614a7864c1c703f848dedb69d2f532a623ffb0159e390c06ad20279/etils-1.11.0.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2024-11-27 16:01:53",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "google",
"github_project": "etils",
"travis_ci": false,
"coveralls": false,
"github_actions": true,
"lcname": "etils"
}