fastled 1.1.23__py2.py3-none-any.whl → 1.1.24__py2.py3-none-any.whl
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.
- fastled/__init__.py +1 -1
- fastled/docker_manager.py +7 -5
- fastled/spinner.py +34 -0
- {fastled-1.1.23.dist-info → fastled-1.1.24.dist-info}/METADATA +3 -2
- {fastled-1.1.23.dist-info → fastled-1.1.24.dist-info}/RECORD +9 -8
- {fastled-1.1.23.dist-info → fastled-1.1.24.dist-info}/LICENSE +0 -0
- {fastled-1.1.23.dist-info → fastled-1.1.24.dist-info}/WHEEL +0 -0
- {fastled-1.1.23.dist-info → fastled-1.1.24.dist-info}/entry_points.txt +0 -0
- {fastled-1.1.23.dist-info → fastled-1.1.24.dist-info}/top_level.txt +0 -0
fastled/__init__.py
CHANGED
fastled/docker_manager.py
CHANGED
@@ -20,6 +20,8 @@ from docker.models.containers import Container
|
|
20
20
|
from docker.models.images import Image
|
21
21
|
from filelock import FileLock
|
22
22
|
|
23
|
+
from fastled.spinner import Spinner
|
24
|
+
|
23
25
|
CONFIG_DIR = Path(user_data_dir("fastled", "fastled"))
|
24
26
|
CONFIG_DIR.mkdir(parents=True, exist_ok=True)
|
25
27
|
DB_FILE = CONFIG_DIR / "db.db"
|
@@ -225,17 +227,17 @@ class DockerManager:
|
|
225
227
|
return
|
226
228
|
|
227
229
|
# Quick check for latest version
|
228
|
-
|
229
|
-
|
230
|
-
_ = self.client.images.pull(image_name, tag=tag)
|
230
|
+
with Spinner(f"Pulling newer version of {image_name}:{tag}..."):
|
231
|
+
_ = self.client.images.pull(image_name, tag=tag)
|
231
232
|
print(f"Updated to newer version of {image_name}:{tag}")
|
232
233
|
local_image_hash = self.client.images.get(f"{image_name}:{tag}").id
|
233
234
|
if remote_image_hash is not None:
|
234
235
|
DISK_CACHE.put(local_image_hash, remote_image_hash)
|
235
236
|
|
236
237
|
except docker.errors.ImageNotFound:
|
237
|
-
print(f"Image {image_name}:{tag} not found.
|
238
|
-
|
238
|
+
print(f"Image {image_name}:{tag} not found.")
|
239
|
+
with Spinner("Loading "):
|
240
|
+
self.client.images.pull(image_name, tag=tag)
|
239
241
|
try:
|
240
242
|
local_image = self.client.images.get(f"{image_name}:{tag}")
|
241
243
|
local_image_hash = local_image.id
|
fastled/spinner.py
ADDED
@@ -0,0 +1,34 @@
|
|
1
|
+
import _thread
|
2
|
+
import threading
|
3
|
+
import time
|
4
|
+
import warnings
|
5
|
+
|
6
|
+
from progress.spinner import Spinner as SpinnerImpl
|
7
|
+
|
8
|
+
|
9
|
+
class Spinner:
|
10
|
+
def __init__(self, message: str = ""):
|
11
|
+
self.spinner = SpinnerImpl(message)
|
12
|
+
self.event = threading.Event()
|
13
|
+
self.thread = threading.Thread(target=self._spin, daemon=True)
|
14
|
+
self.thread.start()
|
15
|
+
|
16
|
+
def _spin(self) -> None:
|
17
|
+
try:
|
18
|
+
while not self.event.is_set():
|
19
|
+
self.spinner.next()
|
20
|
+
time.sleep(0.1)
|
21
|
+
except KeyboardInterrupt:
|
22
|
+
_thread.interrupt_main()
|
23
|
+
except Exception as e:
|
24
|
+
warnings.warn(f"Spinner thread failed: {e}")
|
25
|
+
|
26
|
+
def stop(self) -> None:
|
27
|
+
self.event.set()
|
28
|
+
self.thread.join()
|
29
|
+
|
30
|
+
def __enter__(self):
|
31
|
+
return self
|
32
|
+
|
33
|
+
def __exit__(self, exc_type, exc_val, exc_tb):
|
34
|
+
self.stop()
|
@@ -1,6 +1,6 @@
|
|
1
1
|
Metadata-Version: 2.1
|
2
2
|
Name: fastled
|
3
|
-
Version: 1.1.
|
3
|
+
Version: 1.1.24
|
4
4
|
Summary: FastLED Wasm Compiler
|
5
5
|
Home-page: https://github.com/zackees/fastled-wasm
|
6
6
|
Maintainer: Zachary Vorhies
|
@@ -19,6 +19,7 @@ Requires-Dist: filelock
|
|
19
19
|
Requires-Dist: disklru>=2.0.1
|
20
20
|
Requires-Dist: appdirs
|
21
21
|
Requires-Dist: rapidfuzz
|
22
|
+
Requires-Dist: progress
|
22
23
|
|
23
24
|
# FastLED Wasm compiler
|
24
25
|
|
@@ -160,9 +161,9 @@ A: `delay()` will block `loop()` which blocks the main thread of the browser. Th
|
|
160
161
|
Q: How can I get the compiled size of my FastLED sketch smaller?
|
161
162
|
A: A big chunk of space is being used by unnecessary javascript `emscripten` is bundling. This can be tweeked by the wasm_compiler_settings.py file in the FastLED repo.
|
162
163
|
|
163
|
-
|
164
164
|
# Revisions
|
165
165
|
|
166
|
+
* 1.1.24 - Adds progress spinning bar for pulling images, which take a long time.
|
166
167
|
* 1.1.23 - Various fixes for MacOS
|
167
168
|
* 1.1.22 - Selecting sketch now allows strings and narrowing down paths if ambiguity
|
168
169
|
* 1.1.21 - Now always watches for space/enter key events to trigger a recompile.
|
@@ -1,10 +1,10 @@
|
|
1
|
-
fastled/__init__.py,sha256=
|
1
|
+
fastled/__init__.py,sha256=KmpV56lsAg31rlm1PyvbeZuohDl5DpIlQpi9SDuldc4,64
|
2
2
|
fastled/app.py,sha256=VZP65zT1qLQLcOXA8oElPdZiladIAMvW9MVnqy5QTRM,6806
|
3
3
|
fastled/build_mode.py,sha256=joMwsV4K1y_LijT4gEAcjx69RZBoe_KmFmHZdPYbL_4,631
|
4
4
|
fastled/cli.py,sha256=CNR_pQR0sNVPNuv8e_nmm-0PI8sU-eUBUgnWgWkzW9c,237
|
5
5
|
fastled/client_server.py,sha256=CBgicRyunn96tVeAHQOuo4q2gkDFAtLEPxhTf2EnQ_0,11113
|
6
6
|
fastled/compile_server.py,sha256=aBdpILSRrDsCJ5e9g5uwIqt9bcqE_8FrSddCV2ygtrI,5401
|
7
|
-
fastled/docker_manager.py,sha256=
|
7
|
+
fastled/docker_manager.py,sha256=awQCAB0XfHMy6y1jfdEZx1qyzXTtYBmAwVyuQjxwuf0,20157
|
8
8
|
fastled/env.py,sha256=8wctQwl5qE4CI8NBugHtgMmUfEfHZ869JX5lGdSOJxc,304
|
9
9
|
fastled/filewatcher.py,sha256=5dVmjEG23kMeJa29tRVm5XKSr9sTD4ME2boo-CFDuUM,6910
|
10
10
|
fastled/keyboard.py,sha256=Zz_ggxOUTX2XQEy6K6kAoorVlUev4wEk9Awpvv9aStA,3241
|
@@ -12,14 +12,15 @@ fastled/open_browser.py,sha256=RRHcsZ5Vzsw1AuZUEYuSfjKmf_9j3NGMDUR-FndHmqs,1483
|
|
12
12
|
fastled/paths.py,sha256=VsPmgu0lNSCFOoEC0BsTYzDygXqy15AHUfN-tTuzDZA,99
|
13
13
|
fastled/select_sketch_directory.py,sha256=ih8Voua8ecMIZ9m0ZEBp_EuuBzz8xGfMxC_UhAKuoA0,1312
|
14
14
|
fastled/sketch.py,sha256=5nRjg281lMH8Bo9wKjbcpTQCfEP574ZCG-lukvFmyQ8,2656
|
15
|
+
fastled/spinner.py,sha256=ZGFXona3SJxmuHIzMGa6tqB0IVDSRr8W_dju09Z1Hwg,901
|
15
16
|
fastled/string_diff.py,sha256=svtaQFGp4a6r2Qjx-Gxhna94wK-d8LKV4OCpKMXiHso,1164
|
16
17
|
fastled/types.py,sha256=dDIsGHJkHNJ7B61wNp6X0JSLs_nrHiq7RlNqNWbwFec,194
|
17
18
|
fastled/util.py,sha256=t4M3NFMhnCzfYbLvIyJi0RdFssZqbTN_vVIaej1WV-U,265
|
18
19
|
fastled/web_compile.py,sha256=KuvKGdX6SSUUqC7YgX4T9SMSP5wdcPUhpg9-K9zPoTI,10378
|
19
20
|
fastled/assets/example.txt,sha256=lTBovRjiz0_TgtAtbA1C5hNi2ffbqnNPqkKg6UiKCT8,54
|
20
|
-
fastled-1.1.
|
21
|
-
fastled-1.1.
|
22
|
-
fastled-1.1.
|
23
|
-
fastled-1.1.
|
24
|
-
fastled-1.1.
|
25
|
-
fastled-1.1.
|
21
|
+
fastled-1.1.24.dist-info/LICENSE,sha256=b6pOoifSXiUaz_lDS84vWlG3fr4yUKwB8fzkrH9R8bQ,1064
|
22
|
+
fastled-1.1.24.dist-info/METADATA,sha256=tiMyoOLRhVYmwuoqohRRk5xxTBD9M41cqyL_g1cE24o,14160
|
23
|
+
fastled-1.1.24.dist-info/WHEEL,sha256=0VNUDWQJzfRahYI3neAhz2UVbRCtztpN5dPHAGvmGXc,109
|
24
|
+
fastled-1.1.24.dist-info/entry_points.txt,sha256=RCwmzCSOS4-C2i9EziANq7Z2Zb4KFnEMR1FQC0bBwAw,101
|
25
|
+
fastled-1.1.24.dist-info/top_level.txt,sha256=xfG6Z_ol9V5YmBROkZq2QTRwjbS2ouCUxaTJsOwfkOo,14
|
26
|
+
fastled-1.1.24.dist-info/RECORD,,
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|