# 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/5d/fa/5a1c28c437e3e076a59583442d4ac3948f88ab416400515be83cd51f6b5e/etils-1.10.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.10.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": "1fe40826dfde2db3fb3a34954323a84d0e6b6fdbc7eb5278c84159c6d43290ac",
"md5": "1f975d3aa3960c56762f5b507791f84b",
"sha256": "0777fe60a234b4c65ca53470fc64f2dd2d0c6bca7fcc623fdaa8d7fa5a317098"
},
"downloads": -1,
"filename": "etils-1.10.0-py3-none-any.whl",
"has_sig": false,
"md5_digest": "1f975d3aa3960c56762f5b507791f84b",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.10",
"size": 164944,
"upload_time": "2024-10-17T08:34:39",
"upload_time_iso_8601": "2024-10-17T08:34:39.673893Z",
"url": "https://files.pythonhosted.org/packages/1f/e4/0826dfde2db3fb3a34954323a84d0e6b6fdbc7eb5278c84159c6d43290ac/etils-1.10.0-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "5dfa5a1c28c437e3e076a59583442d4ac3948f88ab416400515be83cd51f6b5e",
"md5": "a9087640def685eb208d7f7cfe93985d",
"sha256": "4eaa9d7248fd4eeb75e44d47ca29875a5ccea044cc14a17435794bf8ac116a05"
},
"downloads": -1,
"filename": "etils-1.10.0.tar.gz",
"has_sig": false,
"md5_digest": "a9087640def685eb208d7f7cfe93985d",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.10",
"size": 103505,
"upload_time": "2024-10-17T08:34:41",
"upload_time_iso_8601": "2024-10-17T08:34:41.161189Z",
"url": "https://files.pythonhosted.org/packages/5d/fa/5a1c28c437e3e076a59583442d4ac3948f88ab416400515be83cd51f6b5e/etils-1.10.0.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2024-10-17 08:34:41",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "google",
"github_project": "etils",
"travis_ci": false,
"coveralls": false,
"github_actions": true,
"lcname": "etils"
}