Skip to content

Feat/duckdb classification - #51

Merged
gkennos merged 5 commits into
mainfrom
feat/duckdb-classification
Nov 6, 2026
Merged

gkennos merged 5 commits into
mainfrom
feat/duckdb-classification

Conversation

@gkennos

@gkennos gkennos commented Nov 6, 2026

Copy link
Copy Markdown
Member

Summary

Adds duckdb graph support

Checklist

  • Applied exactly one label (breaking, feature, fix, dependencies, or chore)
  • Tests pass locally (uv run pytest -q)
  • Lint passes (uv run ruff check .)

@gkennos gkennos added the feature New backwards-compatible functionality. MINOR: x.y+1.z label Nov 6, 2026

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🟢 Approval recommended

No active review issues are identified for the DuckDB support changes.

No open issues 🎉

What changed in this PR

Adds DuckDB support for relationship classification and graph use, integrating an optional dependency extra with the existing database configuration and ORM models.

Changes:

  • Adds a DuckDB-compatible predicate enum while preserving native enums elsewhere.
  • Adds disposable DuckDB test fixtures and integration coverage for classification, constraints, and idempotency.
  • Documents DuckDB installation and updates dependencies.
File Description
uv.lock Locks DuckDB dependencies and updates optional extras.
tests/​test_relationship_classification_duckdb.py Tests classification results, enum constraints, and repeat execution.
tests/​conftest.py Adds a disposable DuckDB fixture and shares database setup logic.
src/​omop_graph/​extensions/​omop_alchemy.py Uses a constrained VARCHAR-backed predicate enum on DuckDB.
src/​omop_graph/​config.py Adds a DuckDB test database configuration field.
README.md Documents installation with the DuckDB extra.
pyproject.toml Adds the DuckDB extra and includes it in development dependencies.
docs/​usage/​installation.md Adds DuckDB installation instructions for pip and uv.

Review effort: Balanced

@gkennos
gkennos merged commit f2d6402 into main Nov 6, 2026
4 checks passed
@gkennos
gkennos deleted the feat/duckdb-classification branch November 6, 2026 04:37
nicoloesch added a commit that referenced this pull request Nov 7, 2026
Pulls in DuckDB classification support (#51). Resolved the conflict in
extensions/omop_alchemy.py by keeping this branch's CDMExtensionTableBase
inheritance while adopting main's DuckDB-safe _predicate_kind_enum(),
parameterized on schema instead of hardcoding Role.PRIMARY.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

feature New backwards-compatible functionality. MINOR: x.y+1.z

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants