Overview
Development utilities and support code.
Notable packages
-
cli - The codebase's all-in-one CLI. This is not
installed as an entrypoint / command when this package is itself installed - that is separated into the omdev-cli
installable package so as to not pollute users' bin/ directories when depping this lib for its utility code.
-
amalg - The amalgamator.
-
pyproject
(amalg) - python project management tool.
wrangles but does not replace tools like venv, pip, setuptools, and uv. does things like sets up venvs, generates
.pkg directories and their pyproject.toml's (from their
__about__.py's), and packages them. this should grow to eat more and more of the Makefile. as it is amalgamated it
requires no installation and can just be dropped into other projects / repos.
-
ci
(amalg) - ci runner. given a
compose.yml
and requirements.txt files, takes care of building and caching of containers and venvs and execution of required ci
commands. detects and natively uses
github-action's caching system. unifies ci execution between local dev and github runners.
-
tools.json (cli: om j) - a tool for json-like
data, obviously in the vein of jq but using the internal
jmespath engine. supports
true streaming json input and output, as
well as various other non-streaming input
formats.
-
tools.git (cli: om git) - a tool for various lazy
git operations, including the one that (poorly) writes all of these commit messages.
Amalgamation
Amalgamation is the process of stitching together multiple python source files into a single self-contained python
script. 'lite' code is written in a style conducive to
this.
Local storage
Some of this code, when asked, will store things on the local filesystem. The only directories used (outside of ones
explicitly specified as command or function arguments) are managed in
home.paths, and are the following:
$OMLISH_HOME, default of ~/.omlish - persistent things like config and state.
$OMLISH_CACHE, default of ~/.cache/omlish - used for things like the local ci cache and
various other cached data.