fastled 1.2.2__py3-none-any.whl → 1.2.4__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
@@ -13,7 +13,7 @@ from .types import BuildMode, CompileResult, CompileServerError
13
13
  # IMPORTANT! There's a bug in github which will REJECT any version update
14
14
  # that has any other change in the repo. Please bump the version as the
15
15
  # ONLY change in a commit, or else the pypi update and the release will fail.
16
- __version__ = "1.2.2"
16
+ __version__ = "1.2.4"
17
17
 
18
18
 
19
19
  class Api:
fastled/keyboard.py CHANGED
@@ -1,3 +1,4 @@
1
+ import _thread
1
2
  import os
2
3
  import select
3
4
  import sys
@@ -69,6 +70,10 @@ class SpaceBarWatcher:
69
70
  # Check if there's input ready
70
71
  if select.select([sys.stdin], [], [], 0.1)[0]:
71
72
  char = sys.stdin.read(1)
73
+ if ord(char) == 3: # ctrl+c on mac, maybe also linux?
74
+ _thread.interrupt_main()
75
+ break
76
+
72
77
  if char in _WHITE_SPACE:
73
78
  self.queue.put(ord(" "))
74
79
  finally:
fastled/open_browser.py CHANGED
@@ -1,23 +1,22 @@
1
1
  import os
2
+ import shutil
2
3
  import socket
4
+ import subprocess
3
5
  import sys
4
6
  from multiprocessing import Process
5
7
  from pathlib import Path
6
8
 
7
- from livereload import Server
8
-
9
9
  DEFAULT_PORT = 8081
10
10
 
11
11
 
12
- def _open_browser_python(fastled_js: Path, port: int) -> Server:
12
+ def _open_browser_python(fastled_js: Path) -> None:
13
13
  """Start livereload server in the fastled_js directory using API"""
14
- print(f"\nStarting livereload server in {fastled_js} on port {port}")
15
-
16
- # server = Server()
17
- # server.watch(str(fastled_js / "index.html"), delay=0.1)
18
- # server.setHeader("Cache-Control", "no-cache")
19
- # server.serve(root=str(fastled_js), port=port, open_url_delay=0.5)
20
- # return server
14
+ print(f"\nStarting livereload server in {fastled_js}")
15
+ if shutil.which("live-server") is None:
16
+ print("live-server not found. Installing it with the embedded npm...")
17
+ subprocess.run(
18
+ [sys.executable, "-m", "nodejs.npm", "install", "-g", "live-server"]
19
+ )
21
20
  os.system(f"cd {fastled_js} && live-server")
22
21
 
23
22
 
@@ -31,10 +30,10 @@ def _find_open_port(start_port: int) -> int:
31
30
  port += 1
32
31
 
33
32
 
34
- def _run_server(fastled_js: Path, port: int) -> None:
33
+ def _run_server(fastled_js: Path) -> None:
35
34
  """Function to run in separate process that starts the livereload server"""
36
35
  sys.stderr = open(os.devnull, "w") # Suppress stderr output
37
- _open_browser_python(fastled_js, port)
36
+ _open_browser_python(fastled_js)
38
37
  try:
39
38
  # Keep the process running
40
39
  while True:
@@ -43,16 +42,12 @@ def _run_server(fastled_js: Path, port: int) -> None:
43
42
  print("\nShutting down livereload server...")
44
43
 
45
44
 
46
- def open_browser_process(fastled_js: Path, port: int | None = None) -> Process:
45
+ def open_browser_process(fastled_js: Path) -> Process:
47
46
  """Start livereload server in the fastled_js directory and return the process"""
48
- if port is None:
49
- port = DEFAULT_PORT
50
-
51
- port = _find_open_port(port)
52
47
 
53
48
  process = Process(
54
49
  target=_run_server,
55
- args=(fastled_js, port),
50
+ args=(fastled_js,),
56
51
  daemon=True,
57
52
  )
58
53
  process.start()
fastled/site/build.py CHANGED
@@ -298,7 +298,14 @@ INDEX_TEMPLATE = """<!DOCTYPE html>
298
298
  """
299
299
 
300
300
 
301
- EXAMPLES = ["wasm", "Chromancer", "SdCard", "NoiseRing", "LuminescentGrand", "Water"]
301
+ EXAMPLES = [
302
+ "wasm",
303
+ "Chromancer",
304
+ "LuminescentGrand",
305
+ "fx/SdCard",
306
+ "fx/NoiseRing",
307
+ "fx/Water",
308
+ ]
302
309
 
303
310
 
304
311
  def _exec(cmd: str) -> None:
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: fastled
3
- Version: 1.2.2
3
+ Version: 1.2.4
4
4
  Summary: FastLED Wasm Compiler
5
5
  Home-page: https://github.com/zackees/fastled-wasm
6
6
  Maintainer: Zachary Vorhies
@@ -13,13 +13,13 @@ License-File: LICENSE
13
13
  Requires-Dist: docker>=7.1.0
14
14
  Requires-Dist: httpx>=0.28.1
15
15
  Requires-Dist: watchdog>=6.0.0
16
- Requires-Dist: livereload>=2.7.0
17
16
  Requires-Dist: download>=0.3.5
18
17
  Requires-Dist: filelock>=3.16.1
19
18
  Requires-Dist: disklru>=2.0.1
20
19
  Requires-Dist: appdirs>=1.4.4
21
20
  Requires-Dist: rapidfuzz>=3.10.1
22
21
  Requires-Dist: progress>=1.6
22
+ Requires-Dist: nodejs-bin[cmd]
23
23
 
24
24
  # FastLED Wasm compiler
25
25
 
@@ -27,10 +27,11 @@ Requires-Dist: progress>=1.6
27
27
  [![MacOS_Tests](https://github.com/zackees/fastled-wasm/actions/workflows/test_macos.yml/badge.svg)](https://github.com/zackees/fastled-wasm/actions/workflows/test_macos.yml)
28
28
  [![Ubuntu_Tests](https://github.com/zackees/fastled-wasm/actions/workflows/test_ubuntu.yml/badge.svg)](https://github.com/zackees/fastled-wasm/actions/workflows/test_ubuntu.yml)
29
29
  [![Win_Tests](https://github.com/zackees/fastled-wasm/actions/workflows/test_win.yml/badge.svg)](https://github.com/zackees/fastled-wasm/actions/workflows/test_win.yml)
30
+ [![Test Build Executables](https://github.com/zackees/fastled-wasm/actions/workflows/test_build_exe.yml/badge.svg)](https://github.com/zackees/fastled-wasm/actions/workflows/test_build_exe.yml)
30
31
 
31
32
  [![Build and Push Multi Docker Image](https://github.com/zackees/fastled-wasm/actions/workflows/build_multi_docker_image.yml/badge.svg)](https://github.com/zackees/fastled-wasm/actions/workflows/build_multi_docker_image.yml)
32
- [![Build Executables](https://github.com/zackees/fastled-wasm/actions/workflows/test_build_exe.yml/badge.svg)](https://github.com/zackees/fastled-wasm/actions/workflows/test_build_exe.yml)
33
33
  [![Publish Release](https://github.com/zackees/fastled-wasm/actions/workflows/publish_release.yml/badge.svg)](https://github.com/zackees/fastled-wasm/actions/workflows/publish_release.yml)
34
+ [![Build Webpage](https://github.com/zackees/fastled-wasm/actions/workflows/build_webpage.yml/badge.svg)](https://github.com/zackees/fastled-wasm/actions/workflows/build_webpage.yml)
34
35
 
35
36
 
36
37
 
@@ -265,6 +266,8 @@ A: A big chunk of space is being used by unnecessary javascript `emscripten` bun
265
266
 
266
267
  # Revisions
267
268
 
269
+ * 1.1.24 - Mac/Linux now properly responds to ctrl-c when waiting for a key event.
270
+ * 1.1.23 - Fixes missing `live-server` on platforms that don't have it already.
268
271
  * 1.2.22 - Added `--purge` and added docker api at __init__.
269
272
  * 1.2.00 - `fastled.exe` is now a signed binary on windows, however it's a self signed binary so you'll still get the warning on the first open. There's been a small api change between the server and the client for fetching projects.
270
273
  * 1.1.69 - Changed the binary name to `fastled.exe` instead of something like `fastled-windows-x64.exe`
@@ -1,4 +1,4 @@
1
- fastled/__init__.py,sha256=XuiOBb_pqwouDkDxbp5hrYCJLRQo1kHiwVplzj3LYN8,5300
1
+ fastled/__init__.py,sha256=ydXhC18DLcAk-nrzjg85AvyYlAVsZCoKo18bUKHMPjE,5300
2
2
  fastled/app.py,sha256=Y1Q5mx4zdQbZ2AaB43ZqJo-w_8ehAaWVNtvTyeCRSaE,1970
3
3
  fastled/cli.py,sha256=FjVr31ht0UPlAcmX-84NwfAGMQHTkrCe4o744jCAxiw,375
4
4
  fastled/client_server.py,sha256=8L62zNtkGtErDtWrr4XVNsv7ji2zoS5rlqfCnwI3VKU,13177
@@ -6,9 +6,9 @@ fastled/compile_server.py,sha256=Z7rHFs3M6QPbSCsbgHAQDk6GTVAJMMPCXtD4Y0mu8RM,265
6
6
  fastled/compile_server_impl.py,sha256=B_7zjdKHxX2JbNcx26hntwtk8-MyQTs6LMZlpOEuloM,8746
7
7
  fastled/docker_manager.py,sha256=J6epThU164XAKe8pDsquLs8ytFFn6QAch2PEVeRNY80,26538
8
8
  fastled/filewatcher.py,sha256=LwEQJkqADsArZyY499RLAer6JjJyDwaQBcAvT7xmp3c,6708
9
- fastled/keyboard.py,sha256=Zz_ggxOUTX2XQEy6K6kAoorVlUev4wEk9Awpvv9aStA,3241
9
+ fastled/keyboard.py,sha256=Uwzfgd85BiZTi5D8f3HRQex9cvOuveagUqjULeTEHw4,3423
10
10
  fastled/live_client.py,sha256=_KvqmyUyyGpoYET1Z9CdeUVoIbFjIUWwPcTp5XCQuxY,2075
11
- fastled/open_browser.py,sha256=vzMBcpDNY0f-Bx9KmEILKDANZ6gvsywCVwn1FRhPXh4,1770
11
+ fastled/open_browser.py,sha256=uhx_UkZ4URUcFn--ZOGMacjL6gFZHwnMu2qYyok2YzE,1620
12
12
  fastled/parse_args.py,sha256=IN63KKFX8uO5h5JSrFtHOFoov6Sw9v41NwB-VitU0No,6579
13
13
  fastled/paths.py,sha256=VsPmgu0lNSCFOoEC0BsTYzDygXqy15AHUfN-tTuzDZA,99
14
14
  fastled/project_init.py,sha256=QEghpy5Vonc_fTF--3L5ySrQ1bDpdJpfnlEHHQLDKRk,2287
@@ -21,12 +21,12 @@ fastled/types.py,sha256=PpSEtzFCkWtSIEMC0QXGl966R97vLoryVl3yFW0YhTs,1475
21
21
  fastled/util.py,sha256=t4M3NFMhnCzfYbLvIyJi0RdFssZqbTN_vVIaej1WV-U,265
22
22
  fastled/web_compile.py,sha256=05PeLJ77QQC6PUKjDhsntBmyBola6QQIfF2k-zjYNE4,10261
23
23
  fastled/assets/example.txt,sha256=lTBovRjiz0_TgtAtbA1C5hNi2ffbqnNPqkKg6UiKCT8,54
24
- fastled/site/build.py,sha256=UDWaked5QFPibbKZSoDrQgiP1Laoh8f0Fbj8Qfey0I4,12503
24
+ fastled/site/build.py,sha256=jTbw3W_3el0REwKo8YTOkAsQBLEtxSj2trMOGAUuVYc,12539
25
25
  fastled/test/can_run_local_docker_tests.py,sha256=LEuUbHctRhNNFWcvnz2kEGmjDJeXO4c3kNpizm3yVJs,400
26
26
  fastled/test/examples.py,sha256=6xPwx_k9_XwYTpI1nk4SrYbsJKHJACd30GzD1epGqhY,1597
27
- fastled-1.2.2.dist-info/LICENSE,sha256=b6pOoifSXiUaz_lDS84vWlG3fr4yUKwB8fzkrH9R8bQ,1064
28
- fastled-1.2.2.dist-info/METADATA,sha256=sSe6CClj0Y2L_59L4-hsfDeoyYav2rm6pjlF-za1lOw,19341
29
- fastled-1.2.2.dist-info/WHEEL,sha256=PZUExdf71Ui_so67QXpySuHtCi3-J3wvF4ORK6k_S8U,91
30
- fastled-1.2.2.dist-info/entry_points.txt,sha256=RCwmzCSOS4-C2i9EziANq7Z2Zb4KFnEMR1FQC0bBwAw,101
31
- fastled-1.2.2.dist-info/top_level.txt,sha256=Bbv5kpJpZhWNCvDF4K0VcvtBSDMa8B7PTOrZa9CezHY,8
32
- fastled-1.2.2.dist-info/RECORD,,
27
+ fastled-1.2.4.dist-info/LICENSE,sha256=b6pOoifSXiUaz_lDS84vWlG3fr4yUKwB8fzkrH9R8bQ,1064
28
+ fastled-1.2.4.dist-info/METADATA,sha256=Q_0C9xu_HsVl7OsP5yczB0PBNvGvutBoA3cXJEGT9l4,19694
29
+ fastled-1.2.4.dist-info/WHEEL,sha256=PZUExdf71Ui_so67QXpySuHtCi3-J3wvF4ORK6k_S8U,91
30
+ fastled-1.2.4.dist-info/entry_points.txt,sha256=RCwmzCSOS4-C2i9EziANq7Z2Zb4KFnEMR1FQC0bBwAw,101
31
+ fastled-1.2.4.dist-info/top_level.txt,sha256=Bbv5kpJpZhWNCvDF4K0VcvtBSDMa8B7PTOrZa9CezHY,8
32
+ fastled-1.2.4.dist-info/RECORD,,