Skip to main content
Pre-release

This release is a pre-release and may not be stable for production use.

Friday Runtime

Headless composition and lifecycle for Friday services. RuntimeConfig describes the application; RuntimeKernel assembles LLM, embeddings, memory, tools, transcripts, agents and telemetry.

Distribution: friday-framework-runtime · Import: friday_runtime Python: 3.13.4+ · Status: alpha · License: MIT

Installation

python -m pip install "friday-framework-runtime==0.1.0a4"

Friday distributions use the same release version; keep internal Friday dependencies aligned.

Quick start: inspect configuration without starting services

from pathlib import Path
from tempfile import TemporaryDirectory
from friday_core import MemoryProfile
from friday_runtime import RuntimeConfig, RuntimeKernel

with TemporaryDirectory() as directory:
    root = Path(directory)
    (root / "install").mkdir()
    (root / "workspace").mkdir()
    config = RuntimeConfig.from_sources(
        env={},
        overrides={
            "install_root": str(root / "install"),
            "workspace_root": str(root / "workspace"),
            "runtime_data_root": str(root / "state"),
            "cache_root": str(root / "cache"),
            "telemetry_enabled": False,
        },
    )
    kernel = RuntimeKernel(config=config, memory_profile=MemoryProfile.EPHEMERAL)
    print(kernel.memory_profile.value)

Expected output: ephemeral. Construction is not startup: this example does not connect to providers or open persistent stores. An ephemeral memory profile does not make a subsequently started runtime network-free; configured chat and embedding services can still call providers.

Start a real application

Prepare a Runtime YAML file, model/embedding bindings, credential environment variables, writable state paths and any agent profiles. This complete lifecycle example reads your configuration and starts the configured services:

import asyncio
from friday_runtime import RuntimeConfig, RuntimeKernel

async def main() -> None:
    kernel = RuntimeKernel(config=RuntimeConfig.from_yaml("runtime.yaml"))
    await kernel.start()
    try:
        print(kernel.list_agents())
    finally:
        await kernel.stop()

asyncio.run(main())

It does not create a default agent profile. spawn_agent(name) requires a registered profile and valid model/tool bindings; use a name returned by list_agents(). Runtime YAML and Friday Chat YAML have distinct application parsers; share only documented canonical sections.

Configuration and ownership

  • Canonical model_library.path, llm_pool and embedding_pool bindings resolve through Friday LLM. Relative model-library paths are resolved from the Runtime YAML file.
  • Source precedence is defaults, YAML, allowed environment overrides, then explicit overrides. YAML environment override behavior is controlled by config_policy.
  • Persistent memory/transcript/artifact locations are application-owned. Workspace and runtime-data roots must not overlap; install/workspace roots and writable state parents must exist. Configure isolated paths for experiments; shutdown is awaited.
  • MemoryProfile.FULL, VECTOR_ONLY, EPHEMERAL and TESTING choose storage combinations; they do not disable every model-dependent operation.

MCP client tools

tools.providers.mcp is disabled by default. Integrated clients admit explicitly configured stdio or opted-in HTTPS Streamable HTTP peers. Stdio defaults to legacy compatibility; modern/auto is explicit. HTTP requires a dated protocol version, global remote opt-ins and per-peer remote trust. Bearer authentication resolves a credential environment-variable name, not a token embedded in YAML.

Discovery, filters, schema/token budgets and startup registration are Runtime-owned. A pinned missing include_tools name can stop registration even when the server itself is optional. kernel.mcp_provider.operational_diagnostics exposes typed outcomes. Integrated rediscovery uses public stop/start; no in-place YAML refresh switch exists. External MCP config_file includes are rejected. See the client guide for complete valid configurations and limits.

Development

Work from the monorepo root after the shared contributor setup. Run the focused suite:

uv run --no-sync pytest packages/friday-runtime/tests_runtime -q

Documentation and support

Model library · MCP setup · Runtime schema · Source · Issues · Contributing

License

MIT.

Metadata

Release files for friday-framework-runtime 0.1.0a4

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for friday-framework-runtime 0.1.0a4
File Size Uploaded Provenance
friday_framework_runtime-0.1.0a4.tar.gz 71.8 kB Without provenance Details

Built distribution (wheel)

Table of built distributions (wheels) for friday-framework-runtime 0.1.0a4
File Interpreter ABI Platform
friday_framework_runtime-0.1.0a4-py3-none-any.whl Python 3 none any Details

Total release size: 118.9 kB

Release files / friday_framework_runtime-0.1.0a4.tar.gz

Download URL friday_framework_runtime-0.1.0a4.tar.gz
Size 71.8 kB
Tags Source
SHA-256 checksum
How to use checksums
1bff3f83d548152772ad071efdf335f5bfc8d10f84d7e1f70bfa86c68cb477db
BLAKE2b-256 checksum
How to use checksums
2912f771ccc8bb18c714763a2b0bedb3a39c84d7fb40c74e220a6ac0e63097fd
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.11.3 {"installer":{"name":"uv","version":"0.11.3","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

Release files / friday_framework_runtime-0.1.0a4-py3-none-any.whl

Download URL friday_framework_runtime-0.1.0a4-py3-none-any.whl
Size 47.1 kB
Tags Python 3
SHA-256 checksum
How to use checksums
35292867782731c4751d5c07c26d1e1c4fdf8b3473576a4d136debe4aa66377f
BLAKE2b-256 checksum
How to use checksums
ab4f274fa3505b9bf732d33522c78e061d00b89b97b36a265e1e35fb471208d6
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.11.3 {"installer":{"name":"uv","version":"0.11.3","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

Security for friday-framework-runtime 0.1.0a4

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.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A 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.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page