anywidget-vector 0.4.0__tar.gz → 0.4.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.
- {anywidget_vector-0.4.0 → anywidget_vector-0.4.1}/.github/workflows/ci.yml +29 -1
- {anywidget_vector-0.4.0 → anywidget_vector-0.4.1}/.github/workflows/grafeo-latest.yml +2 -2
- {anywidget_vector-0.4.0 → anywidget_vector-0.4.1}/.gitignore +1 -1
- {anywidget_vector-0.4.0 → anywidget_vector-0.4.1}/CHANGELOG.md +40 -13
- {anywidget_vector-0.4.0 → anywidget_vector-0.4.1}/PKG-INFO +8 -8
- {anywidget_vector-0.4.0 → anywidget_vector-0.4.1}/README.md +5 -5
- anywidget_vector-0.4.1/package-lock.json +996 -0
- anywidget_vector-0.4.1/package.json +22 -0
- {anywidget_vector-0.4.0 → anywidget_vector-0.4.1}/pyproject.toml +7 -3
- anywidget_vector-0.4.1/scripts/build-esm.mjs +65 -0
- anywidget_vector-0.4.0/src/anywidget_vector/backends/grafeo/browser.js → anywidget_vector-0.4.1/src/anywidget_vector/backends/grafeo/browser.ts +9 -8
- anywidget_vector-0.4.0/src/anywidget_vector/backends/grafeo/embed.js → anywidget_vector-0.4.1/src/anywidget_vector/backends/grafeo/embed.ts +31 -15
- anywidget_vector-0.4.0/src/anywidget_vector/backends/grafeo/points.js → anywidget_vector-0.4.1/src/anywidget_vector/backends/grafeo/points.ts +18 -16
- anywidget_vector-0.4.0/src/anywidget_vector/backends/pinecone/client.js → anywidget_vector-0.4.1/src/anywidget_vector/backends/pinecone/client.ts +13 -7
- anywidget_vector-0.4.0/src/anywidget_vector/backends/qdrant/client.js → anywidget_vector-0.4.1/src/anywidget_vector/backends/qdrant/client.ts +6 -5
- anywidget_vector-0.4.0/src/anywidget_vector/backends/weaviate/client.js → anywidget_vector-0.4.1/src/anywidget_vector/backends/weaviate/client.ts +9 -10
- anywidget_vector-0.4.0/src/anywidget_vector/static/icons.js → anywidget_vector-0.4.1/src/anywidget_vector/static/icons.ts +2 -1
- anywidget_vector-0.4.1/src/anywidget_vector/ui/__init__.py +47 -0
- anywidget_vector-0.4.0/src/anywidget_vector/ui/canvas.js → anywidget_vector-0.4.1/src/anywidget_vector/ui/canvas.ts +174 -125
- anywidget_vector-0.4.0/src/anywidget_vector/ui/constants.js → anywidget_vector-0.4.1/src/anywidget_vector/ui/constants.ts +19 -3
- anywidget_vector-0.4.1/src/anywidget_vector/ui/dist/export.js +233 -0
- anywidget_vector-0.4.1/src/anywidget_vector/ui/dist/widget.js +2446 -0
- anywidget_vector-0.4.1/src/anywidget_vector/ui/export.html +43 -0
- anywidget_vector-0.4.1/src/anywidget_vector/ui/export.ts +214 -0
- anywidget_vector-0.4.1/src/anywidget_vector/ui/index.ts +171 -0
- anywidget_vector-0.4.0/src/anywidget_vector/ui/properties.js → anywidget_vector-0.4.1/src/anywidget_vector/ui/properties.ts +15 -14
- anywidget_vector-0.4.1/src/anywidget_vector/ui/query.ts +60 -0
- anywidget_vector-0.4.0/src/anywidget_vector/ui/settings.js → anywidget_vector-0.4.1/src/anywidget_vector/ui/settings.ts +15 -14
- anywidget_vector-0.4.0/src/anywidget_vector/ui/sidebar.js → anywidget_vector-0.4.1/src/anywidget_vector/ui/sidebar.ts +25 -24
- anywidget_vector-0.4.0/src/anywidget_vector/ui/theme.js → anywidget_vector-0.4.1/src/anywidget_vector/ui/theme.ts +21 -13
- anywidget_vector-0.4.0/src/anywidget_vector/ui/toolbar.js → anywidget_vector-0.4.1/src/anywidget_vector/ui/toolbar.ts +13 -7
- anywidget_vector-0.4.1/src/anywidget_vector/ui/types.ts +75 -0
- anywidget_vector-0.4.1/src/anywidget_vector/ui/vendor-globals.ts +15 -0
- {anywidget_vector-0.4.0 → anywidget_vector-0.4.1}/src/anywidget_vector/widget.py +5 -304
- anywidget_vector-0.4.1/tests/js/export.test.ts +109 -0
- anywidget_vector-0.4.1/tests/js/package-lock.json +528 -0
- anywidget_vector-0.4.1/tests/js/package.json +7 -0
- anywidget_vector-0.4.1/tests/js/render.test.ts +221 -0
- anywidget_vector-0.4.0/tests/js/wasm_smoke.mjs → anywidget_vector-0.4.1/tests/js/wasm_smoke.ts +10 -10
- {anywidget_vector-0.4.0 → anywidget_vector-0.4.1}/tests/support.py +26 -0
- {anywidget_vector-0.4.0 → anywidget_vector-0.4.1}/tests/test_theme.py +21 -9
- {anywidget_vector-0.4.0 → anywidget_vector-0.4.1}/tests/test_ui_bundle.py +174 -67
- {anywidget_vector-0.4.0 → anywidget_vector-0.4.1}/tests/test_widget.py +1 -1
- anywidget_vector-0.4.1/tsconfig.json +30 -0
- {anywidget_vector-0.4.0 → anywidget_vector-0.4.1}/uv.lock +574 -572
- anywidget_vector-0.4.0/src/anywidget_vector/ui/__init__.py +0 -340
- {anywidget_vector-0.4.0 → anywidget_vector-0.4.1}/.github/workflows/pypi.yml +0 -0
- {anywidget_vector-0.4.0 → anywidget_vector-0.4.1}/.python-version +0 -0
- {anywidget_vector-0.4.0 → anywidget_vector-0.4.1}/LICENSE +0 -0
- {anywidget_vector-0.4.0 → anywidget_vector-0.4.1}/assets/demo.png +0 -0
- {anywidget_vector-0.4.0 → anywidget_vector-0.4.1}/examples/demo.py +0 -0
- {anywidget_vector-0.4.0 → anywidget_vector-0.4.1}/examples/fashion-mnist-parallel-coords-6d.py +0 -0
- {anywidget_vector-0.4.0 → anywidget_vector-0.4.1}/examples/test_add_numpy.py +0 -0
- {anywidget_vector-0.4.0 → anywidget_vector-0.4.1}/examples/test_projection.py +0 -0
- {anywidget_vector-0.4.0 → anywidget_vector-0.4.1}/scripts/vendor/build.mjs +0 -0
- {anywidget_vector-0.4.0 → anywidget_vector-0.4.1}/scripts/vendor/entry.mjs +0 -0
- {anywidget_vector-0.4.0 → anywidget_vector-0.4.1}/scripts/vendor/package-lock.json +0 -0
- {anywidget_vector-0.4.0 → anywidget_vector-0.4.1}/scripts/vendor/package.json +0 -0
- {anywidget_vector-0.4.0 → anywidget_vector-0.4.1}/src/anywidget_vector/__init__.py +0 -0
- {anywidget_vector-0.4.0 → anywidget_vector-0.4.1}/src/anywidget_vector/backends/__init__.py +0 -0
- {anywidget_vector-0.4.0 → anywidget_vector-0.4.1}/src/anywidget_vector/backends/chroma/__init__.py +0 -0
- {anywidget_vector-0.4.0 → anywidget_vector-0.4.1}/src/anywidget_vector/backends/chroma/client.py +0 -0
- {anywidget_vector-0.4.0 → anywidget_vector-0.4.1}/src/anywidget_vector/backends/chroma/converter.py +0 -0
- {anywidget_vector-0.4.0 → anywidget_vector-0.4.1}/src/anywidget_vector/backends/grafeo/__init__.py +0 -0
- {anywidget_vector-0.4.0 → anywidget_vector-0.4.1}/src/anywidget_vector/backends/grafeo/client.py +0 -0
- {anywidget_vector-0.4.0 → anywidget_vector-0.4.1}/src/anywidget_vector/backends/grafeo/converter.py +0 -0
- {anywidget_vector-0.4.0 → anywidget_vector-0.4.1}/src/anywidget_vector/backends/lancedb/__init__.py +0 -0
- {anywidget_vector-0.4.0 → anywidget_vector-0.4.1}/src/anywidget_vector/backends/lancedb/client.py +0 -0
- {anywidget_vector-0.4.0 → anywidget_vector-0.4.1}/src/anywidget_vector/backends/lancedb/converter.py +0 -0
- {anywidget_vector-0.4.0 → anywidget_vector-0.4.1}/src/anywidget_vector/backends/pinecone/__init__.py +0 -0
- {anywidget_vector-0.4.0 → anywidget_vector-0.4.1}/src/anywidget_vector/backends/pinecone/converter.py +0 -0
- {anywidget_vector-0.4.0 → anywidget_vector-0.4.1}/src/anywidget_vector/backends/qdrant/__init__.py +0 -0
- {anywidget_vector-0.4.0 → anywidget_vector-0.4.1}/src/anywidget_vector/backends/qdrant/converter.py +0 -0
- {anywidget_vector-0.4.0 → anywidget_vector-0.4.1}/src/anywidget_vector/backends/weaviate/__init__.py +0 -0
- {anywidget_vector-0.4.0 → anywidget_vector-0.4.1}/src/anywidget_vector/backends/weaviate/converter.py +0 -0
- {anywidget_vector-0.4.0 → anywidget_vector-0.4.1}/src/anywidget_vector/demo.py +0 -0
- {anywidget_vector-0.4.0 → anywidget_vector-0.4.1}/src/anywidget_vector/py.typed +0 -0
- {anywidget_vector-0.4.0 → anywidget_vector-0.4.1}/src/anywidget_vector/ui/styles.css +0 -0
- {anywidget_vector-0.4.0 → anywidget_vector-0.4.1}/src/anywidget_vector/ui/vendor/three.LICENSES.txt +0 -0
- {anywidget_vector-0.4.0 → anywidget_vector-0.4.1}/src/anywidget_vector/ui/vendor/three.min.js +0 -0
- {anywidget_vector-0.4.0 → anywidget_vector-0.4.1}/tests/__init__.py +0 -0
- {anywidget_vector-0.4.0 → anywidget_vector-0.4.1}/tests/conftest.py +0 -0
- {anywidget_vector-0.4.0 → anywidget_vector-0.4.1}/tests/test_grafeo_backend.py +0 -0
- {anywidget_vector-0.4.0 → anywidget_vector-0.4.1}/tests/test_grafeo_contract.py +0 -0
- {anywidget_vector-0.4.0 → anywidget_vector-0.4.1}/tests/test_widget_robustness.py +0 -0
|
@@ -42,7 +42,8 @@ jobs:
|
|
|
42
42
|
with:
|
|
43
43
|
python-version: ${{ matrix.python-version }}
|
|
44
44
|
|
|
45
|
-
# The ESM bundle tests parse and run the widget's JavaScript with Node
|
|
45
|
+
# The ESM bundle tests parse and run the widget's JavaScript with Node (the tsc, jsdom and stale-bundle
|
|
46
|
+
# checks need node_modules and skip here: the frontend job runs them once)
|
|
46
47
|
- name: Set up Node.js
|
|
47
48
|
uses: actions/setup-node@v7
|
|
48
49
|
with:
|
|
@@ -54,6 +55,33 @@ jobs:
|
|
|
54
55
|
- name: Run tests
|
|
55
56
|
run: uv run --locked --extra dev pytest
|
|
56
57
|
|
|
58
|
+
frontend:
|
|
59
|
+
name: Front end
|
|
60
|
+
runs-on: ubuntu-latest
|
|
61
|
+
steps:
|
|
62
|
+
- uses: actions/checkout@v7
|
|
63
|
+
|
|
64
|
+
- name: Set up Node.js
|
|
65
|
+
uses: actions/setup-node@v7
|
|
66
|
+
with:
|
|
67
|
+
node-version: "22"
|
|
68
|
+
|
|
69
|
+
# esbuild, TypeScript and the type packages, so tsc can check every module in src/ and tests/js/
|
|
70
|
+
- name: Install the front-end dependencies
|
|
71
|
+
run: npm ci --ignore-scripts
|
|
72
|
+
|
|
73
|
+
- name: Install the JavaScript test dependencies
|
|
74
|
+
run: npm ci --ignore-scripts --prefix tests/js
|
|
75
|
+
|
|
76
|
+
- name: Check that the committed bundles are built from the current sources
|
|
77
|
+
run: npm run check
|
|
78
|
+
|
|
79
|
+
- name: Type-check the front end
|
|
80
|
+
run: npm run typecheck
|
|
81
|
+
|
|
82
|
+
- name: Run the JavaScript tests
|
|
83
|
+
run: npm test
|
|
84
|
+
|
|
57
85
|
build:
|
|
58
86
|
name: Build
|
|
59
87
|
runs-on: ubuntu-latest
|
|
@@ -55,7 +55,7 @@ jobs:
|
|
|
55
55
|
id: version
|
|
56
56
|
run: |
|
|
57
57
|
if [ "${{ matrix.release }}" = "pinned" ]; then
|
|
58
|
-
version=$(sed -n 's/^export const GRAFEO_WASM_VERSION = "\(.*\)";$/\1/p' src/anywidget_vector/backends/grafeo/embed.
|
|
58
|
+
version=$(sed -n 's/^export const GRAFEO_WASM_VERSION = "\(.*\)";$/\1/p' src/anywidget_vector/backends/grafeo/embed.ts)
|
|
59
59
|
else
|
|
60
60
|
version=$(npm view @grafeo-db/wasm versions --json | node -e 'const v = JSON.parse(require("fs").readFileSync(0, "utf8")); console.log([].concat(v).pop())')
|
|
61
61
|
fi
|
|
@@ -69,4 +69,4 @@ jobs:
|
|
|
69
69
|
tar -xzf grafeo-db-wasm-*.tgz
|
|
70
70
|
|
|
71
71
|
- name: Run smoke test
|
|
72
|
-
run: node tests/js/wasm_smoke.
|
|
72
|
+
run: node tests/js/wasm_smoke.ts "$RUNNER_TEMP/wasm/package"
|
|
@@ -1,6 +1,33 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
-
## 0.4.
|
|
3
|
+
## [0.4.1] - 2026-11-12
|
|
4
|
+
|
|
5
|
+
Grafeo 0.6.2 release: the Grafeo backend moves to grafeo 0.6.2 in Python and in the browser, and the front end is TypeScript, bundled by esbuild. An environment with the `grafeo` extra upgrades grafeo to 0.6.2 or later; to keep grafeo 0.6.0 or 0.6.1, stay on anywidget-vector 0.4.0 and pin grafeo.
|
|
6
|
+
|
|
7
|
+
### Changed
|
|
8
|
+
|
|
9
|
+
- **Front end in TypeScript**: The widget loads `ui/dist/widget.js`, built by esbuild from the modules in `ui/` and `backends/` (`npm run build`), instead of the JavaScript modules joined as text. `to_html()` uses its own bundle, `ui/dist/export.js`, with the page template in `ui/export.html`.
|
|
10
|
+
- **Release checks**: CI type-checks the front end with `tsc` (`npm run typecheck`), runs the JavaScript tests (`npm test`), and fails when a committed bundle is stale.
|
|
11
|
+
- **grafeo-server version**: The README says the `server` Grafeo mode needs grafeo-server 0.6.0 or later, the Grafeo 0.6 engine, which sends decimals as `{"$decimal": "..."}` (the widget turns them into numbers).
|
|
12
|
+
- **Exported pages draw points in one call**: `to_html()` and `save_html()` draw every point as an instance of one mesh instead of one mesh per point.
|
|
13
|
+
|
|
14
|
+
### Fixed
|
|
15
|
+
|
|
16
|
+
- **Exported point sizes match the widget**: `to_html()` scales `size_range` by the data extent, as the live view does.
|
|
17
|
+
- **An exported single point is in view**: A page with one point, or with points that share a position, places the camera away from them instead of on them.
|
|
18
|
+
- **The exported tooltip hides on leave**: Moving the pointer off an exported page hides the tooltip.
|
|
19
|
+
- **Pinecone fetches by id show their points**: A `{"ids": [...]}` query reads the fetched records (previously it showed no points), sends the configured `namespace`, and encodes each id, so ids with `&` or `#` resolve.
|
|
20
|
+
- **WASM mode creates one database**: Queries started while `@grafeo-db/wasm` loads share one database instead of each creating one.
|
|
21
|
+
- **The Run button shows Python-side queries**: For backends that run in Python (Grafeo embedded, Chroma, LanceDB), the button stays in its loading state until the result arrives.
|
|
22
|
+
- **A widget without WebGL leaves no listeners**: When the 3D canvas cannot be created, the view removes the model and theme listeners it had added.
|
|
23
|
+
- **Neighbor names fall back to the id**: The sidebar's distance list shows the id for a point whose `label` is empty.
|
|
24
|
+
|
|
25
|
+
### Dependencies
|
|
26
|
+
|
|
27
|
+
- **grafeo 0.6.2** (requires `>=0.6.2,<0.7`): The `grafeo` and `dev` extras need grafeo 0.6.2, and the `wasm` mode loads `@grafeo-db/wasm` 0.6.2 (`GRAFEO_WASM_VERSION` in `backends/grafeo/embed.ts`).
|
|
28
|
+
- **Locked versions refreshed**: 35 packages, among them ty 0.0.100, typer 0.29.0, pandas 3.1.1, lancedb 0.41.0, ruff 0.17.4 and python-dateutil 4.0.0. Front-end build tools: esbuild 0.28.2, TypeScript 7.0.2 and `@types/three` 0.186.0.
|
|
29
|
+
|
|
30
|
+
## [0.4.0] - 2026-10-28
|
|
4
31
|
|
|
5
32
|
Requires Python 3.12 or later; the Grafeo backend requires grafeo 0.6. See "Upgrading to 0.4" in the README.
|
|
6
33
|
|
|
@@ -46,7 +73,7 @@ Requires Python 3.12 or later; the Grafeo backend requires grafeo 0.6. See "Upgr
|
|
|
46
73
|
- **HTML export sizes**: `to_html(width=..., height=...)` placed the values in the page's `<style>` unchecked; a value that is not a plain CSS size now raises `ValueError`
|
|
47
74
|
- **Source distribution**: A local `uv build` packed the `.claude/` folder (agent notes and local settings) into the sdist; it is now excluded
|
|
48
75
|
|
|
49
|
-
## 0.3.2
|
|
76
|
+
## [0.3.2] - 2026-03-16
|
|
50
77
|
|
|
51
78
|
### Improvements
|
|
52
79
|
|
|
@@ -62,7 +89,7 @@ Requires Python 3.12 or later; the Grafeo backend requires grafeo 0.6. See "Upgr
|
|
|
62
89
|
- **setSelection scoping**: Moved `setSelection` helper to `createCanvas` scope so lasso/box/click handlers can access it
|
|
63
90
|
- **Camera debounce variable**: Fixed `_cameraDebounce` lexical declaration error by moving it to the correct scope
|
|
64
91
|
|
|
65
|
-
## 0.3.1
|
|
92
|
+
## [0.3.1] - 2026-03-16
|
|
66
93
|
|
|
67
94
|
### New Features
|
|
68
95
|
|
|
@@ -82,7 +109,7 @@ Requires Python 3.12 or later; the Grafeo backend requires grafeo 0.6. See "Upgr
|
|
|
82
109
|
- Camera no longer resets on every point update (only on initial load)
|
|
83
110
|
- Cross-widget filtering: example updated so VectorSpace lasso selection feeds back into ParallelCoordinates dimming via marimo reactivity
|
|
84
111
|
|
|
85
|
-
## 0.3.0
|
|
112
|
+
## [0.3.0] - 2026-03-16
|
|
86
113
|
|
|
87
114
|
### New Features
|
|
88
115
|
|
|
@@ -93,19 +120,19 @@ Requires Python 3.12 or later; the Grafeo backend requires grafeo 0.6. See "Upgr
|
|
|
93
120
|
|
|
94
121
|
- Improved sidebar styling and layout
|
|
95
122
|
|
|
96
|
-
## 0.2.8
|
|
123
|
+
## [0.2.8] - 2026-03-15
|
|
97
124
|
|
|
98
125
|
### New Features
|
|
99
126
|
|
|
100
127
|
- **6D parallel coordinates example**: Fashion-MNIST demo with PCA across 6+ dimensions, interactive axis mapping and shape mapping to categorical labels
|
|
101
128
|
|
|
102
|
-
## 0.2.7
|
|
129
|
+
## [0.2.7] - 2026-03-15
|
|
103
130
|
|
|
104
131
|
### New Features
|
|
105
132
|
|
|
106
133
|
- **Dark/light mode toggle**: `dark_mode` trait with real-time CSS color scheme switching and theme-aware styling across all panels
|
|
107
134
|
|
|
108
|
-
## 0.2.6
|
|
135
|
+
## [0.2.6] - 2026-03-15
|
|
109
136
|
|
|
110
137
|
### New Features
|
|
111
138
|
|
|
@@ -119,7 +146,7 @@ Requires Python 3.12 or later; the Grafeo backend requires grafeo 0.6. See "Upgr
|
|
|
119
146
|
- Coordinate normalization after projection
|
|
120
147
|
- Added demo screenshot to README
|
|
121
148
|
|
|
122
|
-
## 0.2.5
|
|
149
|
+
## [0.2.5] - 2026-03-04
|
|
123
150
|
|
|
124
151
|
### Bug Fixes
|
|
125
152
|
|
|
@@ -132,7 +159,7 @@ Requires Python 3.12 or later; the Grafeo backend requires grafeo 0.6. See "Upgr
|
|
|
132
159
|
- Better visual feedback for selection modes
|
|
133
160
|
- Cleaner toolbar layout with integrated mode controls
|
|
134
161
|
|
|
135
|
-
## 0.2.4
|
|
162
|
+
## [0.2.4] - 2026-03-02
|
|
136
163
|
|
|
137
164
|
### New Features
|
|
138
165
|
|
|
@@ -146,7 +173,7 @@ Requires Python 3.12 or later; the Grafeo backend requires grafeo 0.6. See "Upgr
|
|
|
146
173
|
- Updated README with comprehensive usage examples
|
|
147
174
|
- Updated dependencies
|
|
148
175
|
|
|
149
|
-
## 0.2.3
|
|
176
|
+
## [0.2.3] - 2026-02-12
|
|
150
177
|
|
|
151
178
|
### New Features
|
|
152
179
|
|
|
@@ -159,7 +186,7 @@ Requires Python 3.12 or later; the Grafeo backend requires grafeo 0.6. See "Upgr
|
|
|
159
186
|
- Consistency pass across all backend modules
|
|
160
187
|
- Ruff configuration tuned for marimo compatibility
|
|
161
188
|
|
|
162
|
-
## 0.2.2
|
|
189
|
+
## [0.2.2] - 2026-02-07
|
|
163
190
|
|
|
164
191
|
### New Features
|
|
165
192
|
|
|
@@ -171,7 +198,7 @@ Requires Python 3.12 or later; the Grafeo backend requires grafeo 0.6. See "Upgr
|
|
|
171
198
|
- Expanded test suite with 194 additional test cases
|
|
172
199
|
- ESM bundle aggregation for widget JavaScript
|
|
173
200
|
|
|
174
|
-
## 0.2.1
|
|
201
|
+
## [0.2.1] - 2026-02-03
|
|
175
202
|
|
|
176
203
|
### New Features
|
|
177
204
|
|
|
@@ -186,6 +213,6 @@ Requires Python 3.12 or later; the Grafeo backend requires grafeo 0.6. See "Upgr
|
|
|
186
213
|
- Refactored monolithic widget into modular component architecture
|
|
187
214
|
- Added README with usage examples
|
|
188
215
|
|
|
189
|
-
## 0.1.0
|
|
216
|
+
## [0.1.0] - 2026-02-03
|
|
190
217
|
|
|
191
218
|
- Initial release: Three.js-based interactive 3D vector visualization with instanced rendering, six shape types, continuous and categorical color mapping, orbit controls, hover tooltips, axes/grid display and raycast-based selection
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.5
|
|
2
2
|
Name: anywidget-vector
|
|
3
|
-
Version: 0.4.
|
|
3
|
+
Version: 0.4.1
|
|
4
4
|
Summary: Interactive 3D vector visualization with query UI for vector databases
|
|
5
5
|
Project-URL: Homepage, https://grafeo.dev/
|
|
6
6
|
Project-URL: Repository, https://github.com/GrafeoDB/anywidget-vector
|
|
@@ -33,7 +33,7 @@ Provides-Extra: chroma
|
|
|
33
33
|
Requires-Dist: chromadb==1.5.8; extra == 'chroma'
|
|
34
34
|
Provides-Extra: demo
|
|
35
35
|
Provides-Extra: dev
|
|
36
|
-
Requires-Dist: grafeo<0.7,>=0.6.
|
|
36
|
+
Requires-Dist: grafeo<0.7,>=0.6.2; extra == 'dev'
|
|
37
37
|
Requires-Dist: marimo>=0.25.2; extra == 'dev'
|
|
38
38
|
Requires-Dist: numpy>=1.24; extra == 'dev'
|
|
39
39
|
Requires-Dist: packaging>=24; extra == 'dev'
|
|
@@ -43,7 +43,7 @@ Requires-Dist: ruff>=0.17.3; extra == 'dev'
|
|
|
43
43
|
Requires-Dist: ty>=0.0.94; extra == 'dev'
|
|
44
44
|
Provides-Extra: embed
|
|
45
45
|
Provides-Extra: grafeo
|
|
46
|
-
Requires-Dist: grafeo<0.7,>=0.6.
|
|
46
|
+
Requires-Dist: grafeo<0.7,>=0.6.2; extra == 'grafeo'
|
|
47
47
|
Provides-Extra: lancedb
|
|
48
48
|
Requires-Dist: lancedb>=0.1; extra == 'lancedb'
|
|
49
49
|
Provides-Extra: numpy
|
|
@@ -85,7 +85,7 @@ uv add anywidget-vector
|
|
|
85
85
|
uv add "anywidget-vector[grafeo]" # with the embedded Grafeo backend (grafeo 0.6)
|
|
86
86
|
```
|
|
87
87
|
|
|
88
|
-
Requires Python 3.12 or later. The `grafeo` extra installs grafeo 0.6 (`grafeo>=0.6.
|
|
88
|
+
Requires Python 3.12 or later. The `grafeo` extra installs grafeo 0.6 (`grafeo>=0.6.2,<0.7`; anywidget-vector 0.4.0 still accepts grafeo 0.6.0 and 0.6.1); the browser-side WASM mode loads the matching `@grafeo-db/wasm` from a CDN. Upgrading from 0.3 with Grafeo:
|
|
89
89
|
see [Upgrading to 0.4](#upgrading-to-04).
|
|
90
90
|
|
|
91
91
|
## Quick Start
|
|
@@ -407,8 +407,8 @@ credentials in the kernel).
|
|
|
407
407
|
| Mode | Where queries run | Setup |
|
|
408
408
|
|------|-------------------|-------|
|
|
409
409
|
| `embedded` (default) | In Python, on a `grafeo.GrafeoDB` | `uv add "anywidget-vector[grafeo]"` and `set_backend("grafeo", client=db)` |
|
|
410
|
-
| `server` | Over HTTP, `POST /query` on [grafeo-server](https://github.com/GrafeoDB/grafeo-server) | `grafeo_server_url="http://localhost:7474"`; start the server with `--cors-origins` so the notebook's origin may call it |
|
|
411
|
-
| `wasm` | In the browser, in-memory | Nothing to install: `@grafeo-db/wasm` 0.6.
|
|
410
|
+
| `server` | Over HTTP, `POST /query` on [grafeo-server](https://github.com/GrafeoDB/grafeo-server) | `grafeo_server_url="http://localhost:7474"`; start the server with `--cors-origins` so the notebook's origin may call it. Needs grafeo-server 0.6.0 or later (the Grafeo 0.6 engine, which sends decimals as `{"$decimal": "..."}`; the widget turns them into numbers) |
|
|
411
|
+
| `wasm` | In the browser, in-memory | Nothing to install: `@grafeo-db/wasm` 0.6.2 loads from the jsDelivr CDN on the first query (the only code the widget loads from a CDN) |
|
|
412
412
|
|
|
413
413
|
```python
|
|
414
414
|
import grafeo
|
|
@@ -453,8 +453,8 @@ The distance metrics of a Grafeo vector index (`cosine`, `euclidean`, `dot_produ
|
|
|
453
453
|
same values as the widget's `distance_metric` and `compute_distances()`.
|
|
454
454
|
|
|
455
455
|
The browser engine version is set in one place, `GRAFEO_WASM_VERSION` in
|
|
456
|
-
`src/anywidget_vector/backends/grafeo/embed.
|
|
457
|
-
run `node tests/js/wasm_smoke.
|
|
456
|
+
`src/anywidget_vector/backends/grafeo/embed.ts`, and moves in lockstep with the `grafeo` extra. Before a bump,
|
|
457
|
+
run `node tests/js/wasm_smoke.ts <unpacked @grafeo-db/wasm package>`.
|
|
458
458
|
|
|
459
459
|
### Upgrading to 0.4
|
|
460
460
|
|
|
@@ -22,7 +22,7 @@ uv add anywidget-vector
|
|
|
22
22
|
uv add "anywidget-vector[grafeo]" # with the embedded Grafeo backend (grafeo 0.6)
|
|
23
23
|
```
|
|
24
24
|
|
|
25
|
-
Requires Python 3.12 or later. The `grafeo` extra installs grafeo 0.6 (`grafeo>=0.6.
|
|
25
|
+
Requires Python 3.12 or later. The `grafeo` extra installs grafeo 0.6 (`grafeo>=0.6.2,<0.7`; anywidget-vector 0.4.0 still accepts grafeo 0.6.0 and 0.6.1); the browser-side WASM mode loads the matching `@grafeo-db/wasm` from a CDN. Upgrading from 0.3 with Grafeo:
|
|
26
26
|
see [Upgrading to 0.4](#upgrading-to-04).
|
|
27
27
|
|
|
28
28
|
## Quick Start
|
|
@@ -344,8 +344,8 @@ credentials in the kernel).
|
|
|
344
344
|
| Mode | Where queries run | Setup |
|
|
345
345
|
|------|-------------------|-------|
|
|
346
346
|
| `embedded` (default) | In Python, on a `grafeo.GrafeoDB` | `uv add "anywidget-vector[grafeo]"` and `set_backend("grafeo", client=db)` |
|
|
347
|
-
| `server` | Over HTTP, `POST /query` on [grafeo-server](https://github.com/GrafeoDB/grafeo-server) | `grafeo_server_url="http://localhost:7474"`; start the server with `--cors-origins` so the notebook's origin may call it |
|
|
348
|
-
| `wasm` | In the browser, in-memory | Nothing to install: `@grafeo-db/wasm` 0.6.
|
|
347
|
+
| `server` | Over HTTP, `POST /query` on [grafeo-server](https://github.com/GrafeoDB/grafeo-server) | `grafeo_server_url="http://localhost:7474"`; start the server with `--cors-origins` so the notebook's origin may call it. Needs grafeo-server 0.6.0 or later (the Grafeo 0.6 engine, which sends decimals as `{"$decimal": "..."}`; the widget turns them into numbers) |
|
|
348
|
+
| `wasm` | In the browser, in-memory | Nothing to install: `@grafeo-db/wasm` 0.6.2 loads from the jsDelivr CDN on the first query (the only code the widget loads from a CDN) |
|
|
349
349
|
|
|
350
350
|
```python
|
|
351
351
|
import grafeo
|
|
@@ -390,8 +390,8 @@ The distance metrics of a Grafeo vector index (`cosine`, `euclidean`, `dot_produ
|
|
|
390
390
|
same values as the widget's `distance_metric` and `compute_distances()`.
|
|
391
391
|
|
|
392
392
|
The browser engine version is set in one place, `GRAFEO_WASM_VERSION` in
|
|
393
|
-
`src/anywidget_vector/backends/grafeo/embed.
|
|
394
|
-
run `node tests/js/wasm_smoke.
|
|
393
|
+
`src/anywidget_vector/backends/grafeo/embed.ts`, and moves in lockstep with the `grafeo` extra. Before a bump,
|
|
394
|
+
run `node tests/js/wasm_smoke.ts <unpacked @grafeo-db/wasm package>`.
|
|
395
395
|
|
|
396
396
|
### Upgrading to 0.4
|
|
397
397
|
|