fastled 1.1.61__tar.gz → 1.1.66__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 (112) hide show
  1. {fastled-1.1.61 → fastled-1.1.66}/.aiderignore +7 -7
  2. fastled-1.1.66/.github/workflows/publish_release.yml +179 -0
  3. fastled-1.1.66/.github/workflows/test_build_exe.yml +54 -0
  4. {fastled-1.1.61 → fastled-1.1.66}/MANIFEST.in +2 -2
  5. {fastled-1.1.61 → fastled-1.1.66}/PKG-INFO +326 -326
  6. fastled-1.1.66/TODO.md +2 -0
  7. {fastled-1.1.61 → fastled-1.1.66}/build_exe.py +1 -1
  8. {fastled-1.1.61 → fastled-1.1.66}/clean +0 -0
  9. {fastled-1.1.61 → fastled-1.1.66}/docs/index.css +158 -158
  10. {fastled-1.1.61 → fastled-1.1.66}/install +0 -0
  11. {fastled-1.1.61 → fastled-1.1.66}/lint +0 -0
  12. {fastled-1.1.61 → fastled-1.1.66}/setup.cfg +4 -4
  13. {fastled-1.1.61 → fastled-1.1.66}/setup.py +24 -24
  14. {fastled-1.1.61 → fastled-1.1.66}/src/fastled/__init__.py +1 -1
  15. {fastled-1.1.61 → fastled-1.1.66}/src/fastled/app.py +1 -0
  16. {fastled-1.1.61 → fastled-1.1.66}/src/fastled/cli.py +3 -0
  17. {fastled-1.1.61 → fastled-1.1.66}/src/fastled/parse_args.py +172 -172
  18. {fastled-1.1.61 → fastled-1.1.66}/src/fastled.egg-info/PKG-INFO +326 -326
  19. {fastled-1.1.61 → fastled-1.1.66}/src/fastled.egg-info/SOURCES.txt +3 -0
  20. {fastled-1.1.61 → fastled-1.1.66}/test +0 -0
  21. {fastled-1.1.61 → fastled-1.1.66}/tests/test_webcompile.py +43 -43
  22. {fastled-1.1.61 → fastled-1.1.66}/upload_package.sh +0 -0
  23. {fastled-1.1.61 → fastled-1.1.66}/.github/workflows/build_multi_docker_image.yml +0 -0
  24. {fastled-1.1.61 → fastled-1.1.66}/.github/workflows/lint.yml +0 -0
  25. {fastled-1.1.61 → fastled-1.1.66}/.github/workflows/test_macos.yml +0 -0
  26. {fastled-1.1.61 → fastled-1.1.66}/.github/workflows/test_ubuntu.yml +0 -0
  27. {fastled-1.1.61 → fastled-1.1.66}/.github/workflows/test_win.yml +0 -0
  28. {fastled-1.1.61 → fastled-1.1.66}/.gitignore +0 -0
  29. {fastled-1.1.61 → fastled-1.1.66}/.pylintrc +0 -0
  30. {fastled-1.1.61 → fastled-1.1.66}/.vscode/launch.json +0 -0
  31. {fastled-1.1.61 → fastled-1.1.66}/.vscode/settings.json +0 -0
  32. {fastled-1.1.61 → fastled-1.1.66}/.vscode/tasks.json +0 -0
  33. {fastled-1.1.61 → fastled-1.1.66}/LICENSE +0 -0
  34. {fastled-1.1.61 → fastled-1.1.66}/README.md +0 -0
  35. {fastled-1.1.61 → fastled-1.1.66}/docs/fastled.js +0 -0
  36. {fastled-1.1.61 → fastled-1.1.66}/docs/fastled.wasm +0 -0
  37. {fastled-1.1.61 → fastled-1.1.66}/docs/index.html +0 -0
  38. {fastled-1.1.61 → fastled-1.1.66}/docs/index.js +0 -0
  39. {fastled-1.1.61 → fastled-1.1.66}/examples/Blink/Blink.ino +0 -0
  40. {fastled-1.1.61 → fastled-1.1.66}/examples/Chromancer/Chromancer.ino +0 -0
  41. {fastled-1.1.61 → fastled-1.1.66}/examples/Chromancer/detail.h +0 -0
  42. {fastled-1.1.61 → fastled-1.1.66}/examples/Chromancer/gary_woos_wled_port/gary_woos_wled_ledmap.h +0 -0
  43. {fastled-1.1.61 → fastled-1.1.66}/examples/Chromancer/gary_woos_wled_port/presets.json +0 -0
  44. {fastled-1.1.61 → fastled-1.1.66}/examples/Chromancer/gary_woos_wled_port/presets.min.json +0 -0
  45. {fastled-1.1.61 → fastled-1.1.66}/examples/Chromancer/gen.py +0 -0
  46. {fastled-1.1.61 → fastled-1.1.66}/examples/Chromancer/mapping.h +0 -0
  47. {fastled-1.1.61 → fastled-1.1.66}/examples/Chromancer/net.h +0 -0
  48. {fastled-1.1.61 → fastled-1.1.66}/examples/Chromancer/output.json +0 -0
  49. {fastled-1.1.61 → fastled-1.1.66}/examples/Chromancer/ripple.h +0 -0
  50. {fastled-1.1.61 → fastled-1.1.66}/examples/Chromancer/screenmap.json.h +0 -0
  51. {fastled-1.1.61 → fastled-1.1.66}/examples/ColorPalette/ColorPalette.ino +0 -0
  52. {fastled-1.1.61 → fastled-1.1.66}/examples/ColorTemperature/ColorTemperature.ino +0 -0
  53. {fastled-1.1.61 → fastled-1.1.66}/examples/Cylon/Cylon.ino +0 -0
  54. {fastled-1.1.61 → fastled-1.1.66}/examples/DemoReel100/DemoReel100.ino +0 -0
  55. {fastled-1.1.61 → fastled-1.1.66}/examples/Esp32Rmt51/Esp32Rmt51.ino +0 -0
  56. {fastled-1.1.61 → fastled-1.1.66}/examples/EspI2SDemo/EspI2SDemo.ino +0 -0
  57. {fastled-1.1.61 → fastled-1.1.66}/examples/Fire2012/Fire2012.ino +0 -0
  58. {fastled-1.1.61 → fastled-1.1.66}/examples/Fire2012WithPalette/Fire2012WithPalette.ino +0 -0
  59. {fastled-1.1.61 → fastled-1.1.66}/examples/FirstLight/FirstLight.ino +0 -0
  60. {fastled-1.1.61 → fastled-1.1.66}/examples/FxEngine/FxEngine.ino +0 -0
  61. {fastled-1.1.61 → fastled-1.1.66}/examples/Noise/Noise.ino +0 -0
  62. {fastled-1.1.61 → fastled-1.1.66}/examples/NoisePlayground/NoisePlayground.ino +0 -0
  63. {fastled-1.1.61 → fastled-1.1.66}/examples/NoisePlusPalette/NoisePlusPalette.ino +0 -0
  64. {fastled-1.1.61 → fastled-1.1.66}/examples/OctoWS2811/OctoWS2811.ino +0 -0
  65. {fastled-1.1.61 → fastled-1.1.66}/examples/Pacifica/Pacifica.ino +0 -0
  66. {fastled-1.1.61 → fastled-1.1.66}/examples/Pride2015/Pride2015.ino +0 -0
  67. {fastled-1.1.61 → fastled-1.1.66}/examples/TwinkleFox/TwinkleFox.ino +0 -0
  68. {fastled-1.1.61 → fastled-1.1.66}/examples/Video/Gfx2Video/Gfx2Video.ino +0 -0
  69. {fastled-1.1.61 → fastled-1.1.66}/examples/WasmScreenCoords/WasmScreenCoords.ino +0 -0
  70. {fastled-1.1.61 → fastled-1.1.66}/examples/Water/Water.ino +0 -0
  71. {fastled-1.1.61 → fastled-1.1.66}/examples/XYMatrix/XYMatrix.ino +0 -0
  72. {fastled-1.1.61 → fastled-1.1.66}/examples/wasm/wasm.ino +0 -0
  73. {fastled-1.1.61 → fastled-1.1.66}/pyproject.toml +0 -0
  74. {fastled-1.1.61 → fastled-1.1.66}/requirements.testing.txt +0 -0
  75. {fastled-1.1.61 → fastled-1.1.66}/src/fastled/assets/example.txt +0 -0
  76. {fastled-1.1.61 → fastled-1.1.66}/src/fastled/client_server.py +0 -0
  77. {fastled-1.1.61 → fastled-1.1.66}/src/fastled/compile_server.py +0 -0
  78. {fastled-1.1.61 → fastled-1.1.66}/src/fastled/compile_server_impl.py +0 -0
  79. {fastled-1.1.61 → fastled-1.1.66}/src/fastled/docker_manager.py +0 -0
  80. {fastled-1.1.61 → fastled-1.1.66}/src/fastled/filewatcher.py +0 -0
  81. {fastled-1.1.61 → fastled-1.1.66}/src/fastled/keyboard.py +0 -0
  82. {fastled-1.1.61 → fastled-1.1.66}/src/fastled/live_client.py +0 -0
  83. {fastled-1.1.61 → fastled-1.1.66}/src/fastled/open_browser.py +0 -0
  84. {fastled-1.1.61 → fastled-1.1.66}/src/fastled/paths.py +0 -0
  85. {fastled-1.1.61 → fastled-1.1.66}/src/fastled/project_init.py +0 -0
  86. {fastled-1.1.61 → fastled-1.1.66}/src/fastled/select_sketch_directory.py +0 -0
  87. {fastled-1.1.61 → fastled-1.1.66}/src/fastled/settings.py +0 -0
  88. {fastled-1.1.61 → fastled-1.1.66}/src/fastled/sketch.py +0 -0
  89. {fastled-1.1.61 → fastled-1.1.66}/src/fastled/spinner.py +0 -0
  90. {fastled-1.1.61 → fastled-1.1.66}/src/fastled/string_diff.py +0 -0
  91. {fastled-1.1.61 → fastled-1.1.66}/src/fastled/test/examples.py +0 -0
  92. {fastled-1.1.61 → fastled-1.1.66}/src/fastled/types.py +0 -0
  93. {fastled-1.1.61 → fastled-1.1.66}/src/fastled/util.py +0 -0
  94. {fastled-1.1.61 → fastled-1.1.66}/src/fastled/web_compile.py +0 -0
  95. {fastled-1.1.61 → fastled-1.1.66}/src/fastled.egg-info/dependency_links.txt +0 -0
  96. {fastled-1.1.61 → fastled-1.1.66}/src/fastled.egg-info/entry_points.txt +0 -0
  97. {fastled-1.1.61 → fastled-1.1.66}/src/fastled.egg-info/requires.txt +0 -0
  98. {fastled-1.1.61 → fastled-1.1.66}/src/fastled.egg-info/top_level.txt +0 -0
  99. {fastled-1.1.61 → fastled-1.1.66}/tests/test_api.py +0 -0
  100. {fastled-1.1.61 → fastled-1.1.66}/tests/test_bad_ino.py +0 -0
  101. {fastled-1.1.61 → fastled-1.1.66}/tests/test_cli.py +0 -0
  102. {fastled-1.1.61 → fastled-1.1.66}/tests/test_compile_server.py +0 -0
  103. {fastled-1.1.61 → fastled-1.1.66}/tests/test_docker_linux_on_windows.py +0 -0
  104. {fastled-1.1.61 → fastled-1.1.66}/tests/test_embedded_data.py +0 -0
  105. {fastled-1.1.61 → fastled-1.1.66}/tests/test_examples.py +0 -0
  106. {fastled-1.1.61 → fastled-1.1.66}/tests/test_filechanger.py +0 -0
  107. {fastled-1.1.61 → fastled-1.1.66}/tests/test_ino/bad/bad.ino +0 -0
  108. {fastled-1.1.61 → fastled-1.1.66}/tests/test_ino/embedded/data/bigdata.dat +0 -0
  109. {fastled-1.1.61 → fastled-1.1.66}/tests/test_ino/embedded/wasm.ino +0 -0
  110. {fastled-1.1.61 → fastled-1.1.66}/tests/test_ino/wasm/wasm.ino +0 -0
  111. {fastled-1.1.61 → fastled-1.1.66}/tests/test_project_init.py +0 -0
  112. {fastled-1.1.61 → fastled-1.1.66}/tests/test_server_and_client_seperatly.py +0 -0
@@ -1,7 +1,7 @@
1
- # Add files or directories to ignore here
2
-
3
- run
4
- lint
5
- test
6
- install
7
- clean
1
+ # Add files or directories to ignore here
2
+
3
+ run
4
+ lint
5
+ test
6
+ install
7
+ clean
@@ -0,0 +1,179 @@
1
+ name: Publish Release
2
+
3
+ on:
4
+ push:
5
+ branches:
6
+ - main
7
+ workflow_dispatch: # on button click
8
+
9
+ permissions:
10
+ contents: write
11
+ pull-requests: write
12
+
13
+ jobs:
14
+ create-tag:
15
+ runs-on: ubuntu-latest
16
+ permissions:
17
+ contents: write
18
+ pull-requests: write
19
+ outputs:
20
+ new_version: ${{ steps.current_version.outputs.current }}
21
+ should_release: ${{ steps.current_version.outputs.current != steps.prev_version.outputs.previous }}
22
+ steps:
23
+ - uses: actions/checkout@v4
24
+ with:
25
+ fetch-depth: 2 # Need previous commit to compare
26
+
27
+ - name: Set up Python
28
+ uses: actions/setup-python@v5
29
+ with:
30
+ python-version: '3.11'
31
+
32
+ - name: Install UV
33
+ run: pip install uv
34
+
35
+ - name: Install dependencies
36
+ run: ./install
37
+ shell: bash
38
+
39
+ - name: Get current version
40
+ id: current_version
41
+ run: |
42
+ uv run fastled --version > current_version.txt
43
+ echo "current=$(cat current_version.txt)" >> $GITHUB_OUTPUT
44
+
45
+ - name: Get previous version
46
+ id: prev_version
47
+ run: |
48
+ git checkout HEAD~1
49
+ ./clean
50
+ uv run fastled --version > prev_version.txt
51
+ echo "previous=$(cat prev_version.txt)" >> $GITHUB_OUTPUT
52
+ shell: bash
53
+
54
+ - name: Create Tag if version changed
55
+ if: steps.current_version.outputs.current != steps.prev_version.outputs.previous
56
+ env:
57
+ GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
58
+ run: |
59
+ git config --local user.email "action@github.com"
60
+ git config --local user.name "GitHub Action"
61
+ git tag -a "v${{ steps.current_version.outputs.current }}" -m "Release v${{ steps.current_version.outputs.current }}"
62
+ git push origin "v${{ steps.current_version.outputs.current }}"
63
+
64
+ build-executables:
65
+ needs: [create-tag]
66
+ if: needs.create-tag.outputs.should_release == 'true'
67
+ strategy:
68
+ matrix:
69
+ include:
70
+ - os: ubuntu-latest
71
+ platform: linux/amd64
72
+ # Not available on GitHub Actions unless i run qemu
73
+ #- os: ubuntu-latest
74
+ # platform: ARM64
75
+ # runs-on: ubuntu-latest-arm64
76
+ - os: windows-latest
77
+ arch: X64
78
+ - os: macos-latest # arm64
79
+ arch: ARM64
80
+ - os: macos-13 # x86
81
+ arch: X64
82
+ runs-on: ${{ matrix.runs-on || matrix.os }}
83
+
84
+ steps:
85
+ - uses: actions/checkout@v4
86
+
87
+ - uses: actions/setup-python@v5
88
+ with:
89
+ python-version: '3.11'
90
+
91
+ - name: Install UV
92
+ run: pip install uv
93
+
94
+ - name: Install dependencies
95
+ run: ./install
96
+ shell: bash
97
+
98
+ - name: Build executable
99
+ run: uv run build_exe.py
100
+
101
+ # Add signing step for Windows
102
+ - name: Decode and Sign Executable (Windows Only)
103
+ if: matrix.os == 'windows-latest'
104
+ run: |
105
+ echo "Installing Windows SDK..."
106
+ choco install windows-sdk-10-version-19041 -y
107
+ RefreshEnv
108
+
109
+ echo Decoding PFX file...
110
+ echo %FASTLED_PFX_B64% | certutil -decode - fastled.pfx
111
+
112
+ echo Signing executable...
113
+ "C:\Program Files (x86)\Windows Kits\10\bin\x64\signtool.exe" sign /f fastled.pfx /p "%FASTLED_PFX_PASSWORD%" /fd sha256 ./dist/fastled.exe
114
+
115
+ echo Verifying signature...
116
+ "C:\Program Files (x86)\Windows Kits\10\bin\x64\signtool.exe" verify /pa /v ./dist/fastled.exe
117
+ shell: cmd
118
+
119
+ - name: Upload artifact
120
+ uses: actions/upload-artifact@v3
121
+ with:
122
+ name: fastled-${{ runner.os }}-${{ runner.arch }}
123
+ path: |
124
+ dist/fastled
125
+ dist/fastled.exe
126
+
127
+ create-release:
128
+ needs: [create-tag, build-executables]
129
+ runs-on: ubuntu-latest
130
+ permissions:
131
+ contents: write
132
+ steps:
133
+ - name: Download all artifacts
134
+ uses: actions/download-artifact@v3
135
+ with:
136
+ path: artifacts
137
+
138
+ - name: Prepare release files
139
+ run: |
140
+ mkdir release
141
+ # Rename files with platform-specific names
142
+ [ -f artifacts/fastled-Windows-X64/fastled.exe ] && cp artifacts/fastled-Windows-X64/fastled.exe release/fastled-windows-x64.exe
143
+ [ -f artifacts/fastled-Linux-X64/fastled ] && cp artifacts/fastled-Linux-X64/fastled release/fastled-linux-x64
144
+ [ -f artifacts/fastled-Linux-ARM64/fastled ] && cp artifacts/fastled-Linux-ARM64/fastled release/fastled-linux-arm64
145
+ [ -f artifacts/fastled-macOS-ARM64/fastled ] && cp artifacts/fastled-macOS-ARM64/fastled release/fastled-macos-arm64
146
+ [ -f artifacts/fastled-macOS-X64/fastled ] && cp artifacts/fastled-macOS-X64/fastled release/fastled-macos-x64
147
+ chmod +x release/fastled-*
148
+
149
+ - name: Create Release
150
+ uses: softprops/action-gh-release@v1
151
+ with:
152
+ tag_name: v${{ needs.create-tag.outputs.new_version }}
153
+ files: release/*
154
+ draft: false
155
+ prerelease: false
156
+
157
+ publish-pypi:
158
+ needs: [create-tag]
159
+ if: needs.create-tag.outputs.should_release == 'true'
160
+ runs-on: ubuntu-latest
161
+ steps:
162
+ - uses: actions/checkout@v4
163
+
164
+ - name: Set up Python
165
+ uses: actions/setup-python@v5
166
+ with:
167
+ python-version: '3.11'
168
+
169
+ - name: Install dependencies for PyPI publishing
170
+ run: |
171
+ pip install build twine
172
+
173
+ - name: Build and Publish to PyPI
174
+ env:
175
+ TWINE_USERNAME: "__token__"
176
+ TWINE_PASSWORD: ${{ secrets.PYPI_API_TOKEN }}
177
+ run: |
178
+ python -m build
179
+ python -m twine upload dist/*
@@ -0,0 +1,54 @@
1
+ name: Build Executables
2
+
3
+ on: [push]
4
+
5
+ jobs:
6
+ build:
7
+ runs-on: ${{ matrix.os }}
8
+ strategy:
9
+ matrix:
10
+ os: [
11
+ ubuntu-latest, # linux/amd64
12
+ windows-latest, # x64
13
+ macos-latest, # arm64
14
+ macos-13 # x86
15
+ ]
16
+ python-version: [3.11]
17
+
18
+ steps:
19
+ - uses: actions/checkout@v4
20
+
21
+ - uses: actions/setup-python@v5
22
+ with:
23
+ python-version: ${{ matrix.python-version }}
24
+
25
+ - name: Install UV
26
+ run: pip install uv
27
+
28
+ - name: Install dependencies
29
+ run: ./install
30
+ shell: bash
31
+
32
+ - name: Build executable
33
+ run: uv run build_exe.py
34
+
35
+ - name: Test executable
36
+ shell: bash
37
+ run: |
38
+ if [ "${{ matrix.os }}" = "windows-latest" ]; then
39
+ ./dist/fastled.exe --version
40
+ else
41
+ ./dist/fastled --version
42
+ fi
43
+
44
+ if [ "${{ matrix.os }}" = "ubuntu-latest" ]; then
45
+ ./dist/fastled --init wasm && ./dist/fastled --just-compile --local fastled/wasm
46
+ fi
47
+
48
+ - name: Upload artifacts
49
+ uses: actions/upload-artifact@v3
50
+ with:
51
+ name: fastled-${{ matrix.os }}
52
+ path: |
53
+ dist/fastled
54
+ dist/fastled.exe
@@ -1,3 +1,3 @@
1
- include pyproject.toml
2
- include requirements.testing.txt
1
+ include pyproject.toml
2
+ include requirements.testing.txt
3
3
  include template_python_cmd/assets/example.txt