Skip to main content

qmk-via-api

Version image image

qmk-via-api provides an implementation of the VIA API for QMK (Quantum Mechanical Keyboard) based keyboards. It allows developers to interact with QMK keyboards programmatically, enabling tasks such as configuring keymaps, macros, lighting effects and more.

Additionally, this library includes Python bindings for all API calls for integration of QMK keyboard configuration into Python-based applications or scripts.

Usage

Rust

Add dependency with Cargo:

cargo add qmk-via-api

Usage example:

use qmk_via_api::{
    api::KeyboardApi,
    scan::scan_keyboards,
};

fn main() -> Result<(), qmk_via_api::Error> {
    let devices = scan_keyboards()?;
    let dev = match devices.first() {
        Some(dev) => dev,
        None => {
            println!("No devices found");
            return Ok(());
        }
    };
    let api = KeyboardApi::from_device(dev)?;

    println!("Protocol version: {:?}", api.get_protocol_version()?);
    println!("Layer count: {:?}", api.get_layer_count()?);

    let original = api.get_key(0, 0, 0)?;
    api.set_key(0, 0, 0, original)?;

    Ok(())
}

Python

Install with pip:

pip install qmk-via-api

Usage example:

import qmk_via_api
from qmk_via_api import scan_keyboards

devices = scan_keyboards()
if not devices:
    print("No devices found")
    raise SystemExit(0)

dev = devices[0]
api = qmk_via_api.KeyboardApi.from_device(dev)

print(f"Protocol version {api.get_protocol_version()}")
print(f"Layers count: {api.get_layer_count()}")

original = api.get_key(0, 0, 0)
api.set_key(0, 0, 0, original)

License & Attribution

Parts of this project are based on code from the VIA project, which is licensed under the GNU General Public License v3.0.

Metadata

Release files for qmk-via-api 0.9.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 qmk-via-api 0.9.0
File Size Uploaded
qmk_via_api-0.9.0.tar.gz 42.0 kB Details

Built distributions (wheels)

Table of built distributions (wheels) for qmk-via-api 0.9.0
File
qmk_via_api-0.9.0-cp38-abi3-win_amd64.whl CPython 3.8 abi3 Windows x86-64 Details
qmk_via_api-0.9.0-cp38-abi3-win32.whl CPython 3.8 abi3 Windows x86-32 Details
qmk_via_api-0.9.0-cp38-abi3-manylinux_2_38_x86_64.whl CPython 3.8 abi3 Linux glibc 2.38+ x86-64 Details
qmk_via_api-0.9.0-cp38-abi3-macosx_11_0_arm64.whl CPython 3.8 abi3 macOS 11.0+ ARM64 Details
qmk_via_api-0.9.0-cp38-abi3-macosx_10_12_x86_64.whl CPython 3.8 abi3 macOS 10.12+ x86-64 Details

Total release size: 2.1 MB

Release files / qmk_via_api-0.9.0.tar.gz

Download URL qmk_via_api-0.9.0.tar.gz
Size 42.0 kB
Tags Source
SHA-256 checksum
How to use checksums
b748bf6ec45e3c26e788ab4dd51b65570af88fb1ff86651b10b49a2203981951
BLAKE2b-256 checksum
How to use checksums
21c31138258ec0a53851c7432f5a2b4d60ea00bb4f4514a9cdcae65a791d4cd6
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via maturin/1.15.0

Release files / qmk_via_api-0.9.0-cp38-abi3-win_amd64.whl

Download URL qmk_via_api-0.9.0-cp38-abi3-win_amd64.whl
Size 302.1 kB
Tags CPython 3.8 Windows x86-64 abi3
SHA-256 checksum
How to use checksums
36cf6af9b7c86f0aebf0915975f8d2a3dc447ab4f392d400cddfaa798bca241f
BLAKE2b-256 checksum
How to use checksums
c54c7c5b2dc9116da587fb3119627687069efc2a95336ac9b2a8d243be7d83cd
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via maturin/1.15.0

Release files / qmk_via_api-0.9.0-cp38-abi3-win32.whl

Download URL qmk_via_api-0.9.0-cp38-abi3-win32.whl
Size 270.1 kB
Tags CPython 3.8 Windows x86-32 abi3
SHA-256 checksum
How to use checksums
61424d1ce2901aaf30d536d569da30f986628bf1e22f7e06a94b54a85d003d13
BLAKE2b-256 checksum
How to use checksums
00b6c4c6fa05e0524c5f3c8e0110b52f2403b29b70398616bafd2d63e07b37af
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via maturin/1.15.0

Release files / qmk_via_api-0.9.0-cp38-abi3-manylinux_2_38_x86_64.whl

Download URL qmk_via_api-0.9.0-cp38-abi3-manylinux_2_38_x86_64.whl
Size 597.2 kB
Tags CPython 3.8 Linux glibc 2.38+ x86-64 abi3
SHA-256 checksum
How to use checksums
db8c522ae48568ef499739ea0f3c65e079fa1c5a751227a1ea650080ef3037b4
BLAKE2b-256 checksum
How to use checksums
636c4871ad346ce7af2dc6bab2d697f7e551a253627979427a7dacef9e1a1c17
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via maturin/1.15.0

Release files / qmk_via_api-0.9.0-cp38-abi3-macosx_11_0_arm64.whl

Download URL qmk_via_api-0.9.0-cp38-abi3-macosx_11_0_arm64.whl
Size 452.2 kB
Tags CPython 3.8 abi3 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
b1928459c11d6c9422f28f1f8d2e60aa3bc88d0a13788af75639be674a928af6
BLAKE2b-256 checksum
How to use checksums
c903ae0dbd213387f599bea576f6996ed28f57249e98b0b3c29c8d440b61ae01
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via maturin/1.15.0

Release files / qmk_via_api-0.9.0-cp38-abi3-macosx_10_12_x86_64.whl

Download URL qmk_via_api-0.9.0-cp38-abi3-macosx_10_12_x86_64.whl
Size 421.7 kB
Tags CPython 3.8 abi3 macOS 10.12+ x86-64
SHA-256 checksum
How to use checksums
9dafa279c679f0e15dc813843a16263cc0bcc5c98e302b6a703714fe67be86ab
BLAKE2b-256 checksum
How to use checksums
98b8c230c65ff4512d22773867001a9e197cfc0d539612bd734fcaac15103033
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via maturin/1.15.0

Release history Release notifications | RSS feed

0.10.1

6 release files

0.10.0

6 release files

This release

0.9.0 This release

6 release files

0.8.0

6 release files

0.7.0

6 release files

0.6.0

6 release files

0.5.0

6 release files

0.4.1

6 release files

0.4.0

6 release files

0.3.0

6 release files

0.2.1

6 release files

0.2.0

6 release files

0.1.0

6 release files

0.0.1

6 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