Zero-dependency, single-file Python implementations of popular libraries
Project description
zerodep
Zero-dependency, single-file Python implementations of popular libraries — stdlib only, Python 3.10+.
零依赖、单文件的 Python 常用库实现 —— 仅使用标准库,支持 Python 3.10+。
Quick Start
pip install zerodep # install the CLI
zerodep add yaml retry # copy modules into your project
from yaml import load, dump
data = load("name: Alice\nage: 30")
print(data) # {'name': 'Alice', 'age': 30}
Each module is a self-contained single .py file — copy it into your project and import. No pip install needed at runtime.
Modules
Agent Protocols
| Module | Description | Benchmark Against |
|---|---|---|
jsonrpc/ |
JSON-RPC 2.0 protocol: data types, dispatcher, async transport | jsonrpcserver |
a2a/ |
Google A2A protocol: JSON-RPC 2.0, SSE streaming, task management | a2a-python |
acp/ |
Anthropic ACP protocol: JSON-RPC 2.0 over stdio, async client/agent | acp-python |
skills/ |
Agent Skills runtime: parse, discover, manage, select skills | — |
Web & Networking
| Module | Description | Benchmark Against |
|---|---|---|
httpclient/ |
Sync + async REST client with connection pooling, proxy, and auth | httpx |
sse/ |
Server-Sent Events client with auto-reconnect | httpx-sse |
Data Formats
| Module | Description | Benchmark Against |
|---|---|---|
xml/ |
XML ↔ dict converter with fault-tolerant parsing and LLM tag extraction | xmltodict |
yaml/ |
YAML parser and serializer (common subset) | PyYAML |
jsonc/ |
JSONC parser (JSON with comments and trailing commas) | commentjson |
toon/ |
TOON (Token-Oriented Object Notation) encoder/decoder | toon_format |
frontmatter/ |
Frontmatter parser and serializer (YAML/TOML/JSON) | python-frontmatter |
Data Validation
| Module | Description | Benchmark Against |
|---|---|---|
validate/ |
Runtime TypedDict/dataclass validator with JSON Schema generation | pydantic |
semver/ |
PEP 440 version parser and comparator | packaging |
Text & Markup
| Module | Description | Benchmark Against |
|---|---|---|
markdown/ |
Markdown → HTML renderer (CommonMark subset + GFM tables) | mistune |
soup/ |
HTML parser with BeautifulSoup-like API (find, select, CSS selectors) | beautifulsoup4 |
diff/ |
Unified diff parser, patch apply/reverse, three-way merge | unidiff |
Search & Retrieval
| Module | Description | Benchmark Against |
|---|---|---|
search/ |
BM25/BM25+/BM25L/BM25F + TF-IDF full-text search with Bayesian calibration | rank-bm25 |
Configuration
| Module | Description | Benchmark Against |
|---|---|---|
dotenv/ |
.env file parser (load_dotenv, dotenv_values) | python-dotenv |
config/ |
Unified config loader (env vars, .env, JSON/YAML/TOML/INI) | python-decouple |
CLI & Terminal
| Module | Description | Benchmark Against |
|---|---|---|
ansi/ |
ANSI terminal styling: colors, attributes, detection, strip/visible_len | — |
tabulate/ |
Table formatting with multiple output styles | tabulate |
prompt/ |
Interactive CLI prompts (confirm, select, text) | questionary |
Security
| Module | Description | Benchmark Against |
|---|---|---|
aes/ |
AES encryption: ECB, CBC, CTR, GCM modes (pure Python + OpenSSL via ctypes) | pycryptodome |
Infrastructure & Tools
| Module | Description | Benchmark Against |
|---|---|---|
cache/ |
In-memory cache with TTL, LRU/LFU eviction, sync + async decorators | — |
retry/ |
Retry decorator with configurable backoff strategies | tenacity |
scheduler/ |
In-process task scheduler with cron, interval, one-shot triggers | APScheduler |
structlog/ |
Structured logging with pretty console output | structlog |
runner/ |
Structured subprocess execution with timeout escalation | — |
vcs/ |
Git/Hg/Jujutsu CLI wrapper (diff, status, log, blame) | — |
filelock/ |
Cross-platform advisory file lock (fcntl/msvcrt) | — |
qr/ |
QR Code generation with terminal rendering | qrcode |
Documentation
- English: zerodep.readthedocs.io/en/
- 中文: zerodep.readthedocs.io/zh-cn/
License
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file zerodep-0.4.1.tar.gz.
File metadata
- Download URL: zerodep-0.4.1.tar.gz
- Upload date:
- Size: 12.2 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.10.20
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
dada66e8ae20de9bae804ac5bce7832d4088fdafad91755ad93e3246d50f88da
|
|
| MD5 |
40bbcdc3a35920276aaa1f0c7db33e12
|
|
| BLAKE2b-256 |
64d820c522d1c979f2ef91e312edb3690286ee862d35b269276001e660f295f7
|
File details
Details for the file zerodep-0.4.1-py3-none-any.whl.
File metadata
- Download URL: zerodep-0.4.1-py3-none-any.whl
- Upload date:
- Size: 11.1 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.10.20
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
8b4b7b39cad5c505c94e64014cb897cbe9ced85d929c62deb28c3bae95ce0011
|
|
| MD5 |
f870f9a7aedbf920bb62c5fb6d5f85fe
|
|
| BLAKE2b-256 |
27a2cc56052bb0db3e1be3bc3f1eb40c615ce16590a4bc76d451309062ef5828
|