fastled 1.2.93__tar.gz → 1.2.95__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.2.93 → fastled-1.2.95}/Dockerfile +16 -16
  2. {fastled-1.2.93 → fastled-1.2.95}/PKG-INFO +2 -2
  3. {fastled-1.2.93 → fastled-1.2.95}/compiler/pyproject.toml +1 -1
  4. {fastled-1.2.93 → fastled-1.2.95}/pyproject.toml +1 -1
  5. {fastled-1.2.93 → fastled-1.2.95}/src/fastled/__init__.py +1 -1
  6. {fastled-1.2.93 → fastled-1.2.95}/src/fastled/server_flask.py +19 -13
  7. {fastled-1.2.93 → fastled-1.2.95}/src/fastled.egg-info/PKG-INFO +2 -2
  8. {fastled-1.2.93 → fastled-1.2.95}/src/fastled.egg-info/requires.txt +1 -1
  9. {fastled-1.2.93 → fastled-1.2.95}/tests/unit/test_fetch_source_files.py +11 -2
  10. {fastled-1.2.93 → fastled-1.2.95}/.aiderignore +0 -0
  11. {fastled-1.2.93 → fastled-1.2.95}/.dockerignore +0 -0
  12. {fastled-1.2.93 → fastled-1.2.95}/.github/workflows/build_multi_docker_image.yml +0 -0
  13. {fastled-1.2.93 → fastled-1.2.95}/.github/workflows/build_webpage.yml +0 -0
  14. {fastled-1.2.93 → fastled-1.2.95}/.github/workflows/lint.yml +0 -0
  15. {fastled-1.2.93 → fastled-1.2.95}/.github/workflows/publish_release.yml +0 -0
  16. {fastled-1.2.93 → fastled-1.2.95}/.github/workflows/template_build_docker_image.yml +0 -0
  17. {fastled-1.2.93 → fastled-1.2.95}/.github/workflows/test_build_exe.yml +0 -0
  18. {fastled-1.2.93 → fastled-1.2.95}/.github/workflows/test_macos.yml +0 -0
  19. {fastled-1.2.93 → fastled-1.2.95}/.github/workflows/test_ubuntu.yml +0 -0
  20. {fastled-1.2.93 → fastled-1.2.95}/.github/workflows/test_win.yml +0 -0
  21. {fastled-1.2.93 → fastled-1.2.95}/.gitignore +0 -0
  22. {fastled-1.2.93 → fastled-1.2.95}/.pylintrc +0 -0
  23. {fastled-1.2.93 → fastled-1.2.95}/.vscode/launch.json +0 -0
  24. {fastled-1.2.93 → fastled-1.2.95}/.vscode/settings.json +0 -0
  25. {fastled-1.2.93 → fastled-1.2.95}/.vscode/tasks.json +0 -0
  26. {fastled-1.2.93 → fastled-1.2.95}/LICENSE +0 -0
  27. {fastled-1.2.93 → fastled-1.2.95}/MANIFEST.in +0 -0
  28. {fastled-1.2.93 → fastled-1.2.95}/README.md +0 -0
  29. {fastled-1.2.93 → fastled-1.2.95}/RELEASE.md +0 -0
  30. {fastled-1.2.93 → fastled-1.2.95}/TODO.md +0 -0
  31. {fastled-1.2.93 → fastled-1.2.95}/build_exe.py +0 -0
  32. {fastled-1.2.93 → fastled-1.2.95}/build_local_docker.py +0 -0
  33. {fastled-1.2.93 → fastled-1.2.95}/build_site.py +0 -0
  34. {fastled-1.2.93 → fastled-1.2.95}/clean +0 -0
  35. {fastled-1.2.93 → fastled-1.2.95}/compiler/CMakeLists.txt +0 -0
  36. {fastled-1.2.93 → fastled-1.2.95}/compiler/arduino-pre-process.sh +0 -0
  37. {fastled-1.2.93 → fastled-1.2.95}/compiler/debug.sh +0 -0
  38. {fastled-1.2.93 → fastled-1.2.95}/compiler/entrypoint.sh +0 -0
  39. {fastled-1.2.93 → fastled-1.2.95}/compiler/final_prewarm.sh +0 -0
  40. {fastled-1.2.93 → fastled-1.2.95}/compiler/init_runtime.py +0 -0
  41. {fastled-1.2.93 → fastled-1.2.95}/compiler/install-arduino-cli.sh +0 -0
  42. {fastled-1.2.93 → fastled-1.2.95}/compiler/libcompile/CMakeLists.txt +0 -0
  43. {fastled-1.2.93 → fastled-1.2.95}/compiler/prewarm.sh +0 -0
  44. {fastled-1.2.93 → fastled-1.2.95}/compiler/process-ino.py +0 -0
  45. {fastled-1.2.93 → fastled-1.2.95}/compiler/run.py +0 -0
  46. {fastled-1.2.93 → fastled-1.2.95}/demo/100dots.html +0 -0
  47. {fastled-1.2.93 → fastled-1.2.95}/demo/demo_threejs.html +0 -0
  48. {fastled-1.2.93 → fastled-1.2.95}/demo/micdemo.html +0 -0
  49. {fastled-1.2.93 → fastled-1.2.95}/demo/mp3upload.html +0 -0
  50. {fastled-1.2.93 → fastled-1.2.95}/demo/webgl_postprocessing_unreal_bloom.html +0 -0
  51. {fastled-1.2.93 → fastled-1.2.95}/docker-compose.yml +0 -0
  52. {fastled-1.2.93 → fastled-1.2.95}/install +0 -0
  53. {fastled-1.2.93 → fastled-1.2.95}/install_linux.sh +0 -0
  54. {fastled-1.2.93 → fastled-1.2.95}/lint +0 -0
  55. {fastled-1.2.93 → fastled-1.2.95}/requirements.testing.txt +0 -0
  56. {fastled-1.2.93 → fastled-1.2.95}/setup.cfg +0 -0
  57. {fastled-1.2.93 → fastled-1.2.95}/setup.py +0 -0
  58. {fastled-1.2.93 → fastled-1.2.95}/src/fastled/app.py +0 -0
  59. {fastled-1.2.93 → fastled-1.2.95}/src/fastled/assets/example.txt +0 -0
  60. {fastled-1.2.93 → fastled-1.2.95}/src/fastled/assets/localhost-key.pem +0 -0
  61. {fastled-1.2.93 → fastled-1.2.95}/src/fastled/assets/localhost.pem +0 -0
  62. {fastled-1.2.93 → fastled-1.2.95}/src/fastled/cli.py +0 -0
  63. {fastled-1.2.93 → fastled-1.2.95}/src/fastled/cli_test.py +0 -0
  64. {fastled-1.2.93 → fastled-1.2.95}/src/fastled/cli_test_interactive.py +0 -0
  65. {fastled-1.2.93 → fastled-1.2.95}/src/fastled/client_server.py +0 -0
  66. {fastled-1.2.93 → fastled-1.2.95}/src/fastled/compile_server.py +0 -0
  67. {fastled-1.2.93 → fastled-1.2.95}/src/fastled/compile_server_impl.py +0 -0
  68. {fastled-1.2.93 → fastled-1.2.95}/src/fastled/docker_manager.py +0 -0
  69. {fastled-1.2.93 → fastled-1.2.95}/src/fastled/filewatcher.py +0 -0
  70. {fastled-1.2.93 → fastled-1.2.95}/src/fastled/keyboard.py +0 -0
  71. {fastled-1.2.93 → fastled-1.2.95}/src/fastled/keyz.py +0 -0
  72. {fastled-1.2.93 → fastled-1.2.95}/src/fastled/live_client.py +0 -0
  73. {fastled-1.2.93 → fastled-1.2.95}/src/fastled/open_browser.py +0 -0
  74. {fastled-1.2.93 → fastled-1.2.95}/src/fastled/parse_args.py +0 -0
  75. {fastled-1.2.93 → fastled-1.2.95}/src/fastled/paths.py +0 -0
  76. {fastled-1.2.93 → fastled-1.2.95}/src/fastled/print_filter.py +0 -0
  77. {fastled-1.2.93 → fastled-1.2.95}/src/fastled/project_init.py +0 -0
  78. {fastled-1.2.93 → fastled-1.2.95}/src/fastled/select_sketch_directory.py +0 -0
  79. {fastled-1.2.93 → fastled-1.2.95}/src/fastled/server_start.py +0 -0
  80. {fastled-1.2.93 → fastled-1.2.95}/src/fastled/settings.py +0 -0
  81. {fastled-1.2.93 → fastled-1.2.95}/src/fastled/site/build.py +0 -0
  82. {fastled-1.2.93 → fastled-1.2.95}/src/fastled/site/examples.py +0 -0
  83. {fastled-1.2.93 → fastled-1.2.95}/src/fastled/sketch.py +0 -0
  84. {fastled-1.2.93 → fastled-1.2.95}/src/fastled/spinner.py +0 -0
  85. {fastled-1.2.93 → fastled-1.2.95}/src/fastled/string_diff.py +0 -0
  86. {fastled-1.2.93 → fastled-1.2.95}/src/fastled/test/can_run_local_docker_tests.py +0 -0
  87. {fastled-1.2.93 → fastled-1.2.95}/src/fastled/test/examples.py +0 -0
  88. {fastled-1.2.93 → fastled-1.2.95}/src/fastled/types.py +0 -0
  89. {fastled-1.2.93 → fastled-1.2.95}/src/fastled/util.py +0 -0
  90. {fastled-1.2.93 → fastled-1.2.95}/src/fastled/web_compile.py +0 -0
  91. {fastled-1.2.93 → fastled-1.2.95}/src/fastled.egg-info/SOURCES.txt +0 -0
  92. {fastled-1.2.93 → fastled-1.2.95}/src/fastled.egg-info/dependency_links.txt +0 -0
  93. {fastled-1.2.93 → fastled-1.2.95}/src/fastled.egg-info/entry_points.txt +0 -0
  94. {fastled-1.2.93 → fastled-1.2.95}/src/fastled.egg-info/top_level.txt +0 -0
  95. {fastled-1.2.93 → fastled-1.2.95}/test +0 -0
  96. {fastled-1.2.93 → fastled-1.2.95}/tests/integration/test_build_examples.py +0 -0
  97. {fastled-1.2.93 → fastled-1.2.95}/tests/integration/test_examples.py +0 -0
  98. {fastled-1.2.93 → fastled-1.2.95}/tests/unit/html/index.html +0 -0
  99. {fastled-1.2.93 → fastled-1.2.95}/tests/unit/test_api.py +0 -0
  100. {fastled-1.2.93 → fastled-1.2.95}/tests/unit/test_bad_ino.py +0 -0
  101. {fastled-1.2.93 → fastled-1.2.95}/tests/unit/test_cli.py +0 -0
  102. {fastled-1.2.93 → fastled-1.2.95}/tests/unit/test_compile_server.py +0 -0
  103. {fastled-1.2.93 → fastled-1.2.95}/tests/unit/test_docker_linux_on_windows.py +0 -0
  104. {fastled-1.2.93 → fastled-1.2.95}/tests/unit/test_embedded_data.py +0 -0
  105. {fastled-1.2.93 → fastled-1.2.95}/tests/unit/test_experimental_cpp_filter.py +0 -0
  106. {fastled-1.2.93 → fastled-1.2.95}/tests/unit/test_filechanger.py +0 -0
  107. {fastled-1.2.93 → fastled-1.2.95}/tests/unit/test_http_server.py +0 -0
  108. {fastled-1.2.93 → fastled-1.2.95}/tests/unit/test_ino/bad/bad.ino +0 -0
  109. {fastled-1.2.93 → fastled-1.2.95}/tests/unit/test_ino/bad_platformio/bad_platformio.ino +0 -0
  110. {fastled-1.2.93 → fastled-1.2.95}/tests/unit/test_ino/bad_platformio/platformio.ini +0 -0
  111. {fastled-1.2.93 → fastled-1.2.95}/tests/unit/test_ino/embedded/data/bigdata.dat +0 -0
  112. {fastled-1.2.93 → fastled-1.2.95}/tests/unit/test_ino/embedded/wasm.ino +0 -0
  113. {fastled-1.2.93 → fastled-1.2.95}/tests/unit/test_ino/wasm/wasm.ino +0 -0
  114. {fastled-1.2.93 → fastled-1.2.95}/tests/unit/test_print_filter.py +0 -0
  115. {fastled-1.2.93 → fastled-1.2.95}/tests/unit/test_project_init.py +0 -0
  116. {fastled-1.2.93 → fastled-1.2.95}/tests/unit/test_server_and_client_seperatly.py +0 -0
  117. {fastled-1.2.93 → fastled-1.2.95}/tests/unit/test_string_diff.py +0 -0
  118. {fastled-1.2.93 → fastled-1.2.95}/tests/unit/test_version.py +0 -0
  119. {fastled-1.2.93 → fastled-1.2.95}/tests/unit/test_version_matches.py +0 -0
  120. {fastled-1.2.93 → fastled-1.2.95}/tests/unit/test_webcompile.py +0 -0
  121. {fastled-1.2.93 → fastled-1.2.95}/upload_package.sh +0 -0
  122. {fastled-1.2.93 → fastled-1.2.95}/vscode-plugin/readme +0 -0
@@ -16,33 +16,33 @@ RUN echo "force update4"
16
16
  ARG FASTLED_BUILD_DAY=echo $(date +'%Y-%m-%d')
17
17
  ENV FASTLED_BUILD_DAY=${FASTLED_BUILD_DAY}
18
18
 
19
- ARG FASTLED_VERSION=master
20
- ENV FASTLED_VERSION=${FASTLED_VERSION}
21
- RUN mkdir -p /js/fastled && \
22
- rsync -a /git/fastled/ /js/fastled/ --exclude='.git'
19
+ # ARG FASTLED_VERSION=master
20
+ # ENV FASTLED_VERSION=${FASTLED_VERSION}
21
+ # RUN mkdir -p /js/fastled && \
22
+ # rsync -a /git/fastled/ /js/fastled/ --exclude='.git'
23
23
 
24
24
  # Create symlinks for wasm platform files.
25
25
  COPY compiler/init_runtime.py /js/init_runtime.py
26
- COPY compiler/prewarm.sh /js/prewarm.sh
26
+ #COPY compiler/prewarm.sh /js/prewarm.sh
27
27
 
28
28
  WORKDIR /js
29
29
 
30
- ARG NO_PREWARM=0
31
- ENV NO_PREWARM=${NO_PREWARM}
30
+ #ARG NO_PREWARM=0
31
+ #ENV NO_PREWARM=${NO_PREWARM}
32
32
 
33
- RUN python /js/init_runtime.py || true
33
+ #RUN python /js/init_runtime.py || true
34
34
 
35
35
 
36
36
  # First pre-warm cycle - always do it as part of the build.
37
- RUN mkdir -p /logs
37
+ # RUN mkdir -p /logs
38
38
 
39
39
  # Force a build if the compiler flags change.
40
- COPY compiler/CMakeLists.txt /trash/CMakeLists.txt
41
- RUN rm -rf /trash
40
+ #COPY compiler/CMakeLists.txt /trash/CMakeLists.txt
41
+ #RUN rm -rf /trash
42
42
 
43
- RUN chmod +x /js/prewarm.sh && \
44
- cat /js/prewarm.sh >> /logs/prewarm.log.0
45
- RUN /js/prewarm.sh --force >> /logs/prewarm.log.1 || true
43
+ #RUN chmod +x /js/prewarm.sh && \
44
+ # cat /js/prewarm.sh >> /logs/prewarm.log.0
45
+ #RUN /js/prewarm.sh --force >> /logs/prewarm.log.1 || true
46
46
 
47
47
 
48
48
 
@@ -69,12 +69,12 @@ RUN chmod +x /entrypoint.sh && dos2unix /entrypoint.sh
69
69
  # now sync local to the source directory.
70
70
  # RUN rsync -av /host/fastled/ /js/fastled/ && rm -rf /host/fastled
71
71
 
72
- RUN python /js/init_runtime.py || true
72
+ # RUN python /js/init_runtime.py || true
73
73
 
74
74
 
75
75
  # SECOND PRE-WARM CYCLE: Copy the fastled repo from the host machine and pre-warm the cache with that compilation. This will
76
76
  # be much quicker than the first pre-warm cycle.
77
- RUN /js/prewarm.sh --force > /logs/prewarm.log.2 || true
77
+ # RUN /js/prewarm.sh --force > /logs/prewarm.log.2 || true
78
78
 
79
79
  # Now timestamp the image and store it at the end of the build.
80
80
  RUN date > /image_timestamp.txt
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: fastled
3
- Version: 1.2.93
3
+ Version: 1.2.95
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.6
23
+ Requires-Dist: fastled-wasm-server>=1.0.17
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.6",
18
+ "fastled-wasm-server>=1.0.17", # 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.6", # This version can float upwards, while the docker is pinned.
27
+ "fastled-wasm-server>=1.0.17", # 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.2.93"
17
+ __version__ = "1.2.95"
18
18
 
19
19
 
20
20
  class Api:
@@ -23,9 +23,22 @@ else:
23
23
  logger = logging.getLogger("flask_server")
24
24
  logger.disabled = True
25
25
 
26
- _DRAWF_SOURCE_FASTLED = "drawfsource/js/fastled/src/"
26
+ _DRAWF_SOURCE_FASTLED = "drawfsource/src/drawfsource/git/fastled/src"
27
27
  _DRAWF_SOURCE_EMSDK = "drawfsource/js/drawfsource/emsdk/"
28
28
 
29
+ # Mirrors what's on the server.
30
+ _PATTERNS_FASTLED_SRC = [
31
+ "drawfsource/js/src/drawfsource/git/fastled/src/",
32
+ "drawfsource/js/drawfsource/headers/",
33
+ ]
34
+
35
+
36
+ def _resolve_fastled_src(drawfsource: str) -> str | None:
37
+ for pattern in _PATTERNS_FASTLED_SRC:
38
+ if drawfsource.startswith(pattern):
39
+ return drawfsource[len(pattern) :]
40
+ return None
41
+
29
42
 
30
43
  def _run_flask_server(
31
44
  fastled_js: Path,
@@ -140,18 +153,11 @@ def _run_flask_server(
140
153
  logger.error(error_msg)
141
154
  return Response(error_msg, status=400)
142
155
 
143
- if not path.startswith(_DRAWF_SOURCE_FASTLED) and not path.startswith(
144
- _DRAWF_SOURCE_EMSDK
145
- ):
146
- # unexpected
147
- error_msg = f"Unexpected path: {path}"
148
- logger.error(error_msg)
149
- # Logging disabled
150
- return Response("Malformed path", status=400)
151
-
152
- # Weird magic being played with these paths, it's beyond me.
153
- if path.startswith(_DRAWF_SOURCE_FASTLED):
154
- path = path[len("/drawfsource") :]
156
+ resolved: str | None = _resolve_fastled_src(path)
157
+ if resolved is None:
158
+ # If the path does not match the expected patterns, return a 404
159
+ logger.error(f"Path does not match expected patterns: {path}")
160
+ return Response("Not Found", status=404)
155
161
 
156
162
  # Forward the request to the compile server
157
163
  target_url = f"http://localhost:{compile_server_port}/drawfsource/{path}"
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: fastled
3
- Version: 1.2.93
3
+ Version: 1.2.95
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.6
23
+ Requires-Dist: fastled-wasm-server>=1.0.17
24
24
  Dynamic: home-page
25
25
  Dynamic: license-file
26
26
  Dynamic: maintainer
@@ -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.6
11
+ fastled-wasm-server>=1.0.17
@@ -11,7 +11,12 @@ HERE = Path(__file__).parent
11
11
  TEST_INO_WASM = HERE / "test_ino" / "wasm"
12
12
 
13
13
  # New refactor has broken this test. Good news, we got the sketch to output debug symbols!!!!!!
14
- _ENABLED = False
14
+ _ENABLED = True
15
+
16
+ _DWARF_SRC_EXAMPLE = "http://localhost:{http_port}/drawfsource/js/src/drawfsource/git/fastled/src/FastLED.h"
17
+
18
+
19
+ # _DWARF_SRC_EXAMPLE_SKETCH = "http://localhost:{http_port}/drawfsource/js/src/src/wave.cpp"
15
20
 
16
21
 
17
22
  def _enabled() -> bool:
@@ -45,6 +50,9 @@ class FetchSourceFileTester(unittest.TestCase):
45
50
  )
46
51
  def test_backend_server_for_src_file_fetch(self) -> None:
47
52
  """Tests that embedded data is round tripped correctly."""
53
+ # Todo: make this only run on a local build. Otherwise there are sync issues
54
+ # with the docker version of this app and will generate false positives until
55
+ # the docker version is updated - Frustrating.
48
56
  with Api.server() as server:
49
57
  resp = server.fetch_source_file("FastLED.h")
50
58
  if isinstance(resp, Exception):
@@ -79,11 +87,12 @@ class FetchSourceFileTester(unittest.TestCase):
79
87
  raise Exception("Content-Length is 0")
80
88
 
81
89
  # now get something similar at static/js/fastled/src/platforms/wasm/js.cpp
82
- url = f"http://localhost:{http_port}/drawfsource/js/fastled/src/FastLED.h"
90
+ url = _DWARF_SRC_EXAMPLE.format(http_port=http_port)
83
91
  resp = httpx.get(
84
92
  url,
85
93
  timeout=100,
86
94
  )
95
+ self.assertTrue(resp.status_code == 200, resp.status_code)
87
96
 
88
97
  # Work in progress: get system include files.
89
98
  # 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