easydev
Common utilities to ease development of Python packages
What it is and what it does
easydev is a utility library that bundles commonly-needed helper functions for Python package development. It covers parameter validation (checking values against allowed lists or ranges), dictionary access patterns (nested attribute-style access), colored logging output, progress bars that work in terminals and Jupyter notebooks, timing and profiling decorators, INI-style configuration file parsing, subprocess/shell command wrappers, file operations, and a multiprocessing job queue. The package depends on colorama, colorlog, pexpect, platformdirs, and line-profiler to provide these capabilities.
It's designed as a convenience layer to avoid reimplementing these patterns across multiple projects. The library has been in active development since 2013 and serves as a foundation for other packages in the scientific Python ecosystem. It supports Python 3.9 through 3.14 and is actively maintained.
Use it for:
- Validate user input parameters against allowed values or numeric ranges in your application startup
- Add colored, leveled logging to a CLI tool or library with minimal configuration overhead
- Display progress feedback in long-running batch jobs that work across terminal, IPython, and Jupyter environments
- Parse and manage INI-style configuration files for application settings without external config libraries
- Distribute CPU-bound work across multiple processes using a simple job queue interface
- Measure and profile code execution time during development using Timer context managers and decorators
Worth the install?
AI-flagged interpretation of the facts on this page — verify before relying
Provides a collection of utility functions and classes for common Python development tasks including parameter validation, logging, progress tracking, configuration management, multiprocessing, and file operations.
Yes. easydev is a stable, actively maintained utility library with low install friction, permissive licensing, no known vulnerabilities, and broad Python version support. Install it if your project needs any of its bundled utilities—parameter validation, logging, progress bars, config parsing, or multiprocessing—and you want to avoid writing or vendoring these patterns yourself. The 5 runtime dependencies are all lightweight and well-established.
Install
easydev on PyPI
pip
pip install easydevuv
uv add easydevpoetry
poetry add easydevInstalling easydev
Before you install
Low install friction with a pure Python wheel distribution. Actively maintained with a release 165 days ago and recent repository activity. Supports modern Python versions 3.9 through 3.14.
License in practice
BSD-3-Clause permissive license allows use in most projects, including commercial, with minimal restrictions beyond attribution and liability disclaimer.
Quickstart
pip install easydev
from easydev import check_param_in_list, AttrDict, Logging
check_param_in_list("on", ["on", "off"])
d = AttrDict(server={"host": "localhost"})
logger = Logging("myapp", "INFO")
Verify before relying
- Whether colorlog and colorama are used for terminal output or if they are optional dependencies
- Performance characteristics of the MultiProcessing class compared to standard multiprocessing module
- Whether pexpect is required for all shell command features or only for specific use cases
Package facts
| License | BSD-3-Clause (permissive) |
| Python support | supports the current Python release (<4.0,>=3.8) |
| Install friction | low — pure-Python wheel |
| Runtime dependencies | 5 — colorama, colorlog, pexpect, platformdirs, line-profiler |
| Maintenance | actively maintained — 165 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 109,255/month — #12,524 on PyPI (30-day window, as of 2026-08-14) |
| Known vulnerabilities | none known (OSV.dev, checked 2026-08-14) |
Evidence: easydev-0.14.0-py3-none-any.whl
Keywords: config, decorators, development
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
audeeraudeer provides a collection of lightweight…
permissive · top 15,000 on PyPI
progressProvides terminal progress bars and spinners…
permissive · top 5,000 on PyPI
progressbar2progressbar2 renders text-based progress bars…
permissive · top 5,000 on PyPI
tqdm-loggableConverts tqdm progress bars to logging-friendly…
permissive · top 5,000 on PyPI
codetimingMeasures elapsed time in Python code using a…
permissive · top 5,000 on PyPI
p-tqdmp_tqdm wraps pathos and tqdm to apply a…
permissive · top 15,000 on PyPI
clintClint provides command-line interface utilities…
permissive · top 15,000 on PyPI
proglogProglog provides a unified progress logging…
permissive · top 5,000 on PyPI
tqdm-multiprocessDisplays multiple tqdm progress bars from…
permissive · top 15,000 on PyPI