Skip to content

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.