xrtm-forecast v0.10.1
The Runtime Engine for XRTM.
xrtm-forecast provides the agents, providers, topologies, and orchestration to build AI forecasting systems. It's a composable framework — import the pieces you need and wire them together.
What's new in v0.10
- Reasoning-model ready: thinking-mode toggle,
reasoning_contenthandling, and explicitEmptyContentError(plus a larger-max_tokensretry) instead of silent parse failures. - Structured output + telemetry: provider-enforced JSON,
parse_status, token usage (including cached/reasoning tokens), and model/prompt provenance on every forecast. - Typed decisions:
DecisionProvider(LLM and TypeSafe Jev) with an escalation router for cheap System-One gating. - Cost policies: currency-aware pricing (DeepSeek CNY preset), cost ledgers, hard budgets, and off-peak scheduling.
- Reliability: token-bucket rate limiting, jittered retries, cache TTL, and deterministic-only caching by default.
Installation
pip install xrtm-forecast
Quick Start
from xrtm.forecast.kit.agents.specialists.analyst import ForecastingAnalyst
from xrtm.forecast.core.config.inference import OpenAIConfig
from xrtm.forecast.providers.inference.factory import ModelFactory
# Use any OpenAI-compatible endpoint
config = OpenAIConfig(
model_id="your-model",
base_url="$OPENAI_BASE_URL",
api_key="your-api-key",
)
provider = ModelFactory.get_provider(config)
analyst = ForecastingAnalyst(model=provider, name="forecaster")
# Ask a forecasting question
from xrtm.data import ForecastQuestion
question = ForecastQuestion(
id="fed-march-2025",
title="Will the Fed raise rates in March 2025?",
)
forecast = await analyst.run(question)
print(f"Probability: {forecast.probability:.2f}")
What's Included
OpenAI-compatible Provider
One provider that works with any OpenAI-compatible API: any OpenAI-compatible endpoint. Set base_url to point anywhere.
Agents
ForecastingAnalyst— Full forecast agent: structured prompts, causal reasoning traces, JSON output parsingLLMAgent— Base agent with tool retrieval, output parsingRoutingAgent— FAST/SMART tiered routing for cost optimizationToolAgent/GraphAgent— Wrap functions or sub-graphs as agents
Topologies
Composable multi-agent patterns in kit/topologies/:
RecursiveConsensus— Parallel analysts → aggregate → supervisor → loopcreate_debate_graph()— Pro/Con/Judge debate patterncreate_fanout_graph()— Parallel workers → aggregator
Orchestration
Orchestrator— DAG state machine for workflow graphsAsyncRuntime— Chronos-aware async runtime
Infrastructure
InferenceCache— SQLite cache for LLM responses (enabled by default)- Retry with backoff — 2 retries on API errors
LeakageGuardian— Temporal leakage prevention for backtests
XRTM Ecosystem
Part of the XRTM forecasting stack:
| Package | Role | Version |
|---|---|---|
xrtm-data |
Schemas & question sources | 0.3.0 |
xrtm-eval |
Scoring (Brier, ECE, LogScore) | 0.3.0 |
xrtm-forecast |
Runtime engine (this package) | 0.7.0 |
xrtm-train |
Backtesting & optimization | 0.3.0 |
xrtm |
Product CLI | 0.9.0 |
License
Apache 2.0
Metadata
Release files for xrtm-forecast 0.10.1
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | |
|---|---|---|---|---|
| xrtm_forecast-0.10.1.tar.gz | 82.7 kB | With provenance | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| xrtm_forecast-0.10.1-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 214.2 kB
Release files / xrtm_forecast-0.10.1.tar.gz
| Download URL | xrtm_forecast-0.10.1.tar.gz |
|---|---|
| Size | 82.7 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
2ec91eb41a15c93885cbd2696f70e24f9ba5dd40dc22f6f294016d6d390d5f8c
|
|
BLAKE2b-256 checksum How to use checksums |
2512d44961892d9b1659e1cc6950d32364170530bbd7ad2f66a22a54301b8ed7
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
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 Sep 26, 2026.
Transparency logRelease files / xrtm_forecast-0.10.1-py3-none-any.whl
| Download URL | xrtm_forecast-0.10.1-py3-none-any.whl |
|---|---|
| Size | 131.5 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
66e4d9afb7bc9c3593b81009274985bb258fb0ed66ec9ad5feab994b7a62541b
|
|
BLAKE2b-256 checksum How to use checksums |
4b617a91fc2b3b178ded3925e149aa31d1613f8e27097ae31781ea1ed0cf44c6
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
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 Sep 26, 2026.
Transparency logSecurity for xrtm-forecast 0.10.1
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 2 files in this release have been uploaded with provenance metadata.
Attestation for xrtm_forecast-0.10.1.tar.gz
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 Sep 26, 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.