{"id":24142,"library":"omnibase-spi","title":"OmniBase SPI","description":"ONEX Service Provider Interface – Protocol definitions for building service providers in the OmniNode ecosystem. Version 0.20.5 requires Python >=3.12. Active development with frequent releases (weekly/monthly).","status":"active","version":"0.20.5","language":"python","source_language":"en","source_url":"https://github.com/OmniNode-ai/omnibase_spi","tags":["spi","service-provider-interface","protocol","omnibase","onex"],"install":[{"cmd":"pip install omnibase-spi","lang":"bash","label":"Install from PyPI"}],"dependencies":[],"imports":[{"wrong":"from omnibase_spi.models import ContractSavingsEstimate","symbol":"ProtocolArtifactContainer","correct":"from omnibase_spi import ProtocolArtifactContainer"},{"symbol":"ProtocolCacheService","correct":"from omnibase_spi import ProtocolCacheService"},{"symbol":"ProtocolEffect","correct":"from omnibase_spi import ProtocolEffect"}],"quickstart":{"code":"from omnibase_spi.models import ContractSavingsEstimate\n\nestimate = ContractSavingsEstimate(\n    contract_id=\"123\",\n    estimated_savings=1000.0,\n    currency=\"USD\"\n)\nprint(estimate.model_dump_json(indent=2))","lang":"python","description":"Basic usage: create a model instance and dump JSON."},"warnings":[{"fix":"Upgrade to Python 3.12+ or use an older version if unavoidable.","message":"Python >=3.12 only: omnibase_spi uses new syntax features not available in older versions.","severity":"breaking","affected_versions":"0.18.0+"},{"fix":"Remove any code that expects a mandatory prefix (e.g., 'ONEX_').","message":"The env-prefix mandate from older SPI protocol contracts was removed in v0.18.0. Do not rely on environment variable prefix constraints.","severity":"deprecated","affected_versions":">=0.18.0"},{"fix":"Always use explicit submodule imports (e.g., from omnibase_spi.protocols import ...).","message":"Protocol classes are defined in separate submodules (e.g., omnibase_spi.protocols, omnibase_spi.models). Importing from the top-level package may not work.","severity":"gotcha","affected_versions":"all"}],"env_vars":null,"search_vec":"'0.20.5':18 '3.12':21 'activ':22 'build':10 'definit':8 'develop':23 'ecosystem':16 'frequent':25 'interfac':6,32 'omnibas':1,34 'omninod':15 'onex':3,35 'protocol':7,33 'provid':5,12,31 'python':20 'releas':26 'requir':19 'servic':4,11,30 'service-provider-interfac':29 'spi':2,28 'version':17 'weekly/monthly':27","created_at":"2026-05-01T08:11:30.319376+00:00","updated_at":"2026-05-01T08:11:30.319376+00:00","problems":null,"ecosystem":"pypi","meta_description":null,"install_score":null,"quickstart_score":null,"quickstart_tag":null,"pypi_latest":"0.22.0","cli_name":"","cli_version":null,"type":"library","homepage":null,"github":"https://github.com/OmniNode-ai/omnibase_spi","docs":"https://github.com/OmniNode-ai/omnibase_spi/tree/main/docs","changelog":null,"pypi":"https://pypi.org/project/omnibase-spi/","npm":null,"openapi_spec":null,"status_page":null,"smithery":null,"categories":[],"base_url":null,"auth_type":null,"provenance":{"verified_status":"passing","verified_at":"2026-07-03","last_verified":"2026-07-03","next_check":"2026-08-02","install_tag":null}}