OMLE Server
Inference server for OMLE models, speaking the Open Inference Protocol over both REST and gRPC.
pip install omle-server
omle-server # built-in defaults
omle-server --help # every flag
omle-server --model-dir ./models --rest-port 9000
omle-server --config /etc/omle/server.json
This package is a delivery vehicle for a compiled binary, not a Python library.
Installing it puts omle-server on PATH; that console script execs the native
executable, so no Python remains in the process once the server is running.
Requirements
OpenSSL 3 must be present on the system. Everything else the server needs — gRPC, Abseil, protobuf, Drogon, jsoncpp, simdjson and the OMLE runtime itself — is linked statically into the binary, so there is nothing else to install.
OpenSSL is the deliberate exception. Bundling it would freeze a cryptographic library at build time, cut off from the security updates the operating system provides, and it could then only be patched by releasing a new wheel. It ships with every current Linux distribution and is in the Homebrew baseline on macOS:
# only if it is somehow missing
apt install libssl3 # Debian / Ubuntu
dnf install openssl-libs # Fedora / RHEL
brew install openssl@3 # macOS
Windows is the exception: there is no system OpenSSL to link, so that wheel carries its own statically. Nothing to install, but a fix there needs a new release rather than an operating-system update.
Wheels are published for linux-x86_64, macos-arm64 and windows-x86_64. Other platforms build from source — see the repository README.
Configuring
Four sources, each overriding the one above it: built-in defaults, then a JSON config file, then the environment, then command-line flags.
omle-server init-config -o server.json # every setting, at its default
omle-server --config server.json
| Variable | Flag | Default | Meaning |
|---|---|---|---|
OMLE_CONFIG |
--config |
configs/server.json |
config file |
OMLE_MODEL_DIR |
--model-dir |
/models |
directory scanned for .omle files |
OMLE_REST_PORT |
--rest-port |
8080 |
REST listen port |
OMLE_GRPC_PORT |
--grpc-port |
8081 |
gRPC listen port |
OMLE_REST_THREADS |
--rest-threads |
one per core | REST workers |
OMLE_GRPC_THREADS |
--grpc-threads |
one per core | gRPC workers |
OMLE_MODEL_THREADS |
--model-threads |
1 |
threads per model |
OMLE_LOG_LEVEL |
--log-level |
info |
trace…error |
OMLE_MODEL_DIR=./models omle-server --rest-port 9000
omle-server --help # the full list
Environment sits below flags so a container image can set a baseline that
docker run still overrides.
There is deliberately no Python wrapper translating arguments into these. It could only restate what the binary already does, and would drift from it. To launch the server from Python, run it as a subprocess like any other program:
import os, subprocess
import omle_server
proc = subprocess.Popen(
[omle_server.binary_path()],
env={**os.environ, "OMLE_MODEL_DIR": "/models"},
)
omle_server.binary_path() returns the absolute path to the bundled
executable, and is the only function this package exposes.
Checking it works
curl localhost:8080/v2/health/ready # 200 once the registry has loaded
curl localhost:8080/v2/models/<name> # input/output metadata
Related packages
omle— the model IR, protobuf I/O and validationomle-convert— converters from trained scikit-learn, XGBoost, LightGBM, CatBoost and Spark ML modelsomle-runtime— the C++ inference runtime, with a scikit-learn-style APIomle-spark— Spark ML transformer for scoring DataFrames from PySparkomle-viewer— interactive DAG viewer for Jupyter and the browser
License
Apache-2.0
Metadata
Release files for omle-server 0.5.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Built distributions (wheels)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| omle_server-0.5.0-py3-none-win_amd64.whl | Python 3 | none | Windows x86-64 | Details for omle_server-0.5.0-py3-none-win_amd64.whl |
| omle_server-0.5.0-py3-none-manylinux_2_28_x86_64.whl | Python 3 | none | Linux glibc 2.28+ x86-64 | Details for omle_server-0.5.0-py3-none-manylinux_2_28_x86_64.whl |
| omle_server-0.5.0-py3-none-macosx_11_0_arm64.whl | Python 3 | none | macOS 11.0+ ARM64 | Details for omle_server-0.5.0-py3-none-macosx_11_0_arm64.whl |
Total release size: 24.3 MB
Release files / omle_server-0.5.0-py3-none-win_amd64.whl
| Download URL | omle_server-0.5.0-py3-none-win_amd64.whl |
|---|---|
| Size | 7.2 MB |
| Tags | Python 3 Windows x86-64 |
|
SHA-256 checksum How to use checksums |
1486dce6e354f726fb29663cc1d3ac93768f2f5977762cf5cc566ca30bcc5776
|
|
BLAKE2b-256 checksum How to use checksums |
8472e0e092ca995ad34f8cc2f58a4eeac0dde705371c95bc103f075f827966d2
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.16
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Nov 2, 2026.
Transparency logRelease files / omle_server-0.5.0-py3-none-manylinux_2_28_x86_64.whl
| Download URL | omle_server-0.5.0-py3-none-manylinux_2_28_x86_64.whl |
|---|---|
| Size | 10.2 MB |
| Tags | Linux glibc 2.28+ x86-64 Python 3 |
|
SHA-256 checksum How to use checksums |
42ecf9b136df2f1e3131dc51e1016f08e89c68cb6a22b66d2dcf2f20f04fec09
|
|
BLAKE2b-256 checksum How to use checksums |
482d9015a6378e9752b25f279c767ad8b97c04d31d5f784806d256a1712ba6c7
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.16
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Nov 2, 2026.
Transparency logRelease files / omle_server-0.5.0-py3-none-macosx_11_0_arm64.whl
| Download URL | omle_server-0.5.0-py3-none-macosx_11_0_arm64.whl |
|---|---|
| Size | 7.0 MB |
| Tags | Python 3 macOS 11.0+ ARM64 |
|
SHA-256 checksum How to use checksums |
895358db54a835c72aade0c91928713df5c07f5846136d81ddfaf7141d28c2e4
|
|
BLAKE2b-256 checksum How to use checksums |
2bd2d20f9046ff09822001febee30d3a2d2ca645090c076247c1ad7c5297a484
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.16
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Nov 2, 2026.
Transparency logSecurity for omle-server 0.5.0
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
Full provenance
All 3 files in this release have been uploaded with provenance metadata.
Attestation for omle_server-0.5.0-py3-none-win_amd64.whl
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Nov 2, 2026.
Transparency logA note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.