Install¶
sharedcode needs Python 3.10 or newer and runs on Linux, macOS and Windows. The package metadata declares 3.10 through 3.14. These pages were produced on Linux with Python 3.12.
Release status
The first release, 0.1.0, is not on PyPI yet:
PyPI (not live yet). Until it is, pip install sharedcode fails with
No matching distribution found for sharedcode. The commands below are
the ones that will work once it is published. The quickstart was run
against the 0.1.0 release wheel.
Base install¶
Use a virtual environment. sharedcode installs several console scripts, and keeping them out of your system Python saves you trouble later.
python3 -m venv ~/.venvs/sharedcode
. ~/.venvs/sharedcode/bin/activate
pip install sharedcode
The base install is deliberately lean: the terminal UI, gateway,
orchestrator, MCP client, memory index and SQLite storage. Its
dependencies (textual, httpx, aiohttp, rich, requests, openai,
sqlite-vec, mcp, agent-client-protocol, hypercorn, starlette,
sse-starlette, tokenizers) all publish wheels for every supported
Python, so it resolves quickly even on a brand-new interpreter.
Optional extras¶
Each extra adds the dependencies for one feature. Quote the argument so
your shell does not expand the brackets, and combine extras with commas:
pip install "sharedcode[web,stt]".
| Install command | Adds | What it is for |
|---|---|---|
pip install "sharedcode[web]" |
flask, plus gunicorn on Linux/macOS or waitress on Windows |
The browser UI (sharedcode-web, sharedcode web start, and the web part of sharedcode-serve). The UI's templates and assets ship in every install; this extra only adds the server. |
pip install "sharedcode[full]" |
trafilatura, markitdown[pdf], markitdown-mcp, imageio-ffmpeg, yt-dlp, youtube-transcript-api |
Document and media tools: web page extraction, PDF/DOCX/Office to Markdown, YouTube transcripts, and an ffmpeg binary for voice-note transcoding. The first-run setup only enables the YouTube and markitdown MCP servers when these are installed. This is the heaviest extra (about fifty packages) and the one most likely to lag behind a brand-new Python. |
pip install "sharedcode[stt]" |
faster-whisper |
Local speech-to-text (sharedcode-stt) for voice notes. Runs on CPU with int8 and the base model by default; no GPU needed. Skip it if you point speech-to-text at a remote server instead. |
pip install "sharedcode[realtime]" |
numpy |
PCM conversion and resampling for the realtime voice server (python -m sharedcode_realtime), which does not start without it. |
pip install "sharedcode[bedrock]" |
boto3 1.43.101 or newer (below 2) |
The native Amazon Bedrock Converse transport. The import is lazy: without this extra, selecting a Bedrock model fails with an install hint, and nothing else is affected. |
pip install "sharedcode[whatsapp]" |
neonize==0.5.2 |
The WhatsApp self-chat channel (sharedcode whatsapp link). The pin is exact on purpose: other versions download a binary at import time. Also needs the system libmagic1 library (apt install libmagic1 on Debian and Ubuntu). |
pip install "sharedcode[vllm-router]" |
fastapi, uvicorn[standard], httpx, pyyaml, python-multipart |
The optional local vLLM replica router (sharedcode-vllm). |
pip install "sharedcode[dev]" |
pytest with its asyncio, xdist and timeout plugins, playwright, basedpyright, import-linter, and the libraries the offline tests exercise (numpy, pymongo, lz4, jsonschema, telethon, gTTS, neonize) |
The contributor toolchain. Only useful in a source checkout, because the test suite is not shipped in the package. |
Every extra above was resolved with pip install --dry-run against the
0.1.0 wheel on Python 3.12, and all eight resolved.
Not an extra: the SharedData worker-pool client
python -m sharedcode_shareddata.workerpool also needs pymongo and
lz4. No runtime extra installs them, so add them yourself
(pip install pymongo lz4) on the machine that dispatches commands.
See Operations.
What gets installed¶
| Command | Starts | Needs |
|---|---|---|
sharedcode |
The terminal UI, the one-shot -p mode, and the configure, gateway, web, doctor, memory, session, skills, telegram and whatsapp subcommands |
base |
sharedcode-serve |
Orchestrator, gateway and web UI together (also python -m sharedcode.serve) |
base; [web] unless you pass --no-web |
sharedcode-web |
The web UI server on its own | [web] |
sharedcode-stt |
The local speech-to-text server | [stt] |
sharedcode-whatsapp |
The WhatsApp channel service | [whatsapp] and a linked device |
sharedcode-vllm |
The local vLLM replica router | [vllm-router] |
From a source checkout¶
On Linux and macOS, the ./sharedcode launcher in the repository root
creates .venv/, runs an editable pip install -e . and starts the TUI.
On Windows, once the checkout has a .venv, sharedcode.bat starts the
stack detached (python -m sharedcode.serve --detach), and
sharedcode-stop.bat and sharedcode-status.bat run its stop and
status. Where the public repository will live:
Source code (GitHub) (address not announced yet).
Uninstall¶
pip uninstall sharedcode
This removes the code only. Your sessions, memory, configuration and logs
stay in ~/.sharedcode/ until you delete that directory yourself.