Skip to main content

Python on Linux and macOS

Install Toposync directly on the host system without Docker.

Who this is for​

Use this path on Linux or macOS.

This guide installs the default CPU bundle.

For architecture and GPU support, see Compatibility.

Prerequisites​

  • Python 3.12 recommended.
  • uv.
  • Terminal access.

Install uv if you do not have it yet:

curl -LsSf https://astral.sh/uv/install.sh | sh

Close and reopen the terminal if the uv command is still not on your PATH.

Installation​

Create a directory for Toposync:

mkdir -p ~/toposync
cd ~/toposync

Install the recommended Python version and create the virtual environment:

uv python install 3.12
uv venv .venv --python 3.12
source .venv/bin/activate

Install Toposync:

uv pip install --upgrade --refresh toposync

If you need to reproduce a specific published version, replace X.Y.Z with the version you want:

uv pip install --upgrade --refresh "toposync==X.Y.Z"

How to run​

For local use:

toposync serve

To access it from the local network:

toposync serve --host 0.0.0.0 --port 8000

To choose the data directory:

toposync serve --data-dir ./toposync-data

How to access​

On the same computer:

http://127.0.0.1:8000/

From another device on the same network, use the server IP:

http://<server-ip>:8000/

How to verify​

In another terminal:

curl -I http://127.0.0.1:8000/
curl http://127.0.0.1:8000/api/health
curl http://127.0.0.1:8000/api/auth/status

Expected result:

  • / returns 200;
  • /api/health returns 200;
  • /api/auth/status returns JSON and may report requires_setup: true on first access.

After you complete setup or login in the UI, authenticated API routes such as /api/extensions become available.

How to update​

With the virtual environment active:

uv pip install --upgrade --refresh toposync

Then restart the toposync serve process.

How to uninstall​

Stop the server and remove the directory where you created the environment:

deactivate 2>/dev/null || true
rm -rf ~/toposync

If you used another data directory, remove that directory too.

Troubleshooting​

toposync: command not found​

Activate the virtual environment:

source .venv/bin/activate

The UI does not open​

Confirm that the server is running and that /api/health responds:

curl http://127.0.0.1:8000/api/health
curl http://127.0.0.1:8000/api/auth/status

I need streaming​

Install the streaming bundle:

uv pip install --upgrade --refresh toposync-streaming

Streaming may require FFmpeg to be available on the system.