Skip to main content

OMNI

OMNI is a neural compressor for Python source code. It combines a trained sequence model with explicit long-range copy matching and entropy coding to beat general-purpose compressors on ratio.

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.

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. Directories are walked for .py files (skipping .git, __pycache__, venv, node_modules, etc.) and packed into one archive. 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, file list, compressed size, checksum status — without needing any model installed.

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.1.3

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for omni-compress 0.1.3
File Size Uploaded
omni_compress-0.1.3.tar.gz 15.1 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for omni-compress 0.1.3
File Interpreter ABI Platform
omni_compress-0.1.3-py3-none-any.whl Python 3 none any Details

Total release size: 30.7 kB

Release files / omni_compress-0.1.3.tar.gz

Download URL omni_compress-0.1.3.tar.gz
Size 15.1 kB
Tags Source
SHA-256 checksum
How to use checksums
75effa100dace5f75d25f81927117cee5bae368eda70ad03e33f7a337ae95eec
BLAKE2b-256 checksum
How to use checksums
64a30a0e4a551cfcfdc1b1a46d9fdee42b6d1cee01f6e3778c3629e317b38f44
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.1.3-py3-none-any.whl

Download URL omni_compress-0.1.3-py3-none-any.whl
Size 15.6 kB
Tags Python 3
SHA-256 checksum
How to use checksums
2a6cda168410a101d24f3cd94d50f653a0d25e1b2bec9c6002de3be69272ecc5
BLAKE2b-256 checksum
How to use checksums
89c4daf4dca73e51f32aa09951eb77bb8ddbe250fe85074a2efc7cfaa8e08d94
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.10.12

Release history Release notifications | RSS feed

0.2.2

2 release files

0.2.0

2 release files

This release

0.1.3 This release

2 release files

0.1.2

2 release files

0.1.1

2 release files

0.1.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page