Skip to main content

SynapseCTRL

PyPI License Python Windows Ko-fi

Programmatic control for Razer Synapse 4 software profiles on Windows.

SynapseCTRL discovers connected devices, lists their software profiles, reports the active profile, and switches profiles through Synapse itself — without UI automation or fake clicks.

The source project is developed, dependency-managed, and built with uv. It is intentionally uv-first while still publishing as a normal Python package and command-line tool.

Important: SynapseCTRL requires its Synapse inspector hook before device/profile control will work. Start with the Getting Started guide.

Install

SynapseCTRL is published on PyPI. Installing it exposes the SynapseCTRL CLI as a terminal command, so normal usage does not require cloning the repository or running the project through Python manually.

For the CLI, an isolated uv tool install is recommended:

uv tool install synapsectrl
SynapseCTRL hook install

Standard pip installation also works:

python -m pip install synapsectrl
SynapseCTRL hook install

After either install, commands are available directly from the terminal:

SynapseCTRL --version
SynapseCTRL devices

Windows will request administrator elevation for the hook installer. Fully exit and reopen Razer Synapse afterward.

Python projects can add the SDK with:

uv add synapsectrl

What it can do

SynapseCTRL devices
SynapseCTRL profiles "Naga"
SynapseCTRL switch "Naga" "Siege"

For other programs, every command also supports machine-readable JSON:

SynapseCTRL devices --json

Python applications can use SynapseClient directly instead of spawning the CLI.

Documentation

  • Getting Started — install the package and required hook, verify SynapseCTRL works, and make your first switch
  • Documentation home — find setup, CLI, SDK, architecture, troubleshooting, and developer references
  • CLI & JSON — scripting and cross-language integrations
  • Python SDK — use SynapseCTRL directly from Python
  • API reference — models, errors, selectors, and exact behavior
  • Troubleshooting — doctor, update repair, and diagnostics

Quick Python example

from synapsectrl import SynapseClient

with SynapseClient() as synapse:
    devices = synapse.list_devices()
    for device in devices:
        print(device.name, device.active_profile_id)

    synapse.switch_profile("Naga", "Siege")

Use stable device IDs and profile GUIDs for unattended automation. Human-readable names are convenience selectors.

Attribution and license

SynapseCTRL is licensed under the Apache License 2.0 and ships with a NOTICE file so downstream distributions preserve project attribution as required by the license.

When integrating SynapseCTRL, it is also appreciated if your source or documentation mentions that Razer Synapse device/profile discovery and control is handled by SynapseCTRL. See Attribution.

Project status

SynapseCTRL targets Razer Synapse 4 on Windows and relies on private Synapse/Electron interfaces discovered at runtime. Synapse updates can change those interfaces, so compatibility is capability-checked rather than tied to one fixed Synapse version.

This is an independent community project and is not affiliated with or endorsed by Razer.

Release files for SynapseCTRL 0.2.1

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

Source distribution (sdist)

Source distribution for SynapseCTRL 0.2.1
File Size Uploaded
synapsectrl-0.2.1.tar.gz 87.9 kB Details

Built distribution (wheel)

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

Total release size: 130.1 kB

Release files / synapsectrl-0.2.1.tar.gz

Download URL synapsectrl-0.2.1.tar.gz
Size 87.9 kB
Tags Source
SHA-256 checksum
How to use checksums
619211019df79ce3eb85e5888ab29a59959f8d6e73bf5f1f9b54ea198a3fc1dd
BLAKE2b-256 checksum
How to use checksums
7b4374cf3cb653801bbecbe333b1a365cba057e0f7c89960baba251194f816a8
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via uv/0.12.10 {"installer":{"name":"uv","version":"0.12.10","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}

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.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 8, 2026.

Transparency log

Release files / synapsectrl-0.2.1-py3-none-any.whl

Download URL synapsectrl-0.2.1-py3-none-any.whl
Size 42.2 kB
Tags Python 3
SHA-256 checksum
How to use checksums
0ce2f97ec17a9db0251a8dca3e7ac8116dd1cba5fbc606e6fb7845f369371d46
BLAKE2b-256 checksum
How to use checksums
82fca6993cbef7e119d20a6300222b33615d1a3cc83a9291fedb3c316ea76fb3
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via uv/0.12.10 {"installer":{"name":"uv","version":"0.12.10","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}

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.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 8, 2026.

Transparency log

Release history Release notifications | RSS feed

0.3.1

2 release files

0.3.0

2 release files

This release

0.2.1 This release

2 release files

0.2.0

2 release files

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