You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
@PublicAPI annotations are the canonical symbol-level stability source. The
generated API reference covers every annotated object and
CI compares each imported object's runtime stability with the source inventory.
This page provides module-level guidance and deprecation notes.
Stability Levels
Level
Meaning
Backward Compatibility
stable
Public API with SemVer guarantee
Breaking changes require major version bump
beta
Public API under active development
May change with deprecation notice (≥ 2 minor versions)
alpha
Experimental public API
May change without notice
deprecated
Will be removed; use replacement
Deprecation window per ADR 001
prototype
Validation-only code; not for production use
No compatibility promise
developer
Internal implementation detail
May change in any release
legacy
Old path kept as compat adapter
Will be removed per migration plan
Module Inventory
Core (tributo.*)
Module
Level
Notes
tributo.config — JobConfig
stable
Ray Job submission config
tributo.config — AlgorithmExecutionConfig and nested algorithm execution models
alpha
Strict JSON envelope shared by owned-local and attached-cluster Ray execution
tributo.job — TributoClient
stable
Primary Ray Jobs client
tributo.job — RayJob
stable annotation with runtime deprecation warning
Use TributoClient; the annotation and warning conflict is documented without changing the public contract in this documentation update
tributo.ray_jobs
alpha
Workload-neutral submission identity, ambiguous-submit reconciliation, status, logs, and stop helpers
tributo.kuberay_submission
alpha
Explicit KubeRay RayJob resource profile compilation and one-job Kubernetes submission lifecycle; requires the optional kuberay extra
The image builder and emitted files are repository tooling rather than public
Python API symbols. Their contract is intentionally Alpha and is
covered by the external runtime-image suite.
Surface
Level
Notes
tools/build_tributo_image.py
alpha
JSON-only Buildx builder for the pinned image validated for CPU execution by default, with explicit linux/amd64/linux/arm64 targeting; it performs dependency-closure discovery, manifest sealing, and fail-closed import checks
tools/tributo-runtime-full.json
alpha
Multi-architecture pinned Ray/uv image references, native-platform default, complete first-party runtime-extra closure including locked v1.0 Daft ClickHouse/Doris and Ray Doris connectors plus ray-hive; optional external wheelhouse support supplies ray-clickhouse==0.1.0 until PyPI publication
manifest.json / image-profile.json
alpha
Build attestations consumed for immutable image selection and algorithm artifact compatibility; not a registry or deployment API
Training (tributo.training.*)
Callbacks without a public failure_policy are best-effort in every normal
lifecycle phase, including on_setup_start. Callbacks that must abort training
need to declare failure_policy = "required"; this is a Beta behavior change
from the legacy setup-only propagation rule.
Module
Level
Notes
tributo.training.config — TrainingDataConfig and trainer-specific config models
beta
Training data and trainer configuration contracts
tributo.training.base — BaseTrainer, TrainerSpec
beta
First-party trainers default to an explicit-destination Bundle; raw artifacts require legacy_export=True
tributo.training.results — TrainingResult and status enums
beta
Closed training, Bundle, Hook, URI, and execution identity result contract
tributo.training.checkpoint
beta
Resume checkpoint contract
tributo.training.xgboost_trainer
deprecated
Production implementations moved to the official tributo-algorithms Wheels
tributo.training.dnn_trainer
deprecated
Production implementations moved to the official tributo-algorithms Wheels
tributo.training.pu_trainer
deprecated
Production implementations moved to the official tributo-algorithms Wheels
tributo.training.graph_trainer
alpha
Early-stage graph training
tributo.training.causal_estimator
beta
Causal effect estimation (docstring was alpha; aligned to @PublicAPI)
tributo.training.algorithm_spec
beta
Algorithm capability declarations
tributo.training.catalog
beta
Algorithm registry
tributo.training.data_loader
beta
Ray compatibility adapter over IngestionGateway
tributo.training.tune_config
beta
Hyperparameter tuning config
tributo.training.tune_runner
beta
Tune execution
tributo.training.portable_tune
alpha
Portable distributed fit-only Tune execution
tributo.training.tune_space
beta
Search space definitions
tributo.training.priors
beta
Class prior estimation
tributo.training.flavor
beta
Model flavor adapter
tributo.training.onnx_exporter
deprecated
Use tributo.exporting instead
tributo.training.exporters.*
deprecated
Use tributo.exporting / tributo.integrations.exporters instead
Provisional sklearn and Custom Ray Function registration builders
tributo.algorithms.core.runtime
alpha
Owned local Ray lifecycle and deployment-neutral attached-cluster connection
tributo.algorithms.composition
alpha
Default formal Dispatcher composition root
tributo.algorithms.spi.execution
alpha
Provisional operation and Runtime execution protocols
tributo.algorithms.spi.contracts
alpha
Executable algorithm contract validator protocol
tributo.algorithms.spi.input
alpha
Two-stage input resolution and Driver/Worker ownership contracts
tributo.algorithms.spi.torch
alpha
Versioned TorchRecipe and RayTorchAdapter contracts
Data (tributo.data.*)
Module
Level
Notes
tributo.data.source_config — canonical models and projection helpers
stable
Stable fields, defaults, JSON shapes, and projection semantics; BuiltinSourceConfig, SourceConfig, and CanonicalSourceInput use the same stable members
tributo.data.source_config — legacy conversion and RawSourceConfig
beta
Compatibility input conversion and unknown-source passthrough
tributo.data.provider — DataSourceProvider
beta
Logical normalization/planning contract; normalize() and plan() drive canonical ingestion, while open()/DatasetHandle remain an independent Provider SPI
tributo.data.transform_ir
alpha
Versioned engine-neutral ETL contract
tributo.data.transform_compiler
developer
Internal Ray/Daft expression translation
tributo.data.scan_plan
developer
Internal engine-neutral scan SPI; downstream consumers use IngestionGateway
tributo.data.ingestion
alpha
Two-stage Gateway, explicit request, typed handles, and receipt
tributo.data.handle_adapters
alpha
Explicit native-handle conversions with conversion evidence; never a routing fallback
tributo.data.contracts.handles
alpha
Typed Ray and Daft handle contracts shared by ingestion and writing
tributo.data.contracts.modes
beta
Canonical shared WriteMode contract; tributo.data.base remains a narrow re-export
tributo.data.contracts.storage
stable
Canonical shared S3Config contract; credentials are hidden from repr and identity material
tributo.data.writing
alpha
Unified bounded-write Gateway package
tributo.data.writing.capabilities
alpha
Native writer capability declarations
tributo.data.writing.contracts
alpha
Credential-safe write requests, descriptors, receipts, and errors
tributo.data.writing.gateway
alpha
Target planning, capability negotiation, and native write delegation
tributo.data.engine_binding
developer
Third-party extension SPI; not exported from the consumer-facing tributo.data root
Canonical configuration stability does not imply that a Provider, Gateway,
Binding, database, or engine combination is stable or supported. Provider
options retain their provider-owned meaning. Credentials belong to trusted
configuration only: repr hides designated credential fields, while model dumps
and validation details must be sanitized before public logging. DatasetRef and
source identity reject credential material rather than persist it.
Compatibility re-exports; schemas are owned by integration exporters
tributo.exporting.records
beta
Export record types; PublicationAttempt is read-only legacy compatibility and receives no new writes
tributo.exporting.gc
beta
Bundle GC
tributo.exporting.events
beta
Immutable publication event contract
tributo.exporting.hooks
beta
Adapter and committed-artifact access contracts
tributo.exporting.dispatch
beta
Inline Hook dispatch policy
tributo.exporting.capabilities
stable
Capability value structure, discovery projection, and lookup; plugin declarations do not prove execution support
tributo.exporting.repository
stable
Bundle repository/alias ports and their value objects; internal routing remains DeveloperAPI
tributo.exporting.runtime
stable
Bundle model protocols, loader/runtime, and support entries; first-party executable guarantee is scoped to onnx-runtime-v1
tributo.exporting.conftest
beta
Public plugin conformance test kit
The Stable storage model allowlist is AliasConfig, ArtifactFile,
ProducerInfo, ArtifactRef, LogicalArtifact, ResolvedArtifact,
FailureInfo, NodeResult, ExportExecutionResult, BundleResult, BundleRef,
PublishedBundle, and ValidationResult. The Stable manifest allowlist is
ManifestSourceInfo, SignatureField, ManifestSignature,
ManifestExecutionNode, ManifestExecution, ExportManifest, and
ManifestSchemaRegistry. BundleCommitBusyError and AliasConflict are Stable
storage errors. The high-level export, ExportSpec, and load_bundle
compatibility facade remain Beta.
The Stable promise covers the core storage operation and fields. Passing Alpha
ExplainabilityConfig opts into its independent contract, and
ExportManifestV2 remains Beta. BundleResult.hook_receipts keeps the Beta
HookReceipt payload; Hook delivery and orchestration do not become Stable.
Developer router/assembler injection remains an advanced extension with its
existing constructor parameters. No signature or extension payload is removed.
ResolvedArtifact paths are valid inside their materialization context.
PublishedBundle.local_dir_ephemeral distinguishes transient S3 staging from
persistent local publication. Ephemeral paths belong to the staging owner;
BundleExportService guarantees their callback window. Consumers persist
BundleRef or BundleResult.canonical_uri instead of transient local paths.
The Stable Runtime scope includes BundleReaderLike, BundleModel,
BundleModelFlavor, FlavorSupportEntry, BundleModelLoader,
BundleModelRuntime, and ONNXRuntimeFlavor. FlavorRegistry,
ArtifactCapability, CapabilityRegistry, get_default_capability_registry,
PluginLoadDiagnostic, and UnsupportedArtifactFormat complete its public
routing and diagnostic contracts. Exporter/validator/factory registries,
optional dependency internals, other flavors, Ray Data batch orchestration,
and HTTP/gRPC/SSE transports keep their existing levels.
Runtime close() releases reader resources exactly once; it does not unload
an in-memory ONNX session. ONNX prediction remains valid after close. Loading
and signature-validation failures close the artifact context before propagating.
The loaded Runtime keeps the validated manifest bytes and role-bound artifact;
custom Flavor execution follows its own declared contract.
Explainability (tributo.explainability.*)
Module
Level
Notes
tributo.explainability.conformance
alpha
Adapter SPI structural conformance validation
tributo.explainability.contracts
alpha
Explainability request, descriptor, attribution, receipt and policy contracts
tributo.explainability.executor
alpha
Ray Data batch executor, lease heartbeat and attempt isolation
tributo.explainability.export
alpha
Bundle export companion-artifact preparation
tributo.explainability.job_runner
alpha
Ray Jobs submission entry point for batch explanations
tributo.explainability.planner
alpha
Adapter selection and resource preflight planning
tributo.explainability.protocols
alpha
Adapter SPI, resolved model binding, serializable model-session factory, result-store port, model context and support decision protocols
tributo.explainability.reference
alpha
Reference/background data provider protocol and file provider
tributo.explainability.registry
alpha
Adapter registry and entry-point discovery
tributo.explainability.shap
alpha
First-party SHAP adapter (tree and model-agnostic backends)
Integrations (tributo.integrations.*)
Module
Level
Notes
tributo.integrations.algorithm_inputs
alpha
Production IngestionGateway bridge with invocation-scoped request refs and explicit Ray/Daft Worker adapters
Default Bundle publication with an explicit BundleOutputConfig.bundle_uri
v1.0.0
≥ 2 minor versions (E4); emits DeprecationWarning per invocation
tributo.exporting.protocols.SourceProvider (name)
ExportSourceProvider (E1)
After E1 merge
2 minor versions with DeprecationWarning
Legacy flat data config
CanonicalSourceInput / IngestionRequest
v1.0.0
Conversion-only adapter retained for its deprecation window; direct dispatch removed
TRIBUTO_DATA_BACKEND=legacy
Default Provider/Gateway path
v1.0.0
Selector is accepted with FutureWarning during the compatibility window; it no longer restores direct dispatch
Third-party Provider normalize()+open() SPI
plan() + EngineBinding
v1.0.0
Provider open() remains a standalone SPI; canonical Gateway never falls back and the removed Ray adapter warning is no longer emitted
InferenceConfig.s3_config
Independent source/model/sink storage profiles
Inference architecture P0
One compatibility window with DeprecationWarning
tributo.job.RayJob
tributo.job.TributoClient
Runtime warning exists in v1.0.0
Removal version is not declared; the stable annotation remains authoritative until a separate API decision changes it
Unannotated Code
Code not listed above defaults to developer (internal). If a symbol is missing
from this inventory but should be public API, file a PR to add it to this table
and annotate it with @PublicAPI.
Stability-Aware Module Docstrings
The following modules have stability levels stated in their file-level docstrings.
This is informative only — STABILITY.md is the canonical reference.
Marked as prototype
None.
Marked as deprecated
tributo.training.exporters — "Deprecated re-exports from tributo.exporting"