circfirm 2.0.0__tar.gz → 2.0.2__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {circfirm-2.0.0 → circfirm-2.0.2}/PKG-INFO +8 -3
- circfirm-2.0.2/VERSION +1 -0
- {circfirm-2.0.0 → circfirm-2.0.2}/circfirm/cli.py +12 -12
- {circfirm-2.0.0 → circfirm-2.0.2}/circfirm.egg-info/PKG-INFO +8 -3
- {circfirm-2.0.0 → circfirm-2.0.2}/pyproject.toml +7 -2
- circfirm-2.0.0/VERSION +0 -1
- {circfirm-2.0.0 → circfirm-2.0.2}/.github/workflows/codeql.yml +0 -0
- {circfirm-2.0.0 → circfirm-2.0.2}/.github/workflows/publish.yml +0 -0
- {circfirm-2.0.0 → circfirm-2.0.2}/.github/workflows/push.yml +0 -0
- {circfirm-2.0.0 → circfirm-2.0.2}/.gitignore +0 -0
- {circfirm-2.0.0 → circfirm-2.0.2}/.pre-commit-config.yaml +0 -0
- {circfirm-2.0.0 → circfirm-2.0.2}/.reuse/dep5 +0 -0
- {circfirm-2.0.0 → circfirm-2.0.2}/LICENSE +0 -0
- {circfirm-2.0.0 → circfirm-2.0.2}/LICENSES/MIT.txt +0 -0
- {circfirm-2.0.0 → circfirm-2.0.2}/Makefile +0 -0
- {circfirm-2.0.0 → circfirm-2.0.2}/README.rst +0 -0
- {circfirm-2.0.0 → circfirm-2.0.2}/README.rst.license +0 -0
- {circfirm-2.0.0 → circfirm-2.0.2}/VERSION.license +0 -0
- {circfirm-2.0.0 → circfirm-2.0.2}/circfirm/__init__.py +0 -0
- {circfirm-2.0.0 → circfirm-2.0.2}/circfirm/backend.py +0 -0
- {circfirm-2.0.0 → circfirm-2.0.2}/circfirm/startup.py +0 -0
- {circfirm-2.0.0 → circfirm-2.0.2}/circfirm.egg-info/SOURCES.txt +0 -0
- {circfirm-2.0.0 → circfirm-2.0.2}/circfirm.egg-info/dependency_links.txt +0 -0
- {circfirm-2.0.0 → circfirm-2.0.2}/circfirm.egg-info/entry_points.txt +0 -0
- {circfirm-2.0.0 → circfirm-2.0.2}/circfirm.egg-info/requires.txt +0 -0
- {circfirm-2.0.0 → circfirm-2.0.2}/circfirm.egg-info/top_level.txt +0 -0
- {circfirm-2.0.0 → circfirm-2.0.2}/requirements-dev.txt +0 -0
- {circfirm-2.0.0 → circfirm-2.0.2}/requirements.txt +0 -0
- {circfirm-2.0.0 → circfirm-2.0.2}/scripts/rmdir.py +0 -0
- {circfirm-2.0.0 → circfirm-2.0.2}/setup.cfg +0 -0
- {circfirm-2.0.0 → circfirm-2.0.2}/tests/assets/boot_out.txt +0 -0
- {circfirm-2.0.0 → circfirm-2.0.2}/tests/assets/firmwares/feather_m0_express/adafruit-circuitpython-feather_m0_express-en_US-7.0.0.uf2 +0 -0
- {circfirm-2.0.0 → circfirm-2.0.2}/tests/assets/firmwares/feather_m0_express/adafruit-circuitpython-feather_m0_express-en_US-7.1.0.uf2 +0 -0
- {circfirm-2.0.0 → circfirm-2.0.2}/tests/assets/firmwares/feather_m0_express/adafruit-circuitpython-feather_m0_express-en_US-7.2.0.uf2 +0 -0
- {circfirm-2.0.0 → circfirm-2.0.2}/tests/assets/firmwares/feather_m0_express/adafruit-circuitpython-feather_m0_express-fr-7.0.0.uf2 +0 -0
- {circfirm-2.0.0 → circfirm-2.0.2}/tests/assets/firmwares/feather_m0_express/adafruit-circuitpython-feather_m0_express-fr-7.1.0.uf2 +0 -0
- {circfirm-2.0.0 → circfirm-2.0.2}/tests/assets/firmwares/feather_m0_express/adafruit-circuitpython-feather_m0_express-fr-7.2.0.uf2 +0 -0
- {circfirm-2.0.0 → circfirm-2.0.2}/tests/assets/firmwares/feather_m0_express/adafruit-circuitpython-feather_m0_express-zh_Latn_pinyin-7.0.0.uf2 +0 -0
- {circfirm-2.0.0 → circfirm-2.0.2}/tests/assets/firmwares/feather_m0_express/adafruit-circuitpython-feather_m0_express-zh_Latn_pinyin-7.1.0.uf2 +0 -0
- {circfirm-2.0.0 → circfirm-2.0.2}/tests/assets/firmwares/feather_m0_express/adafruit-circuitpython-feather_m0_express-zh_Latn_pinyin-7.2.0.uf2 +0 -0
- {circfirm-2.0.0 → circfirm-2.0.2}/tests/assets/firmwares/feather_m4_express/adafruit-circuitpython-feather_m4_express-en_US-7.0.0.uf2 +0 -0
- {circfirm-2.0.0 → circfirm-2.0.2}/tests/assets/firmwares/feather_m4_express/adafruit-circuitpython-feather_m4_express-en_US-7.1.0.uf2 +0 -0
- {circfirm-2.0.0 → circfirm-2.0.2}/tests/assets/firmwares/feather_m4_express/adafruit-circuitpython-feather_m4_express-en_US-7.2.0.uf2 +0 -0
- {circfirm-2.0.0 → circfirm-2.0.2}/tests/assets/firmwares/feather_m4_express/adafruit-circuitpython-feather_m4_express-fr-7.0.0.uf2 +0 -0
- {circfirm-2.0.0 → circfirm-2.0.2}/tests/assets/firmwares/feather_m4_express/adafruit-circuitpython-feather_m4_express-fr-7.1.0.uf2 +0 -0
- {circfirm-2.0.0 → circfirm-2.0.2}/tests/assets/firmwares/feather_m4_express/adafruit-circuitpython-feather_m4_express-fr-7.2.0.uf2 +0 -0
- {circfirm-2.0.0 → circfirm-2.0.2}/tests/assets/firmwares/feather_m4_express/adafruit-circuitpython-feather_m4_express-zh_Latn_pinyin-7.0.0.uf2 +0 -0
- {circfirm-2.0.0 → circfirm-2.0.2}/tests/assets/firmwares/feather_m4_express/adafruit-circuitpython-feather_m4_express-zh_Latn_pinyin-7.1.0.uf2 +0 -0
- {circfirm-2.0.0 → circfirm-2.0.2}/tests/assets/firmwares/feather_m4_express/adafruit-circuitpython-feather_m4_express-zh_Latn_pinyin-7.2.0.uf2 +0 -0
- {circfirm-2.0.0 → circfirm-2.0.2}/tests/assets/firmwares/pygamer/adafruit-circuitpython-pygamer-en_US-7.0.0.uf2 +0 -0
- {circfirm-2.0.0 → circfirm-2.0.2}/tests/assets/firmwares/pygamer/adafruit-circuitpython-pygamer-en_US-7.1.0.uf2 +0 -0
- {circfirm-2.0.0 → circfirm-2.0.2}/tests/assets/firmwares/pygamer/adafruit-circuitpython-pygamer-en_US-7.2.0.uf2 +0 -0
- {circfirm-2.0.0 → circfirm-2.0.2}/tests/assets/firmwares/pygamer/adafruit-circuitpython-pygamer-fr-7.0.0.uf2 +0 -0
- {circfirm-2.0.0 → circfirm-2.0.2}/tests/assets/firmwares/pygamer/adafruit-circuitpython-pygamer-fr-7.1.0.uf2 +0 -0
- {circfirm-2.0.0 → circfirm-2.0.2}/tests/assets/firmwares/pygamer/adafruit-circuitpython-pygamer-fr-7.2.0.uf2 +0 -0
- {circfirm-2.0.0 → circfirm-2.0.2}/tests/assets/firmwares/pygamer/adafruit-circuitpython-pygamer-zh_Latn_pinyin-7.0.0.uf2 +0 -0
- {circfirm-2.0.0 → circfirm-2.0.2}/tests/assets/firmwares/pygamer/adafruit-circuitpython-pygamer-zh_Latn_pinyin-7.1.0.uf2 +0 -0
- {circfirm-2.0.0 → circfirm-2.0.2}/tests/assets/firmwares/pygamer/adafruit-circuitpython-pygamer-zh_Latn_pinyin-7.2.0.uf2 +0 -0
- {circfirm-2.0.0 → circfirm-2.0.2}/tests/assets/info_uf2.txt +0 -0
- {circfirm-2.0.0 → circfirm-2.0.2}/tests/assets/responses/full_list.txt +0 -0
- {circfirm-2.0.0 → circfirm-2.0.2}/tests/assets/responses/full_list.txt.license +0 -0
- {circfirm-2.0.0 → circfirm-2.0.2}/tests/assets/responses/specific_board.txt +0 -0
- {circfirm-2.0.0 → circfirm-2.0.2}/tests/assets/responses/specific_board.txt.license +0 -0
- {circfirm-2.0.0 → circfirm-2.0.2}/tests/conftest.py +0 -0
- {circfirm-2.0.0 → circfirm-2.0.2}/tests/helpers.py +0 -0
- {circfirm-2.0.0 → circfirm-2.0.2}/tests/test_backend.py +0 -0
- {circfirm-2.0.0 → circfirm-2.0.2}/tests/test_cli.py +0 -0
- {circfirm-2.0.0 → circfirm-2.0.2}/tests/test_startup.py +0 -0
|
@@ -1,20 +1,25 @@
|
|
|
1
1
|
Metadata-Version: 2.1
|
|
2
2
|
Name: circfirm
|
|
3
|
-
Version: 2.0.
|
|
3
|
+
Version: 2.0.2
|
|
4
4
|
Summary: CLI tool for install firmware for CircuitPython boards
|
|
5
5
|
Author-email: Alec Delaney <tekktrik@gmail.com>
|
|
6
6
|
License: MIT
|
|
7
|
-
Project-URL: Homepage, https://github.com/tekktrik/
|
|
8
|
-
Project-URL: Repository, https://github.com/tekktrik/
|
|
7
|
+
Project-URL: Homepage, https://github.com/tekktrik/circfirm
|
|
8
|
+
Project-URL: Repository, https://github.com/tekktrik/circfirm.git
|
|
9
9
|
Keywords: adafruit,circuitpython,tool,cli,firmware,install,upload
|
|
10
10
|
Classifier: Intended Audience :: Developers
|
|
11
11
|
Classifier: Topic :: Software Development :: Embedded Systems
|
|
12
12
|
Classifier: Topic :: System :: Hardware
|
|
13
13
|
Classifier: License :: OSI Approved :: MIT License
|
|
14
|
+
Classifier: Development Status :: 5 - Production/Stable
|
|
15
|
+
Classifier: Environment :: Console
|
|
16
|
+
Classifier: Natural Language :: English
|
|
14
17
|
Classifier: Programming Language :: Python :: 3.8
|
|
15
18
|
Classifier: Programming Language :: Python :: 3.9
|
|
16
19
|
Classifier: Programming Language :: Python :: 3.10
|
|
17
20
|
Classifier: Programming Language :: Python :: 3.11
|
|
21
|
+
Classifier: Programming Language :: Python :: 3.12
|
|
22
|
+
Classifier: Programming Language :: Python :: Implementation :: CPython
|
|
18
23
|
Classifier: Operating System :: Unix
|
|
19
24
|
Classifier: Operating System :: Microsoft :: Windows
|
|
20
25
|
Classifier: Operating System :: MacOS
|
circfirm-2.0.2/VERSION
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
2.0.2
|
|
@@ -34,9 +34,15 @@ def cli() -> None:
|
|
|
34
34
|
@click.option("-b", "--board", default=None, help="Assume the given board name")
|
|
35
35
|
def install(version: str, language: str, board: Optional[str]) -> None:
|
|
36
36
|
"""Install the specified version of CircuitPython."""
|
|
37
|
+
circuitpy = circfirm.backend.find_circuitpy()
|
|
38
|
+
bootloader = circfirm.backend.find_bootloader()
|
|
39
|
+
if not circuitpy and not bootloader:
|
|
40
|
+
click.echo("CircuitPython device not found!")
|
|
41
|
+
click.echo("Check that the device is connected and mounted.")
|
|
42
|
+
sys.exit(1)
|
|
43
|
+
|
|
37
44
|
if not board:
|
|
38
|
-
circuitpy
|
|
39
|
-
if not circuitpy and circfirm.backend.find_bootloader():
|
|
45
|
+
if not circuitpy and bootloader:
|
|
40
46
|
click.echo("CircuitPython device found, but it is in bootloader mode!")
|
|
41
47
|
click.echo(
|
|
42
48
|
"Please put the device out of bootloader mode, or use the --board option."
|
|
@@ -45,20 +51,14 @@ def install(version: str, language: str, board: Optional[str]) -> None:
|
|
|
45
51
|
board = circfirm.backend.get_board_name(circuitpy)
|
|
46
52
|
|
|
47
53
|
click.echo("Board name detected, please switch the device to bootloader mode.")
|
|
48
|
-
while not circfirm.backend.find_bootloader():
|
|
54
|
+
while not (bootloader := circfirm.backend.find_bootloader()):
|
|
49
55
|
time.sleep(1)
|
|
50
56
|
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
circuitpy = circfirm.backend.find_circuitpy()
|
|
54
|
-
if circuitpy:
|
|
57
|
+
if not bootloader:
|
|
58
|
+
if circfirm.backend.find_circuitpy():
|
|
55
59
|
click.echo("CircuitPython device found, but is not in bootloader mode!")
|
|
56
60
|
click.echo("Please put the device in bootloader mode.")
|
|
57
61
|
sys.exit(2)
|
|
58
|
-
else:
|
|
59
|
-
click.echo("CircuitPython device not found!")
|
|
60
|
-
click.echo("Check that the device is connected and mounted.")
|
|
61
|
-
sys.exit(1)
|
|
62
62
|
|
|
63
63
|
if not circfirm.backend.is_downloaded(board, version, language):
|
|
64
64
|
click.echo("Downloading UF2...")
|
|
@@ -66,7 +66,7 @@ def install(version: str, language: str, board: Optional[str]) -> None:
|
|
|
66
66
|
|
|
67
67
|
uf2file = circfirm.backend.get_uf2_filepath(board, version, language)
|
|
68
68
|
uf2filename = os.path.basename(uf2file)
|
|
69
|
-
shutil.copyfile(uf2file, os.path.join(
|
|
69
|
+
shutil.copyfile(uf2file, os.path.join(bootloader, uf2filename))
|
|
70
70
|
click.echo("UF2 file copied to device!")
|
|
71
71
|
click.echo("Device should reboot momentarily.")
|
|
72
72
|
|
|
@@ -1,20 +1,25 @@
|
|
|
1
1
|
Metadata-Version: 2.1
|
|
2
2
|
Name: circfirm
|
|
3
|
-
Version: 2.0.
|
|
3
|
+
Version: 2.0.2
|
|
4
4
|
Summary: CLI tool for install firmware for CircuitPython boards
|
|
5
5
|
Author-email: Alec Delaney <tekktrik@gmail.com>
|
|
6
6
|
License: MIT
|
|
7
|
-
Project-URL: Homepage, https://github.com/tekktrik/
|
|
8
|
-
Project-URL: Repository, https://github.com/tekktrik/
|
|
7
|
+
Project-URL: Homepage, https://github.com/tekktrik/circfirm
|
|
8
|
+
Project-URL: Repository, https://github.com/tekktrik/circfirm.git
|
|
9
9
|
Keywords: adafruit,circuitpython,tool,cli,firmware,install,upload
|
|
10
10
|
Classifier: Intended Audience :: Developers
|
|
11
11
|
Classifier: Topic :: Software Development :: Embedded Systems
|
|
12
12
|
Classifier: Topic :: System :: Hardware
|
|
13
13
|
Classifier: License :: OSI Approved :: MIT License
|
|
14
|
+
Classifier: Development Status :: 5 - Production/Stable
|
|
15
|
+
Classifier: Environment :: Console
|
|
16
|
+
Classifier: Natural Language :: English
|
|
14
17
|
Classifier: Programming Language :: Python :: 3.8
|
|
15
18
|
Classifier: Programming Language :: Python :: 3.9
|
|
16
19
|
Classifier: Programming Language :: Python :: 3.10
|
|
17
20
|
Classifier: Programming Language :: Python :: 3.11
|
|
21
|
+
Classifier: Programming Language :: Python :: 3.12
|
|
22
|
+
Classifier: Programming Language :: Python :: Implementation :: CPython
|
|
18
23
|
Classifier: Operating System :: Unix
|
|
19
24
|
Classifier: Operating System :: Microsoft :: Windows
|
|
20
25
|
Classifier: Operating System :: MacOS
|
|
@@ -32,10 +32,15 @@ classifiers = [
|
|
|
32
32
|
"Topic :: Software Development :: Embedded Systems",
|
|
33
33
|
"Topic :: System :: Hardware",
|
|
34
34
|
"License :: OSI Approved :: MIT License",
|
|
35
|
+
"Development Status :: 5 - Production/Stable",
|
|
36
|
+
"Environment :: Console",
|
|
37
|
+
"Natural Language :: English",
|
|
35
38
|
"Programming Language :: Python :: 3.8",
|
|
36
39
|
"Programming Language :: Python :: 3.9",
|
|
37
40
|
"Programming Language :: Python :: 3.10",
|
|
38
41
|
"Programming Language :: Python :: 3.11",
|
|
42
|
+
"Programming Language :: Python :: 3.12",
|
|
43
|
+
"Programming Language :: Python :: Implementation :: CPython",
|
|
39
44
|
"Operating System :: Unix",
|
|
40
45
|
"Operating System :: Microsoft :: Windows",
|
|
41
46
|
"Operating System :: MacOS",
|
|
@@ -43,8 +48,8 @@ classifiers = [
|
|
|
43
48
|
dynamic = ["version", "dependencies", "optional-dependencies"]
|
|
44
49
|
|
|
45
50
|
[project.urls]
|
|
46
|
-
Homepage = "https://github.com/tekktrik/
|
|
47
|
-
Repository = "https://github.com/tekktrik/
|
|
51
|
+
Homepage = "https://github.com/tekktrik/circfirm"
|
|
52
|
+
Repository = "https://github.com/tekktrik/circfirm.git"
|
|
48
53
|
|
|
49
54
|
[project.scripts]
|
|
50
55
|
circfirm = "circfirm.cli:cli"
|
circfirm-2.0.0/VERSION
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
2.0.0
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|