Observed since 20 Oct, 19:32 UTC
No superseded metadata states collected. Unchanged observations do not create new revisions.
One import for the whole toolbox - every package I use, lazily loaded.
One import for the whole toolbox.
import adipro as ap
df = ap.pd.read_csv("rows.csv")
soup = ap.BeautifulSoup(ap.requests.get(url).text, "lxml")
doc = ap.Document()
ap.load_dotenv()
No import block at the top of every script, and one pip install on a new
machine instead of forty.
pip install adipro
That installs everything — all 50 packages, every group below. On a machine where you only need a slice of it:
pip install adipro[scraping] # bs4, lxml, cloudscraper, curl_cffi, ddgs, ...
pip install adipro[llm] # openai, groq, anthropic, langgraph, tiktoken, ...
pip install adipro[docs] # python-docx, python-pptx, openpyxl, pdf
pip install adipro[browser] # playwright, selenium
pip install adipro[media] # gTTS, edge-tts, pillow, lameenc
pip install adipro[data] # gspread, pyodbc
pip install adipro[cloud] # boto3
pip install adipro[app] # fastapi, streamlit, gradio, pydantic, ...
Development install:
git clone <this repo> && cd adipro
pip install -e ".[dev]"
pytest
import adipro takes about 4 ms whether you have 5 packages installed or 50.
Aliases resolve on first attribute access and are cached afterwards, so
ap.pd imports pandas once and every later ap.pd is a dict lookup.
Two things follow from that:
A missing package only breaks the line that needs it. If playwright
failed to build on this machine, ap.pd still works fine.
You get told how to fix it, not a bare traceback:
MissingPackage: adipro.sync_playwright needs 'playwright', which is not installed.
pip install adipro[browser] # the whole browser group
pip install playwright # just this one
ap.search("pdf") # {'PdfReader': 'pypdf:PdfReader', 'open_pdf': ..., ...}
ap.doctor() # what is installed, what is missing, how to fix it
ap.loaded() # aliases resolved so far this process
dir(ap) # every alias — tab-completion works in Jupyter
From the shell:
python -m adipro # health report
python -m adipro pdf # search aliases
| Style | Lazy? | Use it? |
|---|---|---|
import adipro as ap then ap.pd | yes | preferred |
from adipro import pd, requests | yes | fine |
from adipro import * | no | stdlib + core only, on purpose |
from adipro import * is deliberately limited to the stdlib and core aliases —
the ones a base install guarantees are present. Star-importing the heavy groups
would have to load all of them eagerly and would die if any single one were
missing, so __all__ leaves them out. Reach for them through ap..
| Group | Packages |
|---|---|
stdlib | Path, json, re, os, dt, defaultdict, dataclass, ThreadPoolExecutor, sha256, urljoin, … — no install needed |
core | pandas, numpy, requests, httpx, python-dotenv, rich, tqdm |
scraping | beautifulsoup4, lxml, cloudscraper, curl_cffi, ddgs, feedparser, readability-lxml, ftfy, dateparser, rapidfuzz, pycryptodome |
browser | playwright, selenium |
llm | openai, groq, anthropic, google-generativeai, langgraph, langchain-google-genai, langchain-groq, langchain-text-splitters, tiktoken |
docs | python-docx, python-pptx, openpyxl, pdfplumber, pypdf |
data | gspread, pyodbc |
media | gTTS, edge-tts, pillow, lameenc |
cloud | boto3 |
app | fastapi, uvicorn, pydantic, streamlit, gradio, schedule, aiohttp, nest-asyncio |
Run python -m adipro for the live list with install status.
Two edits, in this order:
src/adipro/_registry.py — its import root and
pip name under packages, and the aliases you want under aliases.dependencies and all in
pyproject.toml.tests/test_adipro.py::test_registry_matches_pyproject fails if you do one and
forget the other, and test_every_installed_alias_resolves fails if an alias
points at a module path or attribute that does not exist.
google-generativeai is end-of-life upstream. It still works and is
still in the llm group because it is what is installed, but Google has
stopped updating it in favour of google-genai (from google import genai).
Worth migrating when convenient; the alias is ap.genai.Document
is ap.ReadabilityDoc, because python-docx already owns ap.Document.MIT
Download counts and popularity will appear here as the collector receives them.
| Version | Published | Direct dependencies | Open version |
|---|---|---|---|
| 0.1.0 | 25 Aug 2026 | 54 |
This describes our collected data; it is not a security assessment.
Observed since 20 Oct, 19:32 UTC
No superseded metadata states collected. Unchanged observations do not create new revisions.
package:d52ce0a3e26ce7934465700da96356fb6dcfdeb7f20a784cf9fdd78f9d181dd3