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_poolandembedding_poolbindings 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,EPHEMERALandTESTINGchoose 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)
| File | Size | Uploaded | Provenance | |
|---|---|---|---|---|
| friday_framework_runtime-0.1.0a4.tar.gz | 71.8 kB | Without provenance | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| 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.