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,moltbookextras;fullcombines 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)
| File | Size | Uploaded | Provenance | |
|---|---|---|---|---|
| friday_chat-0.1.0a4.tar.gz | 332.5 kB | Without provenance | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| 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.