etils
Collection of common python utils
What it is and what it does
Etils is a collection of independent utility submodules designed to be imported individually, each providing specialized tools without forcing you to install unrelated dependencies. The package includes tools for pathlib-like access to cloud storage (gs://, s3://), tree utilities for nested structures, numpy and array type annotations, dataclass helpers, and generic Python utilities. Because each submodule is self-contained, importing epy won't pull in TensorFlow or JAX unless you explicitly install those extras.
The package is actively maintained, has no mandatory runtime dependencies, and uses a permissive Apache license. It targets Python 3.11 and later and is positioned for developers working with machine learning frameworks and scientific computing who want lightweight, à la carte utilities rather than a monolithic dependency.
Use it for:
- Use etils.epath to work with cloud storage paths (gs://, s3://) with a pathlib-like interface.
- Use etils.etree to manipulate nested structures compatible with tf.nest, jax.tree_utils, or DeepMind tree.
- Use etils.array_types to add type annotations for JAX, NumPy, and other array libraries in your codebase.
- Use etils.edc for dataclass utilities and helpers when building machine learning pipelines.
- Use etils.epy for generic Python utilities without pulling in framework-specific dependencies.
Worth the install?
AI-flagged interpretation of the facts on this page — verify before relying
A modular collection of utility submodules for Python, each independently importable to provide specialized tools for paths, trees, arrays, dataclasses, and machine learning workflows without forcing unnecessary dependencies.
Yes. Low install friction, no mandatory dependencies, active maintenance, permissive licensing, and a modular design that lets you pull in only what you need make this a practical choice for Python developers, especially those in machine learning and scientific computing. The lack of security vulnerabilities and top-5000 popularity tier reinforce its stability.
Install
etils on PyPI
pip
pip install etilsuv
uv add etilspoetry
poetry add etilsInstalling etils
Before you install
Low friction installation with no runtime dependencies; actively maintained with recent commits and a permissive license. The modular design means you install only what you need via optional extras.
License in practice
Permissive license (Apache Software License per classifiers) means you can use this freely in commercial and private projects with minimal restrictions.
Quickstart
pip install etils[epath,epy]
from etils import epath
from etils import epy
Requires Python 3.11 or later.
Verify before relying
- Whether importing unused submodules (e.g., ejax without jax installed) raises errors or gracefully degrades.
- Performance characteristics and memory overhead of the modular import system at scale.
Package facts
| License | not declared (permissive) |
| Python support | supports the current Python release (>=3.11) |
| Install friction | low — pure-Python wheel |
| Runtime dependencies | none |
| Maintenance | actively maintained — 163 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 9,560,316/month — #1,525 on PyPI (30-day window, as of 2026-08-14) |
| Known vulnerabilities | none known (OSV.dev, checked 2026-08-14) |
Evidence: etils-1.14.0-py3-none-any.whl
Keywords: utils, jax, tensorflow, tf, machine learning, deep learning
Tags
More Python Modules packages
Converts domain names between Unicode and…
permissive · top 100 on PyPI
setuptoolsSetuptools is a Python build backend and…
permissive · top 100 on PyPI
PyYAMLPyYAML parses and emits YAML 1.1 data format,…
permissive · top 100 on PyPI
pydanticPydantic validates Python data structures…
permissive · top 100 on PyPI
annotated-typesProvides reusable metadata objects for use with…
permissive · top 100 on PyPI
typing-inspectionProvides runtime tools to inspect and…
permissive · top 100 on PyPI
lamin_utilsProvides utility functions and helpers for…
permissive · top 15,000 on PyPI
pygnuutilsProvides pure Python implementations of GNU…
copyleft · top 15,000 on PyPI
sensai-utilsProvides general-purpose utility classes…
permissive · top 15,000 on PyPI
bpyutilsProvides a collection of common Python…
permissive · top 5,000 on PyPI
absl-pyProvides Google's production-tested Python…
permissive · top 1,000 on PyPI
msbench-utilsProvides utility functions and helpers for…
permissive · top 15,000 on PyPI
dacktoolDacktool provides unspecified Python utilities…
permissive · top 15,000 on PyPI
autorayAutoray provides automatic dispatch of array…
permissive · top 15,000 on PyPI
torch-einops-utilsProvides utility functions for PyTorch and…
permissive · top 15,000 on PyPI
chexChex provides utilities for writing reliable…
permissive · top 5,000 on PyPI