--- id: etils version: "1.14.0" license: unclear license_treatment: permissive maintenance: active --- # etils — Collection of common python utils License: permissive · Maintenance: active · Downloads: 9.6M/mo ## 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 above — 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 pip install etils uv add etils poetry add etils ## Installing 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_current - Install friction: low - Maintenance: active - Downloads: 9.6M/month (top 5,000 on PyPI) - Known vulnerabilities: none known ## Tags python utility library modular, pathlib for cloud storage, tree utilities nested structures, numpy array type annotations, jax tensorflow utils, dataclass helpers, python convenience functions, modular-utilities, cloud-storage, machine-learning [View on SkillFed](https://skillfed.io/packages/etils) · [View on PyPI](https://pypi.org/project/etils/)