- """QMK CLI Subcommands
-
- We list each subcommand here explicitly because all the reliable ways of searching for modules are slow and delay startup.
- """
- import sys
-
- from milc import cli, __VERSION__
-
- from . import c2json
- from . import cformat
- from . import chibios
- from . import clean
- from . import compile
- from . import config
- from . import console
- from . import docs
- from . import doctor
- from . import fileformat
- from . import flash
- from . import format
- from . import generate
- from . import hello
- from . import info
- from . import json2c
- from . import lint
- from . import list
- from . import kle2json
- from . import new
- from . import pyformat
- from . import pytest
-
- # Supported version information
- #
- # Based on the OSes we support these are the minimum python version available by default.
- # Last update: 2021 Jan 02
- #
- # Arch: 3.9
- # Debian: 3.7
- # Fedora 31: 3.7
- # Fedora 32: 3.8
- # Fedora 33: 3.9
- # FreeBSD: 3.7
- # Gentoo: 3.7
- # macOS: 3.9 (from homebrew)
- # msys2: 3.8
- # Slackware: 3.7
- # solus: 3.7
- # void: 3.9
-
- if sys.version_info[0] != 3 or sys.version_info[1] < 7:
- print('Error: Your Python is too old! Please upgrade to Python 3.7 or later.')
- exit(127)
-
- milc_version = __VERSION__.split('.')
-
- if int(milc_version[0]) < 2 and int(milc_version[1]) < 3:
- from pathlib import Path
-
- requirements = Path('requirements.txt').resolve()
-
- print(f'Your MILC library is too old! Please upgrade: python3 -m pip install -U -r {str(requirements)}')
- exit(127)
|