CVE and update status of the FreeBSD ports tree3,864 unaddressed CVEs in 671 portsAll times are CET
Port details

sysutils/py-qmk 1.2.0

CLI program for working with QMK firmware

Port info

Maintainer
raphael.ob@protonmail.com
Packages
latest: 1.2.0
Upstream
up to date
Last update
to 1.2.0 · 87cabcb18a
Quarterly
2026Q4: 1.2.0
WWW
https://github.com/qmk/qmk_cli
Links
cgit · VuXML

Install

Package
# pkg install py312-qmk
installs 1.2.0 from latest; from quarterly (2026Q4) 1.2.0
Port
# cd /usr/ports/sysutils/py-qmk && make install clean
Size
33 KiB download · 128 KiB installed
Depends on
comms/dfu-programmer 1.1.0, comms/dfu-util 0.11_1, comms/py-hid 1.0.9, devel/arm-none-eabi-gcc 11.3.0_3, devel/avr-gcc 14.2.0, devel/avr-libc 2.2.0,1, devel/avrdude 8.2, devel/git 2.56.0, devel/py-dotty-dict 1.3.1, devel/py-flake8 7.3.0, devel/py-jsonschema 4.26.0, devel/py-milc 1.8.0, devel/py-nose2 0.10.0_1, devel/py-pyrsistent 0.18.1_1, devel/py-pyusb 1.3.1, lang/python312 3.12.15, textproc/py-hjson 3.1.0, textproc/py-pygments 2.21.0, textproc/py-yapf 0.43.0
License
MIT
pkg-message
Shown after installing
Setup
=====

Before finishing the setup of QMK by running `qmk setup`, it is advised to
install the python3 package first:

    # pkg install python3

The reason for this is that the qmk_firmware scripts which are downloaded
during the setup expect python3 to be installed (instead of /usr/local/bin/python3.12).

Granting Write Permissions to USB Controllers
=============================================

Flashing images to controllers as a non-root user requires
some additional setup:

1. Add the user to the "operator" group:

        # pw groupmod operator -m piotr

2. Add the following ruleset to /etc/devfs.rules:

        [qmk=10]
        add path 'ttyU*' mode 0660 group operator

3. Enable "qmk" ruleset:

        # sysrc devfs_set_rulesets+="/dev=qmk"

4. Restart the devfs service to load the new rules:

        # service devfs restart

Packages by version and architecture

latest

FreeBSD versionamd64aarch64i386
FreeBSD 16✗✗–
FreeBSD 151.2.01.2.0–
FreeBSD 141.2.01.2.01.2.0

quarterly (2026Q4)

FreeBSD versionamd64aarch64i386
FreeBSD 151.2.01.2.0–
FreeBSD 141.2.01.2.01.2.0

version as in the ports tree (latest) or the most common one (quarterly) · different version · ✗ not built · – no packages for this platform. Package sets that have not been rebuilt for 60 days are left out.

Unaddressed and VuXML only (0)

No unaddressed CVE and nothing reported by pkg audit for the packaged version 1.2.0.

Fixed (0)

No VuXML entries for this package.

Problem reports (0) · open in Bugzilla, most recently changed first

None.

Commits (24)

Vladimir Druzenko (vvd) · 1.2.0
sysutils/py-qmk: Update 1.1.8 => 1.2.0, take maintainership

Commit log:
https://github.com/qmk/qmk_cli/compare/1.1.8...1.2.0

PR:	292024
87cabcb18a
Vanilla I. Shu (vanilla) · 1.1.8
sysutils/py-qmk: update to 1.1.8.
e874b25cce
Charlie Li (vishwin) · 1.1.5_1
python: bump all USE_PYTHON=distutils consumers after RUN_DEPENDS removal

Any missed ports, feel free to bump.

Any ports that need setuptools at runtime can have the devel/py-setuptools
manually added back to RUN_DEPENDS, but understand that this practice
is deprecated; see CHANGES for details.
06a08e69f3
Wen Heping (wen) · 1.1.5
sysutils/py-qmk: Update to 1.1.5

PR:		279597
Reported by:	uqs@
5c94ad1917
Mateusz Piotrowski (0mp) · 1.0.0_1
sysutils/py-qmk: Return to the pool
49dc9c2f3b
Gerald Pfeifer (gerald) · 1.0.0_1
*: Bump PORTREVISIONs for math/mpc update to 1.3.1
8d3e020ed0
Dmitry Marakasov (amdmi3) · 1.0.0
*/*: rename CHEESESHOP to PYPI in MASTER_SITES

PR:			267994
Differential revision:	D37518
Approved by:		bapt
77d68471ad
Stefan Eßer (se) · 1.0.0
Remove WWW entries moved into port Makefiles

Commit b7f05445c00f has added WWW entries to port Makefiles based on
WWW: lines in pkg-descr files.

This commit removes the WWW: lines of moved-over URLs from these
pkg-descr files.

Approved by:		portmgr (tcberner)
fb16dfecae
Stefan Eßer (se) · 1.0.0
Add WWW entries to port Makefiles

It has been common practice to have one or more URLs at the end of the
ports' pkg-descr files, one per line and prefixed with "WWW:". These
URLs should point at a project website or other relevant resources.

Access to these URLs required processing of the pkg-descr files, and
they have often become stale over time. If more than one such URL was
present in a pkg-descr file, only the first one was tarnsfered into
the port INDEX, but for many ports only the last line did contain the
port specific URL to further information.

There have been several proposals to make a project URL available as
a macro in the ports' Makefiles, over time.

This commit implements such a proposal and moves one of the WWW: entries
of each pkg-descr file into the respective port's Makefile. A heuristic
attempts to identify the most relevant URL in case there is more than
one WWW: entry in some pkg-descr file. URLs that are not moved into the
Makefile are prefixed with "See also:" instead of "WWW:" in the pkg-descr
files in order to preserve them.

There are 1256 ports that had no WWW: entries in pkg-descr files. These
ports will not be touched in this commit.

The portlint port has been adjusted to expect a WWW entry in each port
Makefile, and to flag any remaining "WWW:" lines in pkg-descr files as
deprecated.

Approved by:		portmgr (tcberner)
b7f05445c0
Ulrich Spörlein (uqs) · 1.0.0
sysutils/py-qmk: Upgrade to 1.0.0

Differential Revision: https://reviews.freebsd.org/D33655
57b9ebfa74
Mateusz Piotrowski (0mp) · 0.1.1
sysutils/py-qmk: Update to 0.1.1

- Redirect test results to /dev/null. We don't need them.
d5419d117e
Mateusz Piotrowski (0mp) · 0.1.0
sysutils/py-qmk: Update to 0.1.0
85a29c501b
Mateusz Piotrowski (0mp) · 0.0.52
sysutils/py-qmk: Update to 0.0.52
cbae4eb64b
Mateusz Piotrowski (0mp) · 0.0.51
sysutils/py-qmk: Update to 0.0.51
dd3779bd50
Mateusz Piotrowski (0mp) · 0.0.49
sysutils/py-qmk: Update to 0.0.49
bc2c813a8d
Mateusz Piotrowski (0mp) · 0.0.48
sysutils/py-qmk: Fix tests
62e8e9a71e
Mateusz Piotrowski (0mp) · 0.0.48
sysutils/py-qmk: Update to 0.0.48
746698d12b
Mateusz Piotrowski (0mp) · 0.0.46
sysutils/py-qmk: Update to 0.0.46
a5a8b5eb43
Mateusz Piotrowski (0mp) · 0.0.45
sysutils/py-qmk: Use devfs setup instructions

It's better to recommend using devfs_set_rulesets instead of
devfs_system_ruleset to change device file permissions under /dev.
ea1ad24175
Mateusz Piotrowski (0mp) · 0.0.45
sysutils/py-qmk: Update to 0.0.45

Also add a simple test target.
52d6b11899
Mathieu Arnold (mat) · 0.0.40
One more small cleanup, forgotten yesterday. Reported by:	lwhsu
cf118ccf87
Mathieu Arnold (mat) · 0.0.40
Remove # $FreeBSD$ from Makefiles.
305f148f48
Mateusz Piotrowski (0mp) · 0.0.40
Update to 0.0.40

Also, explain how to configure USB for qmk flash.
27a0951fe3
Mateusz Piotrowski (0mp) · 0.0.39
Add sysutils/py-qmk

A program to help users work with QMK keyboard firmware.

Features:
- Interact with your qmk_firmware tree from any location
- Use qmk clone to pull down anyone's qmk_firmware fork
- Setup your build environment with qmk setup
- Check that your environment is correctly setup with qmk doctor

WWW: https://github.com/qmk/qmk_cli
249b5ee32d