skillfed

omnibase_spi

ONEX Service Provider Interface - Protocol definitions

omnibase-spi v0.23.1 137.7K downloads/30d#11,360 on PyPI1
Permissive license MIT Active released

What it is and what it does

omnibase_spi is a Service Provider Interface package that defines the protocol contracts for ONEX (OmniNode eXecution), a distributed service execution framework. It contains 231 runtime-checkable Python Protocol definitions across 39 protocol domains, plus frozen data-only contracts for wire formats. The package deliberately contains only interface definitions and shared data shapes imported from omnibase_core—no implementations, business logic, transport clients, or I/O behavior. This separation of concerns allows implementation packages to implement the protocols while keeping the SPI layer stable and reusable.

The package enforces strict dependency direction: it imports from omnibase_core but never from implementation packages, and implementation packages import from it. This design lets application and product repositories depend on the SPI for type boundaries without coupling to any concrete implementation. It requires Python 3.12 or later and uses pydantic and typing_extensions as runtime dependencies.

Use it for:

  • Define service boundaries in a microservices architecture where multiple teams implement the same protocol contracts independently.
  • Establish type-safe interfaces for distributed services that need to be swapped or upgraded without breaking consumers.
  • Create wire-format contracts for cross-service communication that remain stable even as underlying implementations evolve.
  • Build plugin or adapter systems where third-party code must implement known protocol interfaces to integrate with a platform.
  • Enforce architectural layering by making protocol definitions the only dependency between abstraction and implementation layers.

Worth the install?

AI-flagged interpretation of the facts on this page — verify before relying

Defines runtime-checkable Protocol contracts and wire-format data contracts for the ONEX service execution framework, enabling type-safe service boundaries across distributed implementations.

Yes, if you are building a distributed service system or framework that needs stable, implementation-agnostic protocol definitions. The package is actively maintained, has no known vulnerabilities, and uses a permissive MIT license. It is still in Beta, so verify that the protocol surface is stable for your use case. Install it if you need to define service boundaries that multiple implementations can satisfy independently.

Install

omnibase-spi on PyPI

pip

pip install omnibase-spi

uv

uv add omnibase-spi

poetry

poetry add omnibase-spi

Installing omnibase_spi

Before you install

Low install friction with a pure-Python wheel. Active maintenance with a recent release 42 days ago. Requires Python 3.12 or later and depends on omnibase_core, pydantic, and typing_extensions—all standard, lightweight dependencies.

License in practice

MIT license permits unrestricted use, modification, and distribution in both open-source and commercial projects with minimal obligations beyond attribution.

Quickstart

pip install omnibase_spi

from typing import Protocol, runtime_checkable

@runtime_checkable
class ProtocolExampleService(Protocol):
    async def run(self, payload: bytes) -> bytes:
        ...

Requires Python 3.12 or later.

Verify before relying

  • Whether the 231 protocol files across 39 domains are all exported or only a subset is public API
  • Performance characteristics when runtime_checkable protocols are used at scale in high-throughput services
  • Stability guarantees for the protocol contract surface given the Beta development status

Package facts

License MIT (permissive)
Python support supports the current Python release (>=3.12)
Install friction low — pure-Python wheel
Runtime dependencies 3 — omnibase-core, pydantic, typing-extensions
Maintenance actively maintained — 42 days since the last release
Last repo commit
First released
Downloads 137,737/month — #11,360 on PyPI (30-day window, as of 2026-08-14)
Known vulnerabilities none known (OSV.dev, checked 2026-08-14)

Evidence: omnibase_spi-0.23.1-py3-none-any.whl

Development Status :: 4 - BetaIntended Audience :: DevelopersLicense :: OSI Approved :: MIT LicenseProgramming Language :: Python :: 3Programming Language :: Python :: 3.12Topic :: Software Development :: Libraries :: Python ModulesTyping :: Typed

Tags

protocol definitions service interfaceruntime checkable protocols pythonservice boundary contractsspi service provider interfacedistributed service type contractswire format data contractsprotocol driven architecture
service-interfaceprotocol-definitionsdistributed-systems

More Python Modules packages