fastled 1.0.8__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 (90) hide show
  1. fastled-1.0.8/.aiderignore +7 -0
  2. fastled-1.0.8/.github/workflows/build_multi_docker_image.yml +102 -0
  3. fastled-1.0.8/.github/workflows/lint.yml +23 -0
  4. fastled-1.0.8/.github/workflows/test_macos.yml +29 -0
  5. fastled-1.0.8/.github/workflows/test_ubuntu.yml +29 -0
  6. fastled-1.0.8/.github/workflows/test_win.yml +30 -0
  7. fastled-1.0.8/.gitignore +150 -0
  8. fastled-1.0.8/.pylintrc +2 -0
  9. fastled-1.0.8/.vscode/launch.json +44 -0
  10. fastled-1.0.8/.vscode/settings.json +29 -0
  11. fastled-1.0.8/.vscode/tasks.json +41 -0
  12. fastled-1.0.8/LICENSE +21 -0
  13. fastled-1.0.8/MANIFEST.in +3 -0
  14. fastled-1.0.8/PKG-INFO +121 -0
  15. fastled-1.0.8/README.md +102 -0
  16. fastled-1.0.8/clean +21 -0
  17. fastled-1.0.8/docs/fastled.js +19 -0
  18. fastled-1.0.8/docs/fastled.wasm +0 -0
  19. fastled-1.0.8/docs/index.css +158 -0
  20. fastled-1.0.8/docs/index.html +113 -0
  21. fastled-1.0.8/docs/index.js +1269 -0
  22. fastled-1.0.8/examples/Blink/Blink.ino +73 -0
  23. fastled-1.0.8/examples/Chromancer/Chromancer.ino +555 -0
  24. fastled-1.0.8/examples/Chromancer/detail.h +80 -0
  25. fastled-1.0.8/examples/Chromancer/gary_woos_wled_port/gary_woos_wled_ledmap.h +47 -0
  26. fastled-1.0.8/examples/Chromancer/gary_woos_wled_port/presets.json +6681 -0
  27. fastled-1.0.8/examples/Chromancer/gary_woos_wled_port/presets.min.json +1 -0
  28. fastled-1.0.8/examples/Chromancer/gen.py +270 -0
  29. fastled-1.0.8/examples/Chromancer/mapping.h +158 -0
  30. fastled-1.0.8/examples/Chromancer/net.h +168 -0
  31. fastled-1.0.8/examples/Chromancer/output.json +1 -0
  32. fastled-1.0.8/examples/Chromancer/ripple.h +424 -0
  33. fastled-1.0.8/examples/Chromancer/screenmap.json.h +4 -0
  34. fastled-1.0.8/examples/ColorPalette/ColorPalette.ino +192 -0
  35. fastled-1.0.8/examples/ColorTemperature/ColorTemperature.ino +89 -0
  36. fastled-1.0.8/examples/Cylon/Cylon.ino +31 -0
  37. fastled-1.0.8/examples/DemoReel100/DemoReel100.ino +45 -0
  38. fastled-1.0.8/examples/Esp32Rmt51/Esp32Rmt51.ino +50 -0
  39. fastled-1.0.8/examples/EspI2SDemo/EspI2SDemo.ino +49 -0
  40. fastled-1.0.8/examples/Fire2012/Fire2012.ino +71 -0
  41. fastled-1.0.8/examples/Fire2012WithPalette/Fire2012WithPalette.ino +168 -0
  42. fastled-1.0.8/examples/FirstLight/FirstLight.ino +96 -0
  43. fastled-1.0.8/examples/FxEngine/FxEngine.ino +63 -0
  44. fastled-1.0.8/examples/Noise/Noise.ino +124 -0
  45. fastled-1.0.8/examples/NoisePlayground/NoisePlayground.ino +90 -0
  46. fastled-1.0.8/examples/NoisePlusPalette/NoisePlusPalette.ino +101 -0
  47. fastled-1.0.8/examples/OctoWS2811/OctoWS2811.ino +48 -0
  48. fastled-1.0.8/examples/Pacifica/Pacifica.ino +38 -0
  49. fastled-1.0.8/examples/Pride2015/Pride2015.ino +28 -0
  50. fastled-1.0.8/examples/SdCard/SdCard.ino +92 -0
  51. fastled-1.0.8/examples/TwinkleFox/TwinkleFox.ino +30 -0
  52. fastled-1.0.8/examples/Video/Gfx2Video/Gfx2Video.ino +90 -0
  53. fastled-1.0.8/examples/WasmScreenCoords/WasmScreenCoords.ino +66 -0
  54. fastled-1.0.8/examples/Water/Water.ino +147 -0
  55. fastled-1.0.8/examples/XYMatrix/XYMatrix.ino +214 -0
  56. fastled-1.0.8/examples/wasm/wasm.ino +131 -0
  57. fastled-1.0.8/install +37 -0
  58. fastled-1.0.8/lint +15 -0
  59. fastled-1.0.8/pyproject.toml +58 -0
  60. fastled-1.0.8/requirements.testing.txt +6 -0
  61. fastled-1.0.8/setup.cfg +4 -0
  62. fastled-1.0.8/setup.py +24 -0
  63. fastled-1.0.8/src/fastled/__init__.py +3 -0
  64. fastled-1.0.8/src/fastled/app.py +376 -0
  65. fastled-1.0.8/src/fastled/assets/example.txt +1 -0
  66. fastled-1.0.8/src/fastled/build_mode.py +25 -0
  67. fastled-1.0.8/src/fastled/check_cpp_syntax.py +34 -0
  68. fastled-1.0.8/src/fastled/cli.py +16 -0
  69. fastled-1.0.8/src/fastled/compile_server.py +251 -0
  70. fastled-1.0.8/src/fastled/docker_manager.py +259 -0
  71. fastled-1.0.8/src/fastled/filewatcher.py +146 -0
  72. fastled-1.0.8/src/fastled/open_browser.py +48 -0
  73. fastled-1.0.8/src/fastled/paths.py +4 -0
  74. fastled-1.0.8/src/fastled/sketch.py +55 -0
  75. fastled-1.0.8/src/fastled/web_compile.py +227 -0
  76. fastled-1.0.8/src/fastled.egg-info/PKG-INFO +121 -0
  77. fastled-1.0.8/src/fastled.egg-info/SOURCES.txt +88 -0
  78. fastled-1.0.8/src/fastled.egg-info/dependency_links.txt +1 -0
  79. fastled-1.0.8/src/fastled.egg-info/entry_points.txt +4 -0
  80. fastled-1.0.8/src/fastled.egg-info/requires.txt +6 -0
  81. fastled-1.0.8/src/fastled.egg-info/top_level.txt +2 -0
  82. fastled-1.0.8/test +9 -0
  83. fastled-1.0.8/tests/test_bad_ino.py +37 -0
  84. fastled-1.0.8/tests/test_cli.py +27 -0
  85. fastled-1.0.8/tests/test_compile_server.py +43 -0
  86. fastled-1.0.8/tests/test_filechanger.py +51 -0
  87. fastled-1.0.8/tests/test_ino/bad/bad.ino +140 -0
  88. fastled-1.0.8/tests/test_ino/wasm/wasm.ino +134 -0
  89. fastled-1.0.8/tests/test_webcompile.py +43 -0
  90. fastled-1.0.8/upload_package.sh +10 -0
@@ -0,0 +1,7 @@
1
+ # Add files or directories to ignore here
2
+
3
+ run
4
+ lint
5
+ test
6
+ install
7
+ clean
@@ -0,0 +1,102 @@
1
+ name: Build and Push Multi Docker Image
2
+
3
+ on:
4
+ push:
5
+ branches:
6
+ - main # Adjust this to your default branch
7
+ schedule:
8
+ - cron: '0 12 * * *' # Executes every day at 4:00 AM Pacific Time
9
+
10
+ env:
11
+ REGISTRY_IMAGE: niteris/fastled-wasm # Replace with your Docker Hub username and repository
12
+
13
+ jobs:
14
+ build:
15
+ runs-on: ubuntu-latest
16
+ strategy:
17
+ fail-fast: false
18
+ matrix:
19
+ platform:
20
+ - linux/amd64
21
+ - linux/arm64
22
+ steps:
23
+ - name: Prepare
24
+ run: |
25
+ platform=${{ matrix.platform }}
26
+ echo "PLATFORM_PAIR=${platform//\//-}" >> $GITHUB_ENV
27
+ - name: Docker meta
28
+ id: meta
29
+ uses: docker/metadata-action@v5
30
+ with:
31
+ images: ${{ env.REGISTRY_IMAGE }}
32
+ - name: Set up QEMU
33
+ uses: docker/setup-qemu-action@v3
34
+ - name: Set up Docker Buildx
35
+ uses: docker/setup-buildx-action@v3
36
+ - name: Login to Docker Hub
37
+ uses: docker/login-action@v3
38
+ with:
39
+ username: ${{ secrets.DOCKER_USERNAME }}
40
+ password: ${{ secrets.DOCKER_PASSWORD }}
41
+ - name: Build and push by digest
42
+ id: build
43
+ uses: docker/build-push-action@v6
44
+ with:
45
+ platforms: ${{ matrix.platform }}
46
+ context: https://github.com/fastled/fastled.git
47
+ file: src/platforms/wasm/compiler/Dockerfile
48
+ labels: ${{ steps.meta.outputs.labels }}
49
+ outputs: type=image,name=${{ env.REGISTRY_IMAGE }},push-by-digest=true,name-canonical=true,push=true
50
+ build-args: |
51
+ PLATFORM_TAG=${{ matrix.platform == 'linux/arm64' && '-arm64' || '' }}
52
+ cache-from: type=gha
53
+ cache-to: type=gha,mode=max,compression=zstd
54
+ - name: Export digest
55
+ run: |
56
+ mkdir -p /tmp/digests
57
+ digest="${{ steps.build.outputs.digest }}"
58
+ touch "/tmp/digests/${digest#sha256:}"
59
+ - name: Upload digest
60
+ uses: actions/upload-artifact@v4
61
+ with:
62
+ name: digests-${{ env.PLATFORM_PAIR }}
63
+ path: /tmp/digests/*
64
+ if-no-files-found: error
65
+ retention-days: 1
66
+
67
+ merge:
68
+ runs-on: ubuntu-latest
69
+ needs:
70
+ - build
71
+ steps:
72
+ - name: Download digests
73
+ uses: actions/download-artifact@v4
74
+ with:
75
+ path: /tmp/digests
76
+ pattern: digests-*
77
+ merge-multiple: true
78
+
79
+ - name: Set up Docker Buildx
80
+ uses: docker/setup-buildx-action@v3
81
+
82
+ - name: Docker meta
83
+ id: meta
84
+ uses: docker/metadata-action@v5
85
+ with:
86
+ images: ${{ env.REGISTRY_IMAGE }}
87
+
88
+ - name: Login to Docker Hub
89
+ uses: docker/login-action@v3
90
+ with:
91
+ username: ${{ secrets.DOCKER_USERNAME }}
92
+ password: ${{ secrets.DOCKER_PASSWORD }}
93
+
94
+ - name: Create manifest list and push
95
+ working-directory: /tmp/digests
96
+ run: |
97
+ docker buildx imagetools create $(jq -cr '.tags | map("-t " + .) | join(" ")' <<< "$DOCKER_METADATA_OUTPUT_JSON") \
98
+ $(printf '${{ env.REGISTRY_IMAGE }}@sha256:%s ' *)
99
+
100
+ - name: Inspect image
101
+ run: |
102
+ docker buildx imagetools inspect ${{ env.REGISTRY_IMAGE }}:${{ steps.meta.outputs.version }}
@@ -0,0 +1,23 @@
1
+ name: Linting
2
+
3
+ on: [push]
4
+
5
+ jobs:
6
+ test:
7
+ runs-on: ${{ matrix.os }}
8
+ strategy:
9
+ matrix:
10
+ python-version: [3.10.4]
11
+ os: [ubuntu-latest]
12
+ steps:
13
+ - uses: actions/checkout@v4
14
+ - name: Set up Python ${{ matrix.python-version }}
15
+ uses: actions/setup-python@v4
16
+ with:
17
+ python-version: ${{ matrix.python-version }}
18
+ - name: Install dependencies
19
+ run: |
20
+ ./install
21
+ - name: Run Linting
22
+ run: |
23
+ ./lint
@@ -0,0 +1,29 @@
1
+ name: MacOS_Tests
2
+
3
+ on: [push]
4
+
5
+ jobs:
6
+ test:
7
+ runs-on: macos-latest
8
+ strategy:
9
+ matrix:
10
+ python-version: [3.11]
11
+
12
+ steps:
13
+ - uses: actions/checkout@v4
14
+
15
+ - uses: actions/setup-python@v5
16
+ with:
17
+ python-version: ${{ matrix.python-version }}
18
+
19
+ - name: Install UV
20
+ run: pip install uv
21
+
22
+ - name: Install
23
+ run: ./install
24
+
25
+ - name: Unit tests
26
+ run: ./test
27
+
28
+ - name: live run
29
+ run: pip install . && cd tests/test_ino/wasm && sudo rm -rf fastled_js && time fastled-wasm --just-compile && find fastled_js | sort
@@ -0,0 +1,29 @@
1
+ name: Ubuntu_Tests
2
+
3
+ on: [push]
4
+
5
+ jobs:
6
+ test:
7
+ runs-on: ubuntu-latest
8
+ strategy:
9
+ matrix:
10
+ python-version: [3.11]
11
+
12
+ steps:
13
+ - uses: actions/checkout@v4
14
+
15
+ - uses: actions/setup-python@v5
16
+ with:
17
+ python-version: ${{ matrix.python-version }}
18
+
19
+ - name: Install UV
20
+ run: pip install uv
21
+
22
+ - name: Install
23
+ run: ./install
24
+
25
+ - name: Unit tests
26
+ run: ./test
27
+
28
+ - name: live run
29
+ run: pip install . && cd tests/test_ino/wasm && sudo rm -rf fastled_js && time fastled-wasm --just-compile && find fastled_js | sort
@@ -0,0 +1,30 @@
1
+ name: Win_Tests
2
+
3
+ on: [push]
4
+
5
+ jobs:
6
+ test:
7
+ runs-on: windows-latest
8
+ strategy:
9
+ matrix:
10
+ python-version: [3.11]
11
+
12
+ steps:
13
+ - uses: actions/checkout@v4
14
+
15
+ - uses: actions/setup-python@v5
16
+ with:
17
+ python-version: ${{ matrix.python-version }}
18
+
19
+ - name: Install UV
20
+ run: pip install uv
21
+
22
+ - name: Install
23
+ run: ./install
24
+
25
+ - name: Unit tests
26
+ run: ./test
27
+
28
+ - name: live run
29
+ run: pip install . && cd tests/test_ino/wasm && rm -rf fastled_js && time fastled-wasm --just-compile && find fastled_js | sort
30
+ shell: bash -l {0}
@@ -0,0 +1,150 @@
1
+ # Byte-compiled / optimized / DLL files
2
+ __pycache__/
3
+ *.py[cod]
4
+ *$py.class
5
+ *.pyc
6
+
7
+ # Generated commands
8
+ /zcmds/bin/
9
+
10
+ # C extensions
11
+ *.so
12
+
13
+ # Distribution / packaging
14
+ .Python
15
+ prod_env/
16
+ data/
17
+ build/
18
+ develop-eggs/
19
+ dist/
20
+ downloads/
21
+ eggs/
22
+ .eggs/
23
+ lib/
24
+ lib64/
25
+ parts/
26
+ sdist/
27
+ var/
28
+ wheels/
29
+ pip-wheel-metadata/
30
+ share/python-wheels/
31
+ *.egg-info/
32
+ .installed.cfg
33
+ *.egg
34
+ MANIFEST
35
+
36
+ # PyInstaller
37
+ # Usually these files are written by a python script from a template
38
+ # before PyInstaller builds the exe, so as to inject date/other infos into it.
39
+ *.manifest
40
+ *.spec
41
+
42
+ # Installer logs
43
+ pip-log.txt
44
+ pip-delete-this-directory.txt
45
+
46
+ # Unit test / coverage reports
47
+ htmlcov/
48
+ .tox/
49
+ .nox/
50
+ .coverage
51
+ .coverage.*
52
+ .cache
53
+ nosetests.xml
54
+ coverage.xml
55
+ *.cover
56
+ *.py,cover
57
+ .hypothesis/
58
+ .pytest_cache/
59
+
60
+ # Translations
61
+ *.mo
62
+ *.pot
63
+
64
+ # Django stuff:
65
+ *.log
66
+ local_settings.py
67
+ db.sqlite3
68
+ db.sqlite3-journal
69
+
70
+ # Flask stuff:
71
+ instance/
72
+ .webassets-cache
73
+
74
+ # Scrapy stuff:
75
+ .scrapy
76
+
77
+ # Sphinx documentation
78
+ docs/_build/
79
+
80
+ # PyBuilder
81
+ target/
82
+
83
+ # Jupyter Notebook
84
+ .ipynb_checkpoints
85
+
86
+ # IPython
87
+ profile_default/
88
+ ipython_config.py
89
+
90
+ # pyenv
91
+ .python-version
92
+
93
+ # pipenv
94
+ # According to pypa/pipenv#598, it is recommended to include Pipfile.lock in version control.
95
+ # However, in case of collaboration, if having platform-specific dependencies or dependencies
96
+ # having no cross-platform support, pipenv may install dependencies that don't work, or not
97
+ # install all needed dependencies.
98
+ #Pipfile.lock
99
+
100
+ # PEP 582; used by e.g. github.com/David-OConnor/pyflow
101
+ __pypackages__/
102
+
103
+ # Celery stuff
104
+ celerybeat-schedule
105
+ celerybeat.pid
106
+
107
+ # SageMath parsed files
108
+ *.sage.py
109
+
110
+ # Environments
111
+ .env
112
+ .venv
113
+ env/
114
+ venv/
115
+ ENV/
116
+ env.bak/
117
+ venv.bak/
118
+
119
+ # Spyder project settings
120
+ .spyderproject
121
+ .spyproject
122
+
123
+ # Rope project settings
124
+ .ropeproject
125
+
126
+ # mkdocs documentation
127
+ /site
128
+
129
+ # mypy
130
+ .mypy_cache/
131
+ .dmypy.json
132
+ dmypy.json
133
+
134
+ # Pyre type checker
135
+ .pyre/
136
+ .activate.sh
137
+ activate
138
+
139
+ # Generated by mac
140
+ **/.DS_Store
141
+ uv.lock
142
+ fastled_js
143
+ .aider*
144
+ !.aider.conf.yml
145
+ !.aiderignorerun.py
146
+ run.sh
147
+ !.aiderignore
148
+ tmp/
149
+ cache/
150
+ dist/
@@ -0,0 +1,2 @@
1
+ [MESSAGES CONTROL]
2
+ disable=missing-module-docstring,missing-class-docstring,missing-function-docstring,line-too-long,raise-missing-from,too-few-public-methods,too-many-return-statements,fixme,too-many-locals,too-many-branches,too-many-statements,too-many-arguments,too-many-instance-attributes,too-many-ancestors,too-many-lines,too-many-public-methods,too-many-boolean-expressions,too-many-locals,too-many-branches,too-many-statements,too-many-arguments,too-many-instance-attributes,too-many-ancestors,too-many-lines,too-many-public-methods,too-many-boolean-expressions,R0801
@@ -0,0 +1,44 @@
1
+ {
2
+ // Use IntelliSense to learn about possible attributes.
3
+ // Hover to view descriptions of existing attributes.
4
+ // For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387
5
+ "version": "0.2.0",
6
+ "configurations": [
7
+ {
8
+ "name": "Python: Current File (Integrated Terminal)",
9
+ "type": "python",
10
+ "request": "launch",
11
+ "subProcess": true,
12
+ "program": "${file}",
13
+ "console": "integratedTerminal",
14
+ "justMyCode": false
15
+ },
16
+ {
17
+ "name": "Python: Remote Attach",
18
+ "type": "python",
19
+ "request": "attach",
20
+ "port": 5678,
21
+ "host": "localhost",
22
+ "pathMappings": [
23
+ {
24
+ "localRoot": "${workspaceFolder}",
25
+ "remoteRoot": "."
26
+ }
27
+ ]
28
+ },
29
+ {
30
+ "name": "Python: Module",
31
+ "type": "python",
32
+ "request": "launch",
33
+ "module": "enter-your-module-name-here",
34
+ "console": "integratedTerminal"
35
+ },
36
+ {
37
+ "name": "Python: Current File (External Terminal)",
38
+ "type": "python",
39
+ "request": "launch",
40
+ "program": "${file}",
41
+ "console": "externalTerminal"
42
+ }
43
+ ]
44
+ }
@@ -0,0 +1,29 @@
1
+ {
2
+ "python.autoComplete.extraPaths": [
3
+ "."
4
+ ],
5
+ "python.linting.pylintEnabled": true,
6
+ "python.linting.enabled": true,
7
+ "terminal.integrated.defaultProfile.windows": "Git Bash",
8
+ "terminal.integrated.profiles.windows": {
9
+ "Git Bash": {
10
+ "path": "C:\\Program Files\\Git\\bin\\bash.exe",
11
+ "args": ["--cd=."]
12
+ }
13
+ },
14
+ // adds activate virtualenv to terminal
15
+ "terminal.integrated.env.windows": {
16
+ "VIRTUAL_ENV": "${workspaceFolder}/venv"
17
+ },
18
+ "files.eol": "\n", // Unix
19
+ "editor.tabSize": 4,
20
+ "editor.insertSpaces": true,
21
+ "editor.detectIndentation": false,
22
+ "editor.formatOnSave": false,
23
+ "python.formatting.provider": "black",
24
+ "python.formatting.blackArgs": [
25
+ ],
26
+ "python.analysis.extraPaths": [
27
+ "."
28
+ ]
29
+ }
@@ -0,0 +1,41 @@
1
+ {
2
+ // See https://go.microsoft.com/fwlink/?LinkId=733558
3
+ // for the documentation about the tasks.json format
4
+ "version": "2.0.0",
5
+ "tasks": [
6
+ {
7
+ "label": "Lint",
8
+ "type": "shell",
9
+ "command": ". ./activate.sh && ./lint.sh",
10
+ "group": "build",
11
+ "options": {
12
+ "cwd": "${workspaceRoot}"
13
+ },
14
+ "presentation": {
15
+ "echo": true,
16
+ "reveal": "always",
17
+ "focus": true,
18
+ "panel": "shared",
19
+ "clear": true
20
+ },
21
+ "problemMatcher": []
22
+ },
23
+ {
24
+ "label": "Tox",
25
+ "type": "shell",
26
+ "command": "tox",
27
+ "group": "build",
28
+ "options": {
29
+ "cwd": "${workspaceRoot}"
30
+ },
31
+ "presentation": {
32
+ "echo": true,
33
+ "reveal": "always",
34
+ "focus": true,
35
+ "panel": "shared",
36
+ "clear": true
37
+ },
38
+ "problemMatcher": []
39
+ },
40
+ ]
41
+ }
fastled-1.0.8/LICENSE ADDED
@@ -0,0 +1,21 @@
1
+ MIT License
2
+
3
+ Copyright (c) 2019 zackees
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.
@@ -0,0 +1,3 @@
1
+ include pyproject.toml
2
+ include requirements.testing.txt
3
+ include template_python_cmd/assets/example.txt
fastled-1.0.8/PKG-INFO ADDED
@@ -0,0 +1,121 @@
1
+ Metadata-Version: 2.1
2
+ Name: fastled
3
+ Version: 1.0.8
4
+ Summary: FastLED Wasm Compiler
5
+ Home-page: https://github.com/zackees/fastled-wasm
6
+ Maintainer: Zachary Vorhies
7
+ License: BSD 3-Clause License
8
+ Keywords: template-python-cmd
9
+ Classifier: Programming Language :: Python :: 3
10
+ Requires-Python: >=3.7
11
+ Description-Content-Type: text/markdown
12
+ License-File: LICENSE
13
+ Requires-Dist: docker
14
+ Requires-Dist: httpx
15
+ Requires-Dist: watchdog
16
+ Requires-Dist: livereload
17
+ Requires-Dist: download
18
+ Requires-Dist: filelock
19
+
20
+ # FastLED wasm compiler
21
+
22
+ Compiles an Arduino/Platformio sketch into a wasm binary that can be run directly in the web browser.
23
+
24
+ [![Linting](https://github.com/zackees/fastled-wasm/actions/workflows/lint.yml/badge.svg)](https://github.com/zackees/fastled-wasm/actions/workflows/lint.yml)
25
+ [![Build and Push Multi Docker Image](https://github.com/zackees/fastled-wasm/actions/workflows/build_multi_docker_image.yml/badge.svg)](https://github.com/zackees/fastled-wasm/actions/workflows/build_multi_docker_image.yml)
26
+ [![MacOS_Tests](https://github.com/zackees/fastled-wasm/actions/workflows/test_macos.yml/badge.svg)](https://github.com/zackees/fastled-wasm/actions/workflows/test_macos.yml)
27
+ [![Ubuntu_Tests](https://github.com/zackees/fastled-wasm/actions/workflows/test_ubuntu.yml/badge.svg)](https://github.com/zackees/fastled-wasm/actions/workflows/test_ubuntu.yml)
28
+ [![Win_Tests](https://github.com/zackees/fastled-wasm/actions/workflows/test_win.yml/badge.svg)](https://github.com/zackees/fastled-wasm/actions/workflows/test_win.yml)
29
+
30
+
31
+ # About
32
+
33
+ This python app will compile your FastLED style sketches into html/js/wasm output that runs directly in the browser.
34
+
35
+ Compile times are extremely fast - I've seen as low as 5 seconds but 8-15 seconds is typical.
36
+
37
+ This works on Windows/Linux/Mac(arm/x64).
38
+
39
+ Docker is required.
40
+
41
+ https://github.com/user-attachments/assets/64ae0e6c-5f8b-4830-ab87-dcc25bc61218
42
+
43
+ # Demo
44
+
45
+ https://zackees.github.io/fastled-wasm/
46
+
47
+
48
+
49
+ # Install
50
+
51
+ ```bash
52
+ pip install fastled-wasm
53
+ ```
54
+
55
+ **Note that you may need to install x86 docker emulation on Mac-m1 and later, as this is an x86 only image at the prsent.**
56
+
57
+ # Use
58
+
59
+ Change to the directory where the sketch lives and run
60
+
61
+ ```bash
62
+ cd <SKETCH-DIRECTORY>
63
+ fastled-wasm
64
+ ```
65
+
66
+ Or if you don't have docker then use our web compiler
67
+
68
+ ```bash
69
+ cd <SKETCH-DIRECTORY>
70
+ fastled-wasm --web
71
+ ```
72
+
73
+ After compilation a web browser windows will pop up.
74
+
75
+ # Hot reload by default
76
+
77
+ Once launched, the compiler will remain open, listening to changes and recompiling as necessary and hot-reloading the sketch into the current browser.
78
+
79
+ This style of development should be familiar to those doing web development.
80
+
81
+ # Data
82
+
83
+ If you want to embed data, then do so in the `data/` directory at the project root. The files will appear in the `data/` director of any spawned FileSystem or SDCard.
84
+
85
+
86
+ ### About the compilation.
87
+
88
+ Pre-processing is done to your source files. A fake Arduino.h will be inserted into your source files that will
89
+ provide shims for most of the common api points.
90
+
91
+
92
+
93
+ # Revisions
94
+
95
+ * 1.1.8 - Program now knows it's own version which will be displayed with help file. Use `--version` to get it directly.
96
+ * 1.1.7 - Sketch cache re-enabled, but selectively invalidated on cpp/h updates. Cleaned up deprecated args. Fixed double thread running for containers that was causing slowdown.
97
+ * 1.1.6 - Use the fast src volume map allow quick updates to fastled when developing on the source code.
98
+ * 1.1.5 - Filter out hidden files and directories from being included in the sketch archive sent to the compiler.
99
+ * 1.1.4 - Fix regression introduced by testing out ipv4/ipv6 connections from a thread pool.
100
+ * 1.1.3 - Live editing of *.h and *.cpp files is now possible. Sketch cache will be disabled in this mode.
101
+ * 1.1.2 - `--server` will now volume map fastled src directory if it detects this. This was also implemented on the docker side.
102
+ * 1.1.1 - `--interactive` is now supported to debug the container. Volume maps and better compatibilty with ipv4/v6 by concurrent connection finding.
103
+ * 1.1.0 - Use `fastled` as the command for the wasm compiler.
104
+ * 1.0.17 - Pulls updates when necessary. Removed dependency on keyring.
105
+ * 1.0.16 - `fastled-wasm` package name has been changed to `fled`
106
+ * 1.0.15 - `fled` is an alias of `fastled-wasm` and will eventually replace it. `--web-host` was folded into `--web`, which if unspecified will attempt to run a local docker server and fallback to the cloud server if that fails. Specifying `--web` with no arguments will default to the cloud server while an argument (like `localhost`) will cause it to bind to that already running server for compilation.
107
+ * 1.0.14 - For non significant changes (comments, whitespace) in C++/ino/*.h files, compilation is skipped. This significantly reduces load on the server and prevents unnecessary local client browser refreshes.
108
+ * 1.0.13 - Increase speed of local compiles by running the server version of the compiler so it can keep it's cache and not have to pay docker startup costs because now it's a persistant server until exit.
109
+ * 1.0.12 - Added suppport for compile modes. Pass in `--release`, `--quick`, `--debug` for different compile options. We also support `--profile` to profile the build process.
110
+ * 1.0.11 - `--web` compile will automatically be enabled if the local build using docker fails.
111
+ * 1.0.10 - Watching files is now available for `--web`
112
+ * 1.0.9 - Enabled web compile. Access it with `--web` or `--web-host`
113
+ * 1.0.8 - Allow more than one fastled-wasm browser instances to co-exist by searching for unused ports after 8081.
114
+ * 1.0.7 - Docker multi image build implemented, tool now points to new docker image compile.
115
+ * 1.0.6 - Removed `--no-open` and `--watch`, `--watch` is now assumed unless `--just-compile` is used.
116
+ * 1.0.5 - Implemented `--update` to update the compiler image from the docker registry.
117
+ * 1.0.4 - Implemented `--watch` which will watch for changes and then re-launch the compilation step.
118
+ * 1.0.3 - Integrated `live-server` to launch when available.
119
+ * 1.0.2 - Small bug with new installs.
120
+ * 1.0.1 - Re-use is no longer the default, due to problems.
121
+ * 1.0.0 - Initial release.