From 2a709617335916ecb1aeb490776fe60c8a15df83 Mon Sep 17 00:00:00 2001 From: JulianKimmig Date: Tue, 6 Jan 2026 14:45:32 +0100 Subject: [PATCH 1/6] chore: refine Plotly dependencies for platform compatibility - Updated Plotly dependencies in pyproject.toml to conditionally include versions based on the system platform. - Ensured compatibility for both emscripten and non-emscripten environments. --- pyproject.toml | 4 +++- uv.lock | 26 ++++++++++++++------------ 2 files changed, 17 insertions(+), 13 deletions(-) diff --git a/pyproject.toml b/pyproject.toml index 336c57a..5dc0577 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -12,7 +12,9 @@ dependencies = [ "funcnodes_pandas>=0.2.3", "funcnodes_core>=0.3.51", "funcnodes_images", - "plotly[kaleido]>=6.0.0", + "plotly[kaleido]>=6.0.0; sys_platform != 'emscripten'", + "plotly>=6.0.0; sys_platform == 'emscripten'", + ] requires-python = ">=3.11" diff --git a/uv.lock b/uv.lock index 1e8ae53..c2e8c85 100644 --- a/uv.lock +++ b/uv.lock @@ -1,5 +1,5 @@ version = 1 -revision = 2 +revision = 3 requires-python = ">=3.11" resolution-markers = [ "python_full_version >= '3.12' and sys_platform == 'emscripten'", @@ -297,8 +297,8 @@ name = "choreographer" version = "1.2.0" source = { registry = "https://pypi.org/simple" } dependencies = [ - { name = "logistro" }, - { name = "simplejson" }, + { name = "logistro", marker = "sys_platform != 'emscripten'" }, + { name = "simplejson", marker = "sys_platform != 'emscripten'" }, ] sdist = { url = "https://files.pythonhosted.org/packages/c0/3a/1188b57af6d96a6dad9418a10d00e20109d3ac64db0545205222b53306ee/choreographer-1.2.0.tar.gz", hash = "sha256:c94eaf6eb3dbc81d68e1476139e69e9e072f4e90fcae1990e5c988d15079d346", size = 45001, upload-time = "2025-10-23T00:32:57.11Z" } wheels = [ @@ -614,7 +614,8 @@ dependencies = [ { name = "funcnodes-core" }, { name = "funcnodes-images" }, { name = "funcnodes-pandas" }, - { name = "plotly", extra = ["kaleido"] }, + { name = "plotly" }, + { name = "plotly", extra = ["kaleido"], marker = "sys_platform != 'emscripten'" }, ] [package.dev-dependencies] @@ -632,7 +633,8 @@ requires-dist = [ { name = "funcnodes-core", specifier = ">=0.3.51" }, { name = "funcnodes-images" }, { name = "funcnodes-pandas", specifier = ">=0.2.3" }, - { name = "plotly", extras = ["kaleido"], specifier = ">=6.0.0" }, + { name = "plotly", marker = "sys_platform == 'emscripten'", specifier = ">=6.0.0" }, + { name = "plotly", extras = ["kaleido"], marker = "sys_platform != 'emscripten'", specifier = ">=6.0.0" }, ] [package.metadata.requires-dev] @@ -715,11 +717,11 @@ name = "kaleido" version = "1.1.0" source = { registry = "https://pypi.org/simple" } dependencies = [ - { name = "choreographer" }, - { name = "logistro" }, - { name = "orjson" }, - { name = "packaging" }, - { name = "pytest-timeout" }, + { name = "choreographer", marker = "sys_platform != 'emscripten'" }, + { name = "logistro", marker = "sys_platform != 'emscripten'" }, + { name = "orjson", marker = "sys_platform != 'emscripten'" }, + { name = "packaging", marker = "sys_platform != 'emscripten'" }, + { name = "pytest-timeout", marker = "sys_platform != 'emscripten'" }, ] sdist = { url = "https://files.pythonhosted.org/packages/49/0c/3624462629aeb9f5bb043583848ce300b4315e8249b393c494c84149b953/kaleido-1.1.0.tar.gz", hash = "sha256:5747703a56d4c034efa69abea4a9c2bfe8ef516ba848e0ec485c65b3b0ab52b6", size = 62044, upload-time = "2025-09-10T19:31:13.925Z" } wheels = [ @@ -1292,7 +1294,7 @@ wheels = [ [package.optional-dependencies] kaleido = [ - { name = "kaleido" }, + { name = "kaleido", marker = "sys_platform != 'emscripten'" }, ] [[package]] @@ -1475,7 +1477,7 @@ name = "pytest-timeout" version = "2.4.0" source = { registry = "https://pypi.org/simple" } dependencies = [ - { name = "pytest" }, + { name = "pytest", marker = "sys_platform != 'emscripten'" }, ] sdist = { url = "https://files.pythonhosted.org/packages/ac/82/4c9ecabab13363e72d880f2fb504c5f750433b2b6f16e99f4ec21ada284c/pytest_timeout-2.4.0.tar.gz", hash = "sha256:7e68e90b01f9eff71332b25001f85c75495fc4e3a836701876183c4bcfd0540a", size = 17973, upload-time = "2025-05-05T19:44:34.99Z" } wheels = [ From 7a9a148cb9d47a0bc7475e50f64137a43795d487 Mon Sep 17 00:00:00 2001 From: JulianKimmig Date: Tue, 6 Jan 2026 14:58:57 +0100 Subject: [PATCH 2/6] fix: refine Plotly dependencies for platform compatibility - Updated plotly dependency in pyproject.toml to specify different versions based on the system platform. - Ensured compatibility for emscripten and non-emscripten environments. --- .pre-commit-config.yaml | 6 ++++++ pyproject.toml | 4 +++- uv.lock | 26 ++++++++++++++------------ 3 files changed, 23 insertions(+), 13 deletions(-) diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index eabfaa4..98fcbf4 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -30,3 +30,9 @@ repos: hooks: - id: flake8 args: ["--config=.flake8"] + + - repo: https://github.com/commitizen-tools/commitizen + rev: v4.9.1 + hooks: + - id: commitizen + stages: [commit-msg] diff --git a/pyproject.toml b/pyproject.toml index 336c57a..5dc0577 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -12,7 +12,9 @@ dependencies = [ "funcnodes_pandas>=0.2.3", "funcnodes_core>=0.3.51", "funcnodes_images", - "plotly[kaleido]>=6.0.0", + "plotly[kaleido]>=6.0.0; sys_platform != 'emscripten'", + "plotly>=6.0.0; sys_platform == 'emscripten'", + ] requires-python = ">=3.11" diff --git a/uv.lock b/uv.lock index 1e8ae53..c2e8c85 100644 --- a/uv.lock +++ b/uv.lock @@ -1,5 +1,5 @@ version = 1 -revision = 2 +revision = 3 requires-python = ">=3.11" resolution-markers = [ "python_full_version >= '3.12' and sys_platform == 'emscripten'", @@ -297,8 +297,8 @@ name = "choreographer" version = "1.2.0" source = { registry = "https://pypi.org/simple" } dependencies = [ - { name = "logistro" }, - { name = "simplejson" }, + { name = "logistro", marker = "sys_platform != 'emscripten'" }, + { name = "simplejson", marker = "sys_platform != 'emscripten'" }, ] sdist = { url = "https://files.pythonhosted.org/packages/c0/3a/1188b57af6d96a6dad9418a10d00e20109d3ac64db0545205222b53306ee/choreographer-1.2.0.tar.gz", hash = "sha256:c94eaf6eb3dbc81d68e1476139e69e9e072f4e90fcae1990e5c988d15079d346", size = 45001, upload-time = "2025-10-23T00:32:57.11Z" } wheels = [ @@ -614,7 +614,8 @@ dependencies = [ { name = "funcnodes-core" }, { name = "funcnodes-images" }, { name = "funcnodes-pandas" }, - { name = "plotly", extra = ["kaleido"] }, + { name = "plotly" }, + { name = "plotly", extra = ["kaleido"], marker = "sys_platform != 'emscripten'" }, ] [package.dev-dependencies] @@ -632,7 +633,8 @@ requires-dist = [ { name = "funcnodes-core", specifier = ">=0.3.51" }, { name = "funcnodes-images" }, { name = "funcnodes-pandas", specifier = ">=0.2.3" }, - { name = "plotly", extras = ["kaleido"], specifier = ">=6.0.0" }, + { name = "plotly", marker = "sys_platform == 'emscripten'", specifier = ">=6.0.0" }, + { name = "plotly", extras = ["kaleido"], marker = "sys_platform != 'emscripten'", specifier = ">=6.0.0" }, ] [package.metadata.requires-dev] @@ -715,11 +717,11 @@ name = "kaleido" version = "1.1.0" source = { registry = "https://pypi.org/simple" } dependencies = [ - { name = "choreographer" }, - { name = "logistro" }, - { name = "orjson" }, - { name = "packaging" }, - { name = "pytest-timeout" }, + { name = "choreographer", marker = "sys_platform != 'emscripten'" }, + { name = "logistro", marker = "sys_platform != 'emscripten'" }, + { name = "orjson", marker = "sys_platform != 'emscripten'" }, + { name = "packaging", marker = "sys_platform != 'emscripten'" }, + { name = "pytest-timeout", marker = "sys_platform != 'emscripten'" }, ] sdist = { url = "https://files.pythonhosted.org/packages/49/0c/3624462629aeb9f5bb043583848ce300b4315e8249b393c494c84149b953/kaleido-1.1.0.tar.gz", hash = "sha256:5747703a56d4c034efa69abea4a9c2bfe8ef516ba848e0ec485c65b3b0ab52b6", size = 62044, upload-time = "2025-09-10T19:31:13.925Z" } wheels = [ @@ -1292,7 +1294,7 @@ wheels = [ [package.optional-dependencies] kaleido = [ - { name = "kaleido" }, + { name = "kaleido", marker = "sys_platform != 'emscripten'" }, ] [[package]] @@ -1475,7 +1477,7 @@ name = "pytest-timeout" version = "2.4.0" source = { registry = "https://pypi.org/simple" } dependencies = [ - { name = "pytest" }, + { name = "pytest", marker = "sys_platform != 'emscripten'" }, ] sdist = { url = "https://files.pythonhosted.org/packages/ac/82/4c9ecabab13363e72d880f2fb504c5f750433b2b6f16e99f4ec21ada284c/pytest_timeout-2.4.0.tar.gz", hash = "sha256:7e68e90b01f9eff71332b25001f85c75495fc4e3a836701876183c4bcfd0540a", size = 17973, upload-time = "2025-05-05T19:44:34.99Z" } wheels = [ From 3cc199d4a0d5b48fd08366095e24005bc7decf9d Mon Sep 17 00:00:00 2001 From: JulianKimmig Date: Tue, 6 Jan 2026 15:00:45 +0100 Subject: [PATCH 3/6] chore: add Commitizen configuration for conventional commits - Introduced a new cz.toml file to configure Commitizen for conventional commit messages. - Set up versioning scheme and changelog updates on version bumps. --- cz.toml | 6 ++++++ 1 file changed, 6 insertions(+) create mode 100644 cz.toml diff --git a/cz.toml b/cz.toml new file mode 100644 index 0000000..e1d8a7b --- /dev/null +++ b/cz.toml @@ -0,0 +1,6 @@ +[tool.commitizen] +name = "cz_conventional_commits" +tag_format = "$version" +version_scheme = "pep440" +version_provider = "uv" +update_changelog_on_bump = true From bae8bdb90a81707ba293145b1720f21f5792e7ba Mon Sep 17 00:00:00 2001 From: JulianKimmig Date: Tue, 6 Jan 2026 15:03:15 +0100 Subject: [PATCH 4/6] chore: update CHANGELOG for version 0.3.2 - Added new fixes for test expectations and data handling in plotting functions. - Updated changelog to reflect recent changes and improvements. --- CHANGELOG.md | 35 +++++++++++++++++++++++++++++++++++ 1 file changed, 35 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 0da92f2..24d83f7 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,9 +1,36 @@ ## v0.3.2 (2025-06-06) +### Fix + +- **test**: 🐛 update expected options for x value in test_express_xy +- **data**: 🐛 handle index as x value in plot_multidata function + +## v0.3.1 (2025-04-19) + +## v0.3.0 (2025-03-27) + ### Feat - update package dependencies and refactor render plugin types for improved compatibility + +## v0.2.8 (2025-03-02) + +## v0.2.7 (2025-03-02) + +### Feat + - add CSS styles for funcnodes_plotly_container and update module path in React plugin + +## v0.2.6 (2025-02-28) + +### Fix + +- update kaleido dependency condition for non-Windows platforms + +## v0.2.5 (2025-02-28) + +### Feat + - enhance add_trace function to support optional figure input and handle trace as figure ### Fix @@ -18,4 +45,12 @@ - rename test classes and update output variable names for clarity - update plotting functions to return both trace and figure +## v0.2.4 (2025-01-29) + +## v0.2.3 (2025-01-29) + +## v0.2.2 (2024-10-23) + +## v0.2.1 (2024-09-04) + ## v0.2.0 (2024-08-29) From 54fc5e4009b44d4eb790ad4d46498ee5f13986b6 Mon Sep 17 00:00:00 2001 From: Julian Kimmig Date: Tue, 6 Jan 2026 15:03:46 +0100 Subject: [PATCH 5/6] =?UTF-8?q?bump:=20version=201.1.0=20=E2=86=92=201.1.1?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- CHANGELOG.md | 12 ++++++++++++ pyproject.toml | 2 +- uv.lock | 2 +- 3 files changed, 14 insertions(+), 2 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 24d83f7..805701a 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,15 @@ +## v1.1.1 (2026-01-06) + +### Fix + +- refine Plotly dependencies for platform compatibility +- **action**: 🐛 update install command to include --refresh option for uv sync + +### Refactor + +- **react_plugin**: optimize Plotly rendering with CDN loading +- **react_plugin**: 🛠️ migrate to Vite and update package structure + ## v0.3.2 (2025-06-06) ### Fix diff --git a/pyproject.toml b/pyproject.toml index 5dc0577..ad91a12 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -1,6 +1,6 @@ [project] name = "funcnodes-plotly" -version = "1.1.0" +version = "1.1.1" description = "" readme = "README.md" classifiers = [ diff --git a/uv.lock b/uv.lock index c2e8c85..f17ae9e 100644 --- a/uv.lock +++ b/uv.lock @@ -607,7 +607,7 @@ wheels = [ [[package]] name = "funcnodes-plotly" -version = "1.1.0" +version = "1.1.1" source = { editable = "." } dependencies = [ { name = "funcnodes" }, From 2494cd4a21ede13284a52eeebecce612b4b62906 Mon Sep 17 00:00:00 2001 From: JulianKimmig Date: Tue, 6 Jan 2026 15:10:23 +0100 Subject: [PATCH 6/6] chore: update CHANGELOG for version 1.1.0 - Added new version entry for v1.1.0 with updates on fixes and refactors. - Included details on the optimization of Plotly rendering and installation command adjustments. --- CHANGELOG.md | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 805701a..91d16db 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -3,11 +3,21 @@ ### Fix - refine Plotly dependencies for platform compatibility -- **action**: 🐛 update install command to include --refresh option for uv sync + +## v1.1.0 (2025-11-03) ### Refactor - **react_plugin**: optimize Plotly rendering with CDN loading + +## v1.0.0 (2025-08-29) + +### Fix + +- **action**: 🐛 update install command to include --refresh option for uv sync + +### Refactor + - **react_plugin**: 🛠️ migrate to Vite and update package structure ## v0.3.2 (2025-06-06) @@ -49,7 +59,7 @@ - **data**: 🐛 handle index as x value in plot_multidata function - update kaleido dependency condition for non-Windows platforms -- handle potential purge errors +- handle potential purge errors - handle NoValue in plotting functions to ensure proper data representation ### Refactor