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 synapsectrl 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.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 SynapseCTRL 0.2.0
File Size Uploaded
synapsectrl-0.2.0.tar.gz 87.9 kB Details

Built distribution (wheel)

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

Total release size: 130.1 kB

Release files / synapsectrl-0.2.0.tar.gz

Download URL synapsectrl-0.2.0.tar.gz
Size 87.9 kB
Tags Source
SHA-256 checksum
How to use checksums
b08e92391342e05a8e8e4a9a8876ffb0a52b9a60d8e70b82d788b5eb8b54b353
BLAKE2b-256 checksum
How to use checksums
5d94a6a2365cf1ce2171ec5481ef0d02304081780612cbb4838817b06ee18b64
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.0-py3-none-any.whl

Download URL synapsectrl-0.2.0-py3-none-any.whl
Size 42.2 kB
Tags Python 3
SHA-256 checksum
How to use checksums
d2f99a50e7dd47b29e4dbdb7acab8ee94ae499bb1b5a8d2778f03f7c72354ecb
BLAKE2b-256 checksum
How to use checksums
bca46788c79ec911737c34568d5a430abc6c0672d3e0283f742ef046de6d4f02
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

0.2.1

2 release files

This release

0.2.0 This release

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