Compare commits

...

13 Commits

Author SHA1 Message Date
QMK Bot 8b30a9766d New release: 0.0.50 → 0.0.51 2021-05-27 02:16:09 +00:00
Zach White 982349a450 move the yesno import to after the set_metadata call 2021-05-26 19:00:16 -07:00
Zach White 4d161c9ec4 fix qmk config 2021-05-26 17:55:15 -07:00
QMK Bot 047eb00594 New release: 0.0.49 → 0.0.50 2021-05-26 17:13:15 +00:00
Ryan 558251860a Updates for milc 1.4.0 (#52)
* Updates for milc 1.4.0

* Add halo dependency

* Just set version for now; remove halo as milc 1.4.1 should pull that in

* Bump milc

* Remove appdirs, argcomplete and colorama as they are also pulled in by MILC
2021-05-26 10:07:13 -07:00
QMK Bot b685fe5d3f New release: 0.0.48 → 0.0.49 2021-05-25 06:16:01 +00:00
Zach White e447fb4252 mark user.qmk_home as a config_file option (#53) 2021-05-24 23:15:13 -07:00
Zach White 066a865084 remove the release script 2021-05-10 12:42:11 -07:00
QMK Bot a1276f8d58 New release: 0.0.47 → 0.0.48 2021-05-10 19:40:17 +00:00
Zach White 3555e34ae9 New release: 0.0.46 → 0.0.47 2021-05-10 12:39:08 -07:00
Zach White b36cf144e3 Pass color and unicode settings down to qmk doctor
fixes #50
2021-05-10 12:28:37 -07:00
Zach White fb05b69adc update README 2021-05-10 12:24:05 -07:00
Zach White 4283c258d9 remove the module checking code in favor of qmk_firmware doing that directly 2021-05-10 12:22:44 -07:00
8 changed files with 19 additions and 122 deletions
+3 -4
View File
@@ -9,13 +9,12 @@ A program to help users work with [QMK Firmware](https://qmk.fm/).
* 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`
* Integrates with your qmk_firmware for additional functionality:
* `qmk c2json`
* Integrates with qmk_firmware for additional functionality:
* `qmk compile`
* `qmk console`
* `qmk flash`
* `qmk json2c`
* `qmk lint`
* `qmk new-keymap`
* ...and many more!
# Quickstart
+1 -1
View File
@@ -1,3 +1,3 @@
"""A program to help you work with qmk_firmware."""
__version__ = '0.0.46'
__version__ = '0.0.51'
-54
View File
@@ -26,60 +26,6 @@ def is_qmk_firmware(qmk_firmware):
return True
def broken_module_imports():
"""Make sure we can import all the python modules.
"""
broken_modules = find_broken_requirements('requirements.txt')
broken_dev_modules = find_broken_requirements('requirements-dev.txt') if cli.config.user.developer else []
to_return = [False, False]
if broken_modules:
to_return[0] = True
if broken_dev_modules:
to_return[1] = True
for module in broken_modules + broken_dev_modules:
print('Could not find module %s!' % module)
return to_return
def find_broken_requirements(requirements):
""" Check if the modules in the given requirements.txt are available.
Args:
requirements
The path to a requirements.txt file
Returns a list of modules that couldn't be imported
"""
with Path(requirements).open() as fd:
broken_modules = []
for line in fd.readlines():
line = line.strip().replace('<', '=').replace('>', '=')
if len(line) == 0 or line[0] == '#' or line.startswith('-r'):
continue
if '#' in line:
line = line.split('#')[0]
module_name = line.split('=')[0] if '=' in line else line
module_import_name = module_name.replace('-', '_')
# Not every module is importable by its own name.
if module_name == "pep8-naming":
module_import_name = "pep8ext_naming"
if not find_spec(module_import_name):
broken_modules.append(module_name)
return broken_modules
@lru_cache(maxsize=2)
def find_qmk_firmware():
"""Look for qmk_firmware in the usual places.
+7 -30
View File
@@ -11,13 +11,17 @@ from platform import platform
from traceback import print_exc
import milc
import milc.subcommand.config # noqa
from milc.questions import yesno
from .helpers import broken_module_imports, find_qmk_firmware, is_qmk_firmware
from . import __version__
from .helpers import find_qmk_firmware, is_qmk_firmware
milc.set_metadata(version=__version__)
milc.EMOJI_LOGLEVELS['INFO'] = '{fg_blue}Ψ{style_reset_all}'
# These must happen after the milc.set_metadata() call
import milc.subcommand.config # noqa, must come after milc.set_metadata()
from milc.questions import yesno
@milc.cli.entrypoint('CLI wrapper for running QMK commands.')
def qmk_main(cli):
@@ -56,8 +60,6 @@ def main():
exit(1)
# Environment setup
import qmk_cli
milc.cli.version = qmk_cli.__version__
qmk_firmware = find_qmk_firmware()
os.environ['QMK_HOME'] = str(qmk_firmware)
os.environ['ORIG_CWD'] = os.getcwd()
@@ -68,31 +70,6 @@ def main():
if is_qmk_firmware(qmk_firmware):
# All subcommands are run relative to the qmk_firmware root to make it easier to use the right copy of qmk_firmware.
os.chdir(str(qmk_firmware))
# Check to make sure we have all the requirements
broken_modules, broken_dev_modules = broken_module_imports()
msg_install = 'Please run `python3 -m pip install -r %s` to install required python dependencies.'
if broken_modules:
if yesno('Would you like to install the required Python modules?'):
run_cmd(sys.executable, '-m', 'pip', 'install', '-r', 'requirements.txt')
else:
print()
print(msg_install % (os.environ['QMK_HOME'] + '/requirements.txt',))
print()
exit(1)
if broken_dev_modules:
if yesno('Would you like to install the required developer Python modules?'):
run_cmd(sys.executable, '-m', 'pip', 'install', '-r', 'requirements.txt')
else:
print()
print(msg_install % (os.environ['QMK_HOME'] + '/requirements-dev.txt',))
print('You can also turn off developer mode: qmk config user.developer=None')
print()
exit(1)
# Environment looks good, include the qmk_firmware subcommands
sys.path.append(str(qmk_firmware / 'lib/python'))
try:
+4 -1
View File
@@ -87,10 +87,13 @@ def setup(cli):
# Offer to set `user.qmk_home` for them.
if str(cli.args.home) != os.environ['QMK_HOME'] and yesno(home_prompt):
cli.config['user']['qmk_home'] = str(cli.args.home.absolute())
cli.config_source['user']['qmk_home'] = 'config_file'
cli.write_config_option('user', 'qmk_home')
# Run `qmk doctor` to check the rest of the environment out
doctor_command = [sys.argv[0], 'doctor']
color = '--color' if cli.config.general.color else '--no-color'
unicode = '--unicode' if cli.config.general.unicode else '--no-unicode'
doctor_command = [Path(sys.argv[0]).as_posix(), color, unicode, 'doctor']
if cli.args.no:
doctor_command.append('--no')
+2 -27
View File
@@ -3,30 +3,5 @@
#
# Required packages: pip3 install bumpversion twine
set -e
set -x
PYPI_USERNAME=${PYPI_USERNAME:=skully}
FLIT_USERNAME=$PYPI_USERNAME
TWINE_USERNAME=$PYPI_USERNAME
export FLIT_USERNAME TWINE_USERNAME
if ! bumpversion -h &> /dev/null; then
echo "Missing bumpversion! Please run: pip3 install -U -r requirements-dev.txt"
exit 1
fi
if ! twine -h &> /dev/null; then
echo "Missing twine! Please run: pip3 install -U -r requirements-dev.txt"
exit 1
fi
# Bump the version, tag, and push
rm -f dist/*
bumpversion patch
git push origin master --tags
# Build and upload
python3 setup.py sdist bdist_wheel
twine upload dist/qmk-*
echo "Use the github action instead!"
exit 1
+1 -1
View File
@@ -1,5 +1,5 @@
[bumpversion]
current_version = 0.0.46
current_version = 0.0.51
commit = True
tag = True
tag_name = {new_version}
+1 -4
View File
@@ -40,15 +40,12 @@ if __name__ == "__main__":
],
python_requires=metadata['requires-python'],
install_requires=[
"appdirs",
"argcomplete",
"colorama",
"dotty-dict",
"flake8",
"hid",
"hjson",
"jsonschema>=3",
"milc>=1.3.0",
"milc>=1.4.0",
"nose2",
"pygments",
"pyusb",