panel-reactflow 0.2.0rc0__tar.gz → 0.2.1__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.
- {panel_reactflow-0.2.0rc0 → panel_reactflow-0.2.1}/.github/workflows/test.yml +1 -0
- {panel_reactflow-0.2.0rc0 → panel_reactflow-0.2.1}/PKG-INFO +1 -1
- {panel_reactflow-0.2.0rc0 → panel_reactflow-0.2.1}/docs/releases.md +27 -0
- {panel_reactflow-0.2.0rc0 → panel_reactflow-0.2.1}/pixi.lock +58 -42
- {panel_reactflow-0.2.0rc0 → panel_reactflow-0.2.1}/src/panel_reactflow/base.py +10 -14
- {panel_reactflow-0.2.0rc0 → panel_reactflow-0.2.1}/tests/test_api.py +0 -56
- panel_reactflow-0.2.1/tests/test_core.py +81 -0
- {panel_reactflow-0.2.0rc0 → panel_reactflow-0.2.1}/tests/ui/test_ui.py +4 -7
- panel_reactflow-0.2.0rc0/tests/test_core.py +0 -8
- {panel_reactflow-0.2.0rc0 → panel_reactflow-0.2.1}/.copier-answers.yml +0 -0
- {panel_reactflow-0.2.0rc0 → panel_reactflow-0.2.1}/.gitattributes +0 -0
- {panel_reactflow-0.2.0rc0 → panel_reactflow-0.2.1}/.github/CODEOWNERS +0 -0
- {panel_reactflow-0.2.0rc0 → panel_reactflow-0.2.1}/.github/dependabot.yml +0 -0
- {panel_reactflow-0.2.0rc0 → panel_reactflow-0.2.1}/.github/workflows/build.yml +0 -0
- {panel_reactflow-0.2.0rc0 → panel_reactflow-0.2.1}/.github/workflows/docs.yml +0 -0
- {panel_reactflow-0.2.0rc0 → panel_reactflow-0.2.1}/.gitignore +0 -0
- {panel_reactflow-0.2.0rc0 → panel_reactflow-0.2.1}/.pre-commit-config.yaml +0 -0
- {panel_reactflow-0.2.0rc0 → panel_reactflow-0.2.1}/.prettierrc +0 -0
- {panel_reactflow-0.2.0rc0 → panel_reactflow-0.2.1}/LICENSE.txt +0 -0
- {panel_reactflow-0.2.0rc0 → panel_reactflow-0.2.1}/MANIFEST.in +0 -0
- {panel_reactflow-0.2.0rc0 → panel_reactflow-0.2.1}/README.md +0 -0
- {panel_reactflow-0.2.0rc0 → panel_reactflow-0.2.1}/docs/assets/logo.svg +0 -0
- {panel_reactflow-0.2.0rc0 → panel_reactflow-0.2.1}/docs/assets/screenshots/declare-types.png +0 -0
- {panel_reactflow-0.2.0rc0 → panel_reactflow-0.2.1}/docs/assets/screenshots/define-editors-edge.png +0 -0
- {panel_reactflow-0.2.0rc0 → panel_reactflow-0.2.1}/docs/assets/screenshots/define-editors-node.png +0 -0
- {panel_reactflow-0.2.0rc0 → panel_reactflow-0.2.1}/docs/assets/screenshots/define-nodes-edges.png +0 -0
- {panel_reactflow-0.2.0rc0 → panel_reactflow-0.2.1}/docs/assets/screenshots/embed-views-in-nodes.png +0 -0
- {panel_reactflow-0.2.0rc0 → panel_reactflow-0.2.1}/docs/assets/screenshots/quickstart.png +0 -0
- {panel_reactflow-0.2.0rc0 → panel_reactflow-0.2.1}/docs/assets/screenshots/react-to-events.png +0 -0
- {panel_reactflow-0.2.0rc0 → panel_reactflow-0.2.1}/docs/assets/screenshots/style-nodes-edges.png +0 -0
- {panel_reactflow-0.2.0rc0 → panel_reactflow-0.2.1}/docs/examples.md +0 -0
- {panel_reactflow-0.2.0rc0 → panel_reactflow-0.2.1}/docs/how-to/declare-types.md +0 -0
- {panel_reactflow-0.2.0rc0 → panel_reactflow-0.2.1}/docs/how-to/define-editors.md +0 -0
- {panel_reactflow-0.2.0rc0 → panel_reactflow-0.2.1}/docs/how-to/define-nodes-edges.md +0 -0
- {panel_reactflow-0.2.0rc0 → panel_reactflow-0.2.1}/docs/how-to/embed-views-in-nodes.md +0 -0
- {panel_reactflow-0.2.0rc0 → panel_reactflow-0.2.1}/docs/how-to/react-to-events.md +0 -0
- {panel_reactflow-0.2.0rc0 → panel_reactflow-0.2.1}/docs/how-to/style-nodes-edges.md +0 -0
- {panel_reactflow-0.2.0rc0 → panel_reactflow-0.2.1}/docs/index.md +0 -0
- {panel_reactflow-0.2.0rc0 → panel_reactflow-0.2.1}/docs/quickstart.md +0 -0
- {panel_reactflow-0.2.0rc0 → panel_reactflow-0.2.1}/docs/reference/panel_reactflow.md +0 -0
- {panel_reactflow-0.2.0rc0 → panel_reactflow-0.2.1}/examples/advanced.py +0 -0
- {panel_reactflow-0.2.0rc0 → panel_reactflow-0.2.1}/examples/custom_editor.py +0 -0
- {panel_reactflow-0.2.0rc0 → panel_reactflow-0.2.1}/examples/edge_editors.py +0 -0
- {panel_reactflow-0.2.0rc0 → panel_reactflow-0.2.1}/examples/schema_types.py +0 -0
- {panel_reactflow-0.2.0rc0 → panel_reactflow-0.2.1}/examples/simple.py +0 -0
- {panel_reactflow-0.2.0rc0 → panel_reactflow-0.2.1}/examples/threejs_viewer.py +0 -0
- {panel_reactflow-0.2.0rc0 → panel_reactflow-0.2.1}/hatch_build.py +0 -0
- {panel_reactflow-0.2.0rc0 → panel_reactflow-0.2.1}/pixi.toml +0 -0
- {panel_reactflow-0.2.0rc0 → panel_reactflow-0.2.1}/pyproject.toml +0 -0
- {panel_reactflow-0.2.0rc0 → panel_reactflow-0.2.1}/src/panel_reactflow/__init__.py +0 -0
- {panel_reactflow-0.2.0rc0 → panel_reactflow-0.2.1}/src/panel_reactflow/__version.py +0 -0
- {panel_reactflow-0.2.0rc0 → panel_reactflow-0.2.1}/src/panel_reactflow/dist/css/reactflow.css +0 -0
- {panel_reactflow-0.2.0rc0 → panel_reactflow-0.2.1}/src/panel_reactflow/dist/icons/gear.svg +0 -0
- {panel_reactflow-0.2.0rc0 → panel_reactflow-0.2.1}/src/panel_reactflow/dist/panel-reactflow.bundle.css +0 -0
- {panel_reactflow-0.2.0rc0 → panel_reactflow-0.2.1}/src/panel_reactflow/dist/panel-reactflow.bundle.js +0 -0
- {panel_reactflow-0.2.0rc0 → panel_reactflow-0.2.1}/src/panel_reactflow/models/reactflow.jsx +0 -0
- {panel_reactflow-0.2.0rc0 → panel_reactflow-0.2.1}/src/panel_reactflow/py.typed +0 -0
- {panel_reactflow-0.2.0rc0 → panel_reactflow-0.2.1}/src/panel_reactflow/schema.py +0 -0
- {panel_reactflow-0.2.0rc0 → panel_reactflow-0.2.1}/tests/__init__.py +0 -0
- {panel_reactflow-0.2.0rc0 → panel_reactflow-0.2.1}/tests/conftest.py +0 -0
- {panel_reactflow-0.2.0rc0 → panel_reactflow-0.2.1}/tests/ui/__init__.py +0 -0
- {panel_reactflow-0.2.0rc0 → panel_reactflow-0.2.1}/zensical.toml +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: panel-reactflow
|
|
3
|
-
Version: 0.2.
|
|
3
|
+
Version: 0.2.1
|
|
4
4
|
Summary: A Panel wrapper for the Reactflow JS library.
|
|
5
5
|
Project-URL: Homepage, https://github.com/panel-extensions/panel-reactflow
|
|
6
6
|
Project-URL: Source, https://github.com/panel-extensions/panel-reactflow
|
|
@@ -1,5 +1,32 @@
|
|
|
1
1
|
# Release Notes
|
|
2
2
|
|
|
3
|
+
## Version 0.2.0
|
|
4
|
+
|
|
5
|
+
This release focuses on stronger typed graph specs, better node-view handling,
|
|
6
|
+
and improved docs and packaging.
|
|
7
|
+
|
|
8
|
+
### Highlights
|
|
9
|
+
|
|
10
|
+
- **`NodeSpec` view support** — added a `view` parameter to `NodeSpec` and
|
|
11
|
+
fixed `add_node` behavior so embedded views are preserved when adding nodes
|
|
12
|
+
programmatically.
|
|
13
|
+
- **Safer embedded view handling** — fixed an `AttributeError` when node views
|
|
14
|
+
are Panel `Viewer` objects or other arbitrary view-like objects.
|
|
15
|
+
- **`EdgeSpec` handle targeting** — added `sourceHandle` and `targetHandle`
|
|
16
|
+
fields to support explicit edge-to-port connections.
|
|
17
|
+
- **Spec auto-serialization** — added automatic serialization for `NodeSpec`
|
|
18
|
+
and `EdgeSpec` objects to reduce boilerplate when using dataclass-based graph
|
|
19
|
+
definitions.
|
|
20
|
+
- **Handle rendering fix** — corrected empty handle list behavior so `[]` is
|
|
21
|
+
treated distinctly from missing/undefined handles.
|
|
22
|
+
- **Styling hook for labels** — added the `rf-node-label` CSS class on node
|
|
23
|
+
labels for easier targeted styling.
|
|
24
|
+
- **Docs and onboarding updates** — quickstart and index docs now explicitly
|
|
25
|
+
document the required `pn.extension("jsoneditor")` setup; additional how-to
|
|
26
|
+
docs were updated for new handle and serialization behavior.
|
|
27
|
+
- **Packaging reliability** — ensured the frontend `dist` assets are included
|
|
28
|
+
in distributions.
|
|
29
|
+
|
|
3
30
|
## Version 0.1.0
|
|
4
31
|
|
|
5
32
|
*Initial release*
|
|
@@ -53,7 +53,7 @@ environments:
|
|
|
53
53
|
- conda: https://conda.anaconda.org/conda-forge/linux-64/lcms2-2.18-h0c24ade_0.conda
|
|
54
54
|
- conda: https://conda.anaconda.org/conda-forge/linux-64/ld_impl_linux-64-2.45.1-default_hbd61a6d_101.conda
|
|
55
55
|
- conda: https://conda.anaconda.org/conda-forge/linux-64/lerc-4.0.0-h0aef613_1.conda
|
|
56
|
-
- conda: https://conda.anaconda.org/conda-forge/linux-64/libabseil-20260107.
|
|
56
|
+
- conda: https://conda.anaconda.org/conda-forge/linux-64/libabseil-20260107.1-cxx17_h7b12aa8_0.conda
|
|
57
57
|
- conda: https://conda.anaconda.org/conda-forge/linux-64/libblas-3.11.0-5_h4a7cf45_openblas.conda
|
|
58
58
|
- conda: https://conda.anaconda.org/conda-forge/linux-64/libbrotlicommon-1.2.0-hb03c661_1.conda
|
|
59
59
|
- conda: https://conda.anaconda.org/conda-forge/linux-64/libbrotlidec-1.2.0-hb03c661_1.conda
|
|
@@ -195,7 +195,7 @@ environments:
|
|
|
195
195
|
- conda: https://conda.anaconda.org/conda-forge/noarch/keyring-25.7.0-pyh534df25_0.conda
|
|
196
196
|
- conda: https://conda.anaconda.org/conda-forge/osx-64/lcms2-2.18-h90db99b_0.conda
|
|
197
197
|
- conda: https://conda.anaconda.org/conda-forge/osx-64/lerc-4.0.0-hcca01a6_1.conda
|
|
198
|
-
- conda: https://conda.anaconda.org/conda-forge/osx-64/libabseil-20260107.
|
|
198
|
+
- conda: https://conda.anaconda.org/conda-forge/osx-64/libabseil-20260107.1-cxx17_h7ed6875_0.conda
|
|
199
199
|
- conda: https://conda.anaconda.org/conda-forge/osx-64/libblas-3.11.0-5_he492b99_openblas.conda
|
|
200
200
|
- conda: https://conda.anaconda.org/conda-forge/osx-64/libbrotlicommon-1.2.0-h8616949_1.conda
|
|
201
201
|
- conda: https://conda.anaconda.org/conda-forge/osx-64/libbrotlidec-1.2.0-h8616949_1.conda
|
|
@@ -331,7 +331,7 @@ environments:
|
|
|
331
331
|
- conda: https://conda.anaconda.org/conda-forge/noarch/keyring-25.7.0-pyh534df25_0.conda
|
|
332
332
|
- conda: https://conda.anaconda.org/conda-forge/osx-arm64/lcms2-2.18-hdfa7624_0.conda
|
|
333
333
|
- conda: https://conda.anaconda.org/conda-forge/osx-arm64/lerc-4.0.0-hd64df32_1.conda
|
|
334
|
-
- conda: https://conda.anaconda.org/conda-forge/osx-arm64/libabseil-20260107.
|
|
334
|
+
- conda: https://conda.anaconda.org/conda-forge/osx-arm64/libabseil-20260107.1-cxx17_h2062a1b_0.conda
|
|
335
335
|
- conda: https://conda.anaconda.org/conda-forge/osx-arm64/libblas-3.11.0-5_h51639a9_openblas.conda
|
|
336
336
|
- conda: https://conda.anaconda.org/conda-forge/osx-arm64/libbrotlicommon-1.2.0-hc919400_1.conda
|
|
337
337
|
- conda: https://conda.anaconda.org/conda-forge/osx-arm64/libbrotlidec-1.2.0-hc919400_1.conda
|
|
@@ -604,7 +604,7 @@ environments:
|
|
|
604
604
|
- conda: https://conda.anaconda.org/conda-forge/linux-64/lcms2-2.18-h0c24ade_0.conda
|
|
605
605
|
- conda: https://conda.anaconda.org/conda-forge/linux-64/ld_impl_linux-64-2.45.1-default_hbd61a6d_101.conda
|
|
606
606
|
- conda: https://conda.anaconda.org/conda-forge/linux-64/lerc-4.0.0-h0aef613_1.conda
|
|
607
|
-
- conda: https://conda.anaconda.org/conda-forge/linux-64/libabseil-20260107.
|
|
607
|
+
- conda: https://conda.anaconda.org/conda-forge/linux-64/libabseil-20260107.1-cxx17_h7b12aa8_0.conda
|
|
608
608
|
- conda: https://conda.anaconda.org/conda-forge/linux-64/libblas-3.11.0-5_h4a7cf45_openblas.conda
|
|
609
609
|
- conda: https://conda.anaconda.org/conda-forge/linux-64/libbrotlicommon-1.2.0-hb03c661_1.conda
|
|
610
610
|
- conda: https://conda.anaconda.org/conda-forge/linux-64/libbrotlidec-1.2.0-hb03c661_1.conda
|
|
@@ -731,7 +731,7 @@ environments:
|
|
|
731
731
|
- conda: https://conda.anaconda.org/conda-forge/noarch/jinja2-3.1.6-pyhcf101f3_1.conda
|
|
732
732
|
- conda: https://conda.anaconda.org/conda-forge/osx-64/lcms2-2.18-h90db99b_0.conda
|
|
733
733
|
- conda: https://conda.anaconda.org/conda-forge/osx-64/lerc-4.0.0-hcca01a6_1.conda
|
|
734
|
-
- conda: https://conda.anaconda.org/conda-forge/osx-64/libabseil-20260107.
|
|
734
|
+
- conda: https://conda.anaconda.org/conda-forge/osx-64/libabseil-20260107.1-cxx17_h7ed6875_0.conda
|
|
735
735
|
- conda: https://conda.anaconda.org/conda-forge/osx-64/libblas-3.11.0-5_he492b99_openblas.conda
|
|
736
736
|
- conda: https://conda.anaconda.org/conda-forge/osx-64/libbrotlicommon-1.2.0-h8616949_1.conda
|
|
737
737
|
- conda: https://conda.anaconda.org/conda-forge/osx-64/libbrotlidec-1.2.0-h8616949_1.conda
|
|
@@ -856,7 +856,7 @@ environments:
|
|
|
856
856
|
- conda: https://conda.anaconda.org/conda-forge/noarch/jinja2-3.1.6-pyhcf101f3_1.conda
|
|
857
857
|
- conda: https://conda.anaconda.org/conda-forge/osx-arm64/lcms2-2.18-hdfa7624_0.conda
|
|
858
858
|
- conda: https://conda.anaconda.org/conda-forge/osx-arm64/lerc-4.0.0-hd64df32_1.conda
|
|
859
|
-
- conda: https://conda.anaconda.org/conda-forge/osx-arm64/libabseil-20260107.
|
|
859
|
+
- conda: https://conda.anaconda.org/conda-forge/osx-arm64/libabseil-20260107.1-cxx17_h2062a1b_0.conda
|
|
860
860
|
- conda: https://conda.anaconda.org/conda-forge/osx-arm64/libblas-3.11.0-5_h51639a9_openblas.conda
|
|
861
861
|
- conda: https://conda.anaconda.org/conda-forge/osx-arm64/libbrotlicommon-1.2.0-hc919400_1.conda
|
|
862
862
|
- conda: https://conda.anaconda.org/conda-forge/osx-arm64/libbrotlidec-1.2.0-hc919400_1.conda
|
|
@@ -1117,7 +1117,7 @@ environments:
|
|
|
1117
1117
|
- conda: https://conda.anaconda.org/conda-forge/linux-64/lcms2-2.18-h0c24ade_0.conda
|
|
1118
1118
|
- conda: https://conda.anaconda.org/conda-forge/linux-64/ld_impl_linux-64-2.45.1-default_hbd61a6d_101.conda
|
|
1119
1119
|
- conda: https://conda.anaconda.org/conda-forge/linux-64/lerc-4.0.0-h0aef613_1.conda
|
|
1120
|
-
- conda: https://conda.anaconda.org/conda-forge/linux-64/libabseil-20260107.
|
|
1120
|
+
- conda: https://conda.anaconda.org/conda-forge/linux-64/libabseil-20260107.1-cxx17_h7b12aa8_0.conda
|
|
1121
1121
|
- conda: https://conda.anaconda.org/conda-forge/linux-64/libblas-3.11.0-5_h4a7cf45_openblas.conda
|
|
1122
1122
|
- conda: https://conda.anaconda.org/conda-forge/linux-64/libbrotlicommon-1.2.0-hb03c661_1.conda
|
|
1123
1123
|
- conda: https://conda.anaconda.org/conda-forge/linux-64/libbrotlidec-1.2.0-hb03c661_1.conda
|
|
@@ -1250,7 +1250,7 @@ environments:
|
|
|
1250
1250
|
- conda: https://conda.anaconda.org/conda-forge/noarch/jinja2-3.1.6-pyhcf101f3_1.conda
|
|
1251
1251
|
- conda: https://conda.anaconda.org/conda-forge/osx-64/lcms2-2.18-h90db99b_0.conda
|
|
1252
1252
|
- conda: https://conda.anaconda.org/conda-forge/osx-64/lerc-4.0.0-hcca01a6_1.conda
|
|
1253
|
-
- conda: https://conda.anaconda.org/conda-forge/osx-64/libabseil-20260107.
|
|
1253
|
+
- conda: https://conda.anaconda.org/conda-forge/osx-64/libabseil-20260107.1-cxx17_h7ed6875_0.conda
|
|
1254
1254
|
- conda: https://conda.anaconda.org/conda-forge/osx-64/libblas-3.11.0-5_he492b99_openblas.conda
|
|
1255
1255
|
- conda: https://conda.anaconda.org/conda-forge/osx-64/libbrotlicommon-1.2.0-h8616949_1.conda
|
|
1256
1256
|
- conda: https://conda.anaconda.org/conda-forge/osx-64/libbrotlidec-1.2.0-h8616949_1.conda
|
|
@@ -1381,7 +1381,7 @@ environments:
|
|
|
1381
1381
|
- conda: https://conda.anaconda.org/conda-forge/noarch/jinja2-3.1.6-pyhcf101f3_1.conda
|
|
1382
1382
|
- conda: https://conda.anaconda.org/conda-forge/osx-arm64/lcms2-2.18-hdfa7624_0.conda
|
|
1383
1383
|
- conda: https://conda.anaconda.org/conda-forge/osx-arm64/lerc-4.0.0-hd64df32_1.conda
|
|
1384
|
-
- conda: https://conda.anaconda.org/conda-forge/osx-arm64/libabseil-20260107.
|
|
1384
|
+
- conda: https://conda.anaconda.org/conda-forge/osx-arm64/libabseil-20260107.1-cxx17_h2062a1b_0.conda
|
|
1385
1385
|
- conda: https://conda.anaconda.org/conda-forge/osx-arm64/libblas-3.11.0-5_h51639a9_openblas.conda
|
|
1386
1386
|
- conda: https://conda.anaconda.org/conda-forge/osx-arm64/libbrotlicommon-1.2.0-hc919400_1.conda
|
|
1387
1387
|
- conda: https://conda.anaconda.org/conda-forge/osx-arm64/libbrotlidec-1.2.0-hc919400_1.conda
|
|
@@ -1918,7 +1918,7 @@ environments:
|
|
|
1918
1918
|
- conda: https://conda.anaconda.org/conda-forge/linux-64/lcms2-2.18-h0c24ade_0.conda
|
|
1919
1919
|
- conda: https://conda.anaconda.org/conda-forge/linux-64/ld_impl_linux-64-2.45.1-default_hbd61a6d_101.conda
|
|
1920
1920
|
- conda: https://conda.anaconda.org/conda-forge/linux-64/lerc-4.0.0-h0aef613_1.conda
|
|
1921
|
-
- conda: https://conda.anaconda.org/conda-forge/linux-64/libabseil-20260107.
|
|
1921
|
+
- conda: https://conda.anaconda.org/conda-forge/linux-64/libabseil-20260107.1-cxx17_h7b12aa8_0.conda
|
|
1922
1922
|
- conda: https://conda.anaconda.org/conda-forge/linux-64/libblas-3.11.0-5_h4a7cf45_openblas.conda
|
|
1923
1923
|
- conda: https://conda.anaconda.org/conda-forge/linux-64/libbrotlicommon-1.2.0-hb03c661_1.conda
|
|
1924
1924
|
- conda: https://conda.anaconda.org/conda-forge/linux-64/libbrotlidec-1.2.0-hb03c661_1.conda
|
|
@@ -2049,7 +2049,7 @@ environments:
|
|
|
2049
2049
|
- conda: https://conda.anaconda.org/conda-forge/noarch/jinja2-3.1.6-pyhcf101f3_1.conda
|
|
2050
2050
|
- conda: https://conda.anaconda.org/conda-forge/osx-64/lcms2-2.18-h90db99b_0.conda
|
|
2051
2051
|
- conda: https://conda.anaconda.org/conda-forge/osx-64/lerc-4.0.0-hcca01a6_1.conda
|
|
2052
|
-
- conda: https://conda.anaconda.org/conda-forge/osx-64/libabseil-20260107.
|
|
2052
|
+
- conda: https://conda.anaconda.org/conda-forge/osx-64/libabseil-20260107.1-cxx17_h7ed6875_0.conda
|
|
2053
2053
|
- conda: https://conda.anaconda.org/conda-forge/osx-64/libblas-3.11.0-5_he492b99_openblas.conda
|
|
2054
2054
|
- conda: https://conda.anaconda.org/conda-forge/osx-64/libbrotlicommon-1.2.0-h8616949_1.conda
|
|
2055
2055
|
- conda: https://conda.anaconda.org/conda-forge/osx-64/libbrotlidec-1.2.0-h8616949_1.conda
|
|
@@ -2176,7 +2176,7 @@ environments:
|
|
|
2176
2176
|
- conda: https://conda.anaconda.org/conda-forge/noarch/jinja2-3.1.6-pyhcf101f3_1.conda
|
|
2177
2177
|
- conda: https://conda.anaconda.org/conda-forge/osx-arm64/lcms2-2.18-hdfa7624_0.conda
|
|
2178
2178
|
- conda: https://conda.anaconda.org/conda-forge/osx-arm64/lerc-4.0.0-hd64df32_1.conda
|
|
2179
|
-
- conda: https://conda.anaconda.org/conda-forge/osx-arm64/libabseil-20260107.
|
|
2179
|
+
- conda: https://conda.anaconda.org/conda-forge/osx-arm64/libabseil-20260107.1-cxx17_h2062a1b_0.conda
|
|
2180
2180
|
- conda: https://conda.anaconda.org/conda-forge/osx-arm64/libblas-3.11.0-5_h51639a9_openblas.conda
|
|
2181
2181
|
- conda: https://conda.anaconda.org/conda-forge/osx-arm64/libbrotlicommon-1.2.0-hc919400_1.conda
|
|
2182
2182
|
- conda: https://conda.anaconda.org/conda-forge/osx-arm64/libbrotlidec-1.2.0-hc919400_1.conda
|
|
@@ -2438,7 +2438,7 @@ environments:
|
|
|
2438
2438
|
- conda: https://conda.anaconda.org/conda-forge/linux-64/lcms2-2.18-h0c24ade_0.conda
|
|
2439
2439
|
- conda: https://conda.anaconda.org/conda-forge/linux-64/ld_impl_linux-64-2.45.1-default_hbd61a6d_101.conda
|
|
2440
2440
|
- conda: https://conda.anaconda.org/conda-forge/linux-64/lerc-4.0.0-h0aef613_1.conda
|
|
2441
|
-
- conda: https://conda.anaconda.org/conda-forge/linux-64/libabseil-20260107.
|
|
2441
|
+
- conda: https://conda.anaconda.org/conda-forge/linux-64/libabseil-20260107.1-cxx17_h7b12aa8_0.conda
|
|
2442
2442
|
- conda: https://conda.anaconda.org/conda-forge/linux-64/libblas-3.11.0-5_h4a7cf45_openblas.conda
|
|
2443
2443
|
- conda: https://conda.anaconda.org/conda-forge/linux-64/libbrotlicommon-1.2.0-hb03c661_1.conda
|
|
2444
2444
|
- conda: https://conda.anaconda.org/conda-forge/linux-64/libbrotlidec-1.2.0-hb03c661_1.conda
|
|
@@ -2567,7 +2567,7 @@ environments:
|
|
|
2567
2567
|
- conda: https://conda.anaconda.org/conda-forge/noarch/jinja2-3.1.6-pyhcf101f3_1.conda
|
|
2568
2568
|
- conda: https://conda.anaconda.org/conda-forge/osx-64/lcms2-2.18-h90db99b_0.conda
|
|
2569
2569
|
- conda: https://conda.anaconda.org/conda-forge/osx-64/lerc-4.0.0-hcca01a6_1.conda
|
|
2570
|
-
- conda: https://conda.anaconda.org/conda-forge/osx-64/libabseil-20260107.
|
|
2570
|
+
- conda: https://conda.anaconda.org/conda-forge/osx-64/libabseil-20260107.1-cxx17_h7ed6875_0.conda
|
|
2571
2571
|
- conda: https://conda.anaconda.org/conda-forge/osx-64/libblas-3.11.0-5_he492b99_openblas.conda
|
|
2572
2572
|
- conda: https://conda.anaconda.org/conda-forge/osx-64/libbrotlicommon-1.2.0-h8616949_1.conda
|
|
2573
2573
|
- conda: https://conda.anaconda.org/conda-forge/osx-64/libbrotlidec-1.2.0-h8616949_1.conda
|
|
@@ -2692,7 +2692,7 @@ environments:
|
|
|
2692
2692
|
- conda: https://conda.anaconda.org/conda-forge/noarch/jinja2-3.1.6-pyhcf101f3_1.conda
|
|
2693
2693
|
- conda: https://conda.anaconda.org/conda-forge/osx-arm64/lcms2-2.18-hdfa7624_0.conda
|
|
2694
2694
|
- conda: https://conda.anaconda.org/conda-forge/osx-arm64/lerc-4.0.0-hd64df32_1.conda
|
|
2695
|
-
- conda: https://conda.anaconda.org/conda-forge/osx-arm64/libabseil-20260107.
|
|
2695
|
+
- conda: https://conda.anaconda.org/conda-forge/osx-arm64/libabseil-20260107.1-cxx17_h2062a1b_0.conda
|
|
2696
2696
|
- conda: https://conda.anaconda.org/conda-forge/osx-arm64/libblas-3.11.0-5_h51639a9_openblas.conda
|
|
2697
2697
|
- conda: https://conda.anaconda.org/conda-forge/osx-arm64/libbrotlicommon-1.2.0-hc919400_1.conda
|
|
2698
2698
|
- conda: https://conda.anaconda.org/conda-forge/osx-arm64/libbrotlidec-1.2.0-hc919400_1.conda
|
|
@@ -2951,7 +2951,7 @@ environments:
|
|
|
2951
2951
|
- conda: https://conda.anaconda.org/conda-forge/linux-64/lcms2-2.18-h0c24ade_0.conda
|
|
2952
2952
|
- conda: https://conda.anaconda.org/conda-forge/linux-64/ld_impl_linux-64-2.45.1-default_hbd61a6d_101.conda
|
|
2953
2953
|
- conda: https://conda.anaconda.org/conda-forge/linux-64/lerc-4.0.0-h0aef613_1.conda
|
|
2954
|
-
- conda: https://conda.anaconda.org/conda-forge/linux-64/libabseil-20260107.
|
|
2954
|
+
- conda: https://conda.anaconda.org/conda-forge/linux-64/libabseil-20260107.1-cxx17_h7b12aa8_0.conda
|
|
2955
2955
|
- conda: https://conda.anaconda.org/conda-forge/linux-64/libblas-3.11.0-5_h4a7cf45_openblas.conda
|
|
2956
2956
|
- conda: https://conda.anaconda.org/conda-forge/linux-64/libbrotlicommon-1.2.0-hb03c661_1.conda
|
|
2957
2957
|
- conda: https://conda.anaconda.org/conda-forge/linux-64/libbrotlidec-1.2.0-hb03c661_1.conda
|
|
@@ -3080,7 +3080,7 @@ environments:
|
|
|
3080
3080
|
- conda: https://conda.anaconda.org/conda-forge/noarch/jinja2-3.1.6-pyhcf101f3_1.conda
|
|
3081
3081
|
- conda: https://conda.anaconda.org/conda-forge/osx-64/lcms2-2.18-h90db99b_0.conda
|
|
3082
3082
|
- conda: https://conda.anaconda.org/conda-forge/osx-64/lerc-4.0.0-hcca01a6_1.conda
|
|
3083
|
-
- conda: https://conda.anaconda.org/conda-forge/osx-64/libabseil-20260107.
|
|
3083
|
+
- conda: https://conda.anaconda.org/conda-forge/osx-64/libabseil-20260107.1-cxx17_h7ed6875_0.conda
|
|
3084
3084
|
- conda: https://conda.anaconda.org/conda-forge/osx-64/libblas-3.11.0-5_he492b99_openblas.conda
|
|
3085
3085
|
- conda: https://conda.anaconda.org/conda-forge/osx-64/libbrotlicommon-1.2.0-h8616949_1.conda
|
|
3086
3086
|
- conda: https://conda.anaconda.org/conda-forge/osx-64/libbrotlidec-1.2.0-h8616949_1.conda
|
|
@@ -3205,7 +3205,7 @@ environments:
|
|
|
3205
3205
|
- conda: https://conda.anaconda.org/conda-forge/noarch/jinja2-3.1.6-pyhcf101f3_1.conda
|
|
3206
3206
|
- conda: https://conda.anaconda.org/conda-forge/osx-arm64/lcms2-2.18-hdfa7624_0.conda
|
|
3207
3207
|
- conda: https://conda.anaconda.org/conda-forge/osx-arm64/lerc-4.0.0-hd64df32_1.conda
|
|
3208
|
-
- conda: https://conda.anaconda.org/conda-forge/osx-arm64/libabseil-20260107.
|
|
3208
|
+
- conda: https://conda.anaconda.org/conda-forge/osx-arm64/libabseil-20260107.1-cxx17_h2062a1b_0.conda
|
|
3209
3209
|
- conda: https://conda.anaconda.org/conda-forge/osx-arm64/libblas-3.11.0-5_h51639a9_openblas.conda
|
|
3210
3210
|
- conda: https://conda.anaconda.org/conda-forge/osx-arm64/libbrotlicommon-1.2.0-hc919400_1.conda
|
|
3211
3211
|
- conda: https://conda.anaconda.org/conda-forge/osx-arm64/libbrotlidec-1.2.0-hc919400_1.conda
|
|
@@ -3466,7 +3466,7 @@ environments:
|
|
|
3466
3466
|
- conda: https://conda.anaconda.org/conda-forge/linux-64/lcms2-2.18-h0c24ade_0.conda
|
|
3467
3467
|
- conda: https://conda.anaconda.org/conda-forge/linux-64/ld_impl_linux-64-2.45.1-default_hbd61a6d_101.conda
|
|
3468
3468
|
- conda: https://conda.anaconda.org/conda-forge/linux-64/lerc-4.0.0-h0aef613_1.conda
|
|
3469
|
-
- conda: https://conda.anaconda.org/conda-forge/linux-64/libabseil-20260107.
|
|
3469
|
+
- conda: https://conda.anaconda.org/conda-forge/linux-64/libabseil-20260107.1-cxx17_h7b12aa8_0.conda
|
|
3470
3470
|
- conda: https://conda.anaconda.org/conda-forge/linux-64/libblas-3.11.0-5_h4a7cf45_openblas.conda
|
|
3471
3471
|
- conda: https://conda.anaconda.org/conda-forge/linux-64/libbrotlicommon-1.2.0-hb03c661_1.conda
|
|
3472
3472
|
- conda: https://conda.anaconda.org/conda-forge/linux-64/libbrotlidec-1.2.0-hb03c661_1.conda
|
|
@@ -3603,7 +3603,7 @@ environments:
|
|
|
3603
3603
|
- conda: https://conda.anaconda.org/conda-forge/noarch/jinja2-3.1.6-pyhcf101f3_1.conda
|
|
3604
3604
|
- conda: https://conda.anaconda.org/conda-forge/osx-64/lcms2-2.18-h90db99b_0.conda
|
|
3605
3605
|
- conda: https://conda.anaconda.org/conda-forge/osx-64/lerc-4.0.0-hcca01a6_1.conda
|
|
3606
|
-
- conda: https://conda.anaconda.org/conda-forge/osx-64/libabseil-20260107.
|
|
3606
|
+
- conda: https://conda.anaconda.org/conda-forge/osx-64/libabseil-20260107.1-cxx17_h7ed6875_0.conda
|
|
3607
3607
|
- conda: https://conda.anaconda.org/conda-forge/osx-64/libblas-3.11.0-5_he492b99_openblas.conda
|
|
3608
3608
|
- conda: https://conda.anaconda.org/conda-forge/osx-64/libbrotlicommon-1.2.0-h8616949_1.conda
|
|
3609
3609
|
- conda: https://conda.anaconda.org/conda-forge/osx-64/libbrotlidec-1.2.0-h8616949_1.conda
|
|
@@ -3735,7 +3735,7 @@ environments:
|
|
|
3735
3735
|
- conda: https://conda.anaconda.org/conda-forge/noarch/jinja2-3.1.6-pyhcf101f3_1.conda
|
|
3736
3736
|
- conda: https://conda.anaconda.org/conda-forge/osx-arm64/lcms2-2.18-hdfa7624_0.conda
|
|
3737
3737
|
- conda: https://conda.anaconda.org/conda-forge/osx-arm64/lerc-4.0.0-hd64df32_1.conda
|
|
3738
|
-
- conda: https://conda.anaconda.org/conda-forge/osx-arm64/libabseil-20260107.
|
|
3738
|
+
- conda: https://conda.anaconda.org/conda-forge/osx-arm64/libabseil-20260107.1-cxx17_h2062a1b_0.conda
|
|
3739
3739
|
- conda: https://conda.anaconda.org/conda-forge/osx-arm64/libblas-3.11.0-5_h51639a9_openblas.conda
|
|
3740
3740
|
- conda: https://conda.anaconda.org/conda-forge/osx-arm64/libbrotlicommon-1.2.0-hc919400_1.conda
|
|
3741
3741
|
- conda: https://conda.anaconda.org/conda-forge/osx-arm64/libbrotlidec-1.2.0-hc919400_1.conda
|
|
@@ -4988,6 +4988,7 @@ packages:
|
|
|
4988
4988
|
- python_abi 3.10.* *_cp310
|
|
4989
4989
|
- tomli
|
|
4990
4990
|
license: Apache-2.0
|
|
4991
|
+
license_family: APACHE
|
|
4991
4992
|
size: 312841
|
|
4992
4993
|
timestamp: 1770720520727
|
|
4993
4994
|
- conda: https://conda.anaconda.org/conda-forge/linux-64/coverage-7.13.4-py311h3778330_0.conda
|
|
@@ -5000,6 +5001,7 @@ packages:
|
|
|
5000
5001
|
- python_abi 3.11.* *_cp311
|
|
5001
5002
|
- tomli
|
|
5002
5003
|
license: Apache-2.0
|
|
5004
|
+
license_family: APACHE
|
|
5003
5005
|
size: 398024
|
|
5004
5006
|
timestamp: 1770720590264
|
|
5005
5007
|
- conda: https://conda.anaconda.org/conda-forge/linux-64/coverage-7.13.4-py312h8a5da7c_0.conda
|
|
@@ -5012,6 +5014,7 @@ packages:
|
|
|
5012
5014
|
- python_abi 3.12.* *_cp312
|
|
5013
5015
|
- tomli
|
|
5014
5016
|
license: Apache-2.0
|
|
5017
|
+
license_family: APACHE
|
|
5015
5018
|
size: 388190
|
|
5016
5019
|
timestamp: 1770720373428
|
|
5017
5020
|
- conda: https://conda.anaconda.org/conda-forge/linux-64/coverage-7.13.4-py314h67df5f8_0.conda
|
|
@@ -5024,6 +5027,7 @@ packages:
|
|
|
5024
5027
|
- python_abi 3.14.* *_cp314
|
|
5025
5028
|
- tomli
|
|
5026
5029
|
license: Apache-2.0
|
|
5030
|
+
license_family: APACHE
|
|
5027
5031
|
size: 412776
|
|
5028
5032
|
timestamp: 1770720660175
|
|
5029
5033
|
- conda: https://conda.anaconda.org/conda-forge/osx-64/coverage-7.13.4-py310hec06124_0.conda
|
|
@@ -5035,6 +5039,7 @@ packages:
|
|
|
5035
5039
|
- python_abi 3.10.* *_cp310
|
|
5036
5040
|
- tomli
|
|
5037
5041
|
license: Apache-2.0
|
|
5042
|
+
license_family: APACHE
|
|
5038
5043
|
size: 312040
|
|
5039
5044
|
timestamp: 1770720572542
|
|
5040
5045
|
- conda: https://conda.anaconda.org/conda-forge/osx-64/coverage-7.13.4-py311h53ebfaf_0.conda
|
|
@@ -5046,6 +5051,7 @@ packages:
|
|
|
5046
5051
|
- python_abi 3.11.* *_cp311
|
|
5047
5052
|
- tomli
|
|
5048
5053
|
license: Apache-2.0
|
|
5054
|
+
license_family: APACHE
|
|
5049
5055
|
size: 396141
|
|
5050
5056
|
timestamp: 1770720638049
|
|
5051
5057
|
- conda: https://conda.anaconda.org/conda-forge/osx-64/coverage-7.13.4-py312h51361c1_0.conda
|
|
@@ -5057,6 +5063,7 @@ packages:
|
|
|
5057
5063
|
- python_abi 3.12.* *_cp312
|
|
5058
5064
|
- tomli
|
|
5059
5065
|
license: Apache-2.0
|
|
5066
|
+
license_family: APACHE
|
|
5060
5067
|
size: 386403
|
|
5061
5068
|
timestamp: 1770720768345
|
|
5062
5069
|
- conda: https://conda.anaconda.org/conda-forge/osx-64/coverage-7.13.4-py314h10d0514_0.conda
|
|
@@ -5068,6 +5075,7 @@ packages:
|
|
|
5068
5075
|
- python_abi 3.14.* *_cp314
|
|
5069
5076
|
- tomli
|
|
5070
5077
|
license: Apache-2.0
|
|
5078
|
+
license_family: APACHE
|
|
5071
5079
|
size: 409993
|
|
5072
5080
|
timestamp: 1770720688859
|
|
5073
5081
|
- conda: https://conda.anaconda.org/conda-forge/osx-arm64/coverage-7.13.4-py310hb46c203_0.conda
|
|
@@ -5080,6 +5088,7 @@ packages:
|
|
|
5080
5088
|
- python_abi 3.10.* *_cp310
|
|
5081
5089
|
- tomli
|
|
5082
5090
|
license: Apache-2.0
|
|
5091
|
+
license_family: APACHE
|
|
5083
5092
|
size: 313175
|
|
5084
5093
|
timestamp: 1770720930051
|
|
5085
5094
|
- conda: https://conda.anaconda.org/conda-forge/osx-arm64/coverage-7.13.4-py311hc290fe0_0.conda
|
|
@@ -5092,6 +5101,7 @@ packages:
|
|
|
5092
5101
|
- python_abi 3.11.* *_cp311
|
|
5093
5102
|
- tomli
|
|
5094
5103
|
license: Apache-2.0
|
|
5104
|
+
license_family: APACHE
|
|
5095
5105
|
size: 396883
|
|
5096
5106
|
timestamp: 1770720925825
|
|
5097
5107
|
- conda: https://conda.anaconda.org/conda-forge/osx-arm64/coverage-7.13.4-py312h04c11ed_0.conda
|
|
@@ -5104,6 +5114,7 @@ packages:
|
|
|
5104
5114
|
- python_abi 3.12.* *_cp312
|
|
5105
5115
|
- tomli
|
|
5106
5116
|
license: Apache-2.0
|
|
5117
|
+
license_family: APACHE
|
|
5107
5118
|
size: 386007
|
|
5108
5119
|
timestamp: 1770720691274
|
|
5109
5120
|
- conda: https://conda.anaconda.org/conda-forge/osx-arm64/coverage-7.13.4-py314h6e9b3f0_0.conda
|
|
@@ -5116,6 +5127,7 @@ packages:
|
|
|
5116
5127
|
- python_abi 3.14.* *_cp314
|
|
5117
5128
|
- tomli
|
|
5118
5129
|
license: Apache-2.0
|
|
5130
|
+
license_family: APACHE
|
|
5119
5131
|
size: 412030
|
|
5120
5132
|
timestamp: 1770720628409
|
|
5121
5133
|
- conda: https://conda.anaconda.org/conda-forge/win-64/coverage-7.13.4-py310hdb0e946_0.conda
|
|
@@ -5129,6 +5141,7 @@ packages:
|
|
|
5129
5141
|
- vc >=14.3,<15
|
|
5130
5142
|
- vc14_runtime >=14.44.35208
|
|
5131
5143
|
license: Apache-2.0
|
|
5144
|
+
license_family: APACHE
|
|
5132
5145
|
size: 338989
|
|
5133
5146
|
timestamp: 1770720465029
|
|
5134
5147
|
- conda: https://conda.anaconda.org/conda-forge/win-64/coverage-7.13.4-py311h3f79411_0.conda
|
|
@@ -5142,6 +5155,7 @@ packages:
|
|
|
5142
5155
|
- vc >=14.3,<15
|
|
5143
5156
|
- vc14_runtime >=14.44.35208
|
|
5144
5157
|
license: Apache-2.0
|
|
5158
|
+
license_family: APACHE
|
|
5145
5159
|
size: 422950
|
|
5146
5160
|
timestamp: 1770720459873
|
|
5147
5161
|
- conda: https://conda.anaconda.org/conda-forge/win-64/coverage-7.13.4-py312h05f76fc_0.conda
|
|
@@ -5155,6 +5169,7 @@ packages:
|
|
|
5155
5169
|
- vc >=14.3,<15
|
|
5156
5170
|
- vc14_runtime >=14.44.35208
|
|
5157
5171
|
license: Apache-2.0
|
|
5172
|
+
license_family: APACHE
|
|
5158
5173
|
size: 414159
|
|
5159
5174
|
timestamp: 1770720457033
|
|
5160
5175
|
- conda: https://conda.anaconda.org/conda-forge/win-64/coverage-7.13.4-py314h2359020_0.conda
|
|
@@ -5168,6 +5183,7 @@ packages:
|
|
|
5168
5183
|
- vc >=14.3,<15
|
|
5169
5184
|
- vc14_runtime >=14.44.35208
|
|
5170
5185
|
license: Apache-2.0
|
|
5186
|
+
license_family: APACHE
|
|
5171
5187
|
size: 438221
|
|
5172
5188
|
timestamp: 1770720521756
|
|
5173
5189
|
- conda: https://conda.anaconda.org/conda-forge/noarch/cpython-3.14.3-py314hd8ed1ab_101.conda
|
|
@@ -5779,46 +5795,46 @@ packages:
|
|
|
5779
5795
|
license_family: Apache
|
|
5780
5796
|
size: 164701
|
|
5781
5797
|
timestamp: 1745264384716
|
|
5782
|
-
- conda: https://conda.anaconda.org/conda-forge/linux-64/libabseil-20260107.
|
|
5783
|
-
sha256:
|
|
5784
|
-
md5:
|
|
5798
|
+
- conda: https://conda.anaconda.org/conda-forge/linux-64/libabseil-20260107.1-cxx17_h7b12aa8_0.conda
|
|
5799
|
+
sha256: a7a4481a4d217a3eadea0ec489826a69070fcc3153f00443aa491ed21527d239
|
|
5800
|
+
md5: 6f7b4302263347698fd24565fbf11310
|
|
5785
5801
|
depends:
|
|
5786
5802
|
- __glibc >=2.17,<3.0.a0
|
|
5787
5803
|
- libgcc >=14
|
|
5788
5804
|
- libstdcxx >=14
|
|
5789
5805
|
constrains:
|
|
5790
|
-
-
|
|
5791
|
-
-
|
|
5806
|
+
- libabseil-static =20260107.1=cxx17*
|
|
5807
|
+
- abseil-cpp =20260107.1
|
|
5792
5808
|
license: Apache-2.0
|
|
5793
5809
|
license_family: Apache
|
|
5794
|
-
size:
|
|
5795
|
-
timestamp:
|
|
5796
|
-
- conda: https://conda.anaconda.org/conda-forge/osx-64/libabseil-20260107.
|
|
5797
|
-
sha256:
|
|
5798
|
-
md5:
|
|
5810
|
+
size: 1384817
|
|
5811
|
+
timestamp: 1770863194876
|
|
5812
|
+
- conda: https://conda.anaconda.org/conda-forge/osx-64/libabseil-20260107.1-cxx17_h7ed6875_0.conda
|
|
5813
|
+
sha256: 2b4ff36082ddfbacc47ac6e11d4dd9f3403cd109ce8d7f0fbee0cdd47cdef013
|
|
5814
|
+
md5: 317f40d7bd7bf6d54b56d4a5b5f5085d
|
|
5799
5815
|
depends:
|
|
5800
5816
|
- __osx >=10.13
|
|
5801
5817
|
- libcxx >=19
|
|
5802
5818
|
constrains:
|
|
5803
|
-
-
|
|
5804
|
-
-
|
|
5819
|
+
- libabseil-static =20260107.1=cxx17*
|
|
5820
|
+
- abseil-cpp =20260107.1
|
|
5805
5821
|
license: Apache-2.0
|
|
5806
5822
|
license_family: Apache
|
|
5807
|
-
size:
|
|
5808
|
-
timestamp:
|
|
5809
|
-
- conda: https://conda.anaconda.org/conda-forge/osx-arm64/libabseil-20260107.
|
|
5810
|
-
sha256:
|
|
5811
|
-
md5:
|
|
5823
|
+
size: 1217836
|
|
5824
|
+
timestamp: 1770863510112
|
|
5825
|
+
- conda: https://conda.anaconda.org/conda-forge/osx-arm64/libabseil-20260107.1-cxx17_h2062a1b_0.conda
|
|
5826
|
+
sha256: 756611fbb8d2957a5b4635d9772bd8432cb6ddac05580a6284cca6fdc9b07fca
|
|
5827
|
+
md5: bb65152e0d7c7178c0f1ee25692c9fd1
|
|
5812
5828
|
depends:
|
|
5813
5829
|
- __osx >=11.0
|
|
5814
5830
|
- libcxx >=19
|
|
5815
5831
|
constrains:
|
|
5816
|
-
-
|
|
5817
|
-
-
|
|
5832
|
+
- abseil-cpp =20260107.1
|
|
5833
|
+
- libabseil-static =20260107.1=cxx17*
|
|
5818
5834
|
license: Apache-2.0
|
|
5819
5835
|
license_family: Apache
|
|
5820
|
-
size:
|
|
5821
|
-
timestamp:
|
|
5836
|
+
size: 1229639
|
|
5837
|
+
timestamp: 1770863511331
|
|
5822
5838
|
- conda: https://conda.anaconda.org/conda-forge/linux-64/libblas-3.11.0-5_h4a7cf45_openblas.conda
|
|
5823
5839
|
build_number: 5
|
|
5824
5840
|
sha256: 18c72545080b86739352482ba14ba2c4815e19e26a7417ca21a95b76ec8da24c
|
|
@@ -21,7 +21,6 @@ from panel.io.state import state
|
|
|
21
21
|
from panel.util import base_version, classproperty
|
|
22
22
|
from panel.viewable import Viewer
|
|
23
23
|
from panel.widgets import JSONEditor
|
|
24
|
-
from panel_material_ui import Paper
|
|
25
24
|
|
|
26
25
|
from .__version import __version__ # noqa
|
|
27
26
|
|
|
@@ -925,7 +924,7 @@ class SchemaEditor(Editor):
|
|
|
925
924
|
lambda event, _n=name: self._on_widget_change(_n, event),
|
|
926
925
|
"value",
|
|
927
926
|
)
|
|
928
|
-
self._panel =
|
|
927
|
+
self._panel = self._form.layout
|
|
929
928
|
except Exception:
|
|
930
929
|
# Graceful fallback if JSONSchema rendering fails
|
|
931
930
|
# (e.g. missing pandas dependency).
|
|
@@ -1367,18 +1366,15 @@ class ReactFlow(ReactComponent):
|
|
|
1367
1366
|
|
|
1368
1367
|
children: dict[str, list[UIElement] | UIElement | None] = {}
|
|
1369
1368
|
old_models: list[UIElement] = []
|
|
1370
|
-
|
|
1371
|
-
|
|
1372
|
-
|
|
1373
|
-
|
|
1374
|
-
|
|
1375
|
-
|
|
1376
|
-
|
|
1377
|
-
|
|
1378
|
-
|
|
1379
|
-
edge_models, edge_old = self._get_child_model(edge_editors, doc, root, parent, comm)
|
|
1380
|
-
children["_edge_editor_views"] = edge_models
|
|
1381
|
-
old_models += edge_old
|
|
1369
|
+
views, view_models = self._get_child_model(views, doc, root, parent, comm)
|
|
1370
|
+
children["_views"] = views
|
|
1371
|
+
old_models += view_models
|
|
1372
|
+
editor_models, editor_old = self._get_child_model(node_editors, doc, root, parent, comm)
|
|
1373
|
+
children["_node_editor_views"] = editor_models
|
|
1374
|
+
old_models += editor_old
|
|
1375
|
+
edge_models, edge_old = self._get_child_model(edge_editors, doc, root, parent, comm)
|
|
1376
|
+
children["_edge_editor_views"] = edge_models
|
|
1377
|
+
old_models += edge_old
|
|
1382
1378
|
for name in ("top_panel", "bottom_panel", "left_panel", "right_panel"):
|
|
1383
1379
|
panels = list(getattr(self, name, []) or [])
|
|
1384
1380
|
if panels:
|
|
@@ -147,62 +147,6 @@ def test_reactflow_add_node_with_view() -> None:
|
|
|
147
147
|
assert events[-1]["type"] == "node_added"
|
|
148
148
|
|
|
149
149
|
|
|
150
|
-
def test_view_idx_updates_on_remove_node(document, comm) -> None:
|
|
151
|
-
flow = ReactFlow()
|
|
152
|
-
flow.add_node({"id": "n1", "position": {"x": 0, "y": 0}, "data": {}, "view": pn.pane.Markdown("A")})
|
|
153
|
-
flow.add_node({"id": "n2", "position": {"x": 1, "y": 1}, "data": {}, "view": pn.pane.Markdown("B")})
|
|
154
|
-
flow.add_node({"id": "n3", "position": {"x": 2, "y": 2}, "data": {}})
|
|
155
|
-
|
|
156
|
-
model = flow.get_root(document, comm=comm)
|
|
157
|
-
|
|
158
|
-
flow.remove_node("n1")
|
|
159
|
-
|
|
160
|
-
remaining = {node["id"]: node for node in model.data.nodes}
|
|
161
|
-
assert remaining["n2"]["data"]["view_idx"] == 0
|
|
162
|
-
assert remaining["n3"]["data"].get("view_idx") is None
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
def test_reactflow_add_node_with_viewer(document, comm) -> None:
|
|
166
|
-
"""Test that Viewer objects with __panel__() method work as node views."""
|
|
167
|
-
|
|
168
|
-
class MyViewer(pn.viewable.Viewer):
|
|
169
|
-
def __panel__(self):
|
|
170
|
-
return pn.pane.Markdown("Hello from Viewer!")
|
|
171
|
-
|
|
172
|
-
flow = ReactFlow()
|
|
173
|
-
my_viewer = MyViewer()
|
|
174
|
-
flow.add_node({"id": "n1", "position": {"x": 0, "y": 0}, "label": "Viewer Node", "data": {}, "view": my_viewer})
|
|
175
|
-
|
|
176
|
-
# This should not raise AttributeError about '_models'
|
|
177
|
-
_ = flow.get_root(document, comm=comm)
|
|
178
|
-
assert len(flow.nodes) == 1
|
|
179
|
-
assert flow.nodes[0]["id"] == "n1"
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
def test_reactflow_add_node_with_arbitrary_object(document, comm) -> None:
|
|
183
|
-
"""Test that arbitrary objects (e.g., HoloViews) work as node views via pn.panel().
|
|
184
|
-
|
|
185
|
-
This addresses issue #13 where objects without __panel__() method
|
|
186
|
-
(like HoloViews Curve objects) would raise AttributeError.
|
|
187
|
-
"""
|
|
188
|
-
|
|
189
|
-
class MockPlot:
|
|
190
|
-
"""Mock object simulating HoloViews/hvplot objects (no __panel__ method)."""
|
|
191
|
-
|
|
192
|
-
def __repr__(self):
|
|
193
|
-
return "MockPlot(data)"
|
|
194
|
-
|
|
195
|
-
flow = ReactFlow()
|
|
196
|
-
mock_plot = MockPlot()
|
|
197
|
-
flow.add_node({"id": "n1", "position": {"x": 0, "y": 0}, "label": "Plot Node", "data": {}, "view": mock_plot})
|
|
198
|
-
|
|
199
|
-
# This should not raise AttributeError about '_models'
|
|
200
|
-
# The object should be converted via pn.panel()
|
|
201
|
-
_ = flow.get_root(document, comm=comm)
|
|
202
|
-
assert len(flow.nodes) == 1
|
|
203
|
-
assert flow.nodes[0]["id"] == "n1"
|
|
204
|
-
|
|
205
|
-
|
|
206
150
|
def test_reactflow_events_and_selection() -> None:
|
|
207
151
|
flow = ReactFlow()
|
|
208
152
|
events = []
|
|
@@ -0,0 +1,81 @@
|
|
|
1
|
+
"""Tests for ReactFlow model creation."""
|
|
2
|
+
|
|
3
|
+
from panel.pane import Markdown
|
|
4
|
+
from panel.viewable import Viewer
|
|
5
|
+
|
|
6
|
+
from panel_reactflow import ReactFlow
|
|
7
|
+
|
|
8
|
+
|
|
9
|
+
def test_reactflow_add_node_with_arbitrary_object(document, comm) -> None:
|
|
10
|
+
"""Test that arbitrary objects (e.g., HoloViews) work as node views via pn.panel().
|
|
11
|
+
|
|
12
|
+
This addresses issue #13 where objects without __panel__() method
|
|
13
|
+
(like HoloViews Curve objects) would raise AttributeError.
|
|
14
|
+
"""
|
|
15
|
+
|
|
16
|
+
class MockPlot:
|
|
17
|
+
"""Mock object simulating HoloViews/hvplot objects (no __panel__ method)."""
|
|
18
|
+
|
|
19
|
+
def __repr__(self):
|
|
20
|
+
return "MockPlot(data)"
|
|
21
|
+
|
|
22
|
+
flow = ReactFlow()
|
|
23
|
+
mock_plot = MockPlot()
|
|
24
|
+
flow.add_node({"id": "n1", "position": {"x": 0, "y": 0}, "label": "Plot Node", "data": {}, "view": mock_plot})
|
|
25
|
+
|
|
26
|
+
# This should not raise AttributeError about '_models'
|
|
27
|
+
# The object should be converted via pn.panel()
|
|
28
|
+
_ = flow.get_root(document, comm=comm)
|
|
29
|
+
assert len(flow.nodes) == 1
|
|
30
|
+
assert flow.nodes[0]["id"] == "n1"
|
|
31
|
+
|
|
32
|
+
|
|
33
|
+
def test_view_idx_updates_on_remove_node(document, comm) -> None:
|
|
34
|
+
flow = ReactFlow()
|
|
35
|
+
flow.add_node({"id": "n1", "position": {"x": 0, "y": 0}, "data": {}, "view": Markdown("A")})
|
|
36
|
+
flow.add_node({"id": "n2", "position": {"x": 1, "y": 1}, "data": {}, "view": Markdown("B")})
|
|
37
|
+
flow.add_node({"id": "n3", "position": {"x": 2, "y": 2}, "data": {}})
|
|
38
|
+
|
|
39
|
+
model = flow.get_root(document, comm=comm)
|
|
40
|
+
|
|
41
|
+
flow.remove_node("n1")
|
|
42
|
+
|
|
43
|
+
remaining = {node["id"]: node for node in model.data.nodes}
|
|
44
|
+
assert remaining["n2"]["data"]["view_idx"] == 0
|
|
45
|
+
assert remaining["n3"]["data"].get("view_idx") is None
|
|
46
|
+
|
|
47
|
+
|
|
48
|
+
def test_reactflow_add_node_with_viewer(document, comm) -> None:
|
|
49
|
+
"""Test that Viewer objects with __panel__() method work as node views."""
|
|
50
|
+
|
|
51
|
+
class MyViewer(Viewer):
|
|
52
|
+
def __panel__(self):
|
|
53
|
+
return Markdown("Hello from Viewer!")
|
|
54
|
+
|
|
55
|
+
flow = ReactFlow()
|
|
56
|
+
my_viewer = MyViewer()
|
|
57
|
+
flow.add_node({"id": "n1", "position": {"x": 0, "y": 0}, "label": "Viewer Node", "data": {}, "view": my_viewer})
|
|
58
|
+
|
|
59
|
+
# This should not raise AttributeError about '_models'
|
|
60
|
+
_ = flow.get_root(document, comm=comm)
|
|
61
|
+
assert len(flow.nodes) == 1
|
|
62
|
+
assert flow.nodes[0]["id"] == "n1"
|
|
63
|
+
|
|
64
|
+
|
|
65
|
+
def test_reactflow_add_node_dynamically_creates_views(document, comm):
|
|
66
|
+
flow = ReactFlow()
|
|
67
|
+
model = flow.get_root(document, comm=comm)
|
|
68
|
+
assert model.children == [
|
|
69
|
+
"_views",
|
|
70
|
+
"_node_editor_views",
|
|
71
|
+
"_edge_editor_views",
|
|
72
|
+
"top_panel",
|
|
73
|
+
"bottom_panel",
|
|
74
|
+
"left_panel",
|
|
75
|
+
"right_panel",
|
|
76
|
+
]
|
|
77
|
+
|
|
78
|
+
flow.add_node({"id": "n1", "position": {"x": 0, "y": 0}, "label": "Viewer Node", "data": {}, "view": Markdown("foo")})
|
|
79
|
+
|
|
80
|
+
assert len(model.data._views) == 1
|
|
81
|
+
assert len(model.data._node_editor_views) == 1
|
|
@@ -5,7 +5,7 @@ import panel.models.jsoneditor # noqa
|
|
|
5
5
|
import pytest
|
|
6
6
|
from panel.tests.util import serve_component, wait_until
|
|
7
7
|
|
|
8
|
-
from panel_reactflow import EdgeSpec, NodeSpec, NodeType, ReactFlow
|
|
8
|
+
from panel_reactflow import EdgeSpec, JsonEditor, NodeSpec, NodeType, ReactFlow
|
|
9
9
|
|
|
10
10
|
pytest.importorskip("playwright")
|
|
11
11
|
|
|
@@ -30,12 +30,8 @@ _TASK_SCHEMA = {
|
|
|
30
30
|
def _make_flow(*, editor_mode="toolbar", include_edge=True):
|
|
31
31
|
nodes = [
|
|
32
32
|
NodeSpec(
|
|
33
|
-
id="n1",
|
|
34
|
-
|
|
35
|
-
label="Start",
|
|
36
|
-
data={"status": "idle", "notes": "Alpha"},
|
|
37
|
-
).to_dict()
|
|
38
|
-
| {"view": pn.pane.Markdown("Node view for start")},
|
|
33
|
+
id="n1", position={"x": 0, "y": 0}, label="Start", data={"status": "idle", "notes": "Alpha"}, view=pn.pane.Markdown("Node view for start")
|
|
34
|
+
).to_dict(),
|
|
39
35
|
NodeSpec(
|
|
40
36
|
id="n2",
|
|
41
37
|
position={"x": 260, "y": 60},
|
|
@@ -56,6 +52,7 @@ def _make_flow(*, editor_mode="toolbar", include_edge=True):
|
|
|
56
52
|
flow = ReactFlow(
|
|
57
53
|
nodes=nodes,
|
|
58
54
|
edges=edges,
|
|
55
|
+
node_editors={"panel": JsonEditor},
|
|
59
56
|
node_types={
|
|
60
57
|
"panel": NodeType(type="panel", label="Panel", schema=_TASK_SCHEMA),
|
|
61
58
|
},
|
|
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
|
{panel_reactflow-0.2.0rc0 → panel_reactflow-0.2.1}/docs/assets/screenshots/declare-types.png
RENAMED
|
File without changes
|
{panel_reactflow-0.2.0rc0 → panel_reactflow-0.2.1}/docs/assets/screenshots/define-editors-edge.png
RENAMED
|
File without changes
|
{panel_reactflow-0.2.0rc0 → panel_reactflow-0.2.1}/docs/assets/screenshots/define-editors-node.png
RENAMED
|
File without changes
|
{panel_reactflow-0.2.0rc0 → panel_reactflow-0.2.1}/docs/assets/screenshots/define-nodes-edges.png
RENAMED
|
File without changes
|
{panel_reactflow-0.2.0rc0 → panel_reactflow-0.2.1}/docs/assets/screenshots/embed-views-in-nodes.png
RENAMED
|
File without changes
|
|
File without changes
|
{panel_reactflow-0.2.0rc0 → panel_reactflow-0.2.1}/docs/assets/screenshots/react-to-events.png
RENAMED
|
File without changes
|
{panel_reactflow-0.2.0rc0 → panel_reactflow-0.2.1}/docs/assets/screenshots/style-nodes-edges.png
RENAMED
|
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
|
{panel_reactflow-0.2.0rc0 → panel_reactflow-0.2.1}/src/panel_reactflow/dist/css/reactflow.css
RENAMED
|
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
|