Dynamic Graphics python libraries, home of:
- Callable modules and packages
- Recursive list/gen comprehensions
- Nutty decorators
- Secret agent JSON Bourne
- The best package names around
- Notebooks with funky python
- Dynamic imports
libs
├── aiopen
├── asyncify
├── funkify
├── h5
├── jsonbourne
├── lager
├── requires
└── xtyping
aiopen ~ pip install aiopen
~
asyncify ~ pip install asyncify
~
funkify ~ pip install funkify
~
h5 ~ pip install h5
~
jsonbourne ~ pip install jsonbourne
~
lager ~ pip install lager
~
requires ~ pip install requires
~
xtyping ~ pip install xtyping
~
notebooks/
├── cache_money.ipynb
├── filter_none.ipynb
├── json_parsing.ipynb
└── string_fmt.ipynb
- Filtering None and False-y values
- cache money!
functools.lru_cache
- String formatting funks
- JSON parsing vs plain-jane dictionaries
- dgpy-libs must have awesome lib/pkg names and be mostly polished
- Embrace
async/await
- Python 3.6 'n up, baby! Get w/ the program (the python program)
- Write non-standard but elegant python, bc PEP 20 is lame and not fun (PEP 20: "There should be one-- and preferably only one --obvious way to do it...")
- TYPE ANNOTATE ERR-THANG
- Prefer pure-python & compiled-3rd-party-libs over writing packages with compiled extensions
- Use optional compiled-3rd-party-libs as optional dependencies to sneakily speed things up if present
- Offer integrations/extensions with the super-hot-fire modern python packages all the kids are using
- Optional dependencies are good! Missing optional deps should trigger an error msg that is helpful to installing the relevant dependency ONLY IF THE DEPENDENCY IS NEEDED.
- 100% test coverage
!=
good/bug-free code
- pydantic
- loguru
- httpx (forget about requests)
- fastapi
- attrs
- typer
- poetry
- orjson
- rapidjson/python-rapidjson
- h5py
- Most of the libs by aio-libs
- rich
- nox
- Jesse Rubin ~
jesse@dgi.com
/jessekrubin@gmail.com
Plz do! Send me that PR!
- Figure out some docs
- Have CI/CD auto build n publish
- Make some sort of change log
- Publish packages to conda-forge? (maybe)