reflex-gravityui-graph 0.1.0__tar.gz → 0.2.0__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 (21) hide show
  1. {reflex_gravityui_graph-0.1.0 → reflex_gravityui_graph-0.2.0}/PKG-INFO +21 -9
  2. {reflex_gravityui_graph-0.1.0 → reflex_gravityui_graph-0.2.0}/README.md +15 -6
  3. {reflex_gravityui_graph-0.1.0 → reflex_gravityui_graph-0.2.0}/custom_components/reflex_gravityui_graph/graph.pyi +28 -32
  4. {reflex_gravityui_graph-0.1.0 → reflex_gravityui_graph-0.2.0}/custom_components/reflex_gravityui_graph.egg-info/PKG-INFO +21 -9
  5. {reflex_gravityui_graph-0.1.0 → reflex_gravityui_graph-0.2.0}/custom_components/reflex_gravityui_graph.egg-info/requires.txt +1 -1
  6. {reflex_gravityui_graph-0.1.0 → reflex_gravityui_graph-0.2.0}/pyproject.toml +8 -5
  7. {reflex_gravityui_graph-0.1.0 → reflex_gravityui_graph-0.2.0}/LICENSE +0 -0
  8. {reflex_gravityui_graph-0.1.0 → reflex_gravityui_graph-0.2.0}/custom_components/reflex_gravityui_graph/__init__.py +0 -0
  9. {reflex_gravityui_graph-0.1.0 → reflex_gravityui_graph-0.2.0}/custom_components/reflex_gravityui_graph/domain.py +0 -0
  10. {reflex_gravityui_graph-0.1.0 → reflex_gravityui_graph-0.2.0}/custom_components/reflex_gravityui_graph/graph.py +0 -0
  11. {reflex_gravityui_graph-0.1.0 → reflex_gravityui_graph-0.2.0}/custom_components/reflex_gravityui_graph/graph_canvas.jsx +0 -0
  12. {reflex_gravityui_graph-0.1.0 → reflex_gravityui_graph-0.2.0}/custom_components/reflex_gravityui_graph/recipes.py +0 -0
  13. {reflex_gravityui_graph-0.1.0 → reflex_gravityui_graph-0.2.0}/custom_components/reflex_gravityui_graph.egg-info/SOURCES.txt +0 -0
  14. {reflex_gravityui_graph-0.1.0 → reflex_gravityui_graph-0.2.0}/custom_components/reflex_gravityui_graph.egg-info/dependency_links.txt +0 -0
  15. {reflex_gravityui_graph-0.1.0 → reflex_gravityui_graph-0.2.0}/custom_components/reflex_gravityui_graph.egg-info/top_level.txt +0 -0
  16. {reflex_gravityui_graph-0.1.0 → reflex_gravityui_graph-0.2.0}/setup.cfg +0 -0
  17. {reflex_gravityui_graph-0.1.0 → reflex_gravityui_graph-0.2.0}/tests/test_contract.py +0 -0
  18. {reflex_gravityui_graph-0.1.0 → reflex_gravityui_graph-0.2.0}/tests/test_demo.py +0 -0
  19. {reflex_gravityui_graph-0.1.0 → reflex_gravityui_graph-0.2.0}/tests/test_domain.py +0 -0
  20. {reflex_gravityui_graph-0.1.0 → reflex_gravityui_graph-0.2.0}/tests/test_packaging.py +0 -0
  21. {reflex_gravityui_graph-0.1.0 → reflex_gravityui_graph-0.2.0}/tests/test_recipes.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: reflex-gravityui-graph
3
- Version: 0.1.0
3
+ Version: 0.2.0
4
4
  Summary: A Reflex custom component wrapping @gravity-ui/graph (a high-performance Canvas + React graph/flowchart/node-editor visualization library).
5
5
  Author-email: Ernesto Crespo <ecrespo@gmail.com>
6
6
  License: Apache-2.0
@@ -14,11 +14,14 @@ Classifier: Framework :: AsyncIO
14
14
  Classifier: Intended Audience :: Developers
15
15
  Classifier: License :: OSI Approved :: Apache Software License
16
16
  Classifier: Programming Language :: Python :: 3
17
+ Classifier: Programming Language :: Python :: 3.11
18
+ Classifier: Programming Language :: Python :: 3.12
19
+ Classifier: Programming Language :: Python :: 3.13
17
20
  Classifier: Topic :: Software Development :: Libraries :: Python Modules
18
- Requires-Python: >=3.10
21
+ Requires-Python: >=3.11
19
22
  Description-Content-Type: text/markdown
20
23
  License-File: LICENSE
21
- Requires-Dist: reflex>=0.8.0
24
+ Requires-Dist: reflex>=0.10.0
22
25
  Provides-Extra: dev
23
26
  Requires-Dist: build; extra == "dev"
24
27
  Requires-Dist: twine; extra == "dev"
@@ -37,7 +40,8 @@ It exposes the whole graph declaratively from Python: pass `blocks`,
37
40
  `connections`, `settings`, `colors` and `constants` as plain data, and receive
38
41
  selection / connection / camera events back into your Reflex state.
39
42
 
40
- > Status: **0.1.0 (beta).** Wraps `@gravity-ui/graph@1.11.0`.
43
+ > Status: **0.2.0 (beta).** Wraps `@gravity-ui/graph@1.11.0`.
44
+ > Requires **Python ≥ 3.11** and **Reflex ≥ 0.10** (React 19).
41
45
 
42
46
  ---
43
47
 
@@ -132,9 +136,9 @@ A full demo with one page per example category lives in
132
136
  `reflex_gravityui_graph_demo/`:
133
137
 
134
138
  ```bash
135
- uv pip install -e .
139
+ uv sync --extra dev
136
140
  cd reflex_gravityui_graph_demo
137
- reflex run
141
+ uv run reflex run
138
142
  ```
139
143
 
140
144
  Pages: Basics · Connections · Scale · Grouping · Camera & Zoom · Theming ·
@@ -145,13 +149,21 @@ Interaction & Events.
145
149
  This project uses [`uv`](https://docs.astral.sh/uv/).
146
150
 
147
151
  ```bash
148
- uv venv && source .venv/bin/activate
149
- uv pip install -e ".[dev]"
152
+ uv sync --extra dev # create .venv with Reflex >= 0.10 + dev tools
150
153
  uv run pytest -q # run the test suite
151
- uv run reflex component build # build wheel/sdist + generate the .pyi stub
154
+ (cd reflex_gravityui_graph_demo && uv run reflex compile) # demo compiles
155
+
156
+ # Regenerate the committed .pyi stub after changing the component's props/events
157
+ uv run --with ruff python -m reflex_base.utils.pyi_generator custom_components/reflex_gravityui_graph/graph.py
158
+
159
+ uv build # build wheel/sdist into dist/
152
160
  uv publish # publish to PyPI (needs an API token)
153
161
  ```
154
162
 
163
+ > **Reflex 0.10 note:** the `reflex component init/build/publish/share` CLI was
164
+ > removed in Reflex 0.10. This repo builds with plain `uv build` (setuptools) and
165
+ > ships the `.pyi` stub generated by Reflex's own `pyi_generator` (command above).
166
+
155
167
  See [`docs/sdd/`](docs/sdd/) for the full Spec-Driven Design artifacts
156
168
  (overview, PRD, architecture, component spec, plan, tasks) and
157
169
  [`docs/research/`](docs/research/) for the upstream research notes.
@@ -10,7 +10,8 @@ It exposes the whole graph declaratively from Python: pass `blocks`,
10
10
  `connections`, `settings`, `colors` and `constants` as plain data, and receive
11
11
  selection / connection / camera events back into your Reflex state.
12
12
 
13
- > Status: **0.1.0 (beta).** Wraps `@gravity-ui/graph@1.11.0`.
13
+ > Status: **0.2.0 (beta).** Wraps `@gravity-ui/graph@1.11.0`.
14
+ > Requires **Python ≥ 3.11** and **Reflex ≥ 0.10** (React 19).
14
15
 
15
16
  ---
16
17
 
@@ -105,9 +106,9 @@ A full demo with one page per example category lives in
105
106
  `reflex_gravityui_graph_demo/`:
106
107
 
107
108
  ```bash
108
- uv pip install -e .
109
+ uv sync --extra dev
109
110
  cd reflex_gravityui_graph_demo
110
- reflex run
111
+ uv run reflex run
111
112
  ```
112
113
 
113
114
  Pages: Basics · Connections · Scale · Grouping · Camera & Zoom · Theming ·
@@ -118,13 +119,21 @@ Interaction & Events.
118
119
  This project uses [`uv`](https://docs.astral.sh/uv/).
119
120
 
120
121
  ```bash
121
- uv venv && source .venv/bin/activate
122
- uv pip install -e ".[dev]"
122
+ uv sync --extra dev # create .venv with Reflex >= 0.10 + dev tools
123
123
  uv run pytest -q # run the test suite
124
- uv run reflex component build # build wheel/sdist + generate the .pyi stub
124
+ (cd reflex_gravityui_graph_demo && uv run reflex compile) # demo compiles
125
+
126
+ # Regenerate the committed .pyi stub after changing the component's props/events
127
+ uv run --with ruff python -m reflex_base.utils.pyi_generator custom_components/reflex_gravityui_graph/graph.py
128
+
129
+ uv build # build wheel/sdist into dist/
125
130
  uv publish # publish to PyPI (needs an API token)
126
131
  ```
127
132
 
133
+ > **Reflex 0.10 note:** the `reflex component init/build/publish/share` CLI was
134
+ > removed in Reflex 0.10. This repo builds with plain `uv build` (setuptools) and
135
+ > ships the `.pyi` stub generated by Reflex's own `pyi_generator` (command above).
136
+
128
137
  See [`docs/sdd/`](docs/sdd/) for the full Spec-Driven Design artifacts
129
138
  (overview, PRD, architecture, component spec, plan, tasks) and
130
139
  [`docs/research/`](docs/research/) for the upstream research notes.
@@ -4,15 +4,16 @@
4
4
  # This file was generated by `reflex/utils/pyi_generator.py`!
5
5
  # ------------------------------------------------------
6
6
  from collections.abc import Mapping, Sequence
7
- from typing import Any, Optional
8
- from reflex_components_core.core.breakpoints import Breakpoints
7
+ from typing import Any
8
+
9
+ import reflex as rx
10
+ from reflex.components.component import NoSSRComponent
9
11
  from reflex_base.event import (
10
12
  EventType,
11
13
  PointerEventInfo,
12
14
  )
13
15
  from reflex_base.vars.base import Var
14
- import reflex as rx
15
- from reflex.components.component import NoSSRComponent
16
+ from reflex_components_core.core.breakpoints import Breakpoints
16
17
 
17
18
  GRAVITY_GRAPH_VERSION = "@gravity-ui/graph@1.11.0"
18
19
  _BRIDGE_PATH = rx.asset("./graph_canvas.jsx", shared=True)
@@ -43,34 +44,30 @@ class GravityGraph(NoSSRComponent):
43
44
  ref: Var | None = None,
44
45
  class_name: Any | None = None,
45
46
  custom_attrs: dict[str, Any | Var] | None = None,
46
- on_block_drag_end: Optional[EventType[()] | EventType[rx.Var[dict]]] = None,
47
- on_block_selection_change: Optional[
48
- EventType[()] | EventType[rx.Var[dict]]
49
- ] = None,
50
- on_blur: Optional[EventType[()]] = None,
51
- on_camera_change: Optional[EventType[()] | EventType[rx.Var[dict]]] = None,
52
- on_click: Optional[EventType[()] | EventType[PointerEventInfo]] = None,
53
- on_connection_created: Optional[EventType[()] | EventType[rx.Var[dict]]] = None,
54
- on_connection_selection_change: Optional[
55
- EventType[()] | EventType[rx.Var[dict]]
56
- ] = None,
57
- on_context_menu: Optional[EventType[()] | EventType[PointerEventInfo]] = None,
58
- on_double_click: Optional[EventType[()] | EventType[PointerEventInfo]] = None,
59
- on_focus: Optional[EventType[()]] = None,
60
- on_mount: Optional[EventType[()]] = None,
61
- on_mouse_down: Optional[EventType[()]] = None,
62
- on_mouse_enter: Optional[EventType[()]] = None,
63
- on_mouse_leave: Optional[EventType[()]] = None,
64
- on_mouse_move: Optional[EventType[()]] = None,
65
- on_mouse_out: Optional[EventType[()]] = None,
66
- on_mouse_over: Optional[EventType[()]] = None,
67
- on_mouse_up: Optional[EventType[()]] = None,
68
- on_scroll: Optional[EventType[()]] = None,
69
- on_scroll_end: Optional[EventType[()]] = None,
70
- on_state_change: Optional[EventType[()] | EventType[rx.Var[dict]]] = None,
71
- on_unmount: Optional[EventType[()]] = None,
47
+ on_block_drag_end: EventType[()] | EventType[rx.Var[dict]] | None = None,
48
+ on_block_selection_change: EventType[()] | EventType[rx.Var[dict]] | None = None,
49
+ on_blur: EventType[()] | None = None,
50
+ on_camera_change: EventType[()] | EventType[rx.Var[dict]] | None = None,
51
+ on_click: EventType[()] | EventType[PointerEventInfo] | None = None,
52
+ on_connection_created: EventType[()] | EventType[rx.Var[dict]] | None = None,
53
+ on_connection_selection_change: EventType[()] | EventType[rx.Var[dict]] | None = None,
54
+ on_context_menu: EventType[()] | EventType[PointerEventInfo] | None = None,
55
+ on_double_click: EventType[()] | EventType[PointerEventInfo] | None = None,
56
+ on_focus: EventType[()] | None = None,
57
+ on_mount: EventType[()] | None = None,
58
+ on_mouse_down: EventType[()] | None = None,
59
+ on_mouse_enter: EventType[()] | None = None,
60
+ on_mouse_leave: EventType[()] | None = None,
61
+ on_mouse_move: EventType[()] | None = None,
62
+ on_mouse_out: EventType[()] | None = None,
63
+ on_mouse_over: EventType[()] | None = None,
64
+ on_mouse_up: EventType[()] | None = None,
65
+ on_scroll: EventType[()] | None = None,
66
+ on_scroll_end: EventType[()] | None = None,
67
+ on_state_change: EventType[()] | EventType[rx.Var[dict]] | None = None,
68
+ on_unmount: EventType[()] | None = None,
72
69
  **props,
73
- ) -> "GravityGraph":
70
+ ) -> GravityGraph:
74
71
  """Create the component.
75
72
 
76
73
  Args:
@@ -118,6 +115,5 @@ class GravityGraph(NoSSRComponent):
118
115
 
119
116
  Returns:
120
117
  The component."""
121
- ...
122
118
 
123
119
  graph_canvas = GravityGraph.create
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: reflex-gravityui-graph
3
- Version: 0.1.0
3
+ Version: 0.2.0
4
4
  Summary: A Reflex custom component wrapping @gravity-ui/graph (a high-performance Canvas + React graph/flowchart/node-editor visualization library).
5
5
  Author-email: Ernesto Crespo <ecrespo@gmail.com>
6
6
  License: Apache-2.0
@@ -14,11 +14,14 @@ Classifier: Framework :: AsyncIO
14
14
  Classifier: Intended Audience :: Developers
15
15
  Classifier: License :: OSI Approved :: Apache Software License
16
16
  Classifier: Programming Language :: Python :: 3
17
+ Classifier: Programming Language :: Python :: 3.11
18
+ Classifier: Programming Language :: Python :: 3.12
19
+ Classifier: Programming Language :: Python :: 3.13
17
20
  Classifier: Topic :: Software Development :: Libraries :: Python Modules
18
- Requires-Python: >=3.10
21
+ Requires-Python: >=3.11
19
22
  Description-Content-Type: text/markdown
20
23
  License-File: LICENSE
21
- Requires-Dist: reflex>=0.8.0
24
+ Requires-Dist: reflex>=0.10.0
22
25
  Provides-Extra: dev
23
26
  Requires-Dist: build; extra == "dev"
24
27
  Requires-Dist: twine; extra == "dev"
@@ -37,7 +40,8 @@ It exposes the whole graph declaratively from Python: pass `blocks`,
37
40
  `connections`, `settings`, `colors` and `constants` as plain data, and receive
38
41
  selection / connection / camera events back into your Reflex state.
39
42
 
40
- > Status: **0.1.0 (beta).** Wraps `@gravity-ui/graph@1.11.0`.
43
+ > Status: **0.2.0 (beta).** Wraps `@gravity-ui/graph@1.11.0`.
44
+ > Requires **Python ≥ 3.11** and **Reflex ≥ 0.10** (React 19).
41
45
 
42
46
  ---
43
47
 
@@ -132,9 +136,9 @@ A full demo with one page per example category lives in
132
136
  `reflex_gravityui_graph_demo/`:
133
137
 
134
138
  ```bash
135
- uv pip install -e .
139
+ uv sync --extra dev
136
140
  cd reflex_gravityui_graph_demo
137
- reflex run
141
+ uv run reflex run
138
142
  ```
139
143
 
140
144
  Pages: Basics · Connections · Scale · Grouping · Camera & Zoom · Theming ·
@@ -145,13 +149,21 @@ Interaction & Events.
145
149
  This project uses [`uv`](https://docs.astral.sh/uv/).
146
150
 
147
151
  ```bash
148
- uv venv && source .venv/bin/activate
149
- uv pip install -e ".[dev]"
152
+ uv sync --extra dev # create .venv with Reflex >= 0.10 + dev tools
150
153
  uv run pytest -q # run the test suite
151
- uv run reflex component build # build wheel/sdist + generate the .pyi stub
154
+ (cd reflex_gravityui_graph_demo && uv run reflex compile) # demo compiles
155
+
156
+ # Regenerate the committed .pyi stub after changing the component's props/events
157
+ uv run --with ruff python -m reflex_base.utils.pyi_generator custom_components/reflex_gravityui_graph/graph.py
158
+
159
+ uv build # build wheel/sdist into dist/
152
160
  uv publish # publish to PyPI (needs an API token)
153
161
  ```
154
162
 
163
+ > **Reflex 0.10 note:** the `reflex component init/build/publish/share` CLI was
164
+ > removed in Reflex 0.10. This repo builds with plain `uv build` (setuptools) and
165
+ > ships the `.pyi` stub generated by Reflex's own `pyi_generator` (command above).
166
+
155
167
  See [`docs/sdd/`](docs/sdd/) for the full Spec-Driven Design artifacts
156
168
  (overview, PRD, architecture, component spec, plan, tasks) and
157
169
  [`docs/research/`](docs/research/) for the upstream research notes.
@@ -1,14 +1,14 @@
1
1
  [build-system]
2
- requires = ["setuptools>=61.0", "wheel"]
2
+ requires = ["setuptools>=78.1.1", "wheel"]
3
3
  build-backend = "setuptools.build_meta"
4
4
 
5
5
  [project]
6
6
  name = "reflex-gravityui-graph"
7
- version = "0.1.0"
7
+ version = "0.2.0"
8
8
  description = "A Reflex custom component wrapping @gravity-ui/graph (a high-performance Canvas + React graph/flowchart/node-editor visualization library)."
9
9
  readme = "README.md"
10
- # Reflex 0.9 dropped Python 3.9; the official custom-component template pins >=3.10.
11
- requires-python = ">=3.10"
10
+ # Reflex 0.10 requires Python >=3.11.
11
+ requires-python = ">=3.11"
12
12
  license = { text = "Apache-2.0" }
13
13
  authors = [{ name = "Ernesto Crespo", email = "ecrespo@gmail.com" }]
14
14
  # "reflex-custom-components" is required for Reflex gallery / PyPI discovery.
@@ -30,9 +30,12 @@ classifiers = [
30
30
  "Intended Audience :: Developers",
31
31
  "License :: OSI Approved :: Apache Software License",
32
32
  "Programming Language :: Python :: 3",
33
+ "Programming Language :: Python :: 3.11",
34
+ "Programming Language :: Python :: 3.12",
35
+ "Programming Language :: Python :: 3.13",
33
36
  "Topic :: Software Development :: Libraries :: Python Modules",
34
37
  ]
35
- dependencies = ["reflex>=0.8.0"]
38
+ dependencies = ["reflex>=0.10.0"]
36
39
 
37
40
  [project.urls]
38
41
  Homepage = "https://github.com/ecrespo/reflex-gravityui-graph"