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+.
dataclasses rebuild, a dependency injector, and
a serde system. This is the most stable of the libraries, and the bottom of the dependency graph.om CLI, the amalgamator, the pyproject tool, and the ci engine. This is intended to not generally be
present in production environments.Toplevel libraries are installable by name from pypi:
pip install omcore
Or 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 reinstall
The 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.
14,652 commits
Python
83.9%
C
12.2%
C++
3.1%
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+.
dataclasses rebuild, a dependency injector, and
a serde system. This is the most stable of the libraries, and the bottom of the dependency graph.om CLI, the amalgamator, the pyproject tool, and the ci engine. This is intended to not generally be
present in production environments.Toplevel libraries are installable by name from pypi:
pip install omcore
Or 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 reinstall
The 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.
14,652 commits
Python
83.9%
C
12.2%
C++
3.1%