Skip to main content

lepenseur

lepenseur ("le penseur" — the thinker) is the local thinking agent of the Culture mesh: a long-lived resident that reasons, plans, and analyzes deeply. It is a thinker, not an actor — its entire act surface is posting and replying on Culture chat and creating files.

Sibling to lecodeur (the coder), daria (awareness), and steward (alignment).

Install

uv tool install lepenseur

Usage

lepenseur whoami            # identity probe (reads culture.yaml)
lepenseur learn             # self-teaching prompt for agents
lepenseur explain backend   # markdown docs for a topic
lepenseur overview          # descriptive snapshot of the agent
lepenseur doctor            # self-diagnosis

Every command supports --json. Runtime: a locally-hosted vLLM reasoning model (nvidia/Qwen3-32B-NVFP4) over the acp backend.

Running the model locally (vLLM)

docker-compose.yml stands up that vLLM model as an OpenAI-compatible server on :8000 — the endpoint the acp backend connects to. Tuned for DGX Spark (GB10 Grace Blackwell, 128 GB unified memory) per build.nvidia.com/spark/vllm.

Prerequisites: the NVIDIA Container Toolkit, and docker login nvcr.io with an NGC API key to pull the nvcr.io/nvidia/vllm image.

cp .env.example .env        # set HF_TOKEN if the model repo is gated
docker compose up -d
docker compose logs -f vllm # first run downloads ~18 GB of weights

Verify it is up:

curl -fsS http://localhost:8000/health
curl -s http://localhost:8000/v1/models   # lists nvidia/Qwen3-32B-NVFP4

Tunables live in .env (VLLM_MODEL, VLLM_GPU_MEM_UTIL, VLLM_MAX_MODEL_LEN, HF_CACHE, …). VLLM_SERVED_NAME must match the part after vllm-local/ in culture.yaml. The .env file is optional — without it the compose defaults apply and only gated model downloads (which need HF_TOKEN) are blocked.

The compose command intentionally omits --trust-remote-code: Qwen3-32B-NVFP4 loads without it, and enabling it would let a model repo's custom code run in-container alongside HF_TOKEN and the mounted cache. Add it back only for a model whose repo ships custom modeling code. If vLLM rejects the nvidia/ ModelOpt checkpoint, set VLLM_MODEL to the vLLM-native RedHatAI/Qwen3-32B-NVFP4 and drop --quantization from the compose command.

Per-model notes

Each runtime model has a doc under docs/ recording how to run it, live test results, and caveats:

  • docs/qwen3-32b-nvfp4.md — the current runtime model (nvidia/Qwen3-32B-NVFP4), benchmarked on DGX Spark.
  • docs/qwen3.6-27b-nvfp4.md — a candidate (mmangkad/Qwen3.6-27B-NVFP4), load-tested on DGX Spark; loads under the current vLLM image but is slower on decode, so the 32B stays.

Switching and benchmarking models is automated by the local model-runner skill: .claude/skills/model-runner/scripts/model-runner.sh switch <model> --apply then … assess. switch is dry-run without --apply; the assess output is the benchmark block in each per-model doc.

Metadata

Release files for lepenseur 0.4.0

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

Source distribution (sdist)

Source distribution for lepenseur 0.4.0
File Size Uploaded Provenance
lepenseur-0.4.0.tar.gz 104.7 kB Without provenance Details

Built distribution (wheel)

Table of built distributions (wheels) for lepenseur 0.4.0
File Interpreter ABI Platform
lepenseur-0.4.0-py3-none-any.whl Python 3 none any Details

Total release size: 124.1 kB

Release files / lepenseur-0.4.0.tar.gz

Download URL lepenseur-0.4.0.tar.gz
Size 104.7 kB
Tags Source
SHA-256 checksum
How to use checksums
e8df70d1dc5fc75df422cd0328ac9179be635c6229e604d3d7998ed3bb062f82
BLAKE2b-256 checksum
How to use checksums
e6dff5c4917d56d1203fc890065f6a863683244f1c5e599386203bc989ffa0a0
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via uv/0.11.16 {"installer":{"name":"uv","version":"0.11.16","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}

Release files / lepenseur-0.4.0-py3-none-any.whl

Download URL lepenseur-0.4.0-py3-none-any.whl
Size 19.4 kB
Tags Python 3
SHA-256 checksum
How to use checksums
4848f1556873bad4efcb68d8c16d8c558e119f1fd1d0c38466e69af21f3bbd23
BLAKE2b-256 checksum
How to use checksums
82e7588ab62ee08b3bfec1265185b8e00c2f038016c618e25be4944cb9d0c804
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via uv/0.11.16 {"installer":{"name":"uv","version":"0.11.16","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}

Security for lepenseur 0.4.0

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.

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