feat: make gvl.Table an opt-in experimental feature#227
Merged
Conversation
gvl.Table was hard-disabled (raised NotImplementedError) to keep CI green after its polars-bio overlap backend intermittently segfaulted the interpreter (upstream biodatageeks/polars-bio#395). It has proven stable enough in production use, so re-enable it as an explicitly experimental, opt-in feature instead. - Drop the NotImplementedError; Table now constructs and runs. - Move Table out of the top-level namespace into genvarloader.experimental (sklearn-style): users must `from genvarloader.experimental import Table`. It is no longer re-exported as gvl.Table. - Emit an ExperimentalWarning on construction; give a clear ImportError pointing at the optional polars-bio dependency when it is absent. - Keep Table out of CI: its tests are opt-in via GVL_TEST_EXPERIMENTAL=1 (importorskip won't work since polars-bio is transitive via genoray). - Update docs (api.md), the genvarloader skill, and repro scripts. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Add an opt-in `genvarloader[table]` extra that pulls in polars-bio so users can enable the experimental gvl.Table without manually installing the backend. Point the missing-dependency error, docstrings, and skill at the extra. Co-Authored-By: Claude Opus 4.8 <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
gvl.Tablewas hard-disabled (constructor raisedNotImplementedError) to keep CI green after itspolars-biooverlap backend intermittently segfaulted the interpreter (upstream biodatageeks/polars-bio#395). It's proven stable enough in production use, so this re-enables it as an explicitly experimental, opt-in feature rather than a fully supported one.Changes
Table— drop theNotImplementedError; it constructs and runs again.Tableis removed from the top-levelgenvarloadernamespace (no moregvl.Table) and must be imported explicitly:from genvarloader.experimental import Table.ExperimentalWarning; calling overlap methods without the optionalpolars-bioinstalled raises a clearImportErrorwith an install hint.GVL_TEST_EXPERIMENTAL=1. (Animportorskipwouldn't keep them out of CI sincepolars-biois transitive viagenoray.) Removed the now-obsoletetest_table_disabled.py.docs/source/api.md, thegenvarloaderskill, and therepro/scripts to the new import path.Test plan
ruff checkandpyreflypass clean.GVL_TEST_EXPERIMENTAL=1the unit suite runs (15 passed) and constructs/queries work.🤖 Generated with Claude Code