Skip to main content

ONEX Core Framework - Base classes and essential implementations

Project description

omnibase_core

omnibase_core is the ONEX (OmniNode eXecution) platform kernel. It owns node execution, contracts, core models, validation tooling, and the canonical architecture vocabulary used by downstream OmniNode repos.

CI Python 3.12+ License: MIT

Who Uses It

Use this repo when you need to:

  • Use ONEX core types, nodes, contracts, and validation tools.
  • Build a contract-driven EFFECT, COMPUTE, REDUCER, or ORCHESTRATOR node.
  • Extend Core internals such as validation, contracts, node execution, handlers, model conventions, or runtime-development scaffolding.

Downstream runtime implementations, infrastructure clients, workflow packages, dashboard projections, and thin wrapper tooling should link back here for Core architecture and validation truth rather than duplicating it.

What This Repo Owns

  • ONEX node base classes and execution vocabulary.
  • Contract models, handler contracts, subcontracts, and contract validation.
  • Core event envelopes, error models, container patterns, and dependency injection conventions.
  • Core documentation standards for ONEX architecture and node construction.
  • Shared validation entrypoints such as onex-validate-links, onex-validate-topics, check-local-paths, and string-version checks.

What This Repo Does Not Own

  • Concrete infrastructure, Kafka/Postgres/Infisical clients, runtime host deployment, or registration operations. Those belong in omnibase_infra.
  • Protocol-only service interfaces for downstream implementation packages. Those belong in omnibase_spi.
  • Zero-upstream structural DTOs and compatibility shims. Those belong in omnibase_compat.
  • Portable workflow package ownership. That belongs in omnimarket.

Track 1: Use The Package

Install:

uv add omnibase_core

Install optional surfaces only when needed:

uv add "omnibase_core[spi]"
uv add "omnibase_core[compat]"
uv add "omnibase_core[full]"

Common imports:

from omnibase_core.nodes import NodeCompute
from omnibase_core import ModelOnexError

Core is a Python 3.12+ package. Package metadata, optional dependency groups, and CLI entrypoints are declared in pyproject.toml.

Track 2: Build A Node

Every ONEX node starts from one of the four core archetypes:

  • EFFECT: external I/O
  • COMPUTE: transformation and validation
  • REDUCER: state aggregation
  • ORCHESTRATOR: workflow coordination

Minimal COMPUTE node:

from omnibase_core.nodes import NodeCompute


class NodeMyFeature(NodeCompute):
    pass

The preferred path is contract-driven: YAML declares inputs, outputs, capabilities, bindings, and lifecycle constraints; custom Python behavior is added only when the contract cannot express the behavior.

Start here:

Track 3: Extend Validation Or Runtime Internals

Core owns validators and development/runtime internals that other repos consume. Use these commands before changing validation, contracts, docs, or architecture surface:

uv sync --dev --frozen
uv run onex-validate-links --verbose
uv run pytest tests/ -q

Focused validation entrypoints:

uv run onex-validate-topics . --verbose
uv run check-local-paths docs src scripts
uv run validate-string-versions src

For ownership, downstream-consumer guidance, and cross-repo usage, see Validation Ownership.

Documentation Map

docs/INDEX.md is the canonical full docs map.

High-signal entrypoints:

Current Versus Historical Docs

Root README.md, CLAUDE.md, and docs/INDEX.md are the primary human entry surfaces. Dated plans and migration notes are historical or execution context unless a stable architecture, reference, runbook, or migration page explicitly promotes them.

Known active context:

  • The hardcoded-topic cleanup plan in the umbrella omni_home docs is an execution plan, not the current architecture source of truth.
  • Current topic naming truth lives in Core topic validators and standards docs.

License

MIT

Project details


Release history Release notifications | RSS feed

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

omnibase_core-0.46.1.tar.gz (9.0 MB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

omnibase_core-0.46.1-py3-none-any.whl (6.4 MB view details)

Uploaded Python 3

File details

Details for the file omnibase_core-0.46.1.tar.gz.

File metadata

  • Download URL: omnibase_core-0.46.1.tar.gz
  • Upload date:
  • Size: 9.0 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.11.26 {"installer":{"name":"uv","version":"0.11.26","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for omnibase_core-0.46.1.tar.gz
Algorithm Hash digest
SHA256 d10b6cfc82436a5ad67ca35951d2e095dfb408a8bcb661c85374ad321f2c69e4
MD5 d29ec2192a2a3ab8a598257c5b0ed8df
BLAKE2b-256 682afe53acd14f2feeea5faf5b6df5fa0ba088e001d6f733f57f7477d95e6b2f

See more details on using hashes here.

File details

Details for the file omnibase_core-0.46.1-py3-none-any.whl.

File metadata

  • Download URL: omnibase_core-0.46.1-py3-none-any.whl
  • Upload date:
  • Size: 6.4 MB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.11.26 {"installer":{"name":"uv","version":"0.11.26","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for omnibase_core-0.46.1-py3-none-any.whl
Algorithm Hash digest
SHA256 01551cd2ac4009fb758c71edd1201be8a02406731132965fe782436849dfdfc9
MD5 e870edb9f9124b5a3b0b177a527427ae
BLAKE2b-256 5bf1b8516eec6b8587fa2f446279545ef1626e04a3a1c82f1f491d9b8db31832

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page