fastled 1.3.22__tar.gz → 1.3.23__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 (118) hide show
  1. {fastled-1.3.22 → fastled-1.3.23}/PKG-INFO +1 -1
  2. fastled-1.3.23/requirements.docker.txt +1 -0
  3. {fastled-1.3.22 → fastled-1.3.23}/src/fastled/__version__.py +1 -1
  4. {fastled-1.3.22 → fastled-1.3.23}/src/fastled/string_diff.py +33 -0
  5. {fastled-1.3.22 → fastled-1.3.23}/src/fastled.egg-info/PKG-INFO +1 -1
  6. {fastled-1.3.22 → fastled-1.3.23}/tests/unit/test_string_diff.py +12 -1
  7. fastled-1.3.22/requirements.docker.txt +0 -1
  8. {fastled-1.3.22 → fastled-1.3.23}/.aiderignore +0 -0
  9. {fastled-1.3.22 → fastled-1.3.23}/.dockerignore +0 -0
  10. {fastled-1.3.22 → fastled-1.3.23}/.github/workflows/build_multi_docker_image.yml +0 -0
  11. {fastled-1.3.22 → fastled-1.3.23}/.github/workflows/build_webpage.yml +0 -0
  12. {fastled-1.3.22 → fastled-1.3.23}/.github/workflows/lint.yml +0 -0
  13. {fastled-1.3.22 → fastled-1.3.23}/.github/workflows/publish_release.yml +0 -0
  14. {fastled-1.3.22 → fastled-1.3.23}/.github/workflows/template_build_docker_image.yml +0 -0
  15. {fastled-1.3.22 → fastled-1.3.23}/.github/workflows/test_build_exe.yml +0 -0
  16. {fastled-1.3.22 → fastled-1.3.23}/.github/workflows/test_macos.yml +0 -0
  17. {fastled-1.3.22 → fastled-1.3.23}/.github/workflows/test_ubuntu.yml +0 -0
  18. {fastled-1.3.22 → fastled-1.3.23}/.github/workflows/test_win.yml +0 -0
  19. {fastled-1.3.22 → fastled-1.3.23}/.gitignore +0 -0
  20. {fastled-1.3.22 → fastled-1.3.23}/.pylintrc +0 -0
  21. {fastled-1.3.22 → fastled-1.3.23}/.vscode/launch.json +0 -0
  22. {fastled-1.3.22 → fastled-1.3.23}/.vscode/settings.json +0 -0
  23. {fastled-1.3.22 → fastled-1.3.23}/.vscode/tasks.json +0 -0
  24. {fastled-1.3.22 → fastled-1.3.23}/DEBUGGER.md +0 -0
  25. {fastled-1.3.22 → fastled-1.3.23}/Dockerfile +0 -0
  26. {fastled-1.3.22 → fastled-1.3.23}/FAQ.md +0 -0
  27. {fastled-1.3.22 → fastled-1.3.23}/LICENSE +0 -0
  28. {fastled-1.3.22 → fastled-1.3.23}/MANIFEST.in +0 -0
  29. {fastled-1.3.22 → fastled-1.3.23}/README.md +0 -0
  30. {fastled-1.3.22 → fastled-1.3.23}/RELEASE.md +0 -0
  31. {fastled-1.3.22 → fastled-1.3.23}/TODO.md +0 -0
  32. {fastled-1.3.22 → fastled-1.3.23}/build_exe.py +0 -0
  33. {fastled-1.3.22 → fastled-1.3.23}/build_local_docker.py +0 -0
  34. {fastled-1.3.22 → fastled-1.3.23}/build_site.py +0 -0
  35. {fastled-1.3.22 → fastled-1.3.23}/clean +0 -0
  36. {fastled-1.3.22 → fastled-1.3.23}/compiler/debug.sh +0 -0
  37. {fastled-1.3.22 → fastled-1.3.23}/compiler/run.py +0 -0
  38. {fastled-1.3.22 → fastled-1.3.23}/demo/100dots.html +0 -0
  39. {fastled-1.3.22 → fastled-1.3.23}/demo/demo_threejs.html +0 -0
  40. {fastled-1.3.22 → fastled-1.3.23}/demo/micdemo.html +0 -0
  41. {fastled-1.3.22 → fastled-1.3.23}/demo/mp3upload.html +0 -0
  42. {fastled-1.3.22 → fastled-1.3.23}/demo/webgl_postprocessing_unreal_bloom.html +0 -0
  43. {fastled-1.3.22 → fastled-1.3.23}/docker-compose.yml +0 -0
  44. {fastled-1.3.22 → fastled-1.3.23}/entrypoint.sh +0 -0
  45. {fastled-1.3.22 → fastled-1.3.23}/install +0 -0
  46. {fastled-1.3.22 → fastled-1.3.23}/install_linux.sh +0 -0
  47. {fastled-1.3.22 → fastled-1.3.23}/lint +0 -0
  48. {fastled-1.3.22 → fastled-1.3.23}/pyproject.toml +0 -0
  49. {fastled-1.3.22 → fastled-1.3.23}/requirements.testing.txt +0 -0
  50. {fastled-1.3.22 → fastled-1.3.23}/setup.cfg +0 -0
  51. {fastled-1.3.22 → fastled-1.3.23}/setup.py +0 -0
  52. {fastled-1.3.22 → fastled-1.3.23}/src/fastled/__init__.py +0 -0
  53. {fastled-1.3.22 → fastled-1.3.23}/src/fastled/app.py +0 -0
  54. {fastled-1.3.22 → fastled-1.3.23}/src/fastled/args.py +0 -0
  55. {fastled-1.3.22 → fastled-1.3.23}/src/fastled/assets/example.txt +0 -0
  56. {fastled-1.3.22 → fastled-1.3.23}/src/fastled/assets/localhost-key.pem +0 -0
  57. {fastled-1.3.22 → fastled-1.3.23}/src/fastled/assets/localhost.pem +0 -0
  58. {fastled-1.3.22 → fastled-1.3.23}/src/fastled/cli.py +0 -0
  59. {fastled-1.3.22 → fastled-1.3.23}/src/fastled/cli_test.py +0 -0
  60. {fastled-1.3.22 → fastled-1.3.23}/src/fastled/cli_test_interactive.py +0 -0
  61. {fastled-1.3.22 → fastled-1.3.23}/src/fastled/client_server.py +0 -0
  62. {fastled-1.3.22 → fastled-1.3.23}/src/fastled/compile_server.py +0 -0
  63. {fastled-1.3.22 → fastled-1.3.23}/src/fastled/compile_server_impl.py +0 -0
  64. {fastled-1.3.22 → fastled-1.3.23}/src/fastled/docker_manager.py +0 -0
  65. {fastled-1.3.22 → fastled-1.3.23}/src/fastled/filewatcher.py +0 -0
  66. {fastled-1.3.22 → fastled-1.3.23}/src/fastled/keyboard.py +0 -0
  67. {fastled-1.3.22 → fastled-1.3.23}/src/fastled/keyz.py +0 -0
  68. {fastled-1.3.22 → fastled-1.3.23}/src/fastled/live_client.py +0 -0
  69. {fastled-1.3.22 → fastled-1.3.23}/src/fastled/open_browser.py +0 -0
  70. {fastled-1.3.22 → fastled-1.3.23}/src/fastled/parse_args.py +0 -0
  71. {fastled-1.3.22 → fastled-1.3.23}/src/fastled/paths.py +0 -0
  72. {fastled-1.3.22 → fastled-1.3.23}/src/fastled/print_filter.py +0 -0
  73. {fastled-1.3.22 → fastled-1.3.23}/src/fastled/project_init.py +0 -0
  74. {fastled-1.3.22 → fastled-1.3.23}/src/fastled/select_sketch_directory.py +0 -0
  75. {fastled-1.3.22 → fastled-1.3.23}/src/fastled/server_flask.py +0 -0
  76. {fastled-1.3.22 → fastled-1.3.23}/src/fastled/server_start.py +0 -0
  77. {fastled-1.3.22 → fastled-1.3.23}/src/fastled/settings.py +0 -0
  78. {fastled-1.3.22 → fastled-1.3.23}/src/fastled/site/build.py +0 -0
  79. {fastled-1.3.22 → fastled-1.3.23}/src/fastled/site/examples.py +0 -0
  80. {fastled-1.3.22 → fastled-1.3.23}/src/fastled/sketch.py +0 -0
  81. {fastled-1.3.22 → fastled-1.3.23}/src/fastled/spinner.py +0 -0
  82. {fastled-1.3.22 → fastled-1.3.23}/src/fastled/test/can_run_local_docker_tests.py +0 -0
  83. {fastled-1.3.22 → fastled-1.3.23}/src/fastled/test/examples.py +0 -0
  84. {fastled-1.3.22 → fastled-1.3.23}/src/fastled/types.py +0 -0
  85. {fastled-1.3.22 → fastled-1.3.23}/src/fastled/util.py +0 -0
  86. {fastled-1.3.22 → fastled-1.3.23}/src/fastled/version.py +0 -0
  87. {fastled-1.3.22 → fastled-1.3.23}/src/fastled/web_compile.py +0 -0
  88. {fastled-1.3.22 → fastled-1.3.23}/src/fastled.egg-info/SOURCES.txt +0 -0
  89. {fastled-1.3.22 → fastled-1.3.23}/src/fastled.egg-info/dependency_links.txt +0 -0
  90. {fastled-1.3.22 → fastled-1.3.23}/src/fastled.egg-info/entry_points.txt +0 -0
  91. {fastled-1.3.22 → fastled-1.3.23}/src/fastled.egg-info/requires.txt +0 -0
  92. {fastled-1.3.22 → fastled-1.3.23}/src/fastled.egg-info/top_level.txt +0 -0
  93. {fastled-1.3.22 → fastled-1.3.23}/test +0 -0
  94. {fastled-1.3.22 → fastled-1.3.23}/tests/integration/test_build_examples.py +0 -0
  95. {fastled-1.3.22 → fastled-1.3.23}/tests/integration/test_examples.py +0 -0
  96. {fastled-1.3.22 → fastled-1.3.23}/tests/unit/html/index.html +0 -0
  97. {fastled-1.3.22 → fastled-1.3.23}/tests/unit/test_api.py +0 -0
  98. {fastled-1.3.22 → fastled-1.3.23}/tests/unit/test_bad_ino.py +0 -0
  99. {fastled-1.3.22 → fastled-1.3.23}/tests/unit/test_banner_string.py +0 -0
  100. {fastled-1.3.22 → fastled-1.3.23}/tests/unit/test_cli.py +0 -0
  101. {fastled-1.3.22 → fastled-1.3.23}/tests/unit/test_compile_server.py +0 -0
  102. {fastled-1.3.22 → fastled-1.3.23}/tests/unit/test_debug_fetch_source_files.py +0 -0
  103. {fastled-1.3.22 → fastled-1.3.23}/tests/unit/test_docker_linux_on_windows.py +0 -0
  104. {fastled-1.3.22 → fastled-1.3.23}/tests/unit/test_embedded_data.py +0 -0
  105. {fastled-1.3.22 → fastled-1.3.23}/tests/unit/test_filechanger.py +0 -0
  106. {fastled-1.3.22 → fastled-1.3.23}/tests/unit/test_http_server.py +0 -0
  107. {fastled-1.3.22 → fastled-1.3.23}/tests/unit/test_ino/bad/bad.ino +0 -0
  108. {fastled-1.3.22 → fastled-1.3.23}/tests/unit/test_ino/bad_platformio/bad_platformio.ino +0 -0
  109. {fastled-1.3.22 → fastled-1.3.23}/tests/unit/test_ino/bad_platformio/platformio.ini +0 -0
  110. {fastled-1.3.22 → fastled-1.3.23}/tests/unit/test_ino/embedded/data/bigdata.dat +0 -0
  111. {fastled-1.3.22 → fastled-1.3.23}/tests/unit/test_ino/embedded/wasm.ino +0 -0
  112. {fastled-1.3.22 → fastled-1.3.23}/tests/unit/test_ino/wasm/wasm.ino +0 -0
  113. {fastled-1.3.22 → fastled-1.3.23}/tests/unit/test_project_init.py +0 -0
  114. {fastled-1.3.22 → fastled-1.3.23}/tests/unit/test_server_and_client_seperatly.py +0 -0
  115. {fastled-1.3.22 → fastled-1.3.23}/tests/unit/test_version.py +0 -0
  116. {fastled-1.3.22 → fastled-1.3.23}/tests/unit/test_webcompile.py +0 -0
  117. {fastled-1.3.22 → fastled-1.3.23}/upload_package.sh +0 -0
  118. {fastled-1.3.22 → fastled-1.3.23}/vscode-plugin/readme +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: fastled
3
- Version: 1.3.22
3
+ Version: 1.3.23
4
4
  Summary: FastLED Wasm Compiler
5
5
  Home-page: https://github.com/zackees/fastled-wasm
6
6
  Maintainer: Zachary Vorhies
@@ -0,0 +1 @@
1
+ fastled-wasm-server>=1.0.76
@@ -1,6 +1,6 @@
1
1
  # IMPORTANT! There's a bug in github which will REJECT any version update
2
2
  # that has any other change in the repo. Please bump the version as the
3
3
  # ONLY change in a commit, or else the pypi update and the release will fail.
4
- __version__ = "1.3.22"
4
+ __version__ = "1.3.23"
5
5
 
6
6
  __version_url_latest__ = "https://raw.githubusercontent.com/zackees/fastled-wasm/refs/heads/main/src/fastled/__version__.py"
@@ -21,6 +21,28 @@ def _filter_out_obvious_bad_choices(
21
21
  return filtered_list
22
22
 
23
23
 
24
+ def is_in_order_match(input_str: str, other: str) -> bool:
25
+ """
26
+ Check if the input string is an in-order match for any string in the list.
27
+ An in-order match means that the characters of the input string appear
28
+ in the same order in the string from the list, ignoring spaces in the input.
29
+ """
30
+
31
+ # Remove spaces from input string for matching
32
+ input_chars = [c for c in input_str if c != " "]
33
+ other_chars = list(other)
34
+ input_index = 0
35
+ other_index = 0
36
+ while input_index < len(input_chars) and other_index < len(other_chars):
37
+ if input_chars[input_index] == other_chars[other_index]:
38
+ input_index += 1
39
+ other_index += 1
40
+ # If we reached the end of the input string, it means all characters were found in order
41
+ if input_index == len(input_chars):
42
+ return True
43
+ return False
44
+
45
+
24
46
  # Returns the min distance strings. If there is a tie, it returns
25
47
  # all the strings that have the same min distance.
26
48
  # Returns a tuple of index and string.
@@ -46,6 +68,7 @@ def string_diff(
46
68
  if len(input_string) >= 3:
47
69
  string_list = _filter_out_obvious_bad_choices(input_string, string_list)
48
70
 
71
+ # Second filter: exact substring filtering if applicable
49
72
  is_substring = False
50
73
  for s in string_list:
51
74
  if input_string in s:
@@ -55,6 +78,16 @@ def string_diff(
55
78
  if is_substring:
56
79
  string_list = [s for s in string_list if input_string in s]
57
80
 
81
+ # Third filter: in order exact match filtering if applicable.
82
+ is_in_order = False
83
+ for s in string_list:
84
+ if is_in_order_match(input_string, s):
85
+ is_in_order = True
86
+ break
87
+
88
+ if is_in_order:
89
+ string_list = [s for s in string_list if is_in_order_match(input_string, s)]
90
+
58
91
  distances: list[float] = []
59
92
  for s in string_list:
60
93
  dist = fuzz.token_sort_ratio(normalize(input_string), normalize(s))
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: fastled
3
- Version: 1.3.22
3
+ Version: 1.3.23
4
4
  Summary: FastLED Wasm Compiler
5
5
  Home-page: https://github.com/zackees/fastled-wasm
6
6
  Maintainer: Zachary Vorhies
@@ -1,6 +1,6 @@
1
1
  import unittest
2
2
 
3
- from fastled.string_diff import string_diff
3
+ from fastled.string_diff import is_in_order_match, string_diff
4
4
 
5
5
  _HAYSTACK: list[str] = [
6
6
  "examples\\AnalogOutput",
@@ -75,6 +75,17 @@ class StringDiffTester(unittest.TestCase):
75
75
  _, path = result[0]
76
76
  self.assertEqual("examples\\FxWave2d", path)
77
77
 
78
+ def test_is_in_order_match(self) -> None:
79
+ is_match = is_in_order_match("wave 2d", "wave2d")
80
+ self.assertTrue(is_match)
81
+
82
+ def test_wave_2d(self) -> None:
83
+ needle = "wave 2d"
84
+ result = string_diff(needle, _HAYSTACK)
85
+ self.assertGreater(len(result), 0)
86
+ _, path = result[0]
87
+ self.assertEqual("examples\\Wave2d", path)
88
+
78
89
 
79
90
  if __name__ == "__main__":
80
91
  unittest.main()
@@ -1 +0,0 @@
1
- fastled-wasm-server>=1.0.74
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