build: add tauri-essentials extra for buckaroo.server runtime deps#753
Merged
Conversation
Closes #751. Adds `[tauri-essentials]` — the Python-side runtime deps the buckaroo-tauri integration's sidecar needs to start. Distinct from `[xorq]` (stat-pipeline only, no tornado) and `[mcp]` (which lacks pandas). Top-level imports in `buckaroo.server` require all three: - tornado — `__main__.py`, `app.py`, `handlers.py`, `websocket_handler.py` - pandas — `data_loading.py`, `session.py` - polars — `data_loading.py` Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Contributor
📦 TestPyPI package publishedpip install --index-strategy unsafe-best-match --index-url https://test.pypi.org/simple/ --extra-index-url https://pypi.org/simple/ buckaroo==0.13.5.dev25991975877or with uv: uv pip install --index-strategy unsafe-best-match --index-url https://test.pypi.org/simple/ --extra-index-url https://pypi.org/simple/ buckaroo==0.13.5.dev25991975877MCP server for Claude Codeclaude mcp add buckaroo-table -- uvx --from "buckaroo[mcp]==0.13.5.dev25991975877" --index-strategy unsafe-best-match --index-url https://test.pypi.org/simple/ --extra-index-url https://pypi.org/simple/ buckaroo-table📖 Docs preview🎨 Storybook preview |
3 tasks
paddymul
added a commit
that referenced
this pull request
May 17, 2026
#753 added the `tauri-essentials` extras group to pyproject.toml but didn't regenerate uv.lock, so `uv sync --locked` rejects the tree as inconsistent. This breaks every PR's CI (Python / Lint and Docs / Build) because pull_request runs against the merge commit and inherits main's drifted state. Re-running `uv lock` adds the resolved entry for tauri-essentials; no other resolutions change. Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Closes #751. Adds
[tauri-essentials]— the Python-side runtime deps the buckaroo-tauri integration's sidecar needs to start. Resolves the gap wherepip install 'buckaroo[xorq]'(per buckaroo-tauri's README) installsxorqbut leavesbuckaroo.serverunable to importtornado, which #751 walks through in detail.Distinct from the two existing related extras:
[xorq]— stat-pipeline only; scoped toXorqStatPipelineper the comment above it. Intentionally does not pulltornado.[mcp]— hastornado+polarsbut notpandas; the sidecar'sdata_loading.pyandsession.pyboth import pandas unconditionally, so[mcp]only "works" today when something else (e.g. themcppackage, orxorqinstalled alongside) pulls pandas in transitively.[tauri-essentials]is the minimal explicit set for the sidecar:Polars pin matches the existing
[polars]extra. Pandas pin matches the existing dual-line pattern from[dev]/[test]/[marimo].Import audit
buckaroo.server's third-party top-level imports — verified by grepping^import |^fromoverbuckaroo/server/*.py:tornado(ioloop, web, websocket)__main__.py,app.py,handlers.py,websocket_handler.pypandasdata_loading.py:4,session.py:6polarsdata_loading.py:5No other third-party deps. Everything else is stdlib or
buckaroo.*internal.Naming
The name reflects "the Python runtime deps the Tauri integration needs to function" — not the Tauri shim itself (that's
buckaroo-data/buckaroo-tauri), and not a dependency on the Tauri framework. See #751 for the discussion.Test plan
Verified in a fresh 3.12 venv against this branch:
python -c "import tornado, pandas, polars, buckaroo"— all four importable post-installpython -m buckaroo.server --help— returns clean usage (wasModuleNotFoundError: No module named 'tornado'without the extra)tornado==6.5.5,pandas==3.0.3,polars==1.40.1resolved on 3.12Out of scope (separate follow-ups)
pip install 'buckaroo[tauri-essentials]'— needs a release of this first.[mcp](the contents are generic server deps, the name suggests Model Context Protocol). Flagged in Install command 'pip install buckaroo[xorq]' silently no-ops; sidecar then fails to import tornado #751 as a bonus consideration; not done here.🤖 Generated with Claude Code