fastled 1.3.21__py3-none-any.whl → 1.3.23__py3-none-any.whl
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.
- fastled/__version__.py +1 -1
- fastled/client_server.py +1 -1
- fastled/string_diff.py +33 -0
- {fastled-1.3.21.dist-info → fastled-1.3.23.dist-info}/METADATA +34 -8
- {fastled-1.3.21.dist-info → fastled-1.3.23.dist-info}/RECORD +9 -9
- {fastled-1.3.21.dist-info → fastled-1.3.23.dist-info}/WHEEL +1 -1
- {fastled-1.3.21.dist-info → fastled-1.3.23.dist-info}/entry_points.txt +0 -0
- {fastled-1.3.21.dist-info → fastled-1.3.23.dist-info}/licenses/LICENSE +0 -0
- {fastled-1.3.21.dist-info → fastled-1.3.23.dist-info}/top_level.txt +0 -0
fastled/__version__.py
CHANGED
@@ -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.
|
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"
|
fastled/client_server.py
CHANGED
@@ -372,7 +372,7 @@ def run_client(
|
|
372
372
|
if has_update:
|
373
373
|
print(f"\n🔄 {message}")
|
374
374
|
print(
|
375
|
-
"Run with
|
375
|
+
"Run with `fastled -u` to update the docker image to the latest version."
|
376
376
|
)
|
377
377
|
except Exception as e:
|
378
378
|
# Don't let Docker check failures interrupt the main flow
|
fastled/string_diff.py
CHANGED
@@ -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.
|
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
|
@@ -57,12 +57,44 @@ If you have docker installed, the compiler will download the docker image and ru
|
|
57
57
|
|
58
58
|
In every conceivable way, the local compiler will be much faster than the web version.
|
59
59
|
|
60
|
+
# Run
|
61
|
+
|
62
|
+
Once `fastled` is installed you'll just navigate to your sketch directory and run it.
|
63
|
+
|
64
|
+
Example:
|
65
|
+
|
66
|
+
```bash
|
67
|
+
$ cd mysketchdirectory
|
68
|
+
$ fastled
|
69
|
+
```
|
70
|
+
|
60
71
|
|
61
72
|
# Install
|
62
73
|
|
74
|
+
This is a python app, so any python package manager will work. We also provide python compiled binaries for Windows, MacOS, and Linux.
|
75
|
+
|
76
|
+
### Pip
|
77
|
+
|
63
78
|
`pip install fastled`
|
64
79
|
|
65
|
-
###
|
80
|
+
### UV
|
81
|
+
|
82
|
+
`uv pip install fastled --system`
|
83
|
+
|
84
|
+
### Pipx
|
85
|
+
|
86
|
+
`pipx install fastled`
|
87
|
+
|
88
|
+
### Executables
|
89
|
+
|
90
|
+
* Windows: https://github.com/zackees/fastled-wasm/releases/latest/download/fastled-windows-x64.zip
|
91
|
+
* MacOS (M1+): https://github.com/zackees/fastled-wasm/releases/latest/download/fastled-macos-arm64.zip
|
92
|
+
* MacOS (x86): https://github.com/zackees/fastled-wasm/releases/latest/download/fastled-macos-x64.zip
|
93
|
+
* Linux (x86): https://github.com/zackees/fastled-wasm/releases/latest/download/fastled-linux-x64.zip
|
94
|
+
|
95
|
+
|
96
|
+
|
97
|
+
### Ubuntu Install Script
|
66
98
|
|
67
99
|
You can get the latest ubuntu binary of the FastLED cli compiler like this:
|
68
100
|
|
@@ -70,12 +102,6 @@ You can get the latest ubuntu binary of the FastLED cli compiler like this:
|
|
70
102
|
curl -L https://raw.githubusercontent.com/zackees/fastled-wasm/refs/heads/main/install_linux.sh | /bin/bash
|
71
103
|
```
|
72
104
|
|
73
|
-
# Run
|
74
|
-
|
75
|
-
```bash
|
76
|
-
cd mysketchdirectory
|
77
|
-
fastled
|
78
|
-
```
|
79
105
|
|
80
106
|
# Tutorial video
|
81
107
|
|
@@ -1,11 +1,11 @@
|
|
1
1
|
fastled/__init__.py,sha256=YLikXGRWKlKAqj7bpvGmJLejGTFF-FC1lv2z1jwRinA,6852
|
2
|
-
fastled/__version__.py,sha256=
|
2
|
+
fastled/__version__.py,sha256=ALXVodnrtYYSoZq08TBimAepF68IgpMBVX9rfD4uo9Q,373
|
3
3
|
fastled/app.py,sha256=zfSipnCZ6w9_aXCynGrqf7OE--mKzbhT0mEfCNW5XjA,5736
|
4
4
|
fastled/args.py,sha256=d9CaarQ1yw7w0REwgrNQ78zOUQSk94fTXwXHtFZPTSY,3281
|
5
5
|
fastled/cli.py,sha256=drgR2AOxVrj3QEz58iiKscYAumbbin2vIV-k91VCOAA,561
|
6
6
|
fastled/cli_test.py,sha256=qJB9yLRFR3OwOwdIWSQ0fQsWLnA37v5pDccufiP_hTs,512
|
7
7
|
fastled/cli_test_interactive.py,sha256=BjNhveZOk5aCffHbcrxPQQjWmAuj4ClVKKcKX5eY6yM,542
|
8
|
-
fastled/client_server.py,sha256=
|
8
|
+
fastled/client_server.py,sha256=1pHJsAchO4imTH-TxcMPDIDTJ5j5Ev6nk_vtOL1JPJs,18600
|
9
9
|
fastled/compile_server.py,sha256=rkXvrvdav5vDG8lv_OlBX3YSCHtnHMt25nXbfeg_r78,2960
|
10
10
|
fastled/compile_server_impl.py,sha256=S9jaAMgaprrjW9oF0J4_H-QJc6OeNRmoFCt07RsXTkI,11644
|
11
11
|
fastled/docker_manager.py,sha256=RzXeTyGTtzeAclUkk_RPk_eksUSjOOgPND3Mehu5zRs,40232
|
@@ -24,7 +24,7 @@ fastled/server_start.py,sha256=W9yKStkRlRNuXeV6j_6O7HjjFPyVLBHMcF9Uy2QjDWQ,479
|
|
24
24
|
fastled/settings.py,sha256=dUVyJ8Mtprg0RwaS6oMWP8jBhr4C3R8fu4Hdx_Z1lCM,577
|
25
25
|
fastled/sketch.py,sha256=Ftbh55Nt-p4hmPuPpj8Q9HrMzvnUazhoG_q9FHcxkns,3473
|
26
26
|
fastled/spinner.py,sha256=VHxmvB92P0Z_zYxRajb5HiNmkHHvZ5dG7hKtZltzpcs,867
|
27
|
-
fastled/string_diff.py,sha256=
|
27
|
+
fastled/string_diff.py,sha256=dlhJCFHSiqW9GMByS2DFnguZ28387VNcFwR6zGVlKeU,3729
|
28
28
|
fastled/types.py,sha256=ZDf1TbTT4XgA_pKIwr4JbkDB38_29ogSdDORjoT-zuY,1803
|
29
29
|
fastled/util.py,sha256=TjhXbUNh4p2BGhNAldSeL68B7BBOjsWAXji5gy-vDEQ,1440
|
30
30
|
fastled/version.py,sha256=TpBMiEVdO3_sUZEu6wmwN8Q4AgX2BiCxStCsnPKh6E0,1209
|
@@ -36,9 +36,9 @@ fastled/site/build.py,sha256=2YKU_UWKlJdGnjdbAbaL0co6kceFMSTVYwH1KCmgPZA,13987
|
|
36
36
|
fastled/site/examples.py,sha256=s6vj2zJc6BfKlnbwXr1QWY1mzuDBMt6j5MEBOWjO_U8,155
|
37
37
|
fastled/test/can_run_local_docker_tests.py,sha256=LEuUbHctRhNNFWcvnz2kEGmjDJeXO4c3kNpizm3yVJs,400
|
38
38
|
fastled/test/examples.py,sha256=GfaHeY1E8izBl6ZqDVjz--RHLyVR4NRnQ5pBesCFJFY,1673
|
39
|
-
fastled-1.3.
|
40
|
-
fastled-1.3.
|
41
|
-
fastled-1.3.
|
42
|
-
fastled-1.3.
|
43
|
-
fastled-1.3.
|
44
|
-
fastled-1.3.
|
39
|
+
fastled-1.3.23.dist-info/licenses/LICENSE,sha256=b6pOoifSXiUaz_lDS84vWlG3fr4yUKwB8fzkrH9R8bQ,1064
|
40
|
+
fastled-1.3.23.dist-info/METADATA,sha256=S6ZuKwT1TyHB6cLXBhGpduA1YrPxdG5M3UYW5E15UqQ,30811
|
41
|
+
fastled-1.3.23.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
|
42
|
+
fastled-1.3.23.dist-info/entry_points.txt,sha256=RCwmzCSOS4-C2i9EziANq7Z2Zb4KFnEMR1FQC0bBwAw,101
|
43
|
+
fastled-1.3.23.dist-info/top_level.txt,sha256=Bbv5kpJpZhWNCvDF4K0VcvtBSDMa8B7PTOrZa9CezHY,8
|
44
|
+
fastled-1.3.23.dist-info/RECORD,,
|
File without changes
|
File without changes
|
File without changes
|