588bcdc8ca
* Add support for tab completion * make flake8 happy * Add documentation
62 lines
1.4 KiB
Python
62 lines
1.4 KiB
Python
"""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 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)
|