Skip to main content
Pre-release

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

Friday Chat

The maintained terminal chat application for Friday. It composes the framework's model, memory, agent, transcript and tool services and provides application configuration and local execution diagnostics.

Distribution: friday-chat · Import: friday_chat Python: 3.13.4+ · Status: alpha · License: MIT

Installation

python -m pip install "friday-chat==0.1.0a4"

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

Quick start: an offline interactive session

Create demo.yaml in a disposable working directory:

llm:
  model: openai/offline-demo
chat:
  system_prompt: You are Friday.

Then run:

friday-chat --config demo.yaml --runtime fake

Type a message, then /q to exit. Fake mode is the CLI default and uses a test runtime; it does not contact a model, open real memory services or connect to MCP peers. Its responses are not evidence of a working provider integration. friday-chat --help and friday-chat --version inspect the installed command without starting chat.

Configure a real session

Copy the installed examples to editable files outside the package. This script creates a new directory and refuses to overwrite an existing one:

from importlib.resources import files
from pathlib import Path

destination = Path("friday-config")
destination.mkdir(exist_ok=False)
resources = files("friday_chat.config_templates")
for name in ("config.example.yaml", "models-config.example.yaml", "cli-config.example.yaml"):
    (destination / name).write_text(resources.joinpath(name).read_text(encoding="utf-8"), encoding="utf-8")

Edit friday-config/config.example.yaml and its companion model library to match your endpoints, models, writable state directories and enabled services. Preserve or update model_library.path relative to the runtime configuration file. A full example is a configuration starting point, not a universal provider setup.

Set every credential selected by an enabled service through your process environment. The supplied examples reference FRIDAY_LLM_API_KEY, FRIDAY_OPENROUTER_API_KEY and FRIDAY_MOONSHOT_API_KEY; remove or rebind services you do not use. Chat does not implicitly load .env. YAML model-library credentials store environment-variable names, never actual keys.

friday-chat --config friday-config/config.example.yaml --runtime real

Real mode can contact configured providers, consume quota and write configured state. Runtime YAML and Chat YAML have application-specific parsers; use the packaged Chat example when configuring this application.

Features and optional integrations

  • Interactive chat, configured model/embedding roles, memory retrieval/extraction, transcript persistence and selected native/MCP tools.
  • Model-library bindings for primary chat, extraction, routing, compaction, maintenance, embeddings and smart-file processing. Legacy flat generation fields remain a compatibility surface; conflicting old/new fields fail validation.
  • Optional speech, finance, sandbox, moltbook extras; full combines those integrations. For example: python -m pip install "friday-chat[speech]==0.1.0a4". Installing dependencies does not enable providers.
  • MCP client configuration under tools.providers.mcp, disabled by default. Real mode is required. Modern stdio and explicitly admitted HTTPS Streamable HTTP are supported; credentials, remote trust, filters and limits remain explicit.

See the MCP guide for complete YAML, canonical mcp_... tool names and the distinction between an optional peer and a pinned required tool. There is no Chat MCP health command, external MCP config_file include, or in-place integrated catalog-refresh switch.

Diagnostics and telemetry

telemetry:
  enabled: true
  provider: debug

Local telemetry is disabled by default. Enabled Chat telemetry supplies bounded local execution/LLM/MCP diagnostics, opaque turn correlation and safe /debug//timing summaries. Closed telemetry events exclude raw prompts, responses, reasoning, tool data, memory contents, paths and credentials. This does not sanitize raw transcripts, generic caller events or legacy helpers.

Embedding applications can inject a borrowed TelemetryInterface through build_runtime(config, telemetry=...); Chat does not close that provider. Remote exporter assembly and provider-neutral Langfuse integration remain separate work. The legacy langfuse section is not activated by local debug telemetry. Persistence diagnostics distinguish an intermediate write from full-turn success; they do not promise atomic rollback.

Development

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

uv run --no-sync pytest packages/friday-chat/tests_chat -q

Documentation and support

Model configuration · MCP tools · Speech · Chat configuration · Source · Issues · Contributing

License

MIT.

Metadata

Release files for friday-chat 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-chat 0.1.0a4
File Size Uploaded Provenance
friday_chat-0.1.0a4.tar.gz 332.5 kB Without provenance Details

Built distribution (wheel)

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

Total release size: 539.7 kB

Release files / friday_chat-0.1.0a4.tar.gz

Download URL friday_chat-0.1.0a4.tar.gz
Size 332.5 kB
Tags Source
SHA-256 checksum
How to use checksums
152a73dd172c212a15e02c152ca1cb1fa9a6215edeff77f455fd24e9d10e6862
BLAKE2b-256 checksum
How to use checksums
f5ed0c33e0b95587fea63df229331b88efb9d4838473cddc5f111be01b93d26f
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_chat-0.1.0a4-py3-none-any.whl

Download URL friday_chat-0.1.0a4-py3-none-any.whl
Size 207.2 kB
Tags Python 3
SHA-256 checksum
How to use checksums
8aed7a20a5166682a00c2be751fa6906bc1a226dc6fd6553e51ad1e7039744de
BLAKE2b-256 checksum
How to use checksums
338bce21104dad204e1c252917dcf5e61a1d83ca79098cf5f79a6cde66c75dfb
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-chat 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