This is om: my python monorepo, the successor to my previous one omnibus(... 'ish').
This is my 'production' codebase - code which has graduated from and powers my various other little projects.
It's organized into a handful of toplevel libraries - the om* directories - which are each independently installable
and published to pypi.
The toplevel libraries have no required dependencies besides each other - omcore in particular has none at all - but
there are a number of optional ones - see their respective pyproject.toml files for details.
Standard code is written for python 3.14+, 'lite' code for 3.8+.
- omcore - Core foundational code - the comprehensive
standard library, including language helpers (like lazy imports), a
dataclassesrebuild, a dependency injector, and a serde system. This is the most stable of the libraries, and the bottom of the dependency graph. - omdev - Development utilities, including the
all-in-one
omCLI, the amalgamator, thepyprojecttool, and the ci engine. This is intended to not generally be present in production environments. - omllm - LLM code.
- ominfra - Infrastructure and cloud code, including a boto alternative and a remote management tool.
Toplevel libraries are installable by name from pypi:
pip install omcoreOr directly from git via:
pip install 'git+https://github.com/wrmsr/om@master#subdirectory=.pkg/omcore'The CLI is installable through uvx or pipx via:
curl -LsSf 'https://raw.githubusercontent.com/wrmsr/om/master/omdev/cli/install.py' | python3 -Additional deps to be injected may be appended to the command.
Once installed the CLI can be updated via:
om cli reinstallThe structure of the repo is managed by the internal
pyproject tool, which generates
.pkg directories (which map to published packages) from each
library's __about__.py. The root-level
pyproject.toml does not actually contain a PEP-621
project.