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.input_events(medius.CatchFilter.all_input()) 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.1.0.tar.gz (218.4 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.1.0-py3-none-win_amd64.whl (287.1 kB view details)

Uploaded Python 3Windows x86-64

medius-3.1.0-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (824.4 kB view details)

Uploaded Python 3manylinux: glibc 2.17+ x86-64

medius-3.1.0-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (819.2 kB view details)

Uploaded Python 3manylinux: glibc 2.17+ ARM64

medius-3.1.0-py3-none-macosx_11_0_x86_64.whl (394.9 kB view details)

Uploaded Python 3macOS 11.0+ x86-64

medius-3.1.0-py3-none-macosx_11_0_arm64.whl (381.8 kB view details)

Uploaded Python 3macOS 11.0+ ARM64

File details

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

File metadata

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

File hashes

Hashes for medius-3.1.0.tar.gz
Algorithm Hash digest
SHA256 74b7f4c1f6916a6759b7047ca3cb196ac080b12439e62a73b609ed913e4cdc21
MD5 4c72608f1b63adc473083e53eb118db4
BLAKE2b-256 1e87a0bc501e3f5be47851d9c333c30f8f26a2c702c38afbd76bc61948603801

See more details on using hashes here.

Provenance

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

File metadata

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

File hashes

Hashes for medius-3.1.0-py3-none-win_amd64.whl
Algorithm Hash digest
SHA256 b3bd1d01a364b54f3d1eede80c2e1945e6e9acca15fd7afe6d3d03410376b94c
MD5 f9303890f6b2dbbd6adcc4f28690c630
BLAKE2b-256 5f743a3b6b9262a08de0536ed39203c44e8e883a1ef9b54dc280fad3e3c61121

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for medius-3.1.0-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 f05b6e32b57b922873d94d5789acb89d289a298dcbe4bd21dffffb3bc54992e3
MD5 fb581c23c5ae38ddab93531cfe3c7f2e
BLAKE2b-256 90b90961a6cc923c40fe9be41a3e14abb900cf251a1f13e47998f6b0b4283025

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for medius-3.1.0-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 e0f1f6a9df4db9ce0451113941cb2714ad6d28d817e2a7faea0393a9f00a7393
MD5 1d3bd03b6384b7846b9ae0f91094f4f7
BLAKE2b-256 52b3bdd1b8e2be5432f8b1cebfa22ad52275491d052de4aeaeba57bb7cd7dd5f

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for medius-3.1.0-py3-none-macosx_11_0_x86_64.whl
Algorithm Hash digest
SHA256 84cd9457a044e0c441848e7c07c85746e0506c19229f6a447df67946c611263f
MD5 d961425f3d61cd20976555aa2cd9bbc6
BLAKE2b-256 3300e6214cacd456d199ffad42e20ac63850608b2cc518bf7ccfff5ec207e5e0

See more details on using hashes here.

Provenance

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

File metadata

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

File hashes

Hashes for medius-3.1.0-py3-none-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 82b3f560bb079f1859205568423748413e65ec20d9f192704c0f76a3eb393dab
MD5 fa3ed514a3129cc81ae7b51dc71d05cc
BLAKE2b-256 614957c7ebf8ba92cd2cb8b576632f2a2cfce841abba2c99786b621f6236286c

See more details on using hashes here.

Provenance

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

This release

3.1.0 This release

6 files

3.0.1

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