SQLSpec DuckDB Adapter
Read .claude/skills/sqlspec_adapters/duckdb.md for Claude's adapter playbook and docs/guides/adapters/duckdb.md for project documentation.
Where to look
- Adapter implementation:
sqlspec/adapters/duckdb/(config.py, driver.py, _typing.py) - Parameter profiles:
sqlspec/core/parameters.py(duckdb profile + statement config helpers) - Driver bases and mixins:
sqlspec/driver/andsqlspec/driver/mixins/ - Tests:
tests/integration/test_adapters/test_duckdb/andtests/integration/test_stack_edge_cases.py - Claude and specs references:
.claude/AGENTS.md,.claude/skills/README.md,specs/AGENTS.md,specs/guides/quality-gates.yaml
How it works
- Use config classes to map
connection_config,driver_features, and statement config; register viaSQLSpec.add_config(). - Override
_connection_in_transaction()with direct attribute access (returns False; DuckDB requires explicit BEGIN and does not expose transaction state.). - Flow parameter styles through
StatementConfigfrom the driver profile; adapter guides describe defaults and overrides. - Execute stacks with
StatementStackusing adapter-native pipeline when available, otherwise fall back to sequential execution.
Official References
- https://sqlspec.dev/
- https://sqlspec.dev/reference/adapters.html
- https://duckdb.org/docs/stable/clients/python/overview
- https://duckdb.org/docs/stable/sql/statements/transactions
- https://duckdb.org/docs/stable/sql/query_syntax/prepared_statements
- https://duckdb.org/news/
Shared Styleguide Baseline
- Use shared styleguides for generic language/framework rules to reduce duplication in this skill.
- General Principles
- SQLSpec
- Python
- Keep this skill focused on tool-specific workflows, edge cases, and integration details.
Scan to join WeChat group