__init__.py 1.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263
  1. """QMK CLI Subcommands
  2. We list each subcommand here explicitly because all the reliable ways of searching for modules are slow and delay startup.
  3. """
  4. import sys
  5. from milc import cli, __VERSION__
  6. from . import c2json
  7. from . import cformat
  8. from . import chibios
  9. from . import clean
  10. from . import compile
  11. from . import config
  12. from . import console
  13. from . import docs
  14. from . import doctor
  15. from . import fileformat
  16. from . import flash
  17. from . import format
  18. from . import generate
  19. from . import hello
  20. from . import info
  21. from . import json2c
  22. from . import lint
  23. from . import list
  24. from . import kle2json
  25. from . import multibuild
  26. from . import new
  27. from . import pyformat
  28. from . import pytest
  29. # Supported version information
  30. #
  31. # Based on the OSes we support these are the minimum python version available by default.
  32. # Last update: 2021 Jan 02
  33. #
  34. # Arch: 3.9
  35. # Debian: 3.7
  36. # Fedora 31: 3.7
  37. # Fedora 32: 3.8
  38. # Fedora 33: 3.9
  39. # FreeBSD: 3.7
  40. # Gentoo: 3.7
  41. # macOS: 3.9 (from homebrew)
  42. # msys2: 3.8
  43. # Slackware: 3.7
  44. # solus: 3.7
  45. # void: 3.9
  46. if sys.version_info[0] != 3 or sys.version_info[1] < 7:
  47. print('Error: Your Python is too old! Please upgrade to Python 3.7 or later.')
  48. exit(127)
  49. milc_version = __VERSION__.split('.')
  50. if int(milc_version[0]) < 2 and int(milc_version[1]) < 3:
  51. from pathlib import Path
  52. requirements = Path('requirements.txt').resolve()
  53. print(f'Your MILC library is too old! Please upgrade: python3 -m pip install -U -r {str(requirements)}')
  54. exit(127)