@@ -6327,6 +6327,43 @@ (define-public autokey
flexibility and power of the Python language.")
(license license:gpl3+)))
+(define-public python-kalamine
+ (package
+ (name "python-kalamine")
+ (version "0.30")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "kalamine" version))
+ (sha256
+ (base32 "1aqwfp0m2fr9miwh0d8ljmb58k4mw7bp9bzn5fk3kyj2d6zr0cxg"))))
+ (build-system pyproject-build-system)
+ (arguments
+ (list #:phases
+ #~(modify-phases %standard-phases
+ (replace 'check
+ (lambda* (#:key tests? #:allow-other-keys)
+ (when tests?
+ (apply invoke
+ (cons* "python" "-m" "kalamine.cli" "make"
+ (find-files "layouts" "\\.toml")))
+ (invoke "pytest" "-vv" "tests")))))))
+ (propagated-inputs (list python-click python-livereload python-lxml
+ python-pyyaml python-tomli python-hatchling))
+ (native-inputs (list python-black
+ python-isort
+ python-mypy
+ python-pytest))
+ (home-page "https://github.com/OneDeadKey/kalamine")
+ (synopsis "A cross-platform Keyboard Layout Maker")
+ (description "Kalamine provides a CLI to create advanced keyboard layout
+for Windows (@file{.ahk} or @file{.klc} files), MacOS (@file{.keylayout} files)
+and GNU/Linux (@file{.xkb_custom} or @file{.xkb} files) from a textual,
+portable description. It also provides @command{xkalamine} to install XKB
+files on GNU/Linux in either @file{/usr/share/X11/xbk} or the rootless
+user-only equivalent @file{.config/xkb}.")
+ (license license:expat)))
+
(define-public python-dm-tree
(package
(name "python-dm-tree")