fastled 1.2.78__tar.gz → 1.2.79__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 (131) hide show
  1. {fastled-1.2.78 → fastled-1.2.79}/PKG-INFO +1 -1
  2. fastled-1.2.79/compiler/init_runtime.py +114 -0
  3. {fastled-1.2.78 → fastled-1.2.79}/src/fastled/__init__.py +1 -1
  4. {fastled-1.2.78 → fastled-1.2.79}/src/fastled/parse_args.py +3 -0
  5. {fastled-1.2.78 → fastled-1.2.79}/src/fastled.egg-info/PKG-INFO +1 -1
  6. {fastled-1.2.78 → fastled-1.2.79}/src/fastled.egg-info/SOURCES.txt +1 -0
  7. {fastled-1.2.78 → fastled-1.2.79}/.aiderignore +0 -0
  8. {fastled-1.2.78 → fastled-1.2.79}/.dockerignore +0 -0
  9. {fastled-1.2.78 → fastled-1.2.79}/.github/workflows/build_multi_docker_image.yml +0 -0
  10. {fastled-1.2.78 → fastled-1.2.79}/.github/workflows/build_webpage.yml +0 -0
  11. {fastled-1.2.78 → fastled-1.2.79}/.github/workflows/lint.yml +0 -0
  12. {fastled-1.2.78 → fastled-1.2.79}/.github/workflows/publish_release.yml +0 -0
  13. {fastled-1.2.78 → fastled-1.2.79}/.github/workflows/template_build_docker_image.yml +0 -0
  14. {fastled-1.2.78 → fastled-1.2.79}/.github/workflows/test_build_exe.yml +0 -0
  15. {fastled-1.2.78 → fastled-1.2.79}/.github/workflows/test_macos.yml +0 -0
  16. {fastled-1.2.78 → fastled-1.2.79}/.github/workflows/test_ubuntu.yml +0 -0
  17. {fastled-1.2.78 → fastled-1.2.79}/.github/workflows/test_win.yml +0 -0
  18. {fastled-1.2.78 → fastled-1.2.79}/.gitignore +0 -0
  19. {fastled-1.2.78 → fastled-1.2.79}/.pylintrc +0 -0
  20. {fastled-1.2.78 → fastled-1.2.79}/.vscode/launch.json +0 -0
  21. {fastled-1.2.78 → fastled-1.2.79}/.vscode/settings.json +0 -0
  22. {fastled-1.2.78 → fastled-1.2.79}/.vscode/tasks.json +0 -0
  23. {fastled-1.2.78 → fastled-1.2.79}/Dockerfile +0 -0
  24. {fastled-1.2.78 → fastled-1.2.79}/LICENSE +0 -0
  25. {fastled-1.2.78 → fastled-1.2.79}/MANIFEST.in +0 -0
  26. {fastled-1.2.78 → fastled-1.2.79}/README.md +0 -0
  27. {fastled-1.2.78 → fastled-1.2.79}/RELEASE.md +0 -0
  28. {fastled-1.2.78 → fastled-1.2.79}/TODO.md +0 -0
  29. {fastled-1.2.78 → fastled-1.2.79}/build_exe.py +0 -0
  30. {fastled-1.2.78 → fastled-1.2.79}/build_site.py +0 -0
  31. {fastled-1.2.78 → fastled-1.2.79}/clean +0 -0
  32. {fastled-1.2.78 → fastled-1.2.79}/compiler/CMakeLists.txt +0 -0
  33. {fastled-1.2.78 → fastled-1.2.79}/compiler/__init__.py +0 -0
  34. {fastled-1.2.78 → fastled-1.2.79}/compiler/arduino-pre-process.sh +0 -0
  35. {fastled-1.2.78 → fastled-1.2.79}/compiler/build.sh +0 -0
  36. {fastled-1.2.78 → fastled-1.2.79}/compiler/build_archive.sh +0 -0
  37. {fastled-1.2.78 → fastled-1.2.79}/compiler/build_fast.sh +0 -0
  38. {fastled-1.2.78 → fastled-1.2.79}/compiler/code_sync.py +0 -0
  39. {fastled-1.2.78 → fastled-1.2.79}/compiler/compile.py +0 -0
  40. {fastled-1.2.78 → fastled-1.2.79}/compiler/compile_lock.py +0 -0
  41. {fastled-1.2.78 → fastled-1.2.79}/compiler/entrypoint.sh +0 -0
  42. {fastled-1.2.78 → fastled-1.2.79}/compiler/extra/100dots.html +0 -0
  43. {fastled-1.2.78 → fastled-1.2.79}/compiler/extra/demo_threejs.html +0 -0
  44. {fastled-1.2.78 → fastled-1.2.79}/compiler/extra/micdemo.html +0 -0
  45. {fastled-1.2.78 → fastled-1.2.79}/compiler/extra/mp3upload.html +0 -0
  46. {fastled-1.2.78 → fastled-1.2.79}/compiler/extra/webgl_postprocessing_unreal_bloom.html +0 -0
  47. {fastled-1.2.78 → fastled-1.2.79}/compiler/final_prewarm.sh +0 -0
  48. /fastled-1.2.78/compiler/init_runtime.py → /fastled-1.2.79/compiler/init_runtime2.py +0 -0
  49. {fastled-1.2.78 → fastled-1.2.79}/compiler/install-arduino-cli.sh +0 -0
  50. {fastled-1.2.78 → fastled-1.2.79}/compiler/libcompile/CMakeLists.txt +0 -0
  51. {fastled-1.2.78 → fastled-1.2.79}/compiler/paths.py +0 -0
  52. {fastled-1.2.78 → fastled-1.2.79}/compiler/pre-process.sh +0 -0
  53. {fastled-1.2.78 → fastled-1.2.79}/compiler/prewarm.sh +0 -0
  54. {fastled-1.2.78 → fastled-1.2.79}/compiler/process-ino.py +0 -0
  55. {fastled-1.2.78 → fastled-1.2.79}/compiler/process_extended.py +0 -0
  56. {fastled-1.2.78 → fastled-1.2.79}/compiler/pyproject.toml +0 -0
  57. {fastled-1.2.78 → fastled-1.2.79}/compiler/run.py +0 -0
  58. {fastled-1.2.78 → fastled-1.2.79}/compiler/server.py +0 -0
  59. {fastled-1.2.78 → fastled-1.2.79}/compiler/sketch_hasher.py +0 -0
  60. {fastled-1.2.78 → fastled-1.2.79}/compiler/wasm_compiler_flags.py +0 -0
  61. {fastled-1.2.78 → fastled-1.2.79}/docker-compose.yml +0 -0
  62. {fastled-1.2.78 → fastled-1.2.79}/install +0 -0
  63. {fastled-1.2.78 → fastled-1.2.79}/install_linux.sh +0 -0
  64. {fastled-1.2.78 → fastled-1.2.79}/lint +0 -0
  65. {fastled-1.2.78 → fastled-1.2.79}/pyproject.toml +0 -0
  66. {fastled-1.2.78 → fastled-1.2.79}/requirements.testing.txt +0 -0
  67. {fastled-1.2.78 → fastled-1.2.79}/setup.cfg +0 -0
  68. {fastled-1.2.78 → fastled-1.2.79}/setup.py +0 -0
  69. {fastled-1.2.78 → fastled-1.2.79}/src/fastled/app.py +0 -0
  70. {fastled-1.2.78 → fastled-1.2.79}/src/fastled/assets/example.txt +0 -0
  71. {fastled-1.2.78 → fastled-1.2.79}/src/fastled/assets/localhost-key.pem +0 -0
  72. {fastled-1.2.78 → fastled-1.2.79}/src/fastled/assets/localhost.pem +0 -0
  73. {fastled-1.2.78 → fastled-1.2.79}/src/fastled/cli.py +0 -0
  74. {fastled-1.2.78 → fastled-1.2.79}/src/fastled/cli_test.py +0 -0
  75. {fastled-1.2.78 → fastled-1.2.79}/src/fastled/cli_test_interactive.py +0 -0
  76. {fastled-1.2.78 → fastled-1.2.79}/src/fastled/client_server.py +0 -0
  77. {fastled-1.2.78 → fastled-1.2.79}/src/fastled/compile_server.py +0 -0
  78. {fastled-1.2.78 → fastled-1.2.79}/src/fastled/compile_server_impl.py +0 -0
  79. {fastled-1.2.78 → fastled-1.2.79}/src/fastled/docker_manager.py +0 -0
  80. {fastled-1.2.78 → fastled-1.2.79}/src/fastled/filewatcher.py +0 -0
  81. {fastled-1.2.78 → fastled-1.2.79}/src/fastled/keyboard.py +0 -0
  82. {fastled-1.2.78 → fastled-1.2.79}/src/fastled/keyz.py +0 -0
  83. {fastled-1.2.78 → fastled-1.2.79}/src/fastled/live_client.py +0 -0
  84. {fastled-1.2.78 → fastled-1.2.79}/src/fastled/open_browser.py +0 -0
  85. {fastled-1.2.78 → fastled-1.2.79}/src/fastled/paths.py +0 -0
  86. {fastled-1.2.78 → fastled-1.2.79}/src/fastled/print_filter.py +0 -0
  87. {fastled-1.2.78 → fastled-1.2.79}/src/fastled/project_init.py +0 -0
  88. {fastled-1.2.78 → fastled-1.2.79}/src/fastled/select_sketch_directory.py +0 -0
  89. {fastled-1.2.78 → fastled-1.2.79}/src/fastled/server_fastapi.py +0 -0
  90. {fastled-1.2.78 → fastled-1.2.79}/src/fastled/server_fastapi_cli.py +0 -0
  91. {fastled-1.2.78 → fastled-1.2.79}/src/fastled/server_flask.py +0 -0
  92. {fastled-1.2.78 → fastled-1.2.79}/src/fastled/server_start.py +0 -0
  93. {fastled-1.2.78 → fastled-1.2.79}/src/fastled/settings.py +0 -0
  94. {fastled-1.2.78 → fastled-1.2.79}/src/fastled/site/build.py +0 -0
  95. {fastled-1.2.78 → fastled-1.2.79}/src/fastled/site/examples.py +0 -0
  96. {fastled-1.2.78 → fastled-1.2.79}/src/fastled/sketch.py +0 -0
  97. {fastled-1.2.78 → fastled-1.2.79}/src/fastled/spinner.py +0 -0
  98. {fastled-1.2.78 → fastled-1.2.79}/src/fastled/string_diff.py +0 -0
  99. {fastled-1.2.78 → fastled-1.2.79}/src/fastled/test/can_run_local_docker_tests.py +0 -0
  100. {fastled-1.2.78 → fastled-1.2.79}/src/fastled/test/examples.py +0 -0
  101. {fastled-1.2.78 → fastled-1.2.79}/src/fastled/types.py +0 -0
  102. {fastled-1.2.78 → fastled-1.2.79}/src/fastled/util.py +0 -0
  103. {fastled-1.2.78 → fastled-1.2.79}/src/fastled/web_compile.py +0 -0
  104. {fastled-1.2.78 → fastled-1.2.79}/src/fastled.egg-info/dependency_links.txt +0 -0
  105. {fastled-1.2.78 → fastled-1.2.79}/src/fastled.egg-info/entry_points.txt +0 -0
  106. {fastled-1.2.78 → fastled-1.2.79}/src/fastled.egg-info/requires.txt +0 -0
  107. {fastled-1.2.78 → fastled-1.2.79}/src/fastled.egg-info/top_level.txt +0 -0
  108. {fastled-1.2.78 → fastled-1.2.79}/test +0 -0
  109. {fastled-1.2.78 → fastled-1.2.79}/tests/integration/test_build_examples.py +0 -0
  110. {fastled-1.2.78 → fastled-1.2.79}/tests/integration/test_examples.py +0 -0
  111. {fastled-1.2.78 → fastled-1.2.79}/tests/unit/html/index.html +0 -0
  112. {fastled-1.2.78 → fastled-1.2.79}/tests/unit/test_api.py +0 -0
  113. {fastled-1.2.78 → fastled-1.2.79}/tests/unit/test_bad_ino.py +0 -0
  114. {fastled-1.2.78 → fastled-1.2.79}/tests/unit/test_cli.py +0 -0
  115. {fastled-1.2.78 → fastled-1.2.79}/tests/unit/test_compile_server.py +0 -0
  116. {fastled-1.2.78 → fastled-1.2.79}/tests/unit/test_docker_linux_on_windows.py +0 -0
  117. {fastled-1.2.78 → fastled-1.2.79}/tests/unit/test_embedded_data.py +0 -0
  118. {fastled-1.2.78 → fastled-1.2.79}/tests/unit/test_filechanger.py +0 -0
  119. {fastled-1.2.78 → fastled-1.2.79}/tests/unit/test_http_server.py +0 -0
  120. {fastled-1.2.78 → fastled-1.2.79}/tests/unit/test_ino/bad/bad.ino +0 -0
  121. {fastled-1.2.78 → fastled-1.2.79}/tests/unit/test_ino/bad_platformio/bad_platformio.ino +0 -0
  122. {fastled-1.2.78 → fastled-1.2.79}/tests/unit/test_ino/bad_platformio/platformio.ini +0 -0
  123. {fastled-1.2.78 → fastled-1.2.79}/tests/unit/test_ino/embedded/data/bigdata.dat +0 -0
  124. {fastled-1.2.78 → fastled-1.2.79}/tests/unit/test_ino/embedded/wasm.ino +0 -0
  125. {fastled-1.2.78 → fastled-1.2.79}/tests/unit/test_ino/wasm/wasm.ino +0 -0
  126. {fastled-1.2.78 → fastled-1.2.79}/tests/unit/test_print_filter.py +0 -0
  127. {fastled-1.2.78 → fastled-1.2.79}/tests/unit/test_project_init.py +0 -0
  128. {fastled-1.2.78 → fastled-1.2.79}/tests/unit/test_server_and_client_seperatly.py +0 -0
  129. {fastled-1.2.78 → fastled-1.2.79}/tests/unit/test_string_diff.py +0 -0
  130. {fastled-1.2.78 → fastled-1.2.79}/tests/unit/test_webcompile.py +0 -0
  131. {fastled-1.2.78 → fastled-1.2.79}/upload_package.sh +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: fastled
3
- Version: 1.2.78
3
+ Version: 1.2.79
4
4
  Summary: FastLED Wasm Compiler
5
5
  Home-page: https://github.com/zackees/fastled-wasm
6
6
  Maintainer: Zachary Vorhies
@@ -0,0 +1,114 @@
1
+ import glob
2
+ import os
3
+ import warnings
4
+ from concurrent.futures import ThreadPoolExecutor
5
+ from pathlib import Path
6
+
7
+ COMPILER_ROOT = Path("/js")
8
+ COMPILER_DIR = COMPILER_ROOT / "compiler"
9
+
10
+ SRC_MAPPED_HOST_COMPLER_DIR = Path("/host/fastled/src/platforms/wasm/compiler")
11
+ if SRC_MAPPED_HOST_COMPLER_DIR.exists():
12
+ FASTLED_COMPILER_DIR = SRC_MAPPED_HOST_COMPLER_DIR
13
+ else:
14
+ FASTLED_COMPILER_DIR = COMPILER_ROOT / "fastled/src/platforms/wasm/compiler"
15
+
16
+ HERE = Path(__file__).parent
17
+
18
+
19
+ def symlink_task(src: str | Path, dst: Path) -> None:
20
+ src = Path(src)
21
+ # Handle shell scripts
22
+ if src.suffix == ".sh":
23
+ os.system(f"dos2unix {src} && chmod +x {src}")
24
+
25
+ # if link exists, remove it
26
+ if dst.exists():
27
+ print(f"Removing existing link {dst}")
28
+ try:
29
+ os.remove(dst)
30
+ except Exception as e:
31
+ warnings.warn(f"Failed to remove {dst}: {e}")
32
+
33
+ if not dst.exists():
34
+ print(f"Linking {src} to {dst}")
35
+ try:
36
+ os.symlink(str(src), str(dst))
37
+ except FileExistsError:
38
+ print(f"Target {dst} already exists")
39
+ else:
40
+ print(f"Target {dst} already exists")
41
+
42
+
43
+ def _collect_docker_compile_files(globs: list[str]) -> list[tuple[Path, Path]]:
44
+ """
45
+ Collects files matching the given glob patterns from the Docker compile directory.
46
+ """
47
+ files = []
48
+ for pattern in globs:
49
+ for file_path in glob.glob(str(COMPILER_DIR / pattern)):
50
+ src = Path(file_path)
51
+ if "entrypoint.sh" in str(src):
52
+ continue
53
+ dst = COMPILER_ROOT / src.name
54
+ files.append((src, dst))
55
+ return files
56
+
57
+
58
+ def _collect_fastled_compile_files(globs: list[str]) -> list[tuple[Path, Path]]:
59
+ """
60
+ Collects files matching the given glob patterns from the FastLED compile directory.
61
+ """
62
+ files = []
63
+ for pattern in globs:
64
+ for file_path in glob.glob(str(FASTLED_COMPILER_DIR / pattern)):
65
+ src = Path(file_path)
66
+ if "entrypoint.sh" in str(src):
67
+ continue
68
+ dst = COMPILER_ROOT / src.name
69
+ files.append((src, dst))
70
+ return files
71
+
72
+
73
+ def make_links() -> None:
74
+ # Define file patterns to include
75
+ patterns = [
76
+ "*.h",
77
+ "*.hpp",
78
+ "*.cpp",
79
+ "*.py",
80
+ "*.sh",
81
+ "*.ino",
82
+ "*.ini",
83
+ "*.txt",
84
+ ]
85
+
86
+ # Get all matching files in compiler directory
87
+ tasks = _collect_docker_compile_files(globs=patterns)
88
+ tasks += _collect_fastled_compile_files(globs=patterns)
89
+
90
+ for pattern in patterns:
91
+ for file_path in glob.glob(str(FASTLED_COMPILER_DIR / pattern)):
92
+ src = Path(file_path)
93
+ if "entrypoint.sh" in str(src):
94
+ continue
95
+ dst = COMPILER_ROOT / src.name
96
+ tasks.append((src, dst))
97
+
98
+ # Process files in parallel using ThreadPoolExecutor
99
+ with ThreadPoolExecutor(max_workers=16) as executor:
100
+
101
+ def functor(args):
102
+ src, dst = args
103
+ symlink_task(src, dst)
104
+
105
+ executor.map(functor, tasks)
106
+
107
+
108
+ def init_runtime() -> None:
109
+ os.chdir(str(HERE))
110
+ make_links()
111
+
112
+
113
+ if __name__ == "__main__":
114
+ init_runtime()
@@ -14,7 +14,7 @@ from .types import BuildMode, CompileResult, CompileServerError
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.78"
17
+ __version__ = "1.2.79"
18
18
 
19
19
 
20
20
  class Api:
@@ -188,6 +188,9 @@ def parse_args() -> Args:
188
188
  if not args.build:
189
189
  print("Adding --build flag when using --interactive")
190
190
  args.build = True
191
+ user_wants_update = args.update
192
+ if user_wants_update is not True:
193
+ args.no_auto_updates = True
191
194
  return Args.from_namespace(args)
192
195
 
193
196
  if not args.update:
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: fastled
3
- Version: 1.2.78
3
+ Version: 1.2.79
4
4
  Summary: FastLED Wasm Compiler
5
5
  Home-page: https://github.com/zackees/fastled-wasm
6
6
  Maintainer: Zachary Vorhies
@@ -44,6 +44,7 @@ compiler/compile_lock.py
44
44
  compiler/entrypoint.sh
45
45
  compiler/final_prewarm.sh
46
46
  compiler/init_runtime.py
47
+ compiler/init_runtime2.py
47
48
  compiler/install-arduino-cli.sh
48
49
  compiler/paths.py
49
50
  compiler/pre-process.sh
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