omni compress my_project/
# -> my_project.satish_andromeda
omni decompress my_project.satish_andromeda
# -> my_project/ (byte-identical to the original)
Benchmark
Compression saving vs. original size, measured on 9 real-world Python
repositories OMNI was never trained on, compared against tar+xz (the
standard general-purpose baseline):
| repo | OMNI | tar+xz | margin |
|---|---|---|---|
| flask | 82.9% | 79.7% | +3.2pp |
| pytest | 79.9% | 73.7% | +6.2pp |
| click | 82.2% | 79.2% | +3.0pp |
| rich | 72.9% | 70.5% | +2.4pp |
| attrs | 83.6% | 81.1% | +2.5pp |
| httpx | 86.1% | 84.1% | +2.0pp |
| starlette | 84.1% | 80.9% | +3.2pp |
| alembic | 85.8% | 84.7% | +1.1pp |
| pydantic | 83.6% | 81.6% | +2.0pp |
9 out of 9 unseen repos beat tar+xz, by 1.1 to 6.2 percentage points. Every result above is a full round-trip: decompressed output verified byte-identical to the original source across all files in every repo.
These numbers are for the .py files specifically (both sides of the
comparison see the same file set). omni compress on a real project also
packs everything else — docs, configs, images — through generic codecs, so
the overall saving % on a real omni compress my_project/ run will differ
from this table; it reflects the whole project, not just the Python source.
Install
pipx install omni-compress
omni engine install
omni model update
(pip install omni-compress works too if you don't use pipx.) engine install and model update are one-time setup — the engine and the
current model generation both need to be present before compress/
decompress will do anything.
Quickstart
omni engine install # one-time: install the compression engine
omni model update # one-time: install the latest model
omni compress my_project/ # -> my_project.satish_andromeda
omni decompress my_project.satish_andromeda
Commands
omni compress <path> [--model NAME] [--out FILE]
Compress a single file or a whole directory into one archive — every file
is preserved, not just .py (skipping .git, __pycache__, venv,
node_modules, etc.). Python source gets the trained neural engine;
everything else goes through a generic codec (compressed or stored as-is,
depending on the format) — omni compress never silently drops a file.
Uses the latest installed model generation unless --model is given.
Writes <name>.satish_<generation> unless --out is given.
omni decompress <file.satish_*> [--out PATH]
Reconstructs the original file or directory tree. Always uses whichever
model generation the archive itself says it needs, regardless of what's
set as default — run omni model update first if that generation isn't
installed yet. Without --out, a directory archive restores into a folder
named after the original; a single-file archive restores as that file in
the current directory.
omni info <file.satish_*>
Prints an archive's metadata — model generation, size, and a breakdown of which codec compressed each file — without needing any model installed (unless the archive actually contains Python files).
omni models
Lists installed model generations and which one is the default.
omni model update [--force]
Installs or refreshes the latest model generation. --force re-downloads
even if that generation is already installed.
omni model register <name> <year> <model.pt> --so <arithmetic_coder.so> [--default]
Registers a local model file as a named generation, for offline use.
omni model default <name>
Sets which installed generation omni compress uses by default.
omni engine install [--force]
Installs the compiled compression engine (one-time setup, before compress/
decompress can run). --force reinstalls even if already present.
omni version
Prints the CLI and format versions.
The .satish_<generation> file
Every OMNI archive's extension names the model generation that produced it
— andromeda-2026 compresses to .satish_andromeda, a later generation to
its own extension, and so on. That name isn't cosmetic: it's read from the
archive's own header, so omni decompress always knows exactly which model
to use, even years later or on a machine with several generations
installed. New generations are additive — decompressing an old archive
never requires upgrading anything, only having that generation's model
available (omni model update fetches whichever is current; older
generations can still be installed manually via omni model register if
needed).
Try it
examples/ has a walkthrough against a small sample project.
License
MIT — see LICENSE.
Metadata
Release files for omni-compress 0.2.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| omni_compress-0.2.0.tar.gz | 18.4 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| omni_compress-0.2.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 37.3 kB
Release files / omni_compress-0.2.0.tar.gz
| Download URL | omni_compress-0.2.0.tar.gz |
|---|---|
| Size | 18.4 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
0850d4d0c38d7e42f152d548da8ef8c238a52c43516ffa43666f7cf04fb5e77e
|
|
BLAKE2b-256 checksum How to use checksums |
0d91baf004175abc78083dd2f1f9006441e192374e4456b1004084998175f0c9
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.10.12
|
Release files / omni_compress-0.2.0-py3-none-any.whl
| Download URL | omni_compress-0.2.0-py3-none-any.whl |
|---|---|
| Size | 18.9 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
f8097a3ce08fa2a27ce6952056b5dfb8193a1576e4e2332e403af61d96941617
|
|
BLAKE2b-256 checksum How to use checksums |
0d1511c624dbd64d0b7620fd57b812ee23c8634c38f3e6da859b4e0573834b65
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.10.12
|