fastled 1.4.33__tar.gz → 1.4.34__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.
- {fastled-1.4.33 → fastled-1.4.34}/PKG-INFO +1 -1
- fastled-1.4.34/requirements.docker.txt +1 -0
- {fastled-1.4.33 → fastled-1.4.34}/src/fastled/__init__.py +2 -1
- {fastled-1.4.33 → fastled-1.4.34}/src/fastled/__version__.py +1 -1
- {fastled-1.4.33 → fastled-1.4.34}/src/fastled/app.py +2 -1
- {fastled-1.4.33 → fastled-1.4.34}/src/fastled/client_server.py +10 -5
- {fastled-1.4.33 → fastled-1.4.34}/src/fastled/compile_server_impl.py +2 -1
- fastled-1.4.34/src/fastled/emoji_util.py +15 -0
- {fastled-1.4.33 → fastled-1.4.34}/src/fastled.egg-info/PKG-INFO +1 -1
- {fastled-1.4.33 → fastled-1.4.34}/src/fastled.egg-info/SOURCES.txt +1 -0
- fastled-1.4.33/requirements.docker.txt +0 -1
- {fastled-1.4.33 → fastled-1.4.34}/.aiderignore +0 -0
- {fastled-1.4.33 → fastled-1.4.34}/.cursorrules +0 -0
- {fastled-1.4.33 → fastled-1.4.34}/.dockerignore +0 -0
- {fastled-1.4.33 → fastled-1.4.34}/.github/workflows/build_multi_docker_image.yml +0 -0
- {fastled-1.4.33 → fastled-1.4.34}/.github/workflows/build_webpage.yml +0 -0
- {fastled-1.4.33 → fastled-1.4.34}/.github/workflows/lint.yml +0 -0
- {fastled-1.4.33 → fastled-1.4.34}/.github/workflows/publish_release.yml +0 -0
- {fastled-1.4.33 → fastled-1.4.34}/.github/workflows/template_build_docker_image.yml +0 -0
- {fastled-1.4.33 → fastled-1.4.34}/.github/workflows/test_build_exe.yml +0 -0
- {fastled-1.4.33 → fastled-1.4.34}/.github/workflows/test_macos.yml +0 -0
- {fastled-1.4.33 → fastled-1.4.34}/.github/workflows/test_ubuntu.yml +0 -0
- {fastled-1.4.33 → fastled-1.4.34}/.github/workflows/test_win.yml +0 -0
- {fastled-1.4.33 → fastled-1.4.34}/.gitignore +0 -0
- {fastled-1.4.33 → fastled-1.4.34}/.pylintrc +0 -0
- {fastled-1.4.33 → fastled-1.4.34}/.vscode/launch.json +0 -0
- {fastled-1.4.33 → fastled-1.4.34}/.vscode/settings.json +0 -0
- {fastled-1.4.33 → fastled-1.4.34}/.vscode/tasks.json +0 -0
- {fastled-1.4.33 → fastled-1.4.34}/DEBUGGER.md +0 -0
- {fastled-1.4.33 → fastled-1.4.34}/Dockerfile +0 -0
- {fastled-1.4.33 → fastled-1.4.34}/FAQ.md +0 -0
- {fastled-1.4.33 → fastled-1.4.34}/LICENSE +0 -0
- {fastled-1.4.33 → fastled-1.4.34}/MANIFEST.in +0 -0
- {fastled-1.4.33 → fastled-1.4.34}/README.md +0 -0
- {fastled-1.4.33 → fastled-1.4.34}/RELEASE.md +0 -0
- {fastled-1.4.33 → fastled-1.4.34}/TODO.md +0 -0
- {fastled-1.4.33 → fastled-1.4.34}/build_exe.py +0 -0
- {fastled-1.4.33 → fastled-1.4.34}/build_local_docker.py +0 -0
- {fastled-1.4.33 → fastled-1.4.34}/build_site.py +0 -0
- {fastled-1.4.33 → fastled-1.4.34}/chrome_vscode_bridge_design_task.md +0 -0
- {fastled-1.4.33 → fastled-1.4.34}/clean +0 -0
- {fastled-1.4.33 → fastled-1.4.34}/compiler/debug.sh +0 -0
- {fastled-1.4.33 → fastled-1.4.34}/compiler/run.py +0 -0
- {fastled-1.4.33 → fastled-1.4.34}/demo/100dots.html +0 -0
- {fastled-1.4.33 → fastled-1.4.34}/demo/demo_threejs.html +0 -0
- {fastled-1.4.33 → fastled-1.4.34}/demo/micdemo.html +0 -0
- {fastled-1.4.33 → fastled-1.4.34}/demo/mp3upload.html +0 -0
- {fastled-1.4.33 → fastled-1.4.34}/demo/webgl_postprocessing_unreal_bloom.html +0 -0
- {fastled-1.4.33 → fastled-1.4.34}/docker-compose.yml +0 -0
- {fastled-1.4.33 → fastled-1.4.34}/entrypoint.sh +0 -0
- {fastled-1.4.33 → fastled-1.4.34}/install +0 -0
- {fastled-1.4.33 → fastled-1.4.34}/install_linux.sh +0 -0
- {fastled-1.4.33 → fastled-1.4.34}/lint +0 -0
- {fastled-1.4.33 → fastled-1.4.34}/pyproject.toml +0 -0
- {fastled-1.4.33 → fastled-1.4.34}/requirements.testing.txt +0 -0
- {fastled-1.4.33 → fastled-1.4.34}/setup.cfg +0 -0
- {fastled-1.4.33 → fastled-1.4.34}/setup.py +0 -0
- {fastled-1.4.33 → fastled-1.4.34}/src/fastled/__main__.py +0 -0
- {fastled-1.4.33 → fastled-1.4.34}/src/fastled/args.py +0 -0
- {fastled-1.4.33 → fastled-1.4.34}/src/fastled/assets/example.txt +0 -0
- {fastled-1.4.33 → fastled-1.4.34}/src/fastled/assets/localhost-key.pem +0 -0
- {fastled-1.4.33 → fastled-1.4.34}/src/fastled/assets/localhost.pem +0 -0
- {fastled-1.4.33 → fastled-1.4.34}/src/fastled/cli.py +0 -0
- {fastled-1.4.33 → fastled-1.4.34}/src/fastled/cli_test.py +0 -0
- {fastled-1.4.33 → fastled-1.4.34}/src/fastled/cli_test_interactive.py +0 -0
- {fastled-1.4.33 → fastled-1.4.34}/src/fastled/compile_server.py +0 -0
- {fastled-1.4.33 → fastled-1.4.34}/src/fastled/docker_manager.py +0 -0
- {fastled-1.4.33 → fastled-1.4.34}/src/fastled/filewatcher.py +0 -0
- {fastled-1.4.33 → fastled-1.4.34}/src/fastled/find_good_connection.py +0 -0
- {fastled-1.4.33 → fastled-1.4.34}/src/fastled/install/__init__.py +0 -0
- {fastled-1.4.33 → fastled-1.4.34}/src/fastled/install/examples_manager.py +0 -0
- {fastled-1.4.33 → fastled-1.4.34}/src/fastled/install/extension_manager.py +0 -0
- {fastled-1.4.33 → fastled-1.4.34}/src/fastled/install/main.py +0 -0
- {fastled-1.4.33 → fastled-1.4.34}/src/fastled/install/project_detection.py +0 -0
- {fastled-1.4.33 → fastled-1.4.34}/src/fastled/install/test_install.py +0 -0
- {fastled-1.4.33 → fastled-1.4.34}/src/fastled/install/vscode_config.py +0 -0
- {fastled-1.4.33 → fastled-1.4.34}/src/fastled/interruptible_http.py +0 -0
- {fastled-1.4.33 → fastled-1.4.34}/src/fastled/keyboard.py +0 -0
- {fastled-1.4.33 → fastled-1.4.34}/src/fastled/keyz.py +0 -0
- {fastled-1.4.33 → fastled-1.4.34}/src/fastled/live_client.py +0 -0
- {fastled-1.4.33 → fastled-1.4.34}/src/fastled/open_browser.py +0 -0
- {fastled-1.4.33 → fastled-1.4.34}/src/fastled/parse_args.py +0 -0
- {fastled-1.4.33 → fastled-1.4.34}/src/fastled/paths.py +0 -0
- {fastled-1.4.33 → fastled-1.4.34}/src/fastled/playwright/chrome_extension_downloader.py +0 -0
- {fastled-1.4.33 → fastled-1.4.34}/src/fastled/playwright/playwright_browser.py +0 -0
- {fastled-1.4.33 → fastled-1.4.34}/src/fastled/playwright/resize_tracking.py +0 -0
- {fastled-1.4.33 → fastled-1.4.34}/src/fastled/print_filter.py +0 -0
- {fastled-1.4.33 → fastled-1.4.34}/src/fastled/project_init.py +0 -0
- {fastled-1.4.33 → fastled-1.4.34}/src/fastled/select_sketch_directory.py +0 -0
- {fastled-1.4.33 → fastled-1.4.34}/src/fastled/server_flask.py +0 -0
- {fastled-1.4.33 → fastled-1.4.34}/src/fastled/server_start.py +0 -0
- {fastled-1.4.33 → fastled-1.4.34}/src/fastled/settings.py +0 -0
- {fastled-1.4.33 → fastled-1.4.34}/src/fastled/site/build.py +0 -0
- {fastled-1.4.33 → fastled-1.4.34}/src/fastled/site/examples.py +0 -0
- {fastled-1.4.33 → fastled-1.4.34}/src/fastled/sketch.py +0 -0
- {fastled-1.4.33 → fastled-1.4.34}/src/fastled/spinner.py +0 -0
- {fastled-1.4.33 → fastled-1.4.34}/src/fastled/string_diff.py +0 -0
- {fastled-1.4.33 → fastled-1.4.34}/src/fastled/test/can_run_local_docker_tests.py +0 -0
- {fastled-1.4.33 → fastled-1.4.34}/src/fastled/test/examples.py +0 -0
- {fastled-1.4.33 → fastled-1.4.34}/src/fastled/types.py +0 -0
- {fastled-1.4.33 → fastled-1.4.34}/src/fastled/util.py +0 -0
- {fastled-1.4.33 → fastled-1.4.34}/src/fastled/version.py +0 -0
- {fastled-1.4.33 → fastled-1.4.34}/src/fastled/web_compile.py +0 -0
- {fastled-1.4.33 → fastled-1.4.34}/src/fastled/zip_files.py +0 -0
- {fastled-1.4.33 → fastled-1.4.34}/src/fastled.egg-info/dependency_links.txt +0 -0
- {fastled-1.4.33 → fastled-1.4.34}/src/fastled.egg-info/entry_points.txt +0 -0
- {fastled-1.4.33 → fastled-1.4.34}/src/fastled.egg-info/requires.txt +0 -0
- {fastled-1.4.33 → fastled-1.4.34}/src/fastled.egg-info/top_level.txt +0 -0
- {fastled-1.4.33 → fastled-1.4.34}/task.md +0 -0
- {fastled-1.4.33 → fastled-1.4.34}/task2.md +0 -0
- {fastled-1.4.33 → fastled-1.4.34}/test +0 -0
- {fastled-1.4.33 → fastled-1.4.34}/tests/integration/test_build_examples.py +0 -0
- {fastled-1.4.33 → fastled-1.4.34}/tests/integration/test_examples.py +0 -0
- {fastled-1.4.33 → fastled-1.4.34}/tests/integration/test_libcompile.py +0 -0
- {fastled-1.4.33 → fastled-1.4.34}/tests/integration/test_playwright_integration.py +0 -0
- {fastled-1.4.33 → fastled-1.4.34}/tests/unit/html/index.html +0 -0
- {fastled-1.4.33 → fastled-1.4.34}/tests/unit/test_api.py +0 -0
- {fastled-1.4.33 → fastled-1.4.34}/tests/unit/test_bad_ino.py +0 -0
- {fastled-1.4.33 → fastled-1.4.34}/tests/unit/test_banner_string.py +0 -0
- {fastled-1.4.33 → fastled-1.4.34}/tests/unit/test_cli.py +0 -0
- {fastled-1.4.33 → fastled-1.4.34}/tests/unit/test_cli_no_platformio.py +0 -0
- {fastled-1.4.33 → fastled-1.4.34}/tests/unit/test_compile_server.py +0 -0
- {fastled-1.4.33 → fastled-1.4.34}/tests/unit/test_debug_fetch_source_files.py +0 -0
- {fastled-1.4.33 → fastled-1.4.34}/tests/unit/test_docker_linux_on_windows.py +0 -0
- {fastled-1.4.33 → fastled-1.4.34}/tests/unit/test_embedded_data.py +0 -0
- {fastled-1.4.33 → fastled-1.4.34}/tests/unit/test_filechanger.py +0 -0
- {fastled-1.4.33 → fastled-1.4.34}/tests/unit/test_flask_headers.py +0 -0
- {fastled-1.4.33 → fastled-1.4.34}/tests/unit/test_http_server.py +0 -0
- {fastled-1.4.33 → fastled-1.4.34}/tests/unit/test_ino/bad/bad.ino +0 -0
- {fastled-1.4.33 → fastled-1.4.34}/tests/unit/test_ino/bad_platformio/bad_platformio.ino +0 -0
- {fastled-1.4.33 → fastled-1.4.34}/tests/unit/test_ino/bad_platformio/platformio.ini +0 -0
- {fastled-1.4.33 → fastled-1.4.34}/tests/unit/test_ino/embedded/data/bigdata.dat +0 -0
- {fastled-1.4.33 → fastled-1.4.34}/tests/unit/test_ino/embedded/wasm.ino +0 -0
- {fastled-1.4.33 → fastled-1.4.34}/tests/unit/test_ino/wasm/wasm.ino +0 -0
- {fastled-1.4.33 → fastled-1.4.34}/tests/unit/test_manual_api_invocation.py +0 -0
- {fastled-1.4.33 → fastled-1.4.34}/tests/unit/test_no_platformio_compile.py +0 -0
- {fastled-1.4.33 → fastled-1.4.34}/tests/unit/test_project_init.py +0 -0
- {fastled-1.4.33 → fastled-1.4.34}/tests/unit/test_server_and_client_seperatly.py +0 -0
- {fastled-1.4.33 → fastled-1.4.34}/tests/unit/test_session_compile.py +0 -0
- {fastled-1.4.33 → fastled-1.4.34}/tests/unit/test_string_diff.py +0 -0
- {fastled-1.4.33 → fastled-1.4.34}/tests/unit/test_string_diff_comprehensive.py +0 -0
- {fastled-1.4.33 → fastled-1.4.34}/tests/unit/test_version.py +0 -0
- {fastled-1.4.33 → fastled-1.4.34}/tests/unit/test_webcompile.py +0 -0
- {fastled-1.4.33 → fastled-1.4.34}/upload_package.sh +0 -0
- {fastled-1.4.33 → fastled-1.4.34}/vscode-plugin/readme +0 -0
@@ -0,0 +1 @@
|
|
1
|
+
fastled-wasm-server>=1.1.38
|
@@ -7,6 +7,7 @@ from typing import Generator
|
|
7
7
|
|
8
8
|
from .__version__ import __version__
|
9
9
|
from .compile_server import CompileServer
|
10
|
+
from .emoji_util import EMO
|
10
11
|
from .live_client import LiveClient
|
11
12
|
from .settings import DOCKER_FILE, IMAGE_NAME
|
12
13
|
from .site.build import build
|
@@ -54,7 +55,7 @@ class Api:
|
|
54
55
|
allow_libcompile = looks_like_fastled_repo(Path(".").resolve())
|
55
56
|
if not allow_libcompile:
|
56
57
|
print(
|
57
|
-
"⚠️ libfastled compilation disabled: not running in FastLED repository"
|
58
|
+
f"{EMO('⚠️', 'WARNING:')} libfastled compilation disabled: not running in FastLED repository"
|
58
59
|
)
|
59
60
|
|
60
61
|
out: CompileResult = web_compile(
|
@@ -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.4.
|
4
|
+
__version__ = "1.4.34"
|
5
5
|
|
6
6
|
__version_url_latest__ = "https://raw.githubusercontent.com/zackees/fastled-wasm/refs/heads/main/src/fastled/__version__.py"
|
@@ -9,6 +9,7 @@ from pathlib import Path
|
|
9
9
|
|
10
10
|
from fastled.client_server import run_client_server
|
11
11
|
from fastled.compile_server import CompileServer
|
12
|
+
from fastled.emoji_util import EMO
|
12
13
|
from fastled.filewatcher import file_watcher_set
|
13
14
|
from fastled.parse_args import Args, parse_args
|
14
15
|
from fastled.sketch import find_sketch_directories, looks_like_fastled_repo
|
@@ -79,7 +80,7 @@ def main() -> int:
|
|
79
80
|
# Check if Playwright browsers are installed
|
80
81
|
playwright_dir = Path.home() / ".fastled" / "playwright"
|
81
82
|
if playwright_dir.exists() and any(playwright_dir.iterdir()):
|
82
|
-
print(f"🎭 Playwright browsers available at: {playwright_dir}")
|
83
|
+
print(f"{EMO('🎭', '*')} Playwright browsers available at: {playwright_dir}")
|
83
84
|
|
84
85
|
# Resolve some of the last interactive arguments
|
85
86
|
# 1. If interactive is set and the sketch directory is not given,
|
@@ -10,6 +10,7 @@ from pathlib import Path
|
|
10
10
|
|
11
11
|
from fastled.compile_server import CompileServer
|
12
12
|
from fastled.docker_manager import DockerManager
|
13
|
+
from fastled.emoji_util import EMO
|
13
14
|
from fastled.filewatcher import DebouncedFileWatcherProcess, FileWatcherProcess
|
14
15
|
from fastled.find_good_connection import ConnectionResult
|
15
16
|
from fastled.keyboard import SpaceBarWatcher
|
@@ -100,7 +101,7 @@ def _run_web_compiler(
|
|
100
101
|
|
101
102
|
# Guard: libfastled compilation requires volume source mapping
|
102
103
|
if not allow_libcompile:
|
103
|
-
print("⚠️ libfastled compilation disabled.")
|
104
|
+
print(f"{EMO('⚠️', 'WARNING:')} libfastled compilation disabled.")
|
104
105
|
|
105
106
|
start = time.time()
|
106
107
|
web_result = web_compile(
|
@@ -283,16 +284,20 @@ def _background_update_docker_image() -> None:
|
|
283
284
|
image_name=IMAGE_NAME, tag="latest", upgrade=True
|
284
285
|
)
|
285
286
|
if updated:
|
286
|
-
print(
|
287
|
+
print(
|
288
|
+
f"{EMO('✅', 'SUCCESS:')} Background docker image update completed successfully."
|
289
|
+
)
|
287
290
|
else:
|
288
|
-
print("ℹ️ Docker image was already up to date.")
|
291
|
+
print(f"{EMO('ℹ️', 'INFO:')} Docker image was already up to date.")
|
289
292
|
except KeyboardInterrupt:
|
290
|
-
print(
|
293
|
+
print(
|
294
|
+
f"{EMO('⚠️', 'WARNING:')} Background docker image update interrupted by user."
|
295
|
+
)
|
291
296
|
import _thread
|
292
297
|
|
293
298
|
_thread.interrupt_main()
|
294
299
|
except Exception as e:
|
295
|
-
print(f"⚠️ Background docker image update failed: {e}")
|
300
|
+
print(f"{EMO('⚠️', 'WARNING:')} Background docker image update failed: {e}")
|
296
301
|
|
297
302
|
|
298
303
|
def _is_local_host(url: str) -> bool:
|
@@ -15,6 +15,7 @@ from fastled.docker_manager import (
|
|
15
15
|
RunningContainer,
|
16
16
|
Volume,
|
17
17
|
)
|
18
|
+
from fastled.emoji_util import EMO
|
18
19
|
from fastled.settings import DEFAULT_CONTAINER_NAME, IMAGE_NAME, SERVER_PORT
|
19
20
|
from fastled.sketch import looks_like_fastled_repo
|
20
21
|
from fastled.types import BuildMode, CompileResult, CompileServerError
|
@@ -76,7 +77,7 @@ class CompileServerImpl:
|
|
76
77
|
# If we don't have fastled_src_dir (not in FastLED repo), disable libcompile
|
77
78
|
if allow_libcompile and self.fastled_src_dir is None:
|
78
79
|
print(
|
79
|
-
"⚠️ libfastled compilation disabled: volume source mapping not available"
|
80
|
+
f"{EMO('⚠️', 'WARNING:')} libfastled compilation disabled: volume source mapping not available"
|
80
81
|
)
|
81
82
|
print(" (not running in FastLED repository)")
|
82
83
|
allow_libcompile = False
|
@@ -0,0 +1,15 @@
|
|
1
|
+
"""
|
2
|
+
Emoji utility functions for handling Unicode display issues on Windows cmd.exe
|
3
|
+
"""
|
4
|
+
|
5
|
+
import sys
|
6
|
+
|
7
|
+
|
8
|
+
def EMO(emoji: str, fallback: str) -> str:
|
9
|
+
"""Get emoji with fallback for systems that don't support Unicode properly"""
|
10
|
+
try:
|
11
|
+
# Test if we can encode the emoji properly
|
12
|
+
emoji.encode(sys.stdout.encoding or "utf-8")
|
13
|
+
return emoji
|
14
|
+
except (UnicodeEncodeError, AttributeError):
|
15
|
+
return fallback
|
@@ -60,6 +60,7 @@ src/fastled/client_server.py
|
|
60
60
|
src/fastled/compile_server.py
|
61
61
|
src/fastled/compile_server_impl.py
|
62
62
|
src/fastled/docker_manager.py
|
63
|
+
src/fastled/emoji_util.py
|
63
64
|
src/fastled/filewatcher.py
|
64
65
|
src/fastled/find_good_connection.py
|
65
66
|
src/fastled/interruptible_http.py
|
@@ -1 +0,0 @@
|
|
1
|
-
fastled-wasm-server>=1.1.37
|
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
|
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
|
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
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|