fastled 1.1.22__tar.gz → 1.1.24__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.
Files changed (102) hide show
  1. {fastled-1.1.22 → fastled-1.1.24}/PKG-INFO +5 -2
  2. {fastled-1.1.22 → fastled-1.1.24}/README.md +3 -1
  3. {fastled-1.1.22 → fastled-1.1.24}/pyproject.toml +1 -0
  4. {fastled-1.1.22 → fastled-1.1.24}/src/fastled/__init__.py +1 -1
  5. {fastled-1.1.22 → fastled-1.1.24}/src/fastled/app.py +51 -36
  6. {fastled-1.1.22 → fastled-1.1.24}/src/fastled/client_server.py +7 -6
  7. {fastled-1.1.22 → fastled-1.1.24}/src/fastled/docker_manager.py +532 -526
  8. {fastled-1.1.22 → fastled-1.1.24}/src/fastled/keyboard.py +8 -6
  9. {fastled-1.1.22 → fastled-1.1.24}/src/fastled/select_sketch_directory.py +1 -1
  10. fastled-1.1.24/src/fastled/spinner.py +34 -0
  11. {fastled-1.1.22 → fastled-1.1.24}/src/fastled.egg-info/PKG-INFO +5 -2
  12. {fastled-1.1.22 → fastled-1.1.24}/src/fastled.egg-info/SOURCES.txt +1 -0
  13. {fastled-1.1.22 → fastled-1.1.24}/src/fastled.egg-info/requires.txt +1 -0
  14. {fastled-1.1.22 → fastled-1.1.24}/tests/test_ino/bad/bad.ino +2 -2
  15. {fastled-1.1.22/tests/test_ino/wasm → fastled-1.1.24/tests/test_ino/embedded}/wasm.ino +2 -2
  16. {fastled-1.1.22/tests/test_ino/embedded → fastled-1.1.24/tests/test_ino/wasm}/wasm.ino +2 -2
  17. {fastled-1.1.22 → fastled-1.1.24}/.aiderignore +0 -0
  18. {fastled-1.1.22 → fastled-1.1.24}/.github/workflows/build_multi_docker_image.yml +0 -0
  19. {fastled-1.1.22 → fastled-1.1.24}/.github/workflows/lint.yml +0 -0
  20. {fastled-1.1.22 → fastled-1.1.24}/.github/workflows/test_macos.yml +0 -0
  21. {fastled-1.1.22 → fastled-1.1.24}/.github/workflows/test_ubuntu.yml +0 -0
  22. {fastled-1.1.22 → fastled-1.1.24}/.github/workflows/test_win.yml +0 -0
  23. {fastled-1.1.22 → fastled-1.1.24}/.gitignore +0 -0
  24. {fastled-1.1.22 → fastled-1.1.24}/.pylintrc +0 -0
  25. {fastled-1.1.22 → fastled-1.1.24}/.vscode/launch.json +0 -0
  26. {fastled-1.1.22 → fastled-1.1.24}/.vscode/settings.json +0 -0
  27. {fastled-1.1.22 → fastled-1.1.24}/.vscode/tasks.json +0 -0
  28. {fastled-1.1.22 → fastled-1.1.24}/LICENSE +0 -0
  29. {fastled-1.1.22 → fastled-1.1.24}/MANIFEST.in +0 -0
  30. {fastled-1.1.22 → fastled-1.1.24}/clean +0 -0
  31. {fastled-1.1.22 → fastled-1.1.24}/docs/fastled.js +0 -0
  32. {fastled-1.1.22 → fastled-1.1.24}/docs/fastled.wasm +0 -0
  33. {fastled-1.1.22 → fastled-1.1.24}/docs/index.css +0 -0
  34. {fastled-1.1.22 → fastled-1.1.24}/docs/index.html +0 -0
  35. {fastled-1.1.22 → fastled-1.1.24}/docs/index.js +0 -0
  36. {fastled-1.1.22 → fastled-1.1.24}/examples/Blink/Blink.ino +0 -0
  37. {fastled-1.1.22 → fastled-1.1.24}/examples/Chromancer/Chromancer.ino +0 -0
  38. {fastled-1.1.22 → fastled-1.1.24}/examples/Chromancer/detail.h +0 -0
  39. {fastled-1.1.22 → fastled-1.1.24}/examples/Chromancer/gary_woos_wled_port/gary_woos_wled_ledmap.h +0 -0
  40. {fastled-1.1.22 → fastled-1.1.24}/examples/Chromancer/gary_woos_wled_port/presets.json +0 -0
  41. {fastled-1.1.22 → fastled-1.1.24}/examples/Chromancer/gary_woos_wled_port/presets.min.json +0 -0
  42. {fastled-1.1.22 → fastled-1.1.24}/examples/Chromancer/gen.py +0 -0
  43. {fastled-1.1.22 → fastled-1.1.24}/examples/Chromancer/mapping.h +0 -0
  44. {fastled-1.1.22 → fastled-1.1.24}/examples/Chromancer/net.h +0 -0
  45. {fastled-1.1.22 → fastled-1.1.24}/examples/Chromancer/output.json +0 -0
  46. {fastled-1.1.22 → fastled-1.1.24}/examples/Chromancer/ripple.h +0 -0
  47. {fastled-1.1.22 → fastled-1.1.24}/examples/Chromancer/screenmap.json.h +0 -0
  48. {fastled-1.1.22 → fastled-1.1.24}/examples/ColorPalette/ColorPalette.ino +0 -0
  49. {fastled-1.1.22 → fastled-1.1.24}/examples/ColorTemperature/ColorTemperature.ino +0 -0
  50. {fastled-1.1.22 → fastled-1.1.24}/examples/Cylon/Cylon.ino +0 -0
  51. {fastled-1.1.22 → fastled-1.1.24}/examples/DemoReel100/DemoReel100.ino +0 -0
  52. {fastled-1.1.22 → fastled-1.1.24}/examples/Esp32Rmt51/Esp32Rmt51.ino +0 -0
  53. {fastled-1.1.22 → fastled-1.1.24}/examples/EspI2SDemo/EspI2SDemo.ino +0 -0
  54. {fastled-1.1.22 → fastled-1.1.24}/examples/Fire2012/Fire2012.ino +0 -0
  55. {fastled-1.1.22 → fastled-1.1.24}/examples/Fire2012WithPalette/Fire2012WithPalette.ino +0 -0
  56. {fastled-1.1.22 → fastled-1.1.24}/examples/FirstLight/FirstLight.ino +0 -0
  57. {fastled-1.1.22 → fastled-1.1.24}/examples/FxEngine/FxEngine.ino +0 -0
  58. {fastled-1.1.22 → fastled-1.1.24}/examples/Noise/Noise.ino +0 -0
  59. {fastled-1.1.22 → fastled-1.1.24}/examples/NoisePlayground/NoisePlayground.ino +0 -0
  60. {fastled-1.1.22 → fastled-1.1.24}/examples/NoisePlusPalette/NoisePlusPalette.ino +0 -0
  61. {fastled-1.1.22 → fastled-1.1.24}/examples/OctoWS2811/OctoWS2811.ino +0 -0
  62. {fastled-1.1.22 → fastled-1.1.24}/examples/Pacifica/Pacifica.ino +0 -0
  63. {fastled-1.1.22 → fastled-1.1.24}/examples/Pride2015/Pride2015.ino +0 -0
  64. {fastled-1.1.22 → fastled-1.1.24}/examples/SdCard/SdCard.ino +0 -0
  65. {fastled-1.1.22 → fastled-1.1.24}/examples/SdCard/screenmap.json.h +0 -0
  66. {fastled-1.1.22 → fastled-1.1.24}/examples/TwinkleFox/TwinkleFox.ino +0 -0
  67. {fastled-1.1.22 → fastled-1.1.24}/examples/Video/Gfx2Video/Gfx2Video.ino +0 -0
  68. {fastled-1.1.22 → fastled-1.1.24}/examples/WasmScreenCoords/WasmScreenCoords.ino +0 -0
  69. {fastled-1.1.22 → fastled-1.1.24}/examples/Water/Water.ino +0 -0
  70. {fastled-1.1.22 → fastled-1.1.24}/examples/XYMatrix/XYMatrix.ino +0 -0
  71. {fastled-1.1.22 → fastled-1.1.24}/examples/wasm/wasm.ino +0 -0
  72. {fastled-1.1.22 → fastled-1.1.24}/install +0 -0
  73. {fastled-1.1.22 → fastled-1.1.24}/lint +0 -0
  74. {fastled-1.1.22 → fastled-1.1.24}/requirements.testing.txt +0 -0
  75. {fastled-1.1.22 → fastled-1.1.24}/setup.cfg +0 -0
  76. {fastled-1.1.22 → fastled-1.1.24}/setup.py +0 -0
  77. {fastled-1.1.22 → fastled-1.1.24}/src/fastled/assets/example.txt +0 -0
  78. {fastled-1.1.22 → fastled-1.1.24}/src/fastled/build_mode.py +0 -0
  79. {fastled-1.1.22 → fastled-1.1.24}/src/fastled/cli.py +0 -0
  80. {fastled-1.1.22 → fastled-1.1.24}/src/fastled/compile_server.py +0 -0
  81. {fastled-1.1.22 → fastled-1.1.24}/src/fastled/env.py +0 -0
  82. {fastled-1.1.22 → fastled-1.1.24}/src/fastled/filewatcher.py +0 -0
  83. {fastled-1.1.22 → fastled-1.1.24}/src/fastled/open_browser.py +0 -0
  84. {fastled-1.1.22 → fastled-1.1.24}/src/fastled/paths.py +0 -0
  85. {fastled-1.1.22 → fastled-1.1.24}/src/fastled/sketch.py +0 -0
  86. {fastled-1.1.22 → fastled-1.1.24}/src/fastled/string_diff.py +0 -0
  87. {fastled-1.1.22 → fastled-1.1.24}/src/fastled/types.py +0 -0
  88. {fastled-1.1.22 → fastled-1.1.24}/src/fastled/util.py +0 -0
  89. {fastled-1.1.22 → fastled-1.1.24}/src/fastled/web_compile.py +0 -0
  90. {fastled-1.1.22 → fastled-1.1.24}/src/fastled.egg-info/dependency_links.txt +0 -0
  91. {fastled-1.1.22 → fastled-1.1.24}/src/fastled.egg-info/entry_points.txt +0 -0
  92. {fastled-1.1.22 → fastled-1.1.24}/src/fastled.egg-info/top_level.txt +0 -0
  93. {fastled-1.1.22 → fastled-1.1.24}/test +0 -0
  94. {fastled-1.1.22 → fastled-1.1.24}/tests/test_bad_ino.py +0 -0
  95. {fastled-1.1.22 → fastled-1.1.24}/tests/test_cli.py +0 -0
  96. {fastled-1.1.22 → fastled-1.1.24}/tests/test_compile_server.py +0 -0
  97. {fastled-1.1.22 → fastled-1.1.24}/tests/test_embedded_data.py +0 -0
  98. {fastled-1.1.22 → fastled-1.1.24}/tests/test_filechanger.py +0 -0
  99. {fastled-1.1.22 → fastled-1.1.24}/tests/test_ino/embedded/data/bigdata.dat +0 -0
  100. {fastled-1.1.22 → fastled-1.1.24}/tests/test_server_and_client_seperatly.py +0 -0
  101. {fastled-1.1.22 → fastled-1.1.24}/tests/test_webcompile.py +0 -0
  102. {fastled-1.1.22 → fastled-1.1.24}/upload_package.sh +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: fastled
3
- Version: 1.1.22
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
 
@@ -32,6 +33,7 @@ Compiles an Arduino/Platformio sketch into a wasm binary that can be run directl
32
33
  [![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)
33
34
 
34
35
 
36
+
35
37
  # About
36
38
 
37
39
  This python app will compile your FastLED style sketches into html/js/wasm output that runs directly in the browser.
@@ -159,9 +161,10 @@ A: `delay()` will block `loop()` which blocks the main thread of the browser. Th
159
161
  Q: How can I get the compiled size of my FastLED sketch smaller?
160
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.
161
163
 
162
-
163
164
  # Revisions
164
165
 
166
+ * 1.1.24 - Adds progress spinning bar for pulling images, which take a long time.
167
+ * 1.1.23 - Various fixes for MacOS
165
168
  * 1.1.22 - Selecting sketch now allows strings and narrowing down paths if ambiguity
166
169
  * 1.1.21 - Now always watches for space/enter key events to trigger a recompile.
167
170
  * 1.1.20 - Fixed a regression for 1.1.16 involving docker throwing an exception before DockerManager.is_running() could be called so it can be launched.
@@ -10,6 +10,7 @@ Compiles an Arduino/Platformio sketch into a wasm binary that can be run directl
10
10
  [![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)
11
11
 
12
12
 
13
+
13
14
  # About
14
15
 
15
16
  This python app will compile your FastLED style sketches into html/js/wasm output that runs directly in the browser.
@@ -137,9 +138,10 @@ A: `delay()` will block `loop()` which blocks the main thread of the browser. Th
137
138
  Q: How can I get the compiled size of my FastLED sketch smaller?
138
139
  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.
139
140
 
140
-
141
141
  # Revisions
142
142
 
143
+ * 1.1.24 - Adds progress spinning bar for pulling images, which take a long time.
144
+ * 1.1.23 - Various fixes for MacOS
143
145
  * 1.1.22 - Selecting sketch now allows strings and narrowing down paths if ambiguity
144
146
  * 1.1.21 - Now always watches for space/enter key events to trigger a recompile.
145
147
  * 1.1.20 - Fixed a regression for 1.1.16 involving docker throwing an exception before DockerManager.is_running() could be called so it can be launched.
@@ -20,6 +20,7 @@ dependencies = [
20
20
  "disklru>=2.0.1",
21
21
  "appdirs",
22
22
  "rapidfuzz",
23
+ "progress"
23
24
  ]
24
25
 
25
26
  dynamic = ["version"]
@@ -1,3 +1,3 @@
1
1
  """FastLED Wasm Compiler package."""
2
2
 
3
- __version__ = "1.1.22"
3
+ __version__ = "1.1.24"
@@ -70,6 +70,7 @@ def parse_args() -> argparse.Namespace:
70
70
  )
71
71
  parser.add_argument(
72
72
  "--update",
73
+ "--upgrade",
73
74
  action="store_true",
74
75
  help="Update the wasm compiler (if necessary) before running",
75
76
  )
@@ -101,45 +102,51 @@ def parse_args() -> argparse.Namespace:
101
102
  cwd_is_fastled = looks_like_fastled_repo(Path(os.getcwd()))
102
103
 
103
104
  args = parser.parse_args()
104
- if args.update:
105
- args.auto_update = True
106
- elif args.no_auto_updates:
107
- args.auto_update = False
108
- else:
109
- args.auto_update = None
110
-
111
- if not cwd_is_fastled and not args.localhost and not args.web and not args.server:
112
- print(f"Using web compiler at {DEFAULT_URL}")
113
- args.web = DEFAULT_URL
114
- if cwd_is_fastled and not args.web and not args.server:
115
- print("Forcing --local mode because we are in the FastLED repo")
116
- args.localhost = True
117
- if args.localhost:
118
- args.web = "localhost"
119
- if args.interactive and not args.server:
120
- print("--interactive forces --server mode")
121
- args.server = True
122
- if args.directory is None and not args.server:
123
- # does current directory look like a sketch?
124
- maybe_sketch_dir = Path(os.getcwd())
125
- if looks_like_sketch_directory(maybe_sketch_dir):
126
- args.directory = str(maybe_sketch_dir)
105
+ if not args.update:
106
+ if args.no_auto_updates:
107
+ args.auto_update = False
127
108
  else:
128
- sketch_directories = find_sketch_directories(maybe_sketch_dir)
129
- selected_dir = select_sketch_directory(sketch_directories, cwd_is_fastled)
130
- if selected_dir:
131
- print(f"Using sketch directory: {selected_dir}")
132
- args.directory = selected_dir
109
+ args.auto_update = None
110
+
111
+ if (
112
+ not cwd_is_fastled
113
+ and not args.localhost
114
+ and not args.web
115
+ and not args.server
116
+ ):
117
+ print(f"Using web compiler at {DEFAULT_URL}")
118
+ args.web = DEFAULT_URL
119
+ if cwd_is_fastled and not args.web and not args.server:
120
+ print("Forcing --local mode because we are in the FastLED repo")
121
+ args.localhost = True
122
+ if args.localhost:
123
+ args.web = "localhost"
124
+ if args.interactive and not args.server:
125
+ print("--interactive forces --server mode")
126
+ args.server = True
127
+ if args.directory is None and not args.server:
128
+ # does current directory look like a sketch?
129
+ maybe_sketch_dir = Path(os.getcwd())
130
+ if looks_like_sketch_directory(maybe_sketch_dir):
131
+ args.directory = str(maybe_sketch_dir)
133
132
  else:
134
- print(
135
- "\nYou either need to specify a sketch directory or run in --server mode."
133
+ sketch_directories = find_sketch_directories(maybe_sketch_dir)
134
+ selected_dir = select_sketch_directory(
135
+ sketch_directories, cwd_is_fastled
136
136
  )
137
- sys.exit(1)
138
- elif args.directory is not None and os.path.isfile(args.directory):
139
- dir_path = Path(args.directory).parent
140
- if looks_like_sketch_directory(dir_path):
141
- print(f"Using sketch directory: {dir_path}")
142
- args.directory = str(dir_path)
137
+ if selected_dir:
138
+ print(f"Using sketch directory: {selected_dir}")
139
+ args.directory = selected_dir
140
+ else:
141
+ print(
142
+ "\nYou either need to specify a sketch directory or run in --server mode."
143
+ )
144
+ sys.exit(1)
145
+ elif args.directory is not None and os.path.isfile(args.directory):
146
+ dir_path = Path(args.directory).parent
147
+ if looks_like_sketch_directory(dir_path):
148
+ print(f"Using sketch directory: {dir_path}")
149
+ args.directory = str(dir_path)
143
150
 
144
151
  return args
145
152
 
@@ -167,6 +174,13 @@ def run_server(args: argparse.Namespace) -> int:
167
174
 
168
175
  def main() -> int:
169
176
  args = parse_args()
177
+ if args.update:
178
+ # Force auto_update to ensure update check happens
179
+ compile_server = CompileServer(interactive=False, auto_updates=True)
180
+ compile_server.stop()
181
+ print("Finished updating.")
182
+ return 0
183
+
170
184
  if args.server:
171
185
  print("Running in server only mode.")
172
186
  return run_server(args)
@@ -178,6 +192,7 @@ def main() -> int:
178
192
  if __name__ == "__main__":
179
193
  try:
180
194
  os.chdir("../fastled")
195
+ sys.argv.append("--upgrade")
181
196
  sys.exit(main())
182
197
  except KeyboardInterrupt:
183
198
  print("\nExiting from main...")
@@ -268,14 +268,15 @@ def run_client_server(args: argparse.Namespace) -> int:
268
268
  space_bar_pressed = SpaceBarWatcher.watch_space_bar_pressed(
269
269
  timeout=1.0
270
270
  )
271
- file_had_changes = (
272
- len(source_code_watcher.get_all_changes()) > 0
273
- )
274
- if space_bar_pressed or file_had_changes:
271
+ file_changes = source_code_watcher.get_all_changes()
272
+
273
+ if space_bar_pressed or file_changes:
275
274
  if space_bar_pressed:
276
275
  print("Space bar pressed, triggering recompile...")
277
- elif file_had_changes:
278
- print("Changes detected, triggering recompile...")
276
+ elif file_changes:
277
+ print(
278
+ f"Changes detected in {','.join(file_changes)}, triggering recompile..."
279
+ )
279
280
  last_compiled_result = compile_function(
280
281
  last_hash_value=None
281
282
  )