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 CHANGED
@@ -1,3 +1,3 @@
1
1
  """FastLED Wasm Compiler package."""
2
2
 
3
- __version__ = "1.1.23"
3
+ __version__ = "1.1.24"
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
- print(f"Pulling newer version of {image_name}:{tag}...")
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. Downloading...")
238
- self.client.images.pull(image_name, tag=tag)
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.23
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=IEm_Rn25u4jkMLkK9nn2bAU9Aq8ya6w4CcUXAy889IQ,64
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=Ur29DXoMpD5QFVmJJ0jYXWpbXaysoDv8a6-BRWKUJjA,20078
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.23.dist-info/LICENSE,sha256=b6pOoifSXiUaz_lDS84vWlG3fr4yUKwB8fzkrH9R8bQ,1064
21
- fastled-1.1.23.dist-info/METADATA,sha256=owb8VnZ08wElA9muFhZM3FTqj1v3SDQxXcAHAvGxx08,14052
22
- fastled-1.1.23.dist-info/WHEEL,sha256=0VNUDWQJzfRahYI3neAhz2UVbRCtztpN5dPHAGvmGXc,109
23
- fastled-1.1.23.dist-info/entry_points.txt,sha256=RCwmzCSOS4-C2i9EziANq7Z2Zb4KFnEMR1FQC0bBwAw,101
24
- fastled-1.1.23.dist-info/top_level.txt,sha256=xfG6Z_ol9V5YmBROkZq2QTRwjbS2ouCUxaTJsOwfkOo,14
25
- fastled-1.1.23.dist-info/RECORD,,
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,,