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.0.tar.gz (138.3 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.0-py3-none-win_amd64.whl (249.6 kB view details)

Uploaded Python 3Windows x86-64

medius-3.0.0-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.0-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (780.4 kB view details)

Uploaded Python 3manylinux: glibc 2.17+ ARM64

medius-3.0.0-py3-none-macosx_11_0_x86_64.whl (350.9 kB view details)

Uploaded Python 3macOS 11.0+ x86-64

medius-3.0.0-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.0.tar.gz.

File metadata

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

File hashes

Hashes for medius-3.0.0.tar.gz
Algorithm Hash digest
SHA256 f4485ca54079d213df0c07f86fb9f242d84f3f7669d5f9f4c219b5ea8a080df1
MD5 284fae7415345ec3465f660f80d7e4af
BLAKE2b-256 a16e09844a0174b0abb118e001c9c56c8bef0e975aa5c17dd89b359a29eed4f3

See more details on using hashes here.

Provenance

The following attestation bundles were made for medius-3.0.0.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.0-py3-none-win_amd64.whl.

File metadata

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

File hashes

Hashes for medius-3.0.0-py3-none-win_amd64.whl
Algorithm Hash digest
SHA256 a35cae709b2ec95086ef81a7c09a882017107719b6e74bd2133a1e399607c3f9
MD5 b1de2b1888330172f8f2c67e8eb2d571
BLAKE2b-256 e5ad167cd758b2b387f91a8a93e13c69acde65fb92d817da59245e5a00bdabe7

See more details on using hashes here.

Provenance

The following attestation bundles were made for medius-3.0.0-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.0-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for medius-3.0.0-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 1e873177c0a4c6e6d77db16f71192564e9497233dec722b1b171e0e4e2fbcc47
MD5 28c7fd107967b16b3313cf26ead480ce
BLAKE2b-256 cd4a2cd03ac07775841e0b4eec5aec2bafc3614df3e7932de0c5ef7f99866412

See more details on using hashes here.

Provenance

The following attestation bundles were made for medius-3.0.0-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.0-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for medius-3.0.0-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 66db7f3d86b113f12af68cde2924616b8d2cc2cf65fee0f36e51146115dc28dd
MD5 18a55efd845c2deadd98dd21ad7f1880
BLAKE2b-256 abf1658b680dc32e88f6356d0fe16541b317bb7036aec021c7dc61ee2396311d

See more details on using hashes here.

Provenance

The following attestation bundles were made for medius-3.0.0-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.0-py3-none-macosx_11_0_x86_64.whl.

File metadata

File hashes

Hashes for medius-3.0.0-py3-none-macosx_11_0_x86_64.whl
Algorithm Hash digest
SHA256 a0283811ec42989eab67c0097444e4a150bf36a96542882edad77bc5028fde1c
MD5 486f7ab9fc94584186b81507c7966167
BLAKE2b-256 eb74eecc2c9a88bf2543c657521d22edf752891120a51e2716c49f561c0d57eb

See more details on using hashes here.

Provenance

The following attestation bundles were made for medius-3.0.0-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.0-py3-none-macosx_11_0_arm64.whl.

File metadata

  • Download URL: medius-3.0.0-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.12

File hashes

Hashes for medius-3.0.0-py3-none-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 562b08bd0da3eebb1a952bc571989d0c73a2e99bb73e82399562fe9585b3f896
MD5 0223037e8131d467cddb053c59d5c18e
BLAKE2b-256 7d512f9128c5b38222661816d6ee9026ac93088afcdbccd0a33d9acffbd0bd38

See more details on using hashes here.

Provenance

The following attestation bundles were made for medius-3.0.0-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

3.0.1

6 files

This release

3.0.0 This release

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