Assistant tooling for SENSEI projects.
Project description
Senpai Assistant
Senpai Assistant is a Python package for building and running a SENSEI-focused assistant. It provides a console entry point and a public Python API for host applications that need to create assistants over SENSEI project files, connector files, reference docs, embeddings, and an external conversation checkpointer.
Installation
pip install senpai-assistant
The package requires Python 3.12 or newer.
CLI
After installation, run the assistant with:
senpai-assistant --help
You can also run the module directly:
python -m senpai_assistant --help
Python API
from pathlib import Path
from senpai_assistant import create_assistant_for_paths
assistant = create_assistant_for_paths(
project_path=Path("/path/to/users/user_1/projects/pizza_shop"),
user_path=Path("/path/to/users/user_1"),
thread_id="thread-1",
runtime_root=Path("/var/lib/senpai-assistant"),
checkpointer=checkpointer,
)
checkpointer should be a LangGraph checkpointer provided by the host application. For local CLI-style usage without an external checkpointer, pass require_checkpointer=False to allow the SQLite fallback.
The public package exports:
Assistantcreate_assistant_for_paths(...)configure_runtime_root(...)get_runtime_root()main
create_assistant_for_paths(...) expects a SENSEI project directory with the usual profiles/ and rules/ structure. In hosted deployments, pass an external LangGraph checkpointer so conversation state is not stored in local SQLite.
Runtime Files
Senpai Assistant writes generated runtime artifacts under the configured runtime root. The resolution order is:
- An explicit
runtime_rootargument. - The process-wide root set with
configure_runtime_root(...). - The
SENPAI_HOMEenvironment variable. - The default user data location for the current platform.
Embedding indexes are stored under that runtime root. Local CLI usage can fall back to SQLite, but application integrations should pass their own checkpointer.
Releases
Releases are published from tags named vX.Y.Z. The tag version must match the version in pyproject.toml, and CHANGELOG.md must contain a matching ## [X.Y.Z] section.
uv version 0.1.1
git add pyproject.toml uv.lock CHANGELOG.md
git commit -m "Release 0.1.1"
git tag v0.1.1
git push origin main --tags
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file senpai_assistant-0.1.0.tar.gz.
File metadata
- Download URL: senpai_assistant-0.1.0.tar.gz
- Upload date:
- Size: 110.6 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: uv/0.11.6 {"installer":{"name":"uv","version":"0.11.6","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
1dacefece4cfef3732d5693f666047cb4f65c5231c8b7c6c2b09ead20c2108f5
|
|
| MD5 |
8e65e6f46e5e91ea96d96c1e38ccc499
|
|
| BLAKE2b-256 |
dde956f039929cb311a69c53d141d9612b25548411148690e81dd01e26c7b73a
|
File details
Details for the file senpai_assistant-0.1.0-py3-none-any.whl.
File metadata
- Download URL: senpai_assistant-0.1.0-py3-none-any.whl
- Upload date:
- Size: 91.7 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: uv/0.11.6 {"installer":{"name":"uv","version":"0.11.6","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
d98b84269f29e49ff108bc5151d23125e13b7210914dbf0bf481e5097a46aca1
|
|
| MD5 |
6e1e892df153aa761998d594f27e48fa
|
|
| BLAKE2b-256 |
89d8cbd73b96ae021fc258157558e3036fcd8b0946f1c22506e9fbc73b2244c1
|