Skip to main content

medius

Python bindings for medius, custom firmware and a control library for MAKCU mouse-passthrough boxes.

A MAKCU box sits inline between a mouse and a PC: the real mouse passes through to the PC while your program injects movement, buttons, scroll, and keystrokes over USB-serial. This package drives the box from Python. It's a ctypes wrapper over the medius C ABI with no runtime dependencies, and the wheel bundles the native library, so pip install needs no Rust toolchain.

Full documentation is at medius.k4tech.net.

Install

pip install medius

Platforms without a prebuilt wheel fall back to the source distribution, which builds the library and needs a Rust toolchain.

Usage

import medius

with medius.Device.find() as dev:
    print(dev.query_version())
    dev.move_rel(100, -50)                          # relative move
    dev.press(medius.Usage.button(medius.Button.LEFT))  # force a usage down
    with dev.catch_events(medius.CatchMask.ALL) as events:
        for event in events:                        # the user's real input, live
            ...

Calls are synchronous and each sends one firmware frame; failures raise MediusError. The API covers mouse, keyboard, and media control, plus catching physical input. See medius.k4tech.net for the full reference.

License

MIT.

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

medius-3.0.1.tar.gz (140.7 kB view details)

Uploaded Source

Built Distributions

If you're not sure about the file name format, learn more about wheel file names.

medius-3.0.1-py3-none-win_amd64.whl (246.0 kB view details)

Uploaded Python 3Windows x86-64

medius-3.0.1-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (778.7 kB view details)

Uploaded Python 3manylinux: glibc 2.17+ x86-64

medius-3.0.1-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (780.5 kB view details)

Uploaded Python 3manylinux: glibc 2.17+ ARM64

medius-3.0.1-py3-none-macosx_11_0_x86_64.whl (350.7 kB view details)

Uploaded Python 3macOS 11.0+ x86-64

medius-3.0.1-py3-none-macosx_11_0_arm64.whl (342.5 kB view details)

Uploaded Python 3macOS 11.0+ ARM64

File details

Details for the file medius-3.0.1.tar.gz.

File metadata

  • Download URL: medius-3.0.1.tar.gz
  • Upload date:
  • Size: 140.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.14

File hashes

Hashes for medius-3.0.1.tar.gz
Algorithm Hash digest
SHA256 8b8d294e807ffee74a6e45193c3bb65a047924107925ca8bfea0d1985a0463ea
MD5 4b027ecb35414128125c615a9d2bdc11
BLAKE2b-256 139ee333bd2e87e208d28515ff6a4c13a7730747c504ebc26112407681249e7d

See more details on using hashes here.

Provenance

The following attestation bundles were made for medius-3.0.1.tar.gz:

Publisher: ci.yml on K4HVH/medius

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file medius-3.0.1-py3-none-win_amd64.whl.

File metadata

  • Download URL: medius-3.0.1-py3-none-win_amd64.whl
  • Upload date:
  • Size: 246.0 kB
  • Tags: Python 3, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.14

File hashes

Hashes for medius-3.0.1-py3-none-win_amd64.whl
Algorithm Hash digest
SHA256 d794c620ee23798a5683371e9e49a2e8433361c9a94e8f7be436ea2a088d275c
MD5 b76653af7a2320cfc6e6753e826a1141
BLAKE2b-256 d93775b3aba00bf4511109ec3bd0289164d0238c3ee43625958f6db388620f85

See more details on using hashes here.

Provenance

The following attestation bundles were made for medius-3.0.1-py3-none-win_amd64.whl:

Publisher: ci.yml on K4HVH/medius

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file medius-3.0.1-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for medius-3.0.1-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 4680f33578f47879fd429d1da6f7a6609dd3ca1d2e6ee278f110f5d1908f1aa2
MD5 4aef22953ae0af8d24695839c9410378
BLAKE2b-256 a36fb61c8d3ff43a74663a2f1790fc0c5135392fbb5ccc4cb9e93b30886c91c0

See more details on using hashes here.

Provenance

The following attestation bundles were made for medius-3.0.1-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl:

Publisher: ci.yml on K4HVH/medius

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file medius-3.0.1-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for medius-3.0.1-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 47986ff6babe029180eae02c054851c3bda0068ae245c5c85cf9c89b13ff9711
MD5 67a418ca4e460a82770838b065247aa0
BLAKE2b-256 6b131c63c19bdac129babe88720754ab6f872087c43ab3a02bec9a80487c2536

See more details on using hashes here.

Provenance

The following attestation bundles were made for medius-3.0.1-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl:

Publisher: ci.yml on K4HVH/medius

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file medius-3.0.1-py3-none-macosx_11_0_x86_64.whl.

File metadata

File hashes

Hashes for medius-3.0.1-py3-none-macosx_11_0_x86_64.whl
Algorithm Hash digest
SHA256 1655e6d6917d78087e4da95f9d813c568c7ad0982d1376aa0f2eae5c40473baa
MD5 e0a2e257692e75bad49f9c611d436de0
BLAKE2b-256 a9a533e409323004ad67d1bee831a9c12124dae39b697d874664a34ad3d6b6fd

See more details on using hashes here.

Provenance

The following attestation bundles were made for medius-3.0.1-py3-none-macosx_11_0_x86_64.whl:

Publisher: ci.yml on K4HVH/medius

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file medius-3.0.1-py3-none-macosx_11_0_arm64.whl.

File metadata

  • Download URL: medius-3.0.1-py3-none-macosx_11_0_arm64.whl
  • Upload date:
  • Size: 342.5 kB
  • Tags: Python 3, macOS 11.0+ ARM64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.14

File hashes

Hashes for medius-3.0.1-py3-none-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 a47aaa2fc728566839bbbf22ded80f0c53c7e656fff52f2919d98ff62bee0b44
MD5 ab85ec72680d8c9529f2db9f5ee7048b
BLAKE2b-256 f99b38156eaea447d62b781bd08cf8040a214d9ef6dff61accd57821f4b0d0e4

See more details on using hashes here.

Provenance

The following attestation bundles were made for medius-3.0.1-py3-none-macosx_11_0_arm64.whl:

Publisher: ci.yml on K4HVH/medius

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Release history Release notifications | RSS feed

3.3.1

6 files

3.3.0

6 files

3.2.0

6 files

3.1.0

6 files

This release

3.0.1 This release

6 files

3.0.0

6 files

2.3.0

6 files

2.2.1

7 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