fastled 1.2.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 (86) hide show
  1. fastled-1.2.23/.aiderignore +7 -0
  2. fastled-1.2.23/.github/workflows/build_multi_docker_image.yml +138 -0
  3. fastled-1.2.23/.github/workflows/build_webpage.yml +34 -0
  4. fastled-1.2.23/.github/workflows/lint.yml +23 -0
  5. fastled-1.2.23/.github/workflows/publish_release.yml +187 -0
  6. fastled-1.2.23/.github/workflows/test_build_exe.yml +54 -0
  7. fastled-1.2.23/.github/workflows/test_macos.yml +29 -0
  8. fastled-1.2.23/.github/workflows/test_ubuntu.yml +29 -0
  9. fastled-1.2.23/.github/workflows/test_win.yml +32 -0
  10. fastled-1.2.23/.gitignore +152 -0
  11. fastled-1.2.23/.pylintrc +2 -0
  12. fastled-1.2.23/.vscode/launch.json +44 -0
  13. fastled-1.2.23/.vscode/settings.json +29 -0
  14. fastled-1.2.23/.vscode/tasks.json +41 -0
  15. fastled-1.2.23/LICENSE +21 -0
  16. fastled-1.2.23/MANIFEST.in +3 -0
  17. fastled-1.2.23/PKG-INFO +382 -0
  18. fastled-1.2.23/README.md +356 -0
  19. fastled-1.2.23/RELEASE.md +8 -0
  20. fastled-1.2.23/TODO.md +2 -0
  21. fastled-1.2.23/build_exe.py +48 -0
  22. fastled-1.2.23/build_site.py +20 -0
  23. fastled-1.2.23/clean +21 -0
  24. fastled-1.2.23/install +37 -0
  25. fastled-1.2.23/install_linux.sh +10 -0
  26. fastled-1.2.23/lint +17 -0
  27. fastled-1.2.23/pyproject.toml +63 -0
  28. fastled-1.2.23/requirements.testing.txt +7 -0
  29. fastled-1.2.23/setup.cfg +4 -0
  30. fastled-1.2.23/setup.py +24 -0
  31. fastled-1.2.23/src/fastled/__init__.py +352 -0
  32. fastled-1.2.23/src/fastled/app.py +107 -0
  33. fastled-1.2.23/src/fastled/assets/example.txt +1 -0
  34. fastled-1.2.23/src/fastled/cli.py +19 -0
  35. fastled-1.2.23/src/fastled/client_server.py +401 -0
  36. fastled-1.2.23/src/fastled/compile_server.py +92 -0
  37. fastled-1.2.23/src/fastled/compile_server_impl.py +247 -0
  38. fastled-1.2.23/src/fastled/docker_manager.py +784 -0
  39. fastled-1.2.23/src/fastled/filewatcher.py +202 -0
  40. fastled-1.2.23/src/fastled/keyboard.py +116 -0
  41. fastled-1.2.23/src/fastled/live_client.py +86 -0
  42. fastled-1.2.23/src/fastled/open_browser.py +161 -0
  43. fastled-1.2.23/src/fastled/open_browser2.py +111 -0
  44. fastled-1.2.23/src/fastled/parse_args.py +195 -0
  45. fastled-1.2.23/src/fastled/paths.py +4 -0
  46. fastled-1.2.23/src/fastled/project_init.py +129 -0
  47. fastled-1.2.23/src/fastled/select_sketch_directory.py +35 -0
  48. fastled-1.2.23/src/fastled/settings.py +13 -0
  49. fastled-1.2.23/src/fastled/site/build.py +457 -0
  50. fastled-1.2.23/src/fastled/sketch.py +97 -0
  51. fastled-1.2.23/src/fastled/spinner.py +34 -0
  52. fastled-1.2.23/src/fastled/string_diff.py +42 -0
  53. fastled-1.2.23/src/fastled/test/can_run_local_docker_tests.py +13 -0
  54. fastled-1.2.23/src/fastled/test/examples.py +49 -0
  55. fastled-1.2.23/src/fastled/types.py +61 -0
  56. fastled-1.2.23/src/fastled/util.py +10 -0
  57. fastled-1.2.23/src/fastled/web_compile.py +285 -0
  58. fastled-1.2.23/src/fastled.egg-info/PKG-INFO +382 -0
  59. fastled-1.2.23/src/fastled.egg-info/SOURCES.txt +84 -0
  60. fastled-1.2.23/src/fastled.egg-info/dependency_links.txt +1 -0
  61. fastled-1.2.23/src/fastled.egg-info/entry_points.txt +4 -0
  62. fastled-1.2.23/src/fastled.egg-info/requires.txt +11 -0
  63. fastled-1.2.23/src/fastled.egg-info/top_level.txt +1 -0
  64. fastled-1.2.23/test +9 -0
  65. fastled-1.2.23/tests/html/index.html +9 -0
  66. fastled-1.2.23/tests/test_api.py +68 -0
  67. fastled-1.2.23/tests/test_bad_ino.py +58 -0
  68. fastled-1.2.23/tests/test_build.py +57 -0
  69. fastled-1.2.23/tests/test_build_examples.py +30 -0
  70. fastled-1.2.23/tests/test_cli.py +26 -0
  71. fastled-1.2.23/tests/test_compile_server.py +30 -0
  72. fastled-1.2.23/tests/test_docker_linux_on_windows.py +21 -0
  73. fastled-1.2.23/tests/test_embedded_data.py +56 -0
  74. fastled-1.2.23/tests/test_examples.py +50 -0
  75. fastled-1.2.23/tests/test_filechanger.py +54 -0
  76. fastled-1.2.23/tests/test_http_server.py +31 -0
  77. fastled-1.2.23/tests/test_ino/bad/bad.ino +141 -0
  78. fastled-1.2.23/tests/test_ino/bad_platformio/bad_platformio.ino +11 -0
  79. fastled-1.2.23/tests/test_ino/bad_platformio/platformio.ini +41 -0
  80. fastled-1.2.23/tests/test_ino/embedded/data/bigdata.dat +0 -0
  81. fastled-1.2.23/tests/test_ino/embedded/wasm.ino +136 -0
  82. fastled-1.2.23/tests/test_ino/wasm/wasm.ino +136 -0
  83. fastled-1.2.23/tests/test_project_init.py +47 -0
  84. fastled-1.2.23/tests/test_server_and_client_seperatly.py +37 -0
  85. fastled-1.2.23/tests/test_webcompile.py +43 -0
  86. fastled-1.2.23/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,138 @@
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
+ check-if-changed:
15
+ runs-on: ubuntu-24.04
16
+ outputs:
17
+ should_run: ${{ steps.check.outputs.should_run }}
18
+ steps:
19
+ - name: Check workflow repo changes
20
+ uses: actions/checkout@v4
21
+ with:
22
+ fetch-depth: 2
23
+ - name: Check FastLED repo
24
+ uses: actions/checkout@v4
25
+ with:
26
+ repository: fastled/fastled
27
+ path: fastled
28
+ - id: check
29
+ run: |
30
+ # Check if there are any changes in workflow repository
31
+ WORKFLOW_CHANGED=$(git diff --quiet HEAD^1 HEAD || echo "changed")
32
+
33
+ # Check FastLED repo for changes in last 24 hours
34
+ cd fastled
35
+ FASTLED_CHANGED=$(git log --since="24 hours ago" --oneline | wc -l)
36
+
37
+ if [[ -n "$WORKFLOW_CHANGED" ]] || [[ "$FASTLED_CHANGED" -gt 0 ]]; then
38
+ echo "Changes detected in workflow repository or FastLED in last 24h"
39
+ echo "should_run=true" >> $GITHUB_OUTPUT
40
+ else
41
+ echo "No recent changes detected"
42
+ echo "should_run=false" >> $GITHUB_OUTPUT
43
+ fi
44
+
45
+ build:
46
+ needs: check-if-changed
47
+ if: needs.check-if-changed.outputs.should_run == 'true'
48
+ runs-on: ubuntu-24.04
49
+ strategy:
50
+ fail-fast: false
51
+ matrix:
52
+ platform:
53
+ - linux/amd64
54
+ - linux/arm64
55
+ steps:
56
+ - name: Prepare
57
+ run: |
58
+ platform=${{ matrix.platform }}
59
+ echo "PLATFORM_PAIR=${platform//\//-}" >> $GITHUB_ENV
60
+ - name: Docker meta
61
+ id: meta
62
+ uses: docker/metadata-action@v5
63
+ with:
64
+ images: ${{ env.REGISTRY_IMAGE }}
65
+ - name: Set up QEMU
66
+ uses: docker/setup-qemu-action@v3
67
+ - name: Set up Docker Buildx
68
+ uses: docker/setup-buildx-action@v3
69
+ - name: Login to Docker Hub
70
+ uses: docker/login-action@v3
71
+ with:
72
+ username: ${{ secrets.DOCKER_USERNAME }}
73
+ password: ${{ secrets.DOCKER_PASSWORD }}
74
+ - name: Build and push by digest
75
+ id: build
76
+ uses: docker/build-push-action@v6
77
+ with:
78
+ platforms: ${{ matrix.platform }}
79
+ context: https://github.com/fastled/fastled.git
80
+ file: src/platforms/wasm/compiler/Dockerfile
81
+ labels: ${{ steps.meta.outputs.labels }}
82
+ outputs: type=image,name=${{ env.REGISTRY_IMAGE }},push-by-digest=true,name-canonical=true,push=true
83
+ build-args: |
84
+ PLATFORM_TAG=${{ matrix.platform == 'linux/arm64' && '-arm64' || '' }}
85
+ cache-from: type=gha
86
+ cache-to: type=gha,mode=max,compression=zstd
87
+ - name: Export digest
88
+ run: |
89
+ mkdir -p /tmp/digests
90
+ digest="${{ steps.build.outputs.digest }}"
91
+ touch "/tmp/digests/${digest#sha256:}"
92
+ - name: Upload digest
93
+ uses: actions/upload-artifact@v4
94
+ with:
95
+ name: digests-${{ env.PLATFORM_PAIR }}
96
+ path: /tmp/digests/*
97
+ if-no-files-found: error
98
+ retention-days: 1
99
+
100
+ merge:
101
+ runs-on: ubuntu-24.04
102
+ needs:
103
+ - check-if-changed
104
+ - build
105
+ if: needs.check-if-changed.outputs.should_run == 'true'
106
+ steps:
107
+ - name: Download digests
108
+ uses: actions/download-artifact@v4
109
+ with:
110
+ path: /tmp/digests
111
+ pattern: digests-*
112
+ merge-multiple: true
113
+
114
+ - name: Set up Docker Buildx
115
+ uses: docker/setup-buildx-action@v3
116
+
117
+ - name: Docker meta
118
+ id: meta
119
+ uses: docker/metadata-action@v5
120
+ with:
121
+ images: ${{ env.REGISTRY_IMAGE }}
122
+
123
+ - name: Login to Docker Hub
124
+ uses: docker/login-action@v3
125
+ with:
126
+ username: ${{ secrets.DOCKER_USERNAME }}
127
+ password: ${{ secrets.DOCKER_PASSWORD }}
128
+
129
+ - name: Create manifest list and push
130
+ working-directory: /tmp/digests
131
+ run: |
132
+ docker buildx imagetools create $(jq -cr '.tags | map("-t " + .) | join(" ")' <<< "$DOCKER_METADATA_OUTPUT_JSON") \
133
+ $(printf '${{ env.REGISTRY_IMAGE }}@sha256:%s ' *)
134
+
135
+ - name: Inspect image
136
+ run: |
137
+ docker buildx imagetools inspect ${{ env.REGISTRY_IMAGE }}:${{ steps.meta.outputs.version }}
138
+
@@ -0,0 +1,34 @@
1
+ name: Build Webpage
2
+
3
+ on:
4
+ push:
5
+ branches: [ main ]
6
+ pull_request:
7
+ branches: [ main ]
8
+
9
+ jobs:
10
+ deploy:
11
+ runs-on: ubuntu-24.04
12
+ permissions:
13
+ contents: write # This allows pushing to branches
14
+
15
+ steps:
16
+ - uses: actions/checkout@v3
17
+
18
+ - name: Install UV
19
+ run: pip install uv
20
+
21
+ - name: Install dependencies
22
+ run: ./install
23
+ shell: bash
24
+
25
+ - name: Create index.html
26
+ run: |
27
+ uv run build_site.py
28
+
29
+ - name: Deploy to GitHub Pages
30
+ uses: peaceiris/actions-gh-pages@v3
31
+ with:
32
+ github_token: ${{ secrets.GITHUB_TOKEN }}
33
+ publish_dir: ./site
34
+ force_orphan: true # This creates a new orphan branch each time
@@ -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-24.04]
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,187 @@
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-24.04
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-24.04
71
+ platform: linux/amd64
72
+ # Not available on GitHub Actions unless i run qemu
73
+ #- os: ubuntu-24.04
74
+ # platform: ARM64
75
+ # runs-on: ubuntu-24.04-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 Decoding PFX file...
106
+
107
+ rem Write the secret directly to the file using Python
108
+ python -c "import os; open('fastled.pfx.b64', 'w').write(r'${{ secrets.FASTLED_PFX_B64 }}')"
109
+
110
+ rem Decode the base64 file and write the binary PFX
111
+ python -c "import base64; open('fastled.pfx', 'wb').write(base64.b64decode(open('fastled.pfx.b64', 'r').read()))"
112
+
113
+ dir
114
+
115
+ echo Signing executable...
116
+ "C:\Program Files (x86)\Microsoft SDKs\ClickOnce\SignTool\signtool.exe" sign /f fastled.pfx /p "${{ secrets.FASTLED_PFX_PASSWORD }}" /fd sha256 ./dist/fastled.exe
117
+
118
+ echo Verifying signature...
119
+ "C:\Program Files (x86)\Microsoft SDKs\ClickOnce\SignTool\signtool.exe" verify /pa /v ./dist/fastled.exe || (echo "Ignoring self-signed certificate verification error." && exit 0)
120
+ shell: cmd
121
+
122
+
123
+ - name: Upload artifact
124
+ uses: actions/upload-artifact@v3
125
+ with:
126
+ name: fastled-${{ runner.os }}-${{ runner.arch }}
127
+ path: |
128
+ dist/fastled
129
+ dist/fastled.exe
130
+
131
+ create-release:
132
+ needs: [create-tag, build-executables]
133
+ runs-on: ubuntu-24.04
134
+ permissions:
135
+ contents: write
136
+ steps:
137
+ - name: Download all artifacts
138
+ uses: actions/download-artifact@v3
139
+ with:
140
+ path: artifacts
141
+
142
+ - name: Prepare release files
143
+ shell: bash
144
+ run: |
145
+ mkdir release
146
+ # Create zip files of the artifacts
147
+ # Create zip files of the artifacts
148
+ [ -f artifacts/fastled-Windows-X64/fastled.exe ] && zip -j release/fastled-windows-x64.zip artifacts/fastled-Windows-X64/fastled.exe
149
+ [ -f artifacts/fastled-Linux-X64/fastled ] && chmod +x artifacts/fastled-Linux-X64/fastled && zip -j release/fastled-linux-x64.zip artifacts/fastled-Linux-X64/fastled
150
+ [ -f artifacts/fastled-Linux-ARM64/fastled ] && chmod +x artifacts/fastled-Linux-ARM64/fastled && zip -j release/fastled-linux-arm64.zip artifacts/fastled-Linux-ARM64/fastled
151
+ [ -f artifacts/fastled-macOS-ARM64/fastled ] && chmod +x artifacts/fastled-macOS-ARM64/fastled && zip -j release/fastled-macos-arm64.zip artifacts/fastled-macOS-ARM64/fastled
152
+ [ -f artifacts/fastled-macOS-X64/fastled ] && chmod +x artifacts/fastled-macOS-X64/fastled && zip -j release/fastled-macos-x64.zip artifacts/fastled-macOS-X64/fastled
153
+
154
+ find release -type f -name 'fastled*' -exec chmod +x {} \;
155
+
156
+
157
+ - name: Create Release
158
+ uses: softprops/action-gh-release@v1
159
+ with:
160
+ tag_name: v${{ needs.create-tag.outputs.new_version }}
161
+ files: release/*.zip
162
+ draft: false
163
+ prerelease: false
164
+
165
+ publish-pypi:
166
+ needs: [create-tag]
167
+ if: needs.create-tag.outputs.should_release == 'true'
168
+ runs-on: ubuntu-24.04
169
+ steps:
170
+ - uses: actions/checkout@v4
171
+
172
+ - name: Set up Python
173
+ uses: actions/setup-python@v5
174
+ with:
175
+ python-version: '3.11'
176
+
177
+ - name: Install dependencies for PyPI publishing
178
+ run: |
179
+ pip install build twine
180
+
181
+ - name: Build and Publish to PyPI
182
+ env:
183
+ TWINE_USERNAME: "__token__"
184
+ TWINE_PASSWORD: ${{ secrets.PYPI_API_TOKEN }}
185
+ run: |
186
+ python -m build
187
+ python -m twine upload dist/*
@@ -0,0 +1,54 @@
1
+ name: Test Build Executables
2
+
3
+ on: [push]
4
+
5
+ jobs:
6
+ build:
7
+ runs-on: ${{ matrix.os }}
8
+ strategy:
9
+ matrix:
10
+ os: [
11
+ ubuntu-24.04, # 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-24.04" ]; 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
@@ -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-24.04
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,32 @@
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
+ shell: bash -l {0}
25
+
26
+ - name: Unit tests
27
+ run: ./test
28
+ shell: bash -l {0}
29
+
30
+ - name: live run
31
+ run: pip install . && cd tests/test_ino/wasm && rm -rf fastled_js && time fastled-wasm --web --just-compile && find fastled_js | sort
32
+ shell: bash -l {0}
@@ -0,0 +1,152 @@
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
+ !tests/test_ino/embedded/data
18
+ build/
19
+ develop-eggs/
20
+ dist/
21
+ downloads/
22
+ eggs/
23
+ .eggs/
24
+ lib/
25
+ lib64/
26
+ parts/
27
+ sdist/
28
+ var/
29
+ wheels/
30
+ pip-wheel-metadata/
31
+ share/python-wheels/
32
+ *.egg-info/
33
+ .installed.cfg
34
+ *.egg
35
+ MANIFEST
36
+
37
+ # PyInstaller
38
+ # Usually these files are written by a python script from a template
39
+ # before PyInstaller builds the exe, so as to inject date/other infos into it.
40
+ *.manifest
41
+ *.spec
42
+
43
+ # Installer logs
44
+ pip-log.txt
45
+ pip-delete-this-directory.txt
46
+
47
+ # Unit test / coverage reports
48
+ htmlcov/
49
+ .tox/
50
+ .nox/
51
+ .coverage
52
+ .coverage.*
53
+ .cache
54
+ nosetests.xml
55
+ coverage.xml
56
+ *.cover
57
+ *.py,cover
58
+ .hypothesis/
59
+ .pytest_cache/
60
+
61
+ # Translations
62
+ *.mo
63
+ *.pot
64
+
65
+ # Django stuff:
66
+ *.log
67
+ local_settings.py
68
+ db.sqlite3
69
+ db.sqlite3-journal
70
+
71
+ # Flask stuff:
72
+ instance/
73
+ .webassets-cache
74
+
75
+ # Scrapy stuff:
76
+ .scrapy
77
+
78
+ # Sphinx documentation
79
+ docs/_build/
80
+
81
+ # PyBuilder
82
+ target/
83
+
84
+ # Jupyter Notebook
85
+ .ipynb_checkpoints
86
+
87
+ # IPython
88
+ profile_default/
89
+ ipython_config.py
90
+
91
+ # pyenv
92
+ .python-version
93
+
94
+ # pipenv
95
+ # According to pypa/pipenv#598, it is recommended to include Pipfile.lock in version control.
96
+ # However, in case of collaboration, if having platform-specific dependencies or dependencies
97
+ # having no cross-platform support, pipenv may install dependencies that don't work, or not
98
+ # install all needed dependencies.
99
+ #Pipfile.lock
100
+
101
+ # PEP 582; used by e.g. github.com/David-OConnor/pyflow
102
+ __pypackages__/
103
+
104
+ # Celery stuff
105
+ celerybeat-schedule
106
+ celerybeat.pid
107
+
108
+ # SageMath parsed files
109
+ *.sage.py
110
+
111
+ # Environments
112
+ .env
113
+ .venv
114
+ env/
115
+ venv/
116
+ ENV/
117
+ env.bak/
118
+ venv.bak/
119
+
120
+ # Spyder project settings
121
+ .spyderproject
122
+ .spyproject
123
+
124
+ # Rope project settings
125
+ .ropeproject
126
+
127
+ # mkdocs documentation
128
+ /site
129
+
130
+ # mypy
131
+ .mypy_cache/
132
+ .dmypy.json
133
+ dmypy.json
134
+
135
+ # Pyre type checker
136
+ .pyre/
137
+ .activate.sh
138
+ activate
139
+
140
+ # Generated by mac
141
+ **/.DS_Store
142
+ uv.lock
143
+ fastled_js
144
+ .aider*
145
+ !.aider.conf.yml
146
+ !.aiderignorerun.py
147
+ run.sh
148
+ !.aiderignore
149
+ tmp/
150
+ cache/
151
+ dist/
152
+ /fastled/
@@ -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