fastled 1.3.0__tar.gz → 1.3.1__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 (122) hide show
  1. {fastled-1.3.0 → fastled-1.3.1}/PKG-INFO +2 -2
  2. {fastled-1.3.0 → fastled-1.3.1}/compiler/pyproject.toml +1 -1
  3. {fastled-1.3.0 → fastled-1.3.1}/pyproject.toml +1 -1
  4. {fastled-1.3.0 → fastled-1.3.1}/src/fastled/__init__.py +1 -1
  5. {fastled-1.3.0 → fastled-1.3.1}/src/fastled/compile_server.py +1 -5
  6. {fastled-1.3.0 → fastled-1.3.1}/src/fastled/compile_server_impl.py +1 -24
  7. {fastled-1.3.0 → fastled-1.3.1}/src/fastled/server_flask.py +12 -5
  8. {fastled-1.3.0 → fastled-1.3.1}/src/fastled.egg-info/PKG-INFO +2 -2
  9. {fastled-1.3.0 → fastled-1.3.1}/src/fastled.egg-info/SOURCES.txt +1 -1
  10. {fastled-1.3.0 → fastled-1.3.1}/src/fastled.egg-info/requires.txt +1 -1
  11. fastled-1.3.0/tests/unit/test_fetch_source_files.py → fastled-1.3.1/tests/unit/test_fetch_debug_source_files.py +5 -19
  12. {fastled-1.3.0 → fastled-1.3.1}/.aiderignore +0 -0
  13. {fastled-1.3.0 → fastled-1.3.1}/.dockerignore +0 -0
  14. {fastled-1.3.0 → fastled-1.3.1}/.github/workflows/build_multi_docker_image.yml +0 -0
  15. {fastled-1.3.0 → fastled-1.3.1}/.github/workflows/build_webpage.yml +0 -0
  16. {fastled-1.3.0 → fastled-1.3.1}/.github/workflows/lint.yml +0 -0
  17. {fastled-1.3.0 → fastled-1.3.1}/.github/workflows/publish_release.yml +0 -0
  18. {fastled-1.3.0 → fastled-1.3.1}/.github/workflows/template_build_docker_image.yml +0 -0
  19. {fastled-1.3.0 → fastled-1.3.1}/.github/workflows/test_build_exe.yml +0 -0
  20. {fastled-1.3.0 → fastled-1.3.1}/.github/workflows/test_macos.yml +0 -0
  21. {fastled-1.3.0 → fastled-1.3.1}/.github/workflows/test_ubuntu.yml +0 -0
  22. {fastled-1.3.0 → fastled-1.3.1}/.github/workflows/test_win.yml +0 -0
  23. {fastled-1.3.0 → fastled-1.3.1}/.gitignore +0 -0
  24. {fastled-1.3.0 → fastled-1.3.1}/.pylintrc +0 -0
  25. {fastled-1.3.0 → fastled-1.3.1}/.vscode/launch.json +0 -0
  26. {fastled-1.3.0 → fastled-1.3.1}/.vscode/settings.json +0 -0
  27. {fastled-1.3.0 → fastled-1.3.1}/.vscode/tasks.json +0 -0
  28. {fastled-1.3.0 → fastled-1.3.1}/Dockerfile +0 -0
  29. {fastled-1.3.0 → fastled-1.3.1}/LICENSE +0 -0
  30. {fastled-1.3.0 → fastled-1.3.1}/MANIFEST.in +0 -0
  31. {fastled-1.3.0 → fastled-1.3.1}/README.md +0 -0
  32. {fastled-1.3.0 → fastled-1.3.1}/RELEASE.md +0 -0
  33. {fastled-1.3.0 → fastled-1.3.1}/TODO.md +0 -0
  34. {fastled-1.3.0 → fastled-1.3.1}/build_exe.py +0 -0
  35. {fastled-1.3.0 → fastled-1.3.1}/build_local_docker.py +0 -0
  36. {fastled-1.3.0 → fastled-1.3.1}/build_site.py +0 -0
  37. {fastled-1.3.0 → fastled-1.3.1}/clean +0 -0
  38. {fastled-1.3.0 → fastled-1.3.1}/compiler/CMakeLists.txt +0 -0
  39. {fastled-1.3.0 → fastled-1.3.1}/compiler/arduino-pre-process.sh +0 -0
  40. {fastled-1.3.0 → fastled-1.3.1}/compiler/debug.sh +0 -0
  41. {fastled-1.3.0 → fastled-1.3.1}/compiler/entrypoint.sh +0 -0
  42. {fastled-1.3.0 → fastled-1.3.1}/compiler/final_prewarm.sh +0 -0
  43. {fastled-1.3.0 → fastled-1.3.1}/compiler/init_runtime.py +0 -0
  44. {fastled-1.3.0 → fastled-1.3.1}/compiler/install-arduino-cli.sh +0 -0
  45. {fastled-1.3.0 → fastled-1.3.1}/compiler/libcompile/CMakeLists.txt +0 -0
  46. {fastled-1.3.0 → fastled-1.3.1}/compiler/prewarm.sh +0 -0
  47. {fastled-1.3.0 → fastled-1.3.1}/compiler/process-ino.py +0 -0
  48. {fastled-1.3.0 → fastled-1.3.1}/compiler/run.py +0 -0
  49. {fastled-1.3.0 → fastled-1.3.1}/demo/100dots.html +0 -0
  50. {fastled-1.3.0 → fastled-1.3.1}/demo/demo_threejs.html +0 -0
  51. {fastled-1.3.0 → fastled-1.3.1}/demo/micdemo.html +0 -0
  52. {fastled-1.3.0 → fastled-1.3.1}/demo/mp3upload.html +0 -0
  53. {fastled-1.3.0 → fastled-1.3.1}/demo/webgl_postprocessing_unreal_bloom.html +0 -0
  54. {fastled-1.3.0 → fastled-1.3.1}/docker-compose.yml +0 -0
  55. {fastled-1.3.0 → fastled-1.3.1}/install +0 -0
  56. {fastled-1.3.0 → fastled-1.3.1}/install_linux.sh +0 -0
  57. {fastled-1.3.0 → fastled-1.3.1}/lint +0 -0
  58. {fastled-1.3.0 → fastled-1.3.1}/requirements.testing.txt +0 -0
  59. {fastled-1.3.0 → fastled-1.3.1}/setup.cfg +0 -0
  60. {fastled-1.3.0 → fastled-1.3.1}/setup.py +0 -0
  61. {fastled-1.3.0 → fastled-1.3.1}/src/fastled/app.py +0 -0
  62. {fastled-1.3.0 → fastled-1.3.1}/src/fastled/assets/example.txt +0 -0
  63. {fastled-1.3.0 → fastled-1.3.1}/src/fastled/assets/localhost-key.pem +0 -0
  64. {fastled-1.3.0 → fastled-1.3.1}/src/fastled/assets/localhost.pem +0 -0
  65. {fastled-1.3.0 → fastled-1.3.1}/src/fastled/cli.py +0 -0
  66. {fastled-1.3.0 → fastled-1.3.1}/src/fastled/cli_test.py +0 -0
  67. {fastled-1.3.0 → fastled-1.3.1}/src/fastled/cli_test_interactive.py +0 -0
  68. {fastled-1.3.0 → fastled-1.3.1}/src/fastled/client_server.py +0 -0
  69. {fastled-1.3.0 → fastled-1.3.1}/src/fastled/docker_manager.py +0 -0
  70. {fastled-1.3.0 → fastled-1.3.1}/src/fastled/filewatcher.py +0 -0
  71. {fastled-1.3.0 → fastled-1.3.1}/src/fastled/keyboard.py +0 -0
  72. {fastled-1.3.0 → fastled-1.3.1}/src/fastled/keyz.py +0 -0
  73. {fastled-1.3.0 → fastled-1.3.1}/src/fastled/live_client.py +0 -0
  74. {fastled-1.3.0 → fastled-1.3.1}/src/fastled/open_browser.py +0 -0
  75. {fastled-1.3.0 → fastled-1.3.1}/src/fastled/parse_args.py +0 -0
  76. {fastled-1.3.0 → fastled-1.3.1}/src/fastled/paths.py +0 -0
  77. {fastled-1.3.0 → fastled-1.3.1}/src/fastled/print_filter.py +0 -0
  78. {fastled-1.3.0 → fastled-1.3.1}/src/fastled/project_init.py +0 -0
  79. {fastled-1.3.0 → fastled-1.3.1}/src/fastled/select_sketch_directory.py +0 -0
  80. {fastled-1.3.0 → fastled-1.3.1}/src/fastled/server_start.py +0 -0
  81. {fastled-1.3.0 → fastled-1.3.1}/src/fastled/settings.py +0 -0
  82. {fastled-1.3.0 → fastled-1.3.1}/src/fastled/site/build.py +0 -0
  83. {fastled-1.3.0 → fastled-1.3.1}/src/fastled/site/examples.py +0 -0
  84. {fastled-1.3.0 → fastled-1.3.1}/src/fastled/sketch.py +0 -0
  85. {fastled-1.3.0 → fastled-1.3.1}/src/fastled/spinner.py +0 -0
  86. {fastled-1.3.0 → fastled-1.3.1}/src/fastled/string_diff.py +0 -0
  87. {fastled-1.3.0 → fastled-1.3.1}/src/fastled/test/can_run_local_docker_tests.py +0 -0
  88. {fastled-1.3.0 → fastled-1.3.1}/src/fastled/test/examples.py +0 -0
  89. {fastled-1.3.0 → fastled-1.3.1}/src/fastled/types.py +0 -0
  90. {fastled-1.3.0 → fastled-1.3.1}/src/fastled/util.py +0 -0
  91. {fastled-1.3.0 → fastled-1.3.1}/src/fastled/web_compile.py +0 -0
  92. {fastled-1.3.0 → fastled-1.3.1}/src/fastled.egg-info/dependency_links.txt +0 -0
  93. {fastled-1.3.0 → fastled-1.3.1}/src/fastled.egg-info/entry_points.txt +0 -0
  94. {fastled-1.3.0 → fastled-1.3.1}/src/fastled.egg-info/top_level.txt +0 -0
  95. {fastled-1.3.0 → fastled-1.3.1}/test +0 -0
  96. {fastled-1.3.0 → fastled-1.3.1}/tests/integration/test_build_examples.py +0 -0
  97. {fastled-1.3.0 → fastled-1.3.1}/tests/integration/test_examples.py +0 -0
  98. {fastled-1.3.0 → fastled-1.3.1}/tests/unit/html/index.html +0 -0
  99. {fastled-1.3.0 → fastled-1.3.1}/tests/unit/test_api.py +0 -0
  100. {fastled-1.3.0 → fastled-1.3.1}/tests/unit/test_bad_ino.py +0 -0
  101. {fastled-1.3.0 → fastled-1.3.1}/tests/unit/test_cli.py +0 -0
  102. {fastled-1.3.0 → fastled-1.3.1}/tests/unit/test_compile_server.py +0 -0
  103. {fastled-1.3.0 → fastled-1.3.1}/tests/unit/test_docker_linux_on_windows.py +0 -0
  104. {fastled-1.3.0 → fastled-1.3.1}/tests/unit/test_embedded_data.py +0 -0
  105. {fastled-1.3.0 → fastled-1.3.1}/tests/unit/test_experimental_cpp_filter.py +0 -0
  106. {fastled-1.3.0 → fastled-1.3.1}/tests/unit/test_filechanger.py +0 -0
  107. {fastled-1.3.0 → fastled-1.3.1}/tests/unit/test_http_server.py +0 -0
  108. {fastled-1.3.0 → fastled-1.3.1}/tests/unit/test_ino/bad/bad.ino +0 -0
  109. {fastled-1.3.0 → fastled-1.3.1}/tests/unit/test_ino/bad_platformio/bad_platformio.ino +0 -0
  110. {fastled-1.3.0 → fastled-1.3.1}/tests/unit/test_ino/bad_platformio/platformio.ini +0 -0
  111. {fastled-1.3.0 → fastled-1.3.1}/tests/unit/test_ino/embedded/data/bigdata.dat +0 -0
  112. {fastled-1.3.0 → fastled-1.3.1}/tests/unit/test_ino/embedded/wasm.ino +0 -0
  113. {fastled-1.3.0 → fastled-1.3.1}/tests/unit/test_ino/wasm/wasm.ino +0 -0
  114. {fastled-1.3.0 → fastled-1.3.1}/tests/unit/test_print_filter.py +0 -0
  115. {fastled-1.3.0 → fastled-1.3.1}/tests/unit/test_project_init.py +0 -0
  116. {fastled-1.3.0 → fastled-1.3.1}/tests/unit/test_server_and_client_seperatly.py +0 -0
  117. {fastled-1.3.0 → fastled-1.3.1}/tests/unit/test_string_diff.py +0 -0
  118. {fastled-1.3.0 → fastled-1.3.1}/tests/unit/test_version.py +0 -0
  119. {fastled-1.3.0 → fastled-1.3.1}/tests/unit/test_version_matches.py +0 -0
  120. {fastled-1.3.0 → fastled-1.3.1}/tests/unit/test_webcompile.py +0 -0
  121. {fastled-1.3.0 → fastled-1.3.1}/upload_package.sh +0 -0
  122. {fastled-1.3.0 → fastled-1.3.1}/vscode-plugin/readme +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: fastled
3
- Version: 1.3.0
3
+ Version: 1.3.1
4
4
  Summary: FastLED Wasm Compiler
5
5
  Home-page: https://github.com/zackees/fastled-wasm
6
6
  Maintainer: Zachary Vorhies
@@ -20,7 +20,7 @@ Requires-Dist: progress>=1.6
20
20
  Requires-Dist: watchfiles>=1.0.5
21
21
  Requires-Dist: Flask>=3.0.0
22
22
  Requires-Dist: livereload
23
- Requires-Dist: fastled-wasm-server>=1.0.22
23
+ Requires-Dist: fastled-wasm-server>=1.0.23
24
24
  Dynamic: home-page
25
25
  Dynamic: license-file
26
26
  Dynamic: maintainer
@@ -15,7 +15,7 @@ dependencies = [
15
15
  "disklru==2.0.0",
16
16
  "psutil==6.1.1",
17
17
  "wormhole-tx",
18
- "fastled-wasm-server>=1.0.22", # Also versions fastled-wasm-compiler dependency.
18
+ "fastled-wasm-server>=1.0.23", # Also versions fastled-wasm-compiler dependency.
19
19
  ]
20
20
 
21
21
  [tool.setuptools]
@@ -24,7 +24,7 @@ dependencies = [
24
24
  "Flask>=3.0.0",
25
25
  "livereload",
26
26
  ###### WASM SERVER ######
27
- "fastled-wasm-server>=1.0.22", # Enforced by unit test to match project <--> docker.
27
+ "fastled-wasm-server>=1.0.23", # Enforced by unit test to match project <--> docker.
28
28
  ]
29
29
 
30
30
  dynamic = ["version"]
@@ -14,7 +14,7 @@ from .types import BuildMode, CompileResult, CompileServerError, FileResponse
14
14
  # IMPORTANT! There's a bug in github which will REJECT any version update
15
15
  # that has any other change in the repo. Please bump the version as the
16
16
  # ONLY change in a commit, or else the pypi update and the release will fail.
17
- __version__ = "1.3.0"
17
+ __version__ = "1.3.1"
18
18
 
19
19
 
20
20
  class Api:
@@ -1,6 +1,6 @@
1
1
  from pathlib import Path
2
2
 
3
- from fastled.types import BuildMode, CompileResult, FileResponse, Platform
3
+ from fastled.types import BuildMode, CompileResult, Platform
4
4
 
5
5
 
6
6
  class CompileServer:
@@ -53,10 +53,6 @@ class CompileServer:
53
53
 
54
54
  project_init(example=example, outputdir=outputdir)
55
55
 
56
- def fetch_source_file(self, filepath: str) -> FileResponse | Exception:
57
- """Get the source file from the server."""
58
- return self.impl.fetch_source_file(filepath)
59
-
60
56
  @property
61
57
  def name(self) -> str:
62
58
  return self.impl.container_name
@@ -17,7 +17,7 @@ from fastled.docker_manager import (
17
17
  )
18
18
  from fastled.settings import DEFAULT_CONTAINER_NAME, IMAGE_NAME, SERVER_PORT
19
19
  from fastled.sketch import looks_like_fastled_repo
20
- from fastled.types import BuildMode, CompileResult, CompileServerError, FileResponse
20
+ from fastled.types import BuildMode, CompileResult, CompileServerError
21
21
  from fastled.util import port_is_free
22
22
 
23
23
  SERVER_OPTIONS = [
@@ -183,29 +183,6 @@ class CompileServerImpl:
183
183
  return False
184
184
  return False
185
185
 
186
- def fetch_source_file(self, filepath: str) -> FileResponse | Exception:
187
- """Get the source file from the server."""
188
- if not self._port:
189
- raise RuntimeError("Server has not been started yet")
190
- try:
191
- httpx_client = httpx.Client()
192
- url = f"http://localhost:{self._port}/sourcefiles/{filepath}"
193
- response = httpx_client.get(url, follow_redirects=True)
194
- if response.status_code == 200:
195
- content = response.text
196
- mimetype: str = response.headers.get("Content-Type", "text/plain")
197
- return FileResponse(
198
- content=content,
199
- mimetype=mimetype,
200
- filename=filepath,
201
- )
202
- else:
203
- return CompileServerError(
204
- f"Error fetching file {filepath}: {response.status_code}"
205
- )
206
- except httpx.RequestError as e:
207
- return CompileServerError(f"Error fetching file {filepath}: {e}")
208
-
209
186
  def _start(self) -> int:
210
187
  print("Compiling server starting")
211
188
 
@@ -125,9 +125,14 @@ def _run_flask_server(
125
125
  logger.error(f"Error forwarding request: {e}", exc_info=True)
126
126
  return Response(f"Error: {str(e)}", status=500)
127
127
 
128
- def handle_dwarfsource(path: str) -> Response:
129
- """Handle requests to /drawfsource/js/fastled/src/
130
- or /drawfsource/js/drawfsource/emsdk/*"""
128
+ def handle_fastledsource(path: str) -> Response:
129
+ """Handle requests to
130
+ /fastledsource/js/fastledsource/git/fastled/src/
131
+ or
132
+ /sketchsource/js/src/Blink.ino
133
+
134
+ The names are a bit mangled due to the way C++ prefixing works near the root directory.
135
+ """
131
136
  from flask import request
132
137
 
133
138
  start_time = time.time()
@@ -314,9 +319,11 @@ def _run_flask_server(
314
319
  logger.info(f"Received request for path: {path}")
315
320
 
316
321
  try:
317
- if path.startswith("drawfsource/"):
322
+ if path.startswith("fastledsource/") or path.startswith(
323
+ "sketchsource/"
324
+ ):
318
325
  logger.info(f"Handling as drawfsource: {path}")
319
- return handle_dwarfsource(path)
326
+ return handle_fastledsource(path)
320
327
  elif path.startswith("sourcefiles/"):
321
328
  logger.info(f"Handling as sourcefiles: {path}")
322
329
  return handle_sourcefile(path)
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: fastled
3
- Version: 1.3.0
3
+ Version: 1.3.1
4
4
  Summary: FastLED Wasm Compiler
5
5
  Home-page: https://github.com/zackees/fastled-wasm
6
6
  Maintainer: Zachary Vorhies
@@ -20,7 +20,7 @@ Requires-Dist: progress>=1.6
20
20
  Requires-Dist: watchfiles>=1.0.5
21
21
  Requires-Dist: Flask>=3.0.0
22
22
  Requires-Dist: livereload
23
- Requires-Dist: fastled-wasm-server>=1.0.22
23
+ Requires-Dist: fastled-wasm-server>=1.0.23
24
24
  Dynamic: home-page
25
25
  Dynamic: license-file
26
26
  Dynamic: maintainer
@@ -100,7 +100,7 @@ tests/unit/test_compile_server.py
100
100
  tests/unit/test_docker_linux_on_windows.py
101
101
  tests/unit/test_embedded_data.py
102
102
  tests/unit/test_experimental_cpp_filter.py
103
- tests/unit/test_fetch_source_files.py
103
+ tests/unit/test_fetch_debug_source_files.py
104
104
  tests/unit/test_filechanger.py
105
105
  tests/unit/test_http_server.py
106
106
  tests/unit/test_print_filter.py
@@ -8,4 +8,4 @@ progress>=1.6
8
8
  watchfiles>=1.0.5
9
9
  Flask>=3.0.0
10
10
  livereload
11
- fastled-wasm-server>=1.0.22
11
+ fastled-wasm-server>=1.0.23
@@ -15,13 +15,12 @@ HERE = Path(__file__).parent
15
15
  TEST_INO_WASM = HERE / "test_ino" / "wasm"
16
16
 
17
17
  # New refactor has broken this test. Good news, we got the sketch to output debug symbols!!!!!!
18
- _ENABLED = False
18
+ _ENABLED = True
19
19
 
20
20
  _DWARF_SRC_EXAMPLE1 = "http://localhost:{http_port}/fastledsource/js/src/fastledsource/git/fastled/src/FastLED.h"
21
21
  _DWARF_SRC_EXAMPLE2 = (
22
22
  "http://localhost:{http_port}/sketchsource/js/sketchsource/headers/FastLED.h"
23
23
  )
24
- # _DWARF_SRC_EXAMPLES = "http://localhost:{http_port}/drawfsource/js/src/direct.h"
25
24
 
26
25
  _DWARF_SRC_EXAMPLES = [
27
26
  _DWARF_SRC_EXAMPLE1,
@@ -54,21 +53,6 @@ def wait_for_server(url: str, timeout: int = 10) -> bool:
54
53
  class FetchSourceFileTester(unittest.TestCase):
55
54
  """Main tester class."""
56
55
 
57
- @unittest.skipUnless(
58
- _enabled(),
59
- "Skipping test because either this is on non-Linux system on github or embedded data is disabled",
60
- )
61
- def test_backend_server_for_src_file_fetch(self) -> None:
62
- """Tests that embedded data is round tripped correctly."""
63
- # Todo: make this only run on a local build. Otherwise there are sync issues
64
- # with the docker version of this app and will generate false positives until
65
- # the docker version is updated - Frustrating.
66
- with Api.server() as server:
67
- resp = server.fetch_source_file("FastLED.h")
68
- if isinstance(resp, Exception):
69
- raise resp
70
- print("Done")
71
-
72
56
  @unittest.skipUnless(
73
57
  _enabled(),
74
58
  "Skipping test because either this is on non-Linux system on github or embedded data is disabled",
@@ -83,11 +67,13 @@ class FetchSourceFileTester(unittest.TestCase):
83
67
  http_port=http_port,
84
68
  )
85
69
  with client:
86
- # TODO Make faster.
87
70
  wait_for_server(f"http://localhost:{http_port}", timeout=100)
71
+ url = f"http://localhost:{http_port}/dwarfsource/fastledsource/git/fastled/src/FastLED.h"
88
72
 
89
73
  resp = httpx.get(
90
- f"http://localhost:{http_port}/sourcefiles/FastLED.h",
74
+ # This type of request will come from the server during debug mode to
75
+ # enable debugging.
76
+ url,
91
77
  timeout=100,
92
78
  )
93
79
  if resp.status_code != 200:
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