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/CHANGELOG.md b/CHANGELOG.md index 0da92f2..91d16db 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,16 +1,65 @@ +## v1.1.1 (2026-01-06) + +### Fix + +- refine Plotly dependencies for platform compatibility + +## 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) +### 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 - **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 @@ -18,4 +67,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) 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 diff --git a/pyproject.toml b/pyproject.toml index 336c57a..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 = [ @@ -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..f17ae9e 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 = [ @@ -607,14 +607,15 @@ wheels = [ [[package]] name = "funcnodes-plotly" -version = "1.1.0" +version = "1.1.1" source = { editable = "." } dependencies = [ { name = "funcnodes" }, { 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 = [