sqlspec 0.30.0__tar.gz → 0.30.2__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.
- {sqlspec-0.30.0 → sqlspec-0.30.2}/.claude/agents/expert.md +25 -0
- {sqlspec-0.30.0 → sqlspec-0.30.2}/.claude/agents/testing.md +4 -0
- {sqlspec-0.30.0 → sqlspec-0.30.2}/.claude/bootstrap.md +220 -0
- sqlspec-0.30.2/.claude/skills/README.md +229 -0
- sqlspec-0.30.2/.claude/skills/sqlspec_adapters/README.md +70 -0
- sqlspec-0.30.2/.claude/skills/sqlspec_adapters/asyncpg.md +278 -0
- sqlspec-0.30.2/.claude/skills/sqlspec_usage/__init__.py +1 -0
- sqlspec-0.30.2/.claude/skills/sqlspec_usage/examples/__init__.py +1 -0
- sqlspec-0.30.2/.claude/skills/sqlspec_usage/examples/fastapi_integration.py +125 -0
- sqlspec-0.30.2/.claude/skills/sqlspec_usage/examples/litestar_integration.py +234 -0
- sqlspec-0.30.2/.claude/skills/sqlspec_usage/examples/migration-workflow.sh +102 -0
- sqlspec-0.30.2/.claude/skills/sqlspec_usage/examples/multi_database.py +147 -0
- sqlspec-0.30.2/.claude/skills/sqlspec_usage/examples/testing_patterns.py +232 -0
- sqlspec-0.30.2/.claude/skills/sqlspec_usage/patterns/configuration.md +594 -0
- sqlspec-0.30.2/.claude/skills/sqlspec_usage/patterns/frameworks.md +142 -0
- sqlspec-0.30.2/.claude/skills/sqlspec_usage/patterns/migrations.md +137 -0
- sqlspec-0.30.2/.claude/skills/sqlspec_usage/patterns/performance.md +323 -0
- sqlspec-0.30.2/.claude/skills/sqlspec_usage/patterns/queries.md +699 -0
- sqlspec-0.30.2/.claude/skills/sqlspec_usage/patterns/testing.md +153 -0
- sqlspec-0.30.2/.claude/skills/sqlspec_usage/patterns/troubleshooting.md +534 -0
- sqlspec-0.30.2/.claude/skills/sqlspec_usage/skill.md +545 -0
- sqlspec-0.30.2/.gemini/bootstrap.md +3655 -0
- {sqlspec-0.30.0 → sqlspec-0.30.2}/.gitignore +1 -0
- {sqlspec-0.30.0 → sqlspec-0.30.2}/AGENTS.md +8 -0
- {sqlspec-0.30.0 → sqlspec-0.30.2}/PKG-INFO +1 -1
- {sqlspec-0.30.0 → sqlspec-0.30.2}/pyproject.toml +26 -33
- {sqlspec-0.30.0 → sqlspec-0.30.2}/sqlspec/_typing.py +20 -58
- {sqlspec-0.30.0 → sqlspec-0.30.2}/sqlspec/driver/_common.py +7 -0
- {sqlspec-0.30.0 → sqlspec-0.30.2}/sqlspec/migrations/validation.py +32 -3
- {sqlspec-0.30.0 → sqlspec-0.30.2}/sqlspec/observability/_diagnostics.py +10 -9
- {sqlspec-0.30.0 → sqlspec-0.30.2}/sqlspec/observability/_dispatcher.py +23 -1
- {sqlspec-0.30.0 → sqlspec-0.30.2}/sqlspec/observability/_spans.py +11 -1
- {sqlspec-0.30.0 → sqlspec-0.30.2}/sqlspec/utils/correlation.py +16 -33
- sqlspec-0.30.2/sqlspec/utils/dependencies.py +79 -0
- {sqlspec-0.30.0 → sqlspec-0.30.2}/sqlspec/utils/module_loader.py +30 -50
- {sqlspec-0.30.0 → sqlspec-0.30.2}/sqlspec/utils/portal.py +21 -23
- {sqlspec-0.30.0 → sqlspec-0.30.2}/sqlspec/utils/singleton.py +3 -0
- {sqlspec-0.30.0 → sqlspec-0.30.2}/sqlspec/utils/type_guards.py +3 -3
- {sqlspec-0.30.0 → sqlspec-0.30.2}/tests/unit/test_config/test_observability_extensions.py +15 -3
- sqlspec-0.30.2/tests/unit/test_driver/test_count_query_edge_cases.py +233 -0
- {sqlspec-0.30.0 → sqlspec-0.30.2}/tests/unit/test_extensions/test_observability_integrations.py +14 -2
- {sqlspec-0.30.0 → sqlspec-0.30.2}/tests/unit/test_migrations/test_validation.py +1 -1
- {sqlspec-0.30.0 → sqlspec-0.30.2}/tests/unit/test_observability.py +19 -0
- sqlspec-0.30.2/tests/unit/test_utils/test_dependencies.py +110 -0
- {sqlspec-0.30.0 → sqlspec-0.30.2}/uv.lock +177 -173
- sqlspec-0.30.0/.gemini/bootstrap.md +0 -2435
- sqlspec-0.30.0/tests/unit/test_utils/test_dependencies.py +0 -58
- {sqlspec-0.30.0 → sqlspec-0.30.2}/.claude/AGENTS.md +0 -0
- {sqlspec-0.30.0 → sqlspec-0.30.2}/.claude/README.md +0 -0
- {sqlspec-0.30.0 → sqlspec-0.30.2}/.claude/agents/docs-vision.md +0 -0
- {sqlspec-0.30.0 → sqlspec-0.30.2}/.claude/agents/prd.md +0 -0
- {sqlspec-0.30.0 → sqlspec-0.30.2}/.claude/commands/implement.md +0 -0
- {sqlspec-0.30.0 → sqlspec-0.30.2}/.claude/commands/prd.md +0 -0
- {sqlspec-0.30.0 → sqlspec-0.30.2}/.claude/commands/review.md +0 -0
- {sqlspec-0.30.0 → sqlspec-0.30.2}/.claude/commands/test.md +0 -0
- {sqlspec-0.30.0 → sqlspec-0.30.2}/.gemini/GEMINI.md +0 -0
- {sqlspec-0.30.0 → sqlspec-0.30.2}/.gemini/commands/implement.toml +0 -0
- {sqlspec-0.30.0 → sqlspec-0.30.2}/.gemini/commands/prd.toml +0 -0
- {sqlspec-0.30.0 → sqlspec-0.30.2}/.gemini/commands/review.toml +0 -0
- {sqlspec-0.30.0 → sqlspec-0.30.2}/.gemini/commands/sync-guides.toml +0 -0
- {sqlspec-0.30.0 → sqlspec-0.30.2}/.gemini/commands/test.toml +0 -0
- {sqlspec-0.30.0 → sqlspec-0.30.2}/.pre-commit-config.yaml +0 -0
- {sqlspec-0.30.0 → sqlspec-0.30.2}/CLAUDE.md +0 -0
- {sqlspec-0.30.0 → sqlspec-0.30.2}/CONTRIBUTING.rst +0 -0
- {sqlspec-0.30.0 → sqlspec-0.30.2}/GEMINI.md +0 -0
- {sqlspec-0.30.0 → sqlspec-0.30.2}/LICENSE +0 -0
- {sqlspec-0.30.0 → sqlspec-0.30.2}/Makefile +0 -0
- {sqlspec-0.30.0 → sqlspec-0.30.2}/README.md +0 -0
- {sqlspec-0.30.0 → sqlspec-0.30.2}/specs/AGENTS.md +0 -0
- {sqlspec-0.30.0 → sqlspec-0.30.2}/specs/README.md +0 -0
- {sqlspec-0.30.0 → sqlspec-0.30.2}/specs/active/.gitkeep +0 -0
- {sqlspec-0.30.0 → sqlspec-0.30.2}/specs/agents/expert.md +0 -0
- {sqlspec-0.30.0 → sqlspec-0.30.2}/specs/agents/guides.md +0 -0
- {sqlspec-0.30.0 → sqlspec-0.30.2}/specs/agents/prd.md +0 -0
- {sqlspec-0.30.0 → sqlspec-0.30.2}/specs/agents/review.md +0 -0
- {sqlspec-0.30.0 → sqlspec-0.30.2}/specs/agents/testing.md +0 -0
- {sqlspec-0.30.0 → sqlspec-0.30.2}/specs/archive/.gitkeep +0 -0
- {sqlspec-0.30.0 → sqlspec-0.30.2}/specs/guides/docs_examples_alignment.md +0 -0
- {sqlspec-0.30.0 → sqlspec-0.30.2}/specs/guides/query-stack.md +0 -0
- {sqlspec-0.30.0 → sqlspec-0.30.2}/specs/template-spec/README.md +0 -0
- {sqlspec-0.30.0 → sqlspec-0.30.2}/specs/template-spec/prd.md +0 -0
- {sqlspec-0.30.0 → sqlspec-0.30.2}/specs/template-spec/recovery.md +0 -0
- {sqlspec-0.30.0 → sqlspec-0.30.2}/specs/template-spec/research/.gitkeep +0 -0
- {sqlspec-0.30.0 → sqlspec-0.30.2}/specs/template-spec/tasks.md +0 -0
- {sqlspec-0.30.0 → sqlspec-0.30.2}/sqlspec/__init__.py +0 -0
- {sqlspec-0.30.0 → sqlspec-0.30.2}/sqlspec/__main__.py +0 -0
- {sqlspec-0.30.0 → sqlspec-0.30.2}/sqlspec/__metadata__.py +0 -0
- {sqlspec-0.30.0 → sqlspec-0.30.2}/sqlspec/_serialization.py +0 -0
- {sqlspec-0.30.0 → sqlspec-0.30.2}/sqlspec/adapters/__init__.py +0 -0
- {sqlspec-0.30.0 → sqlspec-0.30.2}/sqlspec/adapters/adbc/__init__.py +0 -0
- {sqlspec-0.30.0 → sqlspec-0.30.2}/sqlspec/adapters/adbc/_types.py +0 -0
- {sqlspec-0.30.0 → sqlspec-0.30.2}/sqlspec/adapters/adbc/adk/__init__.py +0 -0
- {sqlspec-0.30.0 → sqlspec-0.30.2}/sqlspec/adapters/adbc/adk/store.py +0 -0
- {sqlspec-0.30.0 → sqlspec-0.30.2}/sqlspec/adapters/adbc/config.py +0 -0
- {sqlspec-0.30.0 → sqlspec-0.30.2}/sqlspec/adapters/adbc/data_dictionary.py +0 -0
- {sqlspec-0.30.0 → sqlspec-0.30.2}/sqlspec/adapters/adbc/driver.py +0 -0
- {sqlspec-0.30.0 → sqlspec-0.30.2}/sqlspec/adapters/adbc/litestar/__init__.py +0 -0
- {sqlspec-0.30.0 → sqlspec-0.30.2}/sqlspec/adapters/adbc/litestar/store.py +0 -0
- {sqlspec-0.30.0 → sqlspec-0.30.2}/sqlspec/adapters/adbc/type_converter.py +0 -0
- {sqlspec-0.30.0 → sqlspec-0.30.2}/sqlspec/adapters/aiosqlite/__init__.py +0 -0
- {sqlspec-0.30.0 → sqlspec-0.30.2}/sqlspec/adapters/aiosqlite/_types.py +0 -0
- {sqlspec-0.30.0 → sqlspec-0.30.2}/sqlspec/adapters/aiosqlite/adk/__init__.py +0 -0
- {sqlspec-0.30.0 → sqlspec-0.30.2}/sqlspec/adapters/aiosqlite/adk/store.py +0 -0
- {sqlspec-0.30.0 → sqlspec-0.30.2}/sqlspec/adapters/aiosqlite/config.py +0 -0
- {sqlspec-0.30.0 → sqlspec-0.30.2}/sqlspec/adapters/aiosqlite/data_dictionary.py +0 -0
- {sqlspec-0.30.0 → sqlspec-0.30.2}/sqlspec/adapters/aiosqlite/driver.py +0 -0
- {sqlspec-0.30.0 → sqlspec-0.30.2}/sqlspec/adapters/aiosqlite/litestar/__init__.py +0 -0
- {sqlspec-0.30.0 → sqlspec-0.30.2}/sqlspec/adapters/aiosqlite/litestar/store.py +0 -0
- {sqlspec-0.30.0 → sqlspec-0.30.2}/sqlspec/adapters/aiosqlite/pool.py +0 -0
- {sqlspec-0.30.0 → sqlspec-0.30.2}/sqlspec/adapters/asyncmy/__init__.py +0 -0
- {sqlspec-0.30.0 → sqlspec-0.30.2}/sqlspec/adapters/asyncmy/_types.py +0 -0
- {sqlspec-0.30.0 → sqlspec-0.30.2}/sqlspec/adapters/asyncmy/adk/__init__.py +0 -0
- {sqlspec-0.30.0 → sqlspec-0.30.2}/sqlspec/adapters/asyncmy/adk/store.py +0 -0
- {sqlspec-0.30.0 → sqlspec-0.30.2}/sqlspec/adapters/asyncmy/config.py +0 -0
- {sqlspec-0.30.0 → sqlspec-0.30.2}/sqlspec/adapters/asyncmy/data_dictionary.py +0 -0
- {sqlspec-0.30.0 → sqlspec-0.30.2}/sqlspec/adapters/asyncmy/driver.py +0 -0
- {sqlspec-0.30.0 → sqlspec-0.30.2}/sqlspec/adapters/asyncmy/litestar/__init__.py +0 -0
- {sqlspec-0.30.0 → sqlspec-0.30.2}/sqlspec/adapters/asyncmy/litestar/store.py +0 -0
- {sqlspec-0.30.0 → sqlspec-0.30.2}/sqlspec/adapters/asyncpg/__init__.py +0 -0
- {sqlspec-0.30.0 → sqlspec-0.30.2}/sqlspec/adapters/asyncpg/_type_handlers.py +0 -0
- {sqlspec-0.30.0 → sqlspec-0.30.2}/sqlspec/adapters/asyncpg/_types.py +0 -0
- {sqlspec-0.30.0 → sqlspec-0.30.2}/sqlspec/adapters/asyncpg/adk/__init__.py +0 -0
- {sqlspec-0.30.0 → sqlspec-0.30.2}/sqlspec/adapters/asyncpg/adk/store.py +0 -0
- {sqlspec-0.30.0 → sqlspec-0.30.2}/sqlspec/adapters/asyncpg/config.py +0 -0
- {sqlspec-0.30.0 → sqlspec-0.30.2}/sqlspec/adapters/asyncpg/data_dictionary.py +0 -0
- {sqlspec-0.30.0 → sqlspec-0.30.2}/sqlspec/adapters/asyncpg/driver.py +0 -0
- {sqlspec-0.30.0 → sqlspec-0.30.2}/sqlspec/adapters/asyncpg/litestar/__init__.py +0 -0
- {sqlspec-0.30.0 → sqlspec-0.30.2}/sqlspec/adapters/asyncpg/litestar/store.py +0 -0
- {sqlspec-0.30.0 → sqlspec-0.30.2}/sqlspec/adapters/bigquery/__init__.py +0 -0
- {sqlspec-0.30.0 → sqlspec-0.30.2}/sqlspec/adapters/bigquery/_types.py +0 -0
- {sqlspec-0.30.0 → sqlspec-0.30.2}/sqlspec/adapters/bigquery/adk/__init__.py +0 -0
- {sqlspec-0.30.0 → sqlspec-0.30.2}/sqlspec/adapters/bigquery/adk/store.py +0 -0
- {sqlspec-0.30.0 → sqlspec-0.30.2}/sqlspec/adapters/bigquery/config.py +0 -0
- {sqlspec-0.30.0 → sqlspec-0.30.2}/sqlspec/adapters/bigquery/data_dictionary.py +0 -0
- {sqlspec-0.30.0 → sqlspec-0.30.2}/sqlspec/adapters/bigquery/driver.py +0 -0
- {sqlspec-0.30.0 → sqlspec-0.30.2}/sqlspec/adapters/bigquery/litestar/__init__.py +0 -0
- {sqlspec-0.30.0 → sqlspec-0.30.2}/sqlspec/adapters/bigquery/litestar/store.py +0 -0
- {sqlspec-0.30.0 → sqlspec-0.30.2}/sqlspec/adapters/bigquery/type_converter.py +0 -0
- {sqlspec-0.30.0 → sqlspec-0.30.2}/sqlspec/adapters/duckdb/__init__.py +0 -0
- {sqlspec-0.30.0 → sqlspec-0.30.2}/sqlspec/adapters/duckdb/_types.py +0 -0
- {sqlspec-0.30.0 → sqlspec-0.30.2}/sqlspec/adapters/duckdb/adk/__init__.py +0 -0
- {sqlspec-0.30.0 → sqlspec-0.30.2}/sqlspec/adapters/duckdb/adk/store.py +0 -0
- {sqlspec-0.30.0 → sqlspec-0.30.2}/sqlspec/adapters/duckdb/config.py +0 -0
- {sqlspec-0.30.0 → sqlspec-0.30.2}/sqlspec/adapters/duckdb/data_dictionary.py +0 -0
- {sqlspec-0.30.0 → sqlspec-0.30.2}/sqlspec/adapters/duckdb/driver.py +0 -0
- {sqlspec-0.30.0 → sqlspec-0.30.2}/sqlspec/adapters/duckdb/litestar/__init__.py +0 -0
- {sqlspec-0.30.0 → sqlspec-0.30.2}/sqlspec/adapters/duckdb/litestar/store.py +0 -0
- {sqlspec-0.30.0 → sqlspec-0.30.2}/sqlspec/adapters/duckdb/pool.py +0 -0
- {sqlspec-0.30.0 → sqlspec-0.30.2}/sqlspec/adapters/duckdb/type_converter.py +0 -0
- {sqlspec-0.30.0 → sqlspec-0.30.2}/sqlspec/adapters/oracledb/__init__.py +0 -0
- {sqlspec-0.30.0 → sqlspec-0.30.2}/sqlspec/adapters/oracledb/_numpy_handlers.py +0 -0
- {sqlspec-0.30.0 → sqlspec-0.30.2}/sqlspec/adapters/oracledb/_types.py +0 -0
- {sqlspec-0.30.0 → sqlspec-0.30.2}/sqlspec/adapters/oracledb/_uuid_handlers.py +0 -0
- {sqlspec-0.30.0 → sqlspec-0.30.2}/sqlspec/adapters/oracledb/adk/__init__.py +0 -0
- {sqlspec-0.30.0 → sqlspec-0.30.2}/sqlspec/adapters/oracledb/adk/store.py +0 -0
- {sqlspec-0.30.0 → sqlspec-0.30.2}/sqlspec/adapters/oracledb/config.py +0 -0
- {sqlspec-0.30.0 → sqlspec-0.30.2}/sqlspec/adapters/oracledb/data_dictionary.py +0 -0
- {sqlspec-0.30.0 → sqlspec-0.30.2}/sqlspec/adapters/oracledb/driver.py +0 -0
- {sqlspec-0.30.0 → sqlspec-0.30.2}/sqlspec/adapters/oracledb/litestar/__init__.py +0 -0
- {sqlspec-0.30.0 → sqlspec-0.30.2}/sqlspec/adapters/oracledb/litestar/store.py +0 -0
- {sqlspec-0.30.0 → sqlspec-0.30.2}/sqlspec/adapters/oracledb/migrations.py +0 -0
- {sqlspec-0.30.0 → sqlspec-0.30.2}/sqlspec/adapters/oracledb/type_converter.py +0 -0
- {sqlspec-0.30.0 → sqlspec-0.30.2}/sqlspec/adapters/psqlpy/__init__.py +0 -0
- {sqlspec-0.30.0 → sqlspec-0.30.2}/sqlspec/adapters/psqlpy/_type_handlers.py +0 -0
- {sqlspec-0.30.0 → sqlspec-0.30.2}/sqlspec/adapters/psqlpy/_types.py +0 -0
- {sqlspec-0.30.0 → sqlspec-0.30.2}/sqlspec/adapters/psqlpy/adk/__init__.py +0 -0
- {sqlspec-0.30.0 → sqlspec-0.30.2}/sqlspec/adapters/psqlpy/adk/store.py +0 -0
- {sqlspec-0.30.0 → sqlspec-0.30.2}/sqlspec/adapters/psqlpy/config.py +0 -0
- {sqlspec-0.30.0 → sqlspec-0.30.2}/sqlspec/adapters/psqlpy/data_dictionary.py +0 -0
- {sqlspec-0.30.0 → sqlspec-0.30.2}/sqlspec/adapters/psqlpy/driver.py +0 -0
- {sqlspec-0.30.0 → sqlspec-0.30.2}/sqlspec/adapters/psqlpy/litestar/__init__.py +0 -0
- {sqlspec-0.30.0 → sqlspec-0.30.2}/sqlspec/adapters/psqlpy/litestar/store.py +0 -0
- {sqlspec-0.30.0 → sqlspec-0.30.2}/sqlspec/adapters/psqlpy/type_converter.py +0 -0
- {sqlspec-0.30.0 → sqlspec-0.30.2}/sqlspec/adapters/psycopg/__init__.py +0 -0
- {sqlspec-0.30.0 → sqlspec-0.30.2}/sqlspec/adapters/psycopg/_type_handlers.py +0 -0
- {sqlspec-0.30.0 → sqlspec-0.30.2}/sqlspec/adapters/psycopg/_types.py +0 -0
- {sqlspec-0.30.0 → sqlspec-0.30.2}/sqlspec/adapters/psycopg/adk/__init__.py +0 -0
- {sqlspec-0.30.0 → sqlspec-0.30.2}/sqlspec/adapters/psycopg/adk/store.py +0 -0
- {sqlspec-0.30.0 → sqlspec-0.30.2}/sqlspec/adapters/psycopg/config.py +0 -0
- {sqlspec-0.30.0 → sqlspec-0.30.2}/sqlspec/adapters/psycopg/data_dictionary.py +0 -0
- {sqlspec-0.30.0 → sqlspec-0.30.2}/sqlspec/adapters/psycopg/driver.py +0 -0
- {sqlspec-0.30.0 → sqlspec-0.30.2}/sqlspec/adapters/psycopg/litestar/__init__.py +0 -0
- {sqlspec-0.30.0 → sqlspec-0.30.2}/sqlspec/adapters/psycopg/litestar/store.py +0 -0
- {sqlspec-0.30.0 → sqlspec-0.30.2}/sqlspec/adapters/sqlite/__init__.py +0 -0
- {sqlspec-0.30.0 → sqlspec-0.30.2}/sqlspec/adapters/sqlite/_type_handlers.py +0 -0
- {sqlspec-0.30.0 → sqlspec-0.30.2}/sqlspec/adapters/sqlite/_types.py +0 -0
- {sqlspec-0.30.0 → sqlspec-0.30.2}/sqlspec/adapters/sqlite/adk/__init__.py +0 -0
- {sqlspec-0.30.0 → sqlspec-0.30.2}/sqlspec/adapters/sqlite/adk/store.py +0 -0
- {sqlspec-0.30.0 → sqlspec-0.30.2}/sqlspec/adapters/sqlite/config.py +0 -0
- {sqlspec-0.30.0 → sqlspec-0.30.2}/sqlspec/adapters/sqlite/data_dictionary.py +0 -0
- {sqlspec-0.30.0 → sqlspec-0.30.2}/sqlspec/adapters/sqlite/driver.py +0 -0
- {sqlspec-0.30.0 → sqlspec-0.30.2}/sqlspec/adapters/sqlite/litestar/__init__.py +0 -0
- {sqlspec-0.30.0 → sqlspec-0.30.2}/sqlspec/adapters/sqlite/litestar/store.py +0 -0
- {sqlspec-0.30.0 → sqlspec-0.30.2}/sqlspec/adapters/sqlite/pool.py +0 -0
- {sqlspec-0.30.0 → sqlspec-0.30.2}/sqlspec/base.py +0 -0
- {sqlspec-0.30.0 → sqlspec-0.30.2}/sqlspec/builder/__init__.py +0 -0
- {sqlspec-0.30.0 → sqlspec-0.30.2}/sqlspec/builder/_base.py +0 -0
- {sqlspec-0.30.0 → sqlspec-0.30.2}/sqlspec/builder/_column.py +0 -0
- {sqlspec-0.30.0 → sqlspec-0.30.2}/sqlspec/builder/_ddl.py +0 -0
- {sqlspec-0.30.0 → sqlspec-0.30.2}/sqlspec/builder/_delete.py +0 -0
- {sqlspec-0.30.0 → sqlspec-0.30.2}/sqlspec/builder/_dml.py +0 -0
- {sqlspec-0.30.0 → sqlspec-0.30.2}/sqlspec/builder/_expression_wrappers.py +0 -0
- {sqlspec-0.30.0 → sqlspec-0.30.2}/sqlspec/builder/_factory.py +0 -0
- {sqlspec-0.30.0 → sqlspec-0.30.2}/sqlspec/builder/_insert.py +0 -0
- {sqlspec-0.30.0 → sqlspec-0.30.2}/sqlspec/builder/_join.py +0 -0
- {sqlspec-0.30.0 → sqlspec-0.30.2}/sqlspec/builder/_merge.py +0 -0
- {sqlspec-0.30.0 → sqlspec-0.30.2}/sqlspec/builder/_parsing_utils.py +0 -0
- {sqlspec-0.30.0 → sqlspec-0.30.2}/sqlspec/builder/_select.py +0 -0
- {sqlspec-0.30.0 → sqlspec-0.30.2}/sqlspec/builder/_update.py +0 -0
- {sqlspec-0.30.0 → sqlspec-0.30.2}/sqlspec/cli.py +0 -0
- {sqlspec-0.30.0 → sqlspec-0.30.2}/sqlspec/config.py +0 -0
- {sqlspec-0.30.0 → sqlspec-0.30.2}/sqlspec/core/__init__.py +0 -0
- {sqlspec-0.30.0 → sqlspec-0.30.2}/sqlspec/core/cache.py +0 -0
- {sqlspec-0.30.0 → sqlspec-0.30.2}/sqlspec/core/compiler.py +0 -0
- {sqlspec-0.30.0 → sqlspec-0.30.2}/sqlspec/core/filters.py +0 -0
- {sqlspec-0.30.0 → sqlspec-0.30.2}/sqlspec/core/hashing.py +0 -0
- {sqlspec-0.30.0 → sqlspec-0.30.2}/sqlspec/core/metrics.py +0 -0
- {sqlspec-0.30.0 → sqlspec-0.30.2}/sqlspec/core/parameters/__init__.py +0 -0
- {sqlspec-0.30.0 → sqlspec-0.30.2}/sqlspec/core/parameters/_alignment.py +0 -0
- {sqlspec-0.30.0 → sqlspec-0.30.2}/sqlspec/core/parameters/_converter.py +0 -0
- {sqlspec-0.30.0 → sqlspec-0.30.2}/sqlspec/core/parameters/_processor.py +0 -0
- {sqlspec-0.30.0 → sqlspec-0.30.2}/sqlspec/core/parameters/_registry.py +0 -0
- {sqlspec-0.30.0 → sqlspec-0.30.2}/sqlspec/core/parameters/_transformers.py +0 -0
- {sqlspec-0.30.0 → sqlspec-0.30.2}/sqlspec/core/parameters/_types.py +0 -0
- {sqlspec-0.30.0 → sqlspec-0.30.2}/sqlspec/core/parameters/_validator.py +0 -0
- {sqlspec-0.30.0 → sqlspec-0.30.2}/sqlspec/core/pipeline.py +0 -0
- {sqlspec-0.30.0 → sqlspec-0.30.2}/sqlspec/core/result.py +0 -0
- {sqlspec-0.30.0 → sqlspec-0.30.2}/sqlspec/core/splitter.py +0 -0
- {sqlspec-0.30.0 → sqlspec-0.30.2}/sqlspec/core/stack.py +0 -0
- {sqlspec-0.30.0 → sqlspec-0.30.2}/sqlspec/core/statement.py +0 -0
- {sqlspec-0.30.0 → sqlspec-0.30.2}/sqlspec/core/type_conversion.py +0 -0
- {sqlspec-0.30.0 → sqlspec-0.30.2}/sqlspec/driver/__init__.py +0 -0
- {sqlspec-0.30.0 → sqlspec-0.30.2}/sqlspec/driver/_async.py +0 -0
- {sqlspec-0.30.0 → sqlspec-0.30.2}/sqlspec/driver/_sync.py +0 -0
- {sqlspec-0.30.0 → sqlspec-0.30.2}/sqlspec/driver/mixins/__init__.py +0 -0
- {sqlspec-0.30.0 → sqlspec-0.30.2}/sqlspec/driver/mixins/_result_tools.py +0 -0
- {sqlspec-0.30.0 → sqlspec-0.30.2}/sqlspec/driver/mixins/_sql_translator.py +0 -0
- {sqlspec-0.30.0 → sqlspec-0.30.2}/sqlspec/driver/mixins/_storage.py +0 -0
- {sqlspec-0.30.0 → sqlspec-0.30.2}/sqlspec/exceptions.py +0 -0
- {sqlspec-0.30.0 → sqlspec-0.30.2}/sqlspec/extensions/__init__.py +0 -0
- {sqlspec-0.30.0 → sqlspec-0.30.2}/sqlspec/extensions/adk/__init__.py +0 -0
- {sqlspec-0.30.0 → sqlspec-0.30.2}/sqlspec/extensions/adk/_types.py +0 -0
- {sqlspec-0.30.0 → sqlspec-0.30.2}/sqlspec/extensions/adk/converters.py +0 -0
- {sqlspec-0.30.0 → sqlspec-0.30.2}/sqlspec/extensions/adk/migrations/0001_create_adk_tables.py +0 -0
- {sqlspec-0.30.0 → sqlspec-0.30.2}/sqlspec/extensions/adk/migrations/__init__.py +0 -0
- {sqlspec-0.30.0 → sqlspec-0.30.2}/sqlspec/extensions/adk/service.py +0 -0
- {sqlspec-0.30.0 → sqlspec-0.30.2}/sqlspec/extensions/adk/store.py +0 -0
- {sqlspec-0.30.0 → sqlspec-0.30.2}/sqlspec/extensions/aiosql/__init__.py +0 -0
- {sqlspec-0.30.0 → sqlspec-0.30.2}/sqlspec/extensions/aiosql/adapter.py +0 -0
- {sqlspec-0.30.0 → sqlspec-0.30.2}/sqlspec/extensions/fastapi/__init__.py +0 -0
- {sqlspec-0.30.0 → sqlspec-0.30.2}/sqlspec/extensions/fastapi/extension.py +0 -0
- {sqlspec-0.30.0 → sqlspec-0.30.2}/sqlspec/extensions/fastapi/providers.py +0 -0
- {sqlspec-0.30.0 → sqlspec-0.30.2}/sqlspec/extensions/flask/__init__.py +0 -0
- {sqlspec-0.30.0 → sqlspec-0.30.2}/sqlspec/extensions/flask/_state.py +0 -0
- {sqlspec-0.30.0 → sqlspec-0.30.2}/sqlspec/extensions/flask/_utils.py +0 -0
- {sqlspec-0.30.0 → sqlspec-0.30.2}/sqlspec/extensions/flask/extension.py +0 -0
- {sqlspec-0.30.0 → sqlspec-0.30.2}/sqlspec/extensions/litestar/__init__.py +0 -0
- {sqlspec-0.30.0 → sqlspec-0.30.2}/sqlspec/extensions/litestar/_utils.py +0 -0
- {sqlspec-0.30.0 → sqlspec-0.30.2}/sqlspec/extensions/litestar/cli.py +0 -0
- {sqlspec-0.30.0 → sqlspec-0.30.2}/sqlspec/extensions/litestar/config.py +0 -0
- {sqlspec-0.30.0 → sqlspec-0.30.2}/sqlspec/extensions/litestar/handlers.py +0 -0
- {sqlspec-0.30.0 → sqlspec-0.30.2}/sqlspec/extensions/litestar/migrations/0001_create_session_table.py +0 -0
- {sqlspec-0.30.0 → sqlspec-0.30.2}/sqlspec/extensions/litestar/migrations/__init__.py +0 -0
- {sqlspec-0.30.0 → sqlspec-0.30.2}/sqlspec/extensions/litestar/plugin.py +0 -0
- {sqlspec-0.30.0 → sqlspec-0.30.2}/sqlspec/extensions/litestar/providers.py +0 -0
- {sqlspec-0.30.0 → sqlspec-0.30.2}/sqlspec/extensions/litestar/store.py +0 -0
- {sqlspec-0.30.0 → sqlspec-0.30.2}/sqlspec/extensions/otel/__init__.py +0 -0
- {sqlspec-0.30.0 → sqlspec-0.30.2}/sqlspec/extensions/prometheus/__init__.py +0 -0
- {sqlspec-0.30.0 → sqlspec-0.30.2}/sqlspec/extensions/starlette/__init__.py +0 -0
- {sqlspec-0.30.0 → sqlspec-0.30.2}/sqlspec/extensions/starlette/_state.py +0 -0
- {sqlspec-0.30.0 → sqlspec-0.30.2}/sqlspec/extensions/starlette/_utils.py +0 -0
- {sqlspec-0.30.0 → sqlspec-0.30.2}/sqlspec/extensions/starlette/extension.py +0 -0
- {sqlspec-0.30.0 → sqlspec-0.30.2}/sqlspec/extensions/starlette/middleware.py +0 -0
- {sqlspec-0.30.0 → sqlspec-0.30.2}/sqlspec/loader.py +0 -0
- {sqlspec-0.30.0 → sqlspec-0.30.2}/sqlspec/migrations/__init__.py +0 -0
- {sqlspec-0.30.0 → sqlspec-0.30.2}/sqlspec/migrations/base.py +0 -0
- {sqlspec-0.30.0 → sqlspec-0.30.2}/sqlspec/migrations/commands.py +0 -0
- {sqlspec-0.30.0 → sqlspec-0.30.2}/sqlspec/migrations/context.py +0 -0
- {sqlspec-0.30.0 → sqlspec-0.30.2}/sqlspec/migrations/fix.py +0 -0
- {sqlspec-0.30.0 → sqlspec-0.30.2}/sqlspec/migrations/loaders.py +0 -0
- {sqlspec-0.30.0 → sqlspec-0.30.2}/sqlspec/migrations/runner.py +0 -0
- {sqlspec-0.30.0 → sqlspec-0.30.2}/sqlspec/migrations/templates.py +0 -0
- {sqlspec-0.30.0 → sqlspec-0.30.2}/sqlspec/migrations/tracker.py +0 -0
- {sqlspec-0.30.0 → sqlspec-0.30.2}/sqlspec/migrations/utils.py +0 -0
- {sqlspec-0.30.0 → sqlspec-0.30.2}/sqlspec/observability/__init__.py +0 -0
- {sqlspec-0.30.0 → sqlspec-0.30.2}/sqlspec/observability/_config.py +0 -0
- {sqlspec-0.30.0 → sqlspec-0.30.2}/sqlspec/observability/_observer.py +0 -0
- {sqlspec-0.30.0 → sqlspec-0.30.2}/sqlspec/observability/_runtime.py +0 -0
- {sqlspec-0.30.0 → sqlspec-0.30.2}/sqlspec/protocols.py +0 -0
- {sqlspec-0.30.0 → sqlspec-0.30.2}/sqlspec/py.typed +0 -0
- {sqlspec-0.30.0 → sqlspec-0.30.2}/sqlspec/storage/__init__.py +0 -0
- {sqlspec-0.30.0 → sqlspec-0.30.2}/sqlspec/storage/_utils.py +0 -0
- {sqlspec-0.30.0 → sqlspec-0.30.2}/sqlspec/storage/backends/__init__.py +0 -0
- {sqlspec-0.30.0 → sqlspec-0.30.2}/sqlspec/storage/backends/base.py +0 -0
- {sqlspec-0.30.0 → sqlspec-0.30.2}/sqlspec/storage/backends/fsspec.py +0 -0
- {sqlspec-0.30.0 → sqlspec-0.30.2}/sqlspec/storage/backends/local.py +0 -0
- {sqlspec-0.30.0 → sqlspec-0.30.2}/sqlspec/storage/backends/obstore.py +0 -0
- {sqlspec-0.30.0 → sqlspec-0.30.2}/sqlspec/storage/errors.py +0 -0
- {sqlspec-0.30.0 → sqlspec-0.30.2}/sqlspec/storage/pipeline.py +0 -0
- {sqlspec-0.30.0 → sqlspec-0.30.2}/sqlspec/storage/registry.py +0 -0
- {sqlspec-0.30.0 → sqlspec-0.30.2}/sqlspec/typing.py +0 -0
- {sqlspec-0.30.0 → sqlspec-0.30.2}/sqlspec/utils/__init__.py +0 -0
- {sqlspec-0.30.0 → sqlspec-0.30.2}/sqlspec/utils/arrow_helpers.py +0 -0
- {sqlspec-0.30.0 → sqlspec-0.30.2}/sqlspec/utils/config_resolver.py +0 -0
- {sqlspec-0.30.0 → sqlspec-0.30.2}/sqlspec/utils/data_transformation.py +0 -0
- {sqlspec-0.30.0 → sqlspec-0.30.2}/sqlspec/utils/deprecation.py +0 -0
- {sqlspec-0.30.0 → sqlspec-0.30.2}/sqlspec/utils/fixtures.py +0 -0
- {sqlspec-0.30.0 → sqlspec-0.30.2}/sqlspec/utils/logging.py +0 -0
- {sqlspec-0.30.0 → sqlspec-0.30.2}/sqlspec/utils/schema.py +0 -0
- {sqlspec-0.30.0 → sqlspec-0.30.2}/sqlspec/utils/serializers.py +0 -0
- {sqlspec-0.30.0 → sqlspec-0.30.2}/sqlspec/utils/sync_tools.py +0 -0
- {sqlspec-0.30.0 → sqlspec-0.30.2}/sqlspec/utils/text.py +0 -0
- {sqlspec-0.30.0 → sqlspec-0.30.2}/sqlspec/utils/type_converters.py +0 -0
- {sqlspec-0.30.0 → sqlspec-0.30.2}/sqlspec/utils/version.py +0 -0
- {sqlspec-0.30.0 → sqlspec-0.30.2}/tests/__init__.py +0 -0
- {sqlspec-0.30.0 → sqlspec-0.30.2}/tests/conftest.py +0 -0
- {sqlspec-0.30.0 → sqlspec-0.30.2}/tests/fixtures/__init__.py +0 -0
- {sqlspec-0.30.0 → sqlspec-0.30.2}/tests/fixtures/asset_maintenance.sql +0 -0
- {sqlspec-0.30.0 → sqlspec-0.30.2}/tests/fixtures/ddls-mysql-collection.sql +0 -0
- {sqlspec-0.30.0 → sqlspec-0.30.2}/tests/fixtures/ddls-postgres-collection.sql +0 -0
- {sqlspec-0.30.0 → sqlspec-0.30.2}/tests/fixtures/example_usage.py +0 -0
- {sqlspec-0.30.0 → sqlspec-0.30.2}/tests/fixtures/init.sql +0 -0
- {sqlspec-0.30.0 → sqlspec-0.30.2}/tests/fixtures/mysql/collection-config.sql +0 -0
- {sqlspec-0.30.0 → sqlspec-0.30.2}/tests/fixtures/mysql/collection-data_types.sql +0 -0
- {sqlspec-0.30.0 → sqlspec-0.30.2}/tests/fixtures/mysql/collection-database_details.sql +0 -0
- {sqlspec-0.30.0 → sqlspec-0.30.2}/tests/fixtures/mysql/collection-engines.sql +0 -0
- {sqlspec-0.30.0 → sqlspec-0.30.2}/tests/fixtures/mysql/collection-hostname.sql +0 -0
- {sqlspec-0.30.0 → sqlspec-0.30.2}/tests/fixtures/mysql/collection-plugins.sql +0 -0
- {sqlspec-0.30.0 → sqlspec-0.30.2}/tests/fixtures/mysql/collection-process_list.sql +0 -0
- {sqlspec-0.30.0 → sqlspec-0.30.2}/tests/fixtures/mysql/collection-resource-groups.sql +0 -0
- {sqlspec-0.30.0 → sqlspec-0.30.2}/tests/fixtures/mysql/collection-schema_objects.sql +0 -0
- {sqlspec-0.30.0 → sqlspec-0.30.2}/tests/fixtures/mysql/collection-table_details.sql +0 -0
- {sqlspec-0.30.0 → sqlspec-0.30.2}/tests/fixtures/mysql/collection-users.sql +0 -0
- {sqlspec-0.30.0 → sqlspec-0.30.2}/tests/fixtures/mysql/init.sql +0 -0
- {sqlspec-0.30.0 → sqlspec-0.30.2}/tests/fixtures/oracle.ddl.sql +0 -0
- {sqlspec-0.30.0 → sqlspec-0.30.2}/tests/fixtures/postgres/collection-applications.sql +0 -0
- {sqlspec-0.30.0 → sqlspec-0.30.2}/tests/fixtures/postgres/collection-aws_extension_dependency.sql +0 -0
- {sqlspec-0.30.0 → sqlspec-0.30.2}/tests/fixtures/postgres/collection-aws_oracle_exists.sql +0 -0
- {sqlspec-0.30.0 → sqlspec-0.30.2}/tests/fixtures/postgres/collection-bg_writer_stats.sql +0 -0
- {sqlspec-0.30.0 → sqlspec-0.30.2}/tests/fixtures/postgres/collection-calculated_metrics.sql +0 -0
- {sqlspec-0.30.0 → sqlspec-0.30.2}/tests/fixtures/postgres/collection-data_types.sql +0 -0
- {sqlspec-0.30.0 → sqlspec-0.30.2}/tests/fixtures/postgres/collection-database_details.sql +0 -0
- {sqlspec-0.30.0 → sqlspec-0.30.2}/tests/fixtures/postgres/collection-extensions.sql +0 -0
- {sqlspec-0.30.0 → sqlspec-0.30.2}/tests/fixtures/postgres/collection-index_details.sql +0 -0
- {sqlspec-0.30.0 → sqlspec-0.30.2}/tests/fixtures/postgres/collection-pglogical-details.sql +0 -0
- {sqlspec-0.30.0 → sqlspec-0.30.2}/tests/fixtures/postgres/collection-privileges.sql +0 -0
- {sqlspec-0.30.0 → sqlspec-0.30.2}/tests/fixtures/postgres/collection-replication_slots.sql +0 -0
- {sqlspec-0.30.0 → sqlspec-0.30.2}/tests/fixtures/postgres/collection-replication_stats.sql +0 -0
- {sqlspec-0.30.0 → sqlspec-0.30.2}/tests/fixtures/postgres/collection-schema_details.sql +0 -0
- {sqlspec-0.30.0 → sqlspec-0.30.2}/tests/fixtures/postgres/collection-schema_objects.sql +0 -0
- {sqlspec-0.30.0 → sqlspec-0.30.2}/tests/fixtures/postgres/collection-settings.sql +0 -0
- {sqlspec-0.30.0 → sqlspec-0.30.2}/tests/fixtures/postgres/collection-source_details.sql +0 -0
- {sqlspec-0.30.0 → sqlspec-0.30.2}/tests/fixtures/postgres/collection-table_details.sql +0 -0
- {sqlspec-0.30.0 → sqlspec-0.30.2}/tests/fixtures/postgres/extended-collection-all-databases.sql +0 -0
- {sqlspec-0.30.0 → sqlspec-0.30.2}/tests/fixtures/postgres/init.sql +0 -0
- {sqlspec-0.30.0 → sqlspec-0.30.2}/tests/fixtures/readiness-check.sql +0 -0
- {sqlspec-0.30.0 → sqlspec-0.30.2}/tests/fixtures/sql_utils.py +0 -0
- {sqlspec-0.30.0 → sqlspec-0.30.2}/tests/integration/__init__.py +0 -0
- {sqlspec-0.30.0 → sqlspec-0.30.2}/tests/integration/conftest.py +0 -0
- {sqlspec-0.30.0 → sqlspec-0.30.2}/tests/integration/test_adapters/__init__.py +0 -0
- {sqlspec-0.30.0 → sqlspec-0.30.2}/tests/integration/test_adapters/_storage_bridge_helpers.py +0 -0
- {sqlspec-0.30.0 → sqlspec-0.30.2}/tests/integration/test_adapters/test_adbc/__init__.py +0 -0
- {sqlspec-0.30.0 → sqlspec-0.30.2}/tests/integration/test_adapters/test_adbc/conftest.py +0 -0
- {sqlspec-0.30.0 → sqlspec-0.30.2}/tests/integration/test_adapters/test_adbc/test_adbc_arrow_features.py +0 -0
- {sqlspec-0.30.0 → sqlspec-0.30.2}/tests/integration/test_adapters/test_adbc/test_adbc_backends.py +0 -0
- {sqlspec-0.30.0 → sqlspec-0.30.2}/tests/integration/test_adapters/test_adbc/test_adbc_connection.py +0 -0
- {sqlspec-0.30.0 → sqlspec-0.30.2}/tests/integration/test_adapters/test_adbc/test_adbc_driver.py +0 -0
- {sqlspec-0.30.0 → sqlspec-0.30.2}/tests/integration/test_adapters/test_adbc/test_adbc_edge_cases.py +0 -0
- {sqlspec-0.30.0 → sqlspec-0.30.2}/tests/integration/test_adapters/test_adbc/test_adbc_results.py +0 -0
- {sqlspec-0.30.0 → sqlspec-0.30.2}/tests/integration/test_adapters/test_adbc/test_arrow_duckdb.py +0 -0
- {sqlspec-0.30.0 → sqlspec-0.30.2}/tests/integration/test_adapters/test_adbc/test_data_dictionary.py +0 -0
- {sqlspec-0.30.0 → sqlspec-0.30.2}/tests/integration/test_adapters/test_adbc/test_exceptions.py +0 -0
- {sqlspec-0.30.0 → sqlspec-0.30.2}/tests/integration/test_adapters/test_adbc/test_extensions/__init__.py +0 -0
- {sqlspec-0.30.0 → sqlspec-0.30.2}/tests/integration/test_adapters/test_adbc/test_extensions/test_adk/__init__.py +0 -0
- {sqlspec-0.30.0 → sqlspec-0.30.2}/tests/integration/test_adapters/test_adbc/test_extensions/test_adk/test_dialect_integration.py +0 -0
- {sqlspec-0.30.0 → sqlspec-0.30.2}/tests/integration/test_adapters/test_adbc/test_extensions/test_adk/test_dialect_support.py +0 -0
- {sqlspec-0.30.0 → sqlspec-0.30.2}/tests/integration/test_adapters/test_adbc/test_extensions/test_adk/test_edge_cases.py +0 -0
- {sqlspec-0.30.0 → sqlspec-0.30.2}/tests/integration/test_adapters/test_adbc/test_extensions/test_adk/test_event_operations.py +0 -0
- {sqlspec-0.30.0 → sqlspec-0.30.2}/tests/integration/test_adapters/test_adbc/test_extensions/test_adk/test_owner_id_column.py +0 -0
- {sqlspec-0.30.0 → sqlspec-0.30.2}/tests/integration/test_adapters/test_adbc/test_extensions/test_adk/test_session_operations.py +0 -0
- {sqlspec-0.30.0 → sqlspec-0.30.2}/tests/integration/test_adapters/test_adbc/test_extensions/test_litestar/__init__.py +0 -0
- {sqlspec-0.30.0 → sqlspec-0.30.2}/tests/integration/test_adapters/test_adbc/test_extensions/test_litestar/test_store.py +0 -0
- {sqlspec-0.30.0 → sqlspec-0.30.2}/tests/integration/test_adapters/test_adbc/test_migrations.py +0 -0
- {sqlspec-0.30.0 → sqlspec-0.30.2}/tests/integration/test_adapters/test_adbc/test_parameter_styles.py +0 -0
- {sqlspec-0.30.0 → sqlspec-0.30.2}/tests/integration/test_adapters/test_adbc/test_storage_bridge.py +0 -0
- {sqlspec-0.30.0 → sqlspec-0.30.2}/tests/integration/test_adapters/test_aiosqlite/__init__.py +0 -0
- {sqlspec-0.30.0 → sqlspec-0.30.2}/tests/integration/test_adapters/test_aiosqlite/conftest.py +0 -0
- {sqlspec-0.30.0 → sqlspec-0.30.2}/tests/integration/test_adapters/test_aiosqlite/test_arrow.py +0 -0
- {sqlspec-0.30.0 → sqlspec-0.30.2}/tests/integration/test_adapters/test_aiosqlite/test_connection.py +0 -0
- {sqlspec-0.30.0 → sqlspec-0.30.2}/tests/integration/test_adapters/test_aiosqlite/test_driver.py +0 -0
- {sqlspec-0.30.0 → sqlspec-0.30.2}/tests/integration/test_adapters/test_aiosqlite/test_exceptions.py +0 -0
- {sqlspec-0.30.0 → sqlspec-0.30.2}/tests/integration/test_adapters/test_aiosqlite/test_extensions/__init__.py +0 -0
- {sqlspec-0.30.0 → sqlspec-0.30.2}/tests/integration/test_adapters/test_aiosqlite/test_extensions/test_litestar/__init__.py +0 -0
- {sqlspec-0.30.0 → sqlspec-0.30.2}/tests/integration/test_adapters/test_aiosqlite/test_extensions/test_litestar/test_numpy_serialization.py +0 -0
- {sqlspec-0.30.0 → sqlspec-0.30.2}/tests/integration/test_adapters/test_aiosqlite/test_extensions/test_litestar/test_store.py +0 -0
- {sqlspec-0.30.0 → sqlspec-0.30.2}/tests/integration/test_adapters/test_aiosqlite/test_migrations.py +0 -0
- {sqlspec-0.30.0 → sqlspec-0.30.2}/tests/integration/test_adapters/test_aiosqlite/test_parameter_styles.py +0 -0
- {sqlspec-0.30.0 → sqlspec-0.30.2}/tests/integration/test_adapters/test_aiosqlite/test_pooling.py +0 -0
- {sqlspec-0.30.0 → sqlspec-0.30.2}/tests/integration/test_adapters/test_aiosqlite/test_storage_bridge.py +0 -0
- {sqlspec-0.30.0 → sqlspec-0.30.2}/tests/integration/test_adapters/test_asyncmy/__init__.py +0 -0
- {sqlspec-0.30.0 → sqlspec-0.30.2}/tests/integration/test_adapters/test_asyncmy/conftest.py +0 -0
- {sqlspec-0.30.0 → sqlspec-0.30.2}/tests/integration/test_adapters/test_asyncmy/test_arrow.py +0 -0
- {sqlspec-0.30.0 → sqlspec-0.30.2}/tests/integration/test_adapters/test_asyncmy/test_asyncmy_features.py +0 -0
- {sqlspec-0.30.0 → sqlspec-0.30.2}/tests/integration/test_adapters/test_asyncmy/test_config.py +0 -0
- {sqlspec-0.30.0 → sqlspec-0.30.2}/tests/integration/test_adapters/test_asyncmy/test_driver.py +0 -0
- {sqlspec-0.30.0 → sqlspec-0.30.2}/tests/integration/test_adapters/test_asyncmy/test_exceptions.py +0 -0
- {sqlspec-0.30.0 → sqlspec-0.30.2}/tests/integration/test_adapters/test_asyncmy/test_extensions/__init__.py +0 -0
- {sqlspec-0.30.0 → sqlspec-0.30.2}/tests/integration/test_adapters/test_asyncmy/test_extensions/test_adk/__init__.py +0 -0
- {sqlspec-0.30.0 → sqlspec-0.30.2}/tests/integration/test_adapters/test_asyncmy/test_extensions/test_adk/conftest.py +0 -0
- {sqlspec-0.30.0 → sqlspec-0.30.2}/tests/integration/test_adapters/test_asyncmy/test_extensions/test_adk/test_store.py +0 -0
- {sqlspec-0.30.0 → sqlspec-0.30.2}/tests/integration/test_adapters/test_asyncmy/test_extensions/test_litestar/__init__.py +0 -0
- {sqlspec-0.30.0 → sqlspec-0.30.2}/tests/integration/test_adapters/test_asyncmy/test_extensions/test_litestar/test_store.py +0 -0
- {sqlspec-0.30.0 → sqlspec-0.30.2}/tests/integration/test_adapters/test_asyncmy/test_migrations.py +0 -0
- {sqlspec-0.30.0 → sqlspec-0.30.2}/tests/integration/test_adapters/test_asyncmy/test_parameter_styles.py +0 -0
- {sqlspec-0.30.0 → sqlspec-0.30.2}/tests/integration/test_adapters/test_asyncmy/test_storage_bridge.py +0 -0
- {sqlspec-0.30.0 → sqlspec-0.30.2}/tests/integration/test_adapters/test_asyncpg/__init__.py +0 -0
- {sqlspec-0.30.0 → sqlspec-0.30.2}/tests/integration/test_adapters/test_asyncpg/conftest.py +0 -0
- {sqlspec-0.30.0 → sqlspec-0.30.2}/tests/integration/test_adapters/test_asyncpg/test_arrow.py +0 -0
- {sqlspec-0.30.0 → sqlspec-0.30.2}/tests/integration/test_adapters/test_asyncpg/test_cloud_connectors_integration.py +0 -0
- {sqlspec-0.30.0 → sqlspec-0.30.2}/tests/integration/test_adapters/test_asyncpg/test_connection.py +0 -0
- {sqlspec-0.30.0 → sqlspec-0.30.2}/tests/integration/test_adapters/test_asyncpg/test_data_dictionary.py +0 -0
- {sqlspec-0.30.0 → sqlspec-0.30.2}/tests/integration/test_adapters/test_asyncpg/test_driver.py +0 -0
- {sqlspec-0.30.0 → sqlspec-0.30.2}/tests/integration/test_adapters/test_asyncpg/test_exceptions.py +0 -0
- {sqlspec-0.30.0 → sqlspec-0.30.2}/tests/integration/test_adapters/test_asyncpg/test_execute_many.py +0 -0
- {sqlspec-0.30.0 → sqlspec-0.30.2}/tests/integration/test_adapters/test_asyncpg/test_extensions/__init__.py +0 -0
- {sqlspec-0.30.0 → sqlspec-0.30.2}/tests/integration/test_adapters/test_asyncpg/test_extensions/test_adk/__init__.py +0 -0
- {sqlspec-0.30.0 → sqlspec-0.30.2}/tests/integration/test_adapters/test_asyncpg/test_extensions/test_adk/conftest.py +0 -0
- {sqlspec-0.30.0 → sqlspec-0.30.2}/tests/integration/test_adapters/test_asyncpg/test_extensions/test_adk/test_owner_id_column.py +0 -0
- {sqlspec-0.30.0 → sqlspec-0.30.2}/tests/integration/test_adapters/test_asyncpg/test_extensions/test_adk/test_session_operations.py +0 -0
- {sqlspec-0.30.0 → sqlspec-0.30.2}/tests/integration/test_adapters/test_asyncpg/test_extensions/test_litestar/__init__.py +0 -0
- {sqlspec-0.30.0 → sqlspec-0.30.2}/tests/integration/test_adapters/test_asyncpg/test_extensions/test_litestar/test_store.py +0 -0
- {sqlspec-0.30.0 → sqlspec-0.30.2}/tests/integration/test_adapters/test_asyncpg/test_merge.py +0 -0
- {sqlspec-0.30.0 → sqlspec-0.30.2}/tests/integration/test_adapters/test_asyncpg/test_merge_bulk.py +0 -0
- {sqlspec-0.30.0 → sqlspec-0.30.2}/tests/integration/test_adapters/test_asyncpg/test_migrations.py +0 -0
- {sqlspec-0.30.0 → sqlspec-0.30.2}/tests/integration/test_adapters/test_asyncpg/test_parameter_styles.py +0 -0
- {sqlspec-0.30.0 → sqlspec-0.30.2}/tests/integration/test_adapters/test_asyncpg/test_schema_migration.py +0 -0
- {sqlspec-0.30.0 → sqlspec-0.30.2}/tests/integration/test_adapters/test_asyncpg/test_storage_bridge.py +0 -0
- {sqlspec-0.30.0 → sqlspec-0.30.2}/tests/integration/test_adapters/test_bigquery/__init__.py +0 -0
- {sqlspec-0.30.0 → sqlspec-0.30.2}/tests/integration/test_adapters/test_bigquery/conftest.py +0 -0
- {sqlspec-0.30.0 → sqlspec-0.30.2}/tests/integration/test_adapters/test_bigquery/test_arrow_bigquery.py +0 -0
- {sqlspec-0.30.0 → sqlspec-0.30.2}/tests/integration/test_adapters/test_bigquery/test_bigquery_features.py +0 -0
- {sqlspec-0.30.0 → sqlspec-0.30.2}/tests/integration/test_adapters/test_bigquery/test_config.py +0 -0
- {sqlspec-0.30.0 → sqlspec-0.30.2}/tests/integration/test_adapters/test_bigquery/test_connection.py +0 -0
- {sqlspec-0.30.0 → sqlspec-0.30.2}/tests/integration/test_adapters/test_bigquery/test_driver.py +0 -0
- {sqlspec-0.30.0 → sqlspec-0.30.2}/tests/integration/test_adapters/test_bigquery/test_exceptions.py +0 -0
- {sqlspec-0.30.0 → sqlspec-0.30.2}/tests/integration/test_adapters/test_duckdb/__init__.py +0 -0
- {sqlspec-0.30.0 → sqlspec-0.30.2}/tests/integration/test_adapters/test_duckdb/conftest.py +0 -0
- {sqlspec-0.30.0 → sqlspec-0.30.2}/tests/integration/test_adapters/test_duckdb/test_arrow.py +0 -0
- {sqlspec-0.30.0 → sqlspec-0.30.2}/tests/integration/test_adapters/test_duckdb/test_connection.py +0 -0
- {sqlspec-0.30.0 → sqlspec-0.30.2}/tests/integration/test_adapters/test_duckdb/test_driver.py +0 -0
- {sqlspec-0.30.0 → sqlspec-0.30.2}/tests/integration/test_adapters/test_duckdb/test_driver_features.py +0 -0
- {sqlspec-0.30.0 → sqlspec-0.30.2}/tests/integration/test_adapters/test_duckdb/test_exceptions.py +0 -0
- {sqlspec-0.30.0 → sqlspec-0.30.2}/tests/integration/test_adapters/test_duckdb/test_execute_many.py +0 -0
- {sqlspec-0.30.0 → sqlspec-0.30.2}/tests/integration/test_adapters/test_duckdb/test_extensions/__init__.py +0 -0
- {sqlspec-0.30.0 → sqlspec-0.30.2}/tests/integration/test_adapters/test_duckdb/test_extensions/test_adk/__init__.py +0 -0
- {sqlspec-0.30.0 → sqlspec-0.30.2}/tests/integration/test_adapters/test_duckdb/test_extensions/test_adk/test_store.py +0 -0
- {sqlspec-0.30.0 → sqlspec-0.30.2}/tests/integration/test_adapters/test_duckdb/test_extensions/test_litestar/__init__.py +0 -0
- {sqlspec-0.30.0 → sqlspec-0.30.2}/tests/integration/test_adapters/test_duckdb/test_extensions/test_litestar/test_store.py +0 -0
- {sqlspec-0.30.0 → sqlspec-0.30.2}/tests/integration/test_adapters/test_duckdb/test_migrations.py +0 -0
- {sqlspec-0.30.0 → sqlspec-0.30.2}/tests/integration/test_adapters/test_duckdb/test_mixed_parameter_styles.py +0 -0
- {sqlspec-0.30.0 → sqlspec-0.30.2}/tests/integration/test_adapters/test_duckdb/test_parameter_styles.py +0 -0
- {sqlspec-0.30.0 → sqlspec-0.30.2}/tests/integration/test_adapters/test_duckdb/test_pooling.py +0 -0
- {sqlspec-0.30.0 → sqlspec-0.30.2}/tests/integration/test_adapters/test_duckdb/test_storage_bridge.py +0 -0
- {sqlspec-0.30.0 → sqlspec-0.30.2}/tests/integration/test_adapters/test_duckdb/utils.py +0 -0
- {sqlspec-0.30.0 → sqlspec-0.30.2}/tests/integration/test_adapters/test_oracledb/__init__.py +0 -0
- {sqlspec-0.30.0 → sqlspec-0.30.2}/tests/integration/test_adapters/test_oracledb/conftest.py +0 -0
- {sqlspec-0.30.0 → sqlspec-0.30.2}/tests/integration/test_adapters/test_oracledb/test_arrow.py +0 -0
- {sqlspec-0.30.0 → sqlspec-0.30.2}/tests/integration/test_adapters/test_oracledb/test_connection.py +0 -0
- {sqlspec-0.30.0 → sqlspec-0.30.2}/tests/integration/test_adapters/test_oracledb/test_driver_async.py +0 -0
- {sqlspec-0.30.0 → sqlspec-0.30.2}/tests/integration/test_adapters/test_oracledb/test_driver_sync.py +0 -0
- {sqlspec-0.30.0 → sqlspec-0.30.2}/tests/integration/test_adapters/test_oracledb/test_exceptions.py +0 -0
- {sqlspec-0.30.0 → sqlspec-0.30.2}/tests/integration/test_adapters/test_oracledb/test_execute_many.py +0 -0
- {sqlspec-0.30.0 → sqlspec-0.30.2}/tests/integration/test_adapters/test_oracledb/test_extensions/__init__.py +0 -0
- {sqlspec-0.30.0 → sqlspec-0.30.2}/tests/integration/test_adapters/test_oracledb/test_extensions/test_adk/__init__.py +0 -0
- {sqlspec-0.30.0 → sqlspec-0.30.2}/tests/integration/test_adapters/test_oracledb/test_extensions/test_adk/test_inmemory.py +0 -0
- {sqlspec-0.30.0 → sqlspec-0.30.2}/tests/integration/test_adapters/test_oracledb/test_extensions/test_adk/test_oracle_specific.py +0 -0
- {sqlspec-0.30.0 → sqlspec-0.30.2}/tests/integration/test_adapters/test_oracledb/test_extensions/test_litestar/__init__.py +0 -0
- {sqlspec-0.30.0 → sqlspec-0.30.2}/tests/integration/test_adapters/test_oracledb/test_extensions/test_litestar/test_inmemory.py +0 -0
- {sqlspec-0.30.0 → sqlspec-0.30.2}/tests/integration/test_adapters/test_oracledb/test_extensions/test_litestar/test_store_async.py +0 -0
- {sqlspec-0.30.0 → sqlspec-0.30.2}/tests/integration/test_adapters/test_oracledb/test_extensions/test_litestar/test_store_sync.py +0 -0
- {sqlspec-0.30.0 → sqlspec-0.30.2}/tests/integration/test_adapters/test_oracledb/test_merge.py +0 -0
- {sqlspec-0.30.0 → sqlspec-0.30.2}/tests/integration/test_adapters/test_oracledb/test_merge_bulk.py +0 -0
- {sqlspec-0.30.0 → sqlspec-0.30.2}/tests/integration/test_adapters/test_oracledb/test_migrations.py +0 -0
- {sqlspec-0.30.0 → sqlspec-0.30.2}/tests/integration/test_adapters/test_oracledb/test_msgspec_clob.py +0 -0
- {sqlspec-0.30.0 → sqlspec-0.30.2}/tests/integration/test_adapters/test_oracledb/test_numpy_vectors.py +0 -0
- {sqlspec-0.30.0 → sqlspec-0.30.2}/tests/integration/test_adapters/test_oracledb/test_oracle_features.py +0 -0
- {sqlspec-0.30.0 → sqlspec-0.30.2}/tests/integration/test_adapters/test_oracledb/test_parameter_styles.py +0 -0
- {sqlspec-0.30.0 → sqlspec-0.30.2}/tests/integration/test_adapters/test_oracledb/test_stack.py +0 -0
- {sqlspec-0.30.0 → sqlspec-0.30.2}/tests/integration/test_adapters/test_oracledb/test_uuid_binary.py +0 -0
- {sqlspec-0.30.0 → sqlspec-0.30.2}/tests/integration/test_adapters/test_psqlpy/__init__.py +0 -0
- {sqlspec-0.30.0 → sqlspec-0.30.2}/tests/integration/test_adapters/test_psqlpy/conftest.py +0 -0
- {sqlspec-0.30.0 → sqlspec-0.30.2}/tests/integration/test_adapters/test_psqlpy/test_arrow.py +0 -0
- {sqlspec-0.30.0 → sqlspec-0.30.2}/tests/integration/test_adapters/test_psqlpy/test_connection.py +0 -0
- {sqlspec-0.30.0 → sqlspec-0.30.2}/tests/integration/test_adapters/test_psqlpy/test_driver.py +0 -0
- {sqlspec-0.30.0 → sqlspec-0.30.2}/tests/integration/test_adapters/test_psqlpy/test_exceptions.py +0 -0
- {sqlspec-0.30.0 → sqlspec-0.30.2}/tests/integration/test_adapters/test_psqlpy/test_extensions/__init__.py +0 -0
- {sqlspec-0.30.0 → sqlspec-0.30.2}/tests/integration/test_adapters/test_psqlpy/test_extensions/test_adk/__init__.py +0 -0
- {sqlspec-0.30.0 → sqlspec-0.30.2}/tests/integration/test_adapters/test_psqlpy/test_extensions/test_adk/test_owner_id_column.py +0 -0
- {sqlspec-0.30.0 → sqlspec-0.30.2}/tests/integration/test_adapters/test_psqlpy/test_extensions/test_litestar/__init__.py +0 -0
- {sqlspec-0.30.0 → sqlspec-0.30.2}/tests/integration/test_adapters/test_psqlpy/test_extensions/test_litestar/test_store.py +0 -0
- {sqlspec-0.30.0 → sqlspec-0.30.2}/tests/integration/test_adapters/test_psqlpy/test_merge_bulk.py +0 -0
- {sqlspec-0.30.0 → sqlspec-0.30.2}/tests/integration/test_adapters/test_psqlpy/test_migrations.py +0 -0
- {sqlspec-0.30.0 → sqlspec-0.30.2}/tests/integration/test_adapters/test_psqlpy/test_parameter_styles.py +0 -0
- {sqlspec-0.30.0 → sqlspec-0.30.2}/tests/integration/test_adapters/test_psqlpy/test_psqlpy_features.py +0 -0
- {sqlspec-0.30.0 → sqlspec-0.30.2}/tests/integration/test_adapters/test_psqlpy/test_storage_bridge.py +0 -0
- {sqlspec-0.30.0 → sqlspec-0.30.2}/tests/integration/test_adapters/test_psycopg/__init__.py +0 -0
- {sqlspec-0.30.0 → sqlspec-0.30.2}/tests/integration/test_adapters/test_psycopg/conftest.py +0 -0
- {sqlspec-0.30.0 → sqlspec-0.30.2}/tests/integration/test_adapters/test_psycopg/test_arrow.py +0 -0
- {sqlspec-0.30.0 → sqlspec-0.30.2}/tests/integration/test_adapters/test_psycopg/test_async_copy.py +0 -0
- {sqlspec-0.30.0 → sqlspec-0.30.2}/tests/integration/test_adapters/test_psycopg/test_connection.py +0 -0
- {sqlspec-0.30.0 → sqlspec-0.30.2}/tests/integration/test_adapters/test_psycopg/test_driver.py +0 -0
- {sqlspec-0.30.0 → sqlspec-0.30.2}/tests/integration/test_adapters/test_psycopg/test_exceptions.py +0 -0
- {sqlspec-0.30.0 → sqlspec-0.30.2}/tests/integration/test_adapters/test_psycopg/test_execute_many.py +0 -0
- {sqlspec-0.30.0 → sqlspec-0.30.2}/tests/integration/test_adapters/test_psycopg/test_extensions/__init__.py +0 -0
- {sqlspec-0.30.0 → sqlspec-0.30.2}/tests/integration/test_adapters/test_psycopg/test_extensions/test_adk/__init__.py +0 -0
- {sqlspec-0.30.0 → sqlspec-0.30.2}/tests/integration/test_adapters/test_psycopg/test_extensions/test_adk/test_owner_id_column.py +0 -0
- {sqlspec-0.30.0 → sqlspec-0.30.2}/tests/integration/test_adapters/test_psycopg/test_extensions/test_litestar/__init__.py +0 -0
- {sqlspec-0.30.0 → sqlspec-0.30.2}/tests/integration/test_adapters/test_psycopg/test_extensions/test_litestar/test_store_async.py +0 -0
- {sqlspec-0.30.0 → sqlspec-0.30.2}/tests/integration/test_adapters/test_psycopg/test_extensions/test_litestar/test_store_sync.py +0 -0
- {sqlspec-0.30.0 → sqlspec-0.30.2}/tests/integration/test_adapters/test_psycopg/test_merge_bulk.py +0 -0
- {sqlspec-0.30.0 → sqlspec-0.30.2}/tests/integration/test_adapters/test_psycopg/test_migrations.py +0 -0
- {sqlspec-0.30.0 → sqlspec-0.30.2}/tests/integration/test_adapters/test_psycopg/test_parameter_styles.py +0 -0
- {sqlspec-0.30.0 → sqlspec-0.30.2}/tests/integration/test_adapters/test_psycopg/test_storage_bridge.py +0 -0
- {sqlspec-0.30.0 → sqlspec-0.30.2}/tests/integration/test_adapters/test_sqlite/__init__.py +0 -0
- {sqlspec-0.30.0 → sqlspec-0.30.2}/tests/integration/test_adapters/test_sqlite/conftest.py +0 -0
- {sqlspec-0.30.0 → sqlspec-0.30.2}/tests/integration/test_adapters/test_sqlite/test_arrow.py +0 -0
- {sqlspec-0.30.0 → sqlspec-0.30.2}/tests/integration/test_adapters/test_sqlite/test_data_dictionary.py +0 -0
- {sqlspec-0.30.0 → sqlspec-0.30.2}/tests/integration/test_adapters/test_sqlite/test_driver.py +0 -0
- {sqlspec-0.30.0 → sqlspec-0.30.2}/tests/integration/test_adapters/test_sqlite/test_driver_features.py +0 -0
- {sqlspec-0.30.0 → sqlspec-0.30.2}/tests/integration/test_adapters/test_sqlite/test_exceptions.py +0 -0
- {sqlspec-0.30.0 → sqlspec-0.30.2}/tests/integration/test_adapters/test_sqlite/test_extensions/__init__.py +0 -0
- {sqlspec-0.30.0 → sqlspec-0.30.2}/tests/integration/test_adapters/test_sqlite/test_extensions/test_adk/__init__.py +0 -0
- {sqlspec-0.30.0 → sqlspec-0.30.2}/tests/integration/test_adapters/test_sqlite/test_extensions/test_adk/test_owner_id_column.py +0 -0
- {sqlspec-0.30.0 → sqlspec-0.30.2}/tests/integration/test_adapters/test_sqlite/test_extensions/test_litestar/__init__.py +0 -0
- {sqlspec-0.30.0 → sqlspec-0.30.2}/tests/integration/test_adapters/test_sqlite/test_extensions/test_litestar/test_store.py +0 -0
- {sqlspec-0.30.0 → sqlspec-0.30.2}/tests/integration/test_adapters/test_sqlite/test_migrations.py +0 -0
- {sqlspec-0.30.0 → sqlspec-0.30.2}/tests/integration/test_adapters/test_sqlite/test_parameter_styles.py +0 -0
- {sqlspec-0.30.0 → sqlspec-0.30.2}/tests/integration/test_adapters/test_sqlite/test_pooling.py +0 -0
- {sqlspec-0.30.0 → sqlspec-0.30.2}/tests/integration/test_adapters/test_sqlite/test_query_mixin.py +0 -0
- {sqlspec-0.30.0 → sqlspec-0.30.2}/tests/integration/test_adapters/test_sqlite/test_storage_bridge.py +0 -0
- {sqlspec-0.30.0 → sqlspec-0.30.2}/tests/integration/test_async_migrations.py +0 -0
- {sqlspec-0.30.0 → sqlspec-0.30.2}/tests/integration/test_dishka/__init__.py +0 -0
- {sqlspec-0.30.0 → sqlspec-0.30.2}/tests/integration/test_dishka/conftest.py +0 -0
- {sqlspec-0.30.0 → sqlspec-0.30.2}/tests/integration/test_dishka/test_dishka_integration.py +0 -0
- {sqlspec-0.30.0 → sqlspec-0.30.2}/tests/integration/test_extensions/__init__.py +0 -0
- {sqlspec-0.30.0 → sqlspec-0.30.2}/tests/integration/test_extensions/test_fastapi/test_fastapi_filters_integration.py +0 -0
- {sqlspec-0.30.0 → sqlspec-0.30.2}/tests/integration/test_extensions/test_fastapi/test_fastapi_integration.py +0 -0
- {sqlspec-0.30.0 → sqlspec-0.30.2}/tests/integration/test_extensions/test_flask/test_flask_disable_di.py +0 -0
- {sqlspec-0.30.0 → sqlspec-0.30.2}/tests/integration/test_extensions/test_flask/test_flask_integration.py +0 -0
- {sqlspec-0.30.0 → sqlspec-0.30.2}/tests/integration/test_extensions/test_litestar/test_correlation_middleware.py +0 -0
- {sqlspec-0.30.0 → sqlspec-0.30.2}/tests/integration/test_extensions/test_litestar/test_litestar_disable_di.py +0 -0
- {sqlspec-0.30.0 → sqlspec-0.30.2}/tests/integration/test_extensions/test_starlette/test_starlette_disable_di.py +0 -0
- {sqlspec-0.30.0 → sqlspec-0.30.2}/tests/integration/test_extensions/test_starlette/test_starlette_integration.py +0 -0
- {sqlspec-0.30.0 → sqlspec-0.30.2}/tests/integration/test_loader/__init__.py +0 -0
- {sqlspec-0.30.0 → sqlspec-0.30.2}/tests/integration/test_loader/test_file_system_loading.py +0 -0
- {sqlspec-0.30.0 → sqlspec-0.30.2}/tests/integration/test_migrations/__init__.py +0 -0
- {sqlspec-0.30.0 → sqlspec-0.30.2}/tests/integration/test_migrations/test_auto_sync.py +0 -0
- {sqlspec-0.30.0 → sqlspec-0.30.2}/tests/integration/test_migrations/test_fix_checksum_stability.py +0 -0
- {sqlspec-0.30.0 → sqlspec-0.30.2}/tests/integration/test_migrations/test_fix_file_operations.py +0 -0
- {sqlspec-0.30.0 → sqlspec-0.30.2}/tests/integration/test_migrations/test_fix_idempotency_workflow.py +0 -0
- {sqlspec-0.30.0 → sqlspec-0.30.2}/tests/integration/test_migrations/test_schema_migration.py +0 -0
- {sqlspec-0.30.0 → sqlspec-0.30.2}/tests/integration/test_migrations/test_upgrade_downgrade_versions.py +0 -0
- {sqlspec-0.30.0 → sqlspec-0.30.2}/tests/integration/test_stack_edge_cases.py +0 -0
- {sqlspec-0.30.0 → sqlspec-0.30.2}/tests/integration/test_storage/__init__.py +0 -0
- {sqlspec-0.30.0 → sqlspec-0.30.2}/tests/integration/test_storage/test_storage_integration.py +0 -0
- {sqlspec-0.30.0 → sqlspec-0.30.2}/tests/unit/conftest.py +0 -0
- {sqlspec-0.30.0 → sqlspec-0.30.2}/tests/unit/test_adapters/__init__.py +0 -0
- {sqlspec-0.30.0 → sqlspec-0.30.2}/tests/unit/test_adapters/conftest.py +0 -0
- {sqlspec-0.30.0 → sqlspec-0.30.2}/tests/unit/test_adapters/test_adapter_implementations.py +0 -0
- {sqlspec-0.30.0 → sqlspec-0.30.2}/tests/unit/test_adapters/test_adbc/test_adbc_serialization.py +0 -0
- {sqlspec-0.30.0 → sqlspec-0.30.2}/tests/unit/test_adapters/test_async_adapters.py +0 -0
- {sqlspec-0.30.0 → sqlspec-0.30.2}/tests/unit/test_adapters/test_asyncmy/__init__.py +0 -0
- {sqlspec-0.30.0 → sqlspec-0.30.2}/tests/unit/test_adapters/test_asyncmy/test_config.py +0 -0
- {sqlspec-0.30.0 → sqlspec-0.30.2}/tests/unit/test_adapters/test_asyncpg/__init__.py +0 -0
- {sqlspec-0.30.0 → sqlspec-0.30.2}/tests/unit/test_adapters/test_asyncpg/test_cloud_connectors.py +0 -0
- {sqlspec-0.30.0 → sqlspec-0.30.2}/tests/unit/test_adapters/test_asyncpg/test_config.py +0 -0
- {sqlspec-0.30.0 → sqlspec-0.30.2}/tests/unit/test_adapters/test_asyncpg/test_type_handlers.py +0 -0
- {sqlspec-0.30.0 → sqlspec-0.30.2}/tests/unit/test_adapters/test_bigquery/__init__.py +0 -0
- {sqlspec-0.30.0 → sqlspec-0.30.2}/tests/unit/test_adapters/test_bigquery/test_config.py +0 -0
- {sqlspec-0.30.0 → sqlspec-0.30.2}/tests/unit/test_adapters/test_bigquery/test_parameters.py +0 -0
- {sqlspec-0.30.0 → sqlspec-0.30.2}/tests/unit/test_adapters/test_duckdb/__init__.py +0 -0
- {sqlspec-0.30.0 → sqlspec-0.30.2}/tests/unit/test_adapters/test_duckdb/test_config.py +0 -0
- {sqlspec-0.30.0 → sqlspec-0.30.2}/tests/unit/test_adapters/test_duckdb/test_extension_flags.py +0 -0
- {sqlspec-0.30.0 → sqlspec-0.30.2}/tests/unit/test_adapters/test_duckdb/test_type_converter.py +0 -0
- {sqlspec-0.30.0 → sqlspec-0.30.2}/tests/unit/test_adapters/test_extension_config.py +0 -0
- {sqlspec-0.30.0 → sqlspec-0.30.2}/tests/unit/test_adapters/test_oracledb/test_adk_store.py +0 -0
- {sqlspec-0.30.0 → sqlspec-0.30.2}/tests/unit/test_adapters/test_oracledb/test_data_dictionary.py +0 -0
- {sqlspec-0.30.0 → sqlspec-0.30.2}/tests/unit/test_adapters/test_oracledb/test_numpy_handlers.py +0 -0
- {sqlspec-0.30.0 → sqlspec-0.30.2}/tests/unit/test_adapters/test_oracledb/test_pipeline_helpers.py +0 -0
- {sqlspec-0.30.0 → sqlspec-0.30.2}/tests/unit/test_adapters/test_oracledb/test_type_converter_vectors.py +0 -0
- {sqlspec-0.30.0 → sqlspec-0.30.2}/tests/unit/test_adapters/test_oracledb/test_uuid_handlers.py +0 -0
- {sqlspec-0.30.0 → sqlspec-0.30.2}/tests/unit/test_adapters/test_psqlpy/__init__.py +0 -0
- {sqlspec-0.30.0 → sqlspec-0.30.2}/tests/unit/test_adapters/test_psqlpy/test_config.py +0 -0
- {sqlspec-0.30.0 → sqlspec-0.30.2}/tests/unit/test_adapters/test_psycopg/test_config.py +0 -0
- {sqlspec-0.30.0 → sqlspec-0.30.2}/tests/unit/test_adapters/test_psycopg/test_type_handlers.py +0 -0
- {sqlspec-0.30.0 → sqlspec-0.30.2}/tests/unit/test_adapters/test_sqlite/__init__.py +0 -0
- {sqlspec-0.30.0 → sqlspec-0.30.2}/tests/unit/test_adapters/test_sqlite/test_type_handlers.py +0 -0
- {sqlspec-0.30.0 → sqlspec-0.30.2}/tests/unit/test_adapters/test_sync_adapters.py +0 -0
- {sqlspec-0.30.0 → sqlspec-0.30.2}/tests/unit/test_arrow_helpers.py +0 -0
- {sqlspec-0.30.0 → sqlspec-0.30.2}/tests/unit/test_arrow_result.py +0 -0
- {sqlspec-0.30.0 → sqlspec-0.30.2}/tests/unit/test_base/__init__.py +0 -0
- {sqlspec-0.30.0 → sqlspec-0.30.2}/tests/unit/test_base/test_sql_integration.py +0 -0
- {sqlspec-0.30.0 → sqlspec-0.30.2}/tests/unit/test_base/test_sqlspec_class.py +0 -0
- {sqlspec-0.30.0 → sqlspec-0.30.2}/tests/unit/test_builder/__init__.py +0 -0
- {sqlspec-0.30.0 → sqlspec-0.30.2}/tests/unit/test_builder/test_copy_helpers.py +0 -0
- {sqlspec-0.30.0 → sqlspec-0.30.2}/tests/unit/test_builder/test_dialect_override.py +0 -0
- {sqlspec-0.30.0 → sqlspec-0.30.2}/tests/unit/test_builder/test_insert_builder.py +0 -0
- {sqlspec-0.30.0 → sqlspec-0.30.2}/tests/unit/test_builder/test_lateral_joins.py +0 -0
- {sqlspec-0.30.0 → sqlspec-0.30.2}/tests/unit/test_builder/test_merge.py +0 -0
- {sqlspec-0.30.0 → sqlspec-0.30.2}/tests/unit/test_builder/test_merge_dialect_validation.py +0 -0
- {sqlspec-0.30.0 → sqlspec-0.30.2}/tests/unit/test_builder/test_merge_property_shorthand.py +0 -0
- {sqlspec-0.30.0 → sqlspec-0.30.2}/tests/unit/test_builder/test_parameter_naming.py +0 -0
- {sqlspec-0.30.0 → sqlspec-0.30.2}/tests/unit/test_builder/test_select_locking.py +0 -0
- {sqlspec-0.30.0 → sqlspec-0.30.2}/tests/unit/test_builder/test_to_sql.py +0 -0
- {sqlspec-0.30.0 → sqlspec-0.30.2}/tests/unit/test_builder/test_to_sql_edge_cases.py +0 -0
- {sqlspec-0.30.0 → sqlspec-0.30.2}/tests/unit/test_builder/test_upsert_factory.py +0 -0
- {sqlspec-0.30.0 → sqlspec-0.30.2}/tests/unit/test_builder/test_upsert_factory_edge_cases.py +0 -0
- {sqlspec-0.30.0 → sqlspec-0.30.2}/tests/unit/test_builder_parameter_naming.py +0 -0
- {sqlspec-0.30.0 → sqlspec-0.30.2}/tests/unit/test_cli/__init__.py +0 -0
- {sqlspec-0.30.0 → sqlspec-0.30.2}/tests/unit/test_cli/test_config_loading.py +0 -0
- {sqlspec-0.30.0 → sqlspec-0.30.2}/tests/unit/test_cli/test_migration_commands.py +0 -0
- {sqlspec-0.30.0 → sqlspec-0.30.2}/tests/unit/test_cli/test_shell_completion.py +0 -0
- {sqlspec-0.30.0 → sqlspec-0.30.2}/tests/unit/test_config/test_migration_methods.py +0 -0
- {sqlspec-0.30.0 → sqlspec-0.30.2}/tests/unit/test_config/test_storage_capabilities.py +0 -0
- {sqlspec-0.30.0 → sqlspec-0.30.2}/tests/unit/test_config_resolver.py +0 -0
- {sqlspec-0.30.0 → sqlspec-0.30.2}/tests/unit/test_core/test_cache.py +0 -0
- {sqlspec-0.30.0 → sqlspec-0.30.2}/tests/unit/test_core/test_compiler.py +0 -0
- {sqlspec-0.30.0 → sqlspec-0.30.2}/tests/unit/test_core/test_filters.py +0 -0
- {sqlspec-0.30.0 → sqlspec-0.30.2}/tests/unit/test_core/test_hashing.py +0 -0
- {sqlspec-0.30.0 → sqlspec-0.30.2}/tests/unit/test_core/test_parameter_regex_performance.py +0 -0
- {sqlspec-0.30.0 → sqlspec-0.30.2}/tests/unit/test_core/test_parameters.py +0 -0
- {sqlspec-0.30.0 → sqlspec-0.30.2}/tests/unit/test_core/test_result.py +0 -0
- {sqlspec-0.30.0 → sqlspec-0.30.2}/tests/unit/test_core/test_stack.py +0 -0
- {sqlspec-0.30.0 → sqlspec-0.30.2}/tests/unit/test_core/test_stack_metrics.py +0 -0
- {sqlspec-0.30.0 → sqlspec-0.30.2}/tests/unit/test_core/test_statement.py +0 -0
- {sqlspec-0.30.0 → sqlspec-0.30.2}/tests/unit/test_cte_parameter_collisions.py +0 -0
- {sqlspec-0.30.0 → sqlspec-0.30.2}/tests/unit/test_driver/__init__.py +0 -0
- {sqlspec-0.30.0 → sqlspec-0.30.2}/tests/unit/test_driver/test_data_dictionary.py +0 -0
- {sqlspec-0.30.0 → sqlspec-0.30.2}/tests/unit/test_driver/test_result_tools.py +0 -0
- {sqlspec-0.30.0 → sqlspec-0.30.2}/tests/unit/test_driver/test_stack_base.py +0 -0
- {sqlspec-0.30.0 → sqlspec-0.30.2}/tests/unit/test_exceptions.py +0 -0
- {sqlspec-0.30.0 → sqlspec-0.30.2}/tests/unit/test_extensions/__init__.py +0 -0
- {sqlspec-0.30.0 → sqlspec-0.30.2}/tests/unit/test_extensions/test_fastapi/__init__.py +0 -0
- {sqlspec-0.30.0 → sqlspec-0.30.2}/tests/unit/test_extensions/test_fastapi/test_extension.py +0 -0
- {sqlspec-0.30.0 → sqlspec-0.30.2}/tests/unit/test_extensions/test_fastapi/test_providers.py +0 -0
- {sqlspec-0.30.0 → sqlspec-0.30.2}/tests/unit/test_extensions/test_flask/__init__.py +0 -0
- {sqlspec-0.30.0 → sqlspec-0.30.2}/tests/unit/test_extensions/test_flask/test_extension.py +0 -0
- {sqlspec-0.30.0 → sqlspec-0.30.2}/tests/unit/test_extensions/test_flask/test_state.py +0 -0
- {sqlspec-0.30.0 → sqlspec-0.30.2}/tests/unit/test_extensions/test_litestar/__init__.py +0 -0
- {sqlspec-0.30.0 → sqlspec-0.30.2}/tests/unit/test_extensions/test_litestar/test_handlers.py +0 -0
- {sqlspec-0.30.0 → sqlspec-0.30.2}/tests/unit/test_extensions/test_starlette/__init__.py +0 -0
- {sqlspec-0.30.0 → sqlspec-0.30.2}/tests/unit/test_extensions/test_starlette/test_config_state.py +0 -0
- {sqlspec-0.30.0 → sqlspec-0.30.2}/tests/unit/test_extensions/test_starlette/test_extension.py +0 -0
- {sqlspec-0.30.0 → sqlspec-0.30.2}/tests/unit/test_extensions/test_starlette/test_utils.py +0 -0
- {sqlspec-0.30.0 → sqlspec-0.30.2}/tests/unit/test_loader/__init__.py +0 -0
- {sqlspec-0.30.0 → sqlspec-0.30.2}/tests/unit/test_loader/test_cache_integration.py +0 -0
- {sqlspec-0.30.0 → sqlspec-0.30.2}/tests/unit/test_loader/test_fixtures_directory_loading.py +0 -0
- {sqlspec-0.30.0 → sqlspec-0.30.2}/tests/unit/test_loader/test_loading_patterns.py +0 -0
- {sqlspec-0.30.0 → sqlspec-0.30.2}/tests/unit/test_loader/test_sql_file_loader.py +0 -0
- {sqlspec-0.30.0 → sqlspec-0.30.2}/tests/unit/test_migration_context.py +0 -0
- {sqlspec-0.30.0 → sqlspec-0.30.2}/tests/unit/test_migrations/__init__.py +0 -0
- {sqlspec-0.30.0 → sqlspec-0.30.2}/tests/unit/test_migrations/test_checksum_canonicalization.py +0 -0
- {sqlspec-0.30.0 → sqlspec-0.30.2}/tests/unit/test_migrations/test_extension_discovery.py +0 -0
- {sqlspec-0.30.0 → sqlspec-0.30.2}/tests/unit/test_migrations/test_fix_regex_precision.py +0 -0
- {sqlspec-0.30.0 → sqlspec-0.30.2}/tests/unit/test_migrations/test_migration.py +0 -0
- {sqlspec-0.30.0 → sqlspec-0.30.2}/tests/unit/test_migrations/test_migration_commands.py +0 -0
- {sqlspec-0.30.0 → sqlspec-0.30.2}/tests/unit/test_migrations/test_migration_context.py +0 -0
- {sqlspec-0.30.0 → sqlspec-0.30.2}/tests/unit/test_migrations/test_migration_execution.py +0 -0
- {sqlspec-0.30.0 → sqlspec-0.30.2}/tests/unit/test_migrations/test_migration_runner.py +0 -0
- {sqlspec-0.30.0 → sqlspec-0.30.2}/tests/unit/test_migrations/test_null_handling_fixes.py +0 -0
- {sqlspec-0.30.0 → sqlspec-0.30.2}/tests/unit/test_migrations/test_tracker_idempotency.py +0 -0
- {sqlspec-0.30.0 → sqlspec-0.30.2}/tests/unit/test_migrations/test_utils.py +0 -0
- {sqlspec-0.30.0 → sqlspec-0.30.2}/tests/unit/test_migrations/test_version.py +0 -0
- {sqlspec-0.30.0 → sqlspec-0.30.2}/tests/unit/test_migrations/test_version_conversion.py +0 -0
- {sqlspec-0.30.0 → sqlspec-0.30.2}/tests/unit/test_migrations/test_version_parsing_edge_cases.py +0 -0
- {sqlspec-0.30.0 → sqlspec-0.30.2}/tests/unit/test_parsing_utils.py +0 -0
- {sqlspec-0.30.0 → sqlspec-0.30.2}/tests/unit/test_serialization.py +0 -0
- {sqlspec-0.30.0 → sqlspec-0.30.2}/tests/unit/test_sql_factory.py +0 -0
- {sqlspec-0.30.0 → sqlspec-0.30.2}/tests/unit/test_storage/__init__.py +0 -0
- {sqlspec-0.30.0 → sqlspec-0.30.2}/tests/unit/test_storage/test_errors.py +0 -0
- {sqlspec-0.30.0 → sqlspec-0.30.2}/tests/unit/test_storage/test_fsspec_backend.py +0 -0
- {sqlspec-0.30.0 → sqlspec-0.30.2}/tests/unit/test_storage/test_local_store.py +0 -0
- {sqlspec-0.30.0 → sqlspec-0.30.2}/tests/unit/test_storage/test_obstore_backend.py +0 -0
- {sqlspec-0.30.0 → sqlspec-0.30.2}/tests/unit/test_storage/test_storage_registry.py +0 -0
- {sqlspec-0.30.0 → sqlspec-0.30.2}/tests/unit/test_storage/test_storage_utils.py +0 -0
- {sqlspec-0.30.0 → sqlspec-0.30.2}/tests/unit/test_storage_bridge.py +0 -0
- {sqlspec-0.30.0 → sqlspec-0.30.2}/tests/unit/test_type_conversion.py +0 -0
- {sqlspec-0.30.0 → sqlspec-0.30.2}/tests/unit/test_utils/__init__.py +0 -0
- {sqlspec-0.30.0 → sqlspec-0.30.2}/tests/unit/test_utils/test_correlation.py +0 -0
- {sqlspec-0.30.0 → sqlspec-0.30.2}/tests/unit/test_utils/test_data_transformation.py +0 -0
- {sqlspec-0.30.0 → sqlspec-0.30.2}/tests/unit/test_utils/test_deprecation.py +0 -0
- {sqlspec-0.30.0 → sqlspec-0.30.2}/tests/unit/test_utils/test_fixtures.py +0 -0
- {sqlspec-0.30.0 → sqlspec-0.30.2}/tests/unit/test_utils/test_logging.py +0 -0
- {sqlspec-0.30.0 → sqlspec-0.30.2}/tests/unit/test_utils/test_module_loader.py +0 -0
- {sqlspec-0.30.0 → sqlspec-0.30.2}/tests/unit/test_utils/test_portal.py +0 -0
- {sqlspec-0.30.0 → sqlspec-0.30.2}/tests/unit/test_utils/test_serializers.py +0 -0
- {sqlspec-0.30.0 → sqlspec-0.30.2}/tests/unit/test_utils/test_singleton.py +0 -0
- {sqlspec-0.30.0 → sqlspec-0.30.2}/tests/unit/test_utils/test_sync_tools.py +0 -0
- {sqlspec-0.30.0 → sqlspec-0.30.2}/tests/unit/test_utils/test_text.py +0 -0
- {sqlspec-0.30.0 → sqlspec-0.30.2}/tests/unit/test_utils/test_type_guards.py +0 -0
- {sqlspec-0.30.0 → sqlspec-0.30.2}/tests/unit/test_where_or_operations.py +0 -0
- {sqlspec-0.30.0 → sqlspec-0.30.2}/tools/__init__.py +0 -0
- {sqlspec-0.30.0 → sqlspec-0.30.2}/tools/build_docs.py +0 -0
- {sqlspec-0.30.0 → sqlspec-0.30.2}/tools/fix_documentation.py +0 -0
- {sqlspec-0.30.0 → sqlspec-0.30.2}/tools/local-infra.sh +0 -0
- {sqlspec-0.30.0 → sqlspec-0.30.2}/tools/pypi_readme.py +0 -0
- {sqlspec-0.30.0 → sqlspec-0.30.2}/tools/run_pre_commit.py +0 -0
- {sqlspec-0.30.0 → sqlspec-0.30.2}/tools/sphinx_ext/__init__.py +0 -0
- {sqlspec-0.30.0 → sqlspec-0.30.2}/tools/sphinx_ext/changelog.py +0 -0
- {sqlspec-0.30.0 → sqlspec-0.30.2}/tools/sphinx_ext/missing_references.py +0 -0
|
@@ -62,6 +62,31 @@ Read("AGENTS.md")
|
|
|
62
62
|
Read("docs/guides/quick-reference/quick-reference.md")
|
|
63
63
|
```
|
|
64
64
|
|
|
65
|
+
**Use SQLSpec skills for guidance:**
|
|
66
|
+
|
|
67
|
+
```python
|
|
68
|
+
# Main SQLSpec usage skill - configuration, queries, frameworks, migrations, testing
|
|
69
|
+
Read(".claude/skills/sqlspec-usage/skill.md")
|
|
70
|
+
|
|
71
|
+
# Detailed pattern guides
|
|
72
|
+
Read(".claude/skills/sqlspec-usage/patterns/configuration.md")
|
|
73
|
+
Read(".claude/skills/sqlspec-usage/patterns/queries.md")
|
|
74
|
+
Read(".claude/skills/sqlspec-usage/patterns/frameworks.md")
|
|
75
|
+
Read(".claude/skills/sqlspec-usage/patterns/migrations.md")
|
|
76
|
+
Read(".claude/skills/sqlspec-usage/patterns/testing.md")
|
|
77
|
+
Read(".claude/skills/sqlspec-usage/patterns/performance.md")
|
|
78
|
+
Read(".claude/skills/sqlspec-usage/patterns/troubleshooting.md")
|
|
79
|
+
|
|
80
|
+
# Adapter-specific skills
|
|
81
|
+
Read(f".claude/skills/sqlspec-adapters/{adapter}.md") # e.g., asyncpg.md
|
|
82
|
+
|
|
83
|
+
# Working examples
|
|
84
|
+
Read(".claude/skills/sqlspec-usage/examples/litestar-integration.py")
|
|
85
|
+
Read(".claude/skills/sqlspec-usage/examples/fastapi-integration.py")
|
|
86
|
+
Read(".claude/skills/sqlspec-usage/examples/multi-database.py")
|
|
87
|
+
Read(".claude/skills/sqlspec-usage/examples/testing-patterns.py")
|
|
88
|
+
```
|
|
89
|
+
|
|
65
90
|
**Get library docs when needed:**
|
|
66
91
|
|
|
67
92
|
```python
|
|
@@ -46,6 +46,10 @@ Glob("tests/**/test_asyncpg*.py")
|
|
|
46
46
|
|
|
47
47
|
```python
|
|
48
48
|
Read("docs/guides/testing/testing.md")
|
|
49
|
+
|
|
50
|
+
# SQLSpec testing skills
|
|
51
|
+
Read(".claude/skills/sqlspec-usage/patterns/testing.md")
|
|
52
|
+
Read(".claude/skills/sqlspec-usage/examples/testing-patterns.py")
|
|
49
53
|
```
|
|
50
54
|
|
|
51
55
|
**Key testing principles from guide:**
|
|
@@ -1290,6 +1290,226 @@ if not exists(".claude/agents/sync-guides.md"):
|
|
|
1290
1290
|
|
|
1291
1291
|
---
|
|
1292
1292
|
|
|
1293
|
+
## PHASE 4.6: SQLSPEC SKILLS CREATION (If SQLSpec Project)
|
|
1294
|
+
|
|
1295
|
+
**Objective**: Auto-create comprehensive SQLSpec usage skills for database-focused projects.
|
|
1296
|
+
|
|
1297
|
+
### Step 4.6.1: Detect if SQLSpec Project
|
|
1298
|
+
|
|
1299
|
+
```python
|
|
1300
|
+
is_sqlspec_project = (
|
|
1301
|
+
Grep(pattern=r'from sqlspec|import sqlspec', path='.', output_mode='count') > 5 or
|
|
1302
|
+
exists("sqlspec/") or
|
|
1303
|
+
(exists("pyproject.toml") and "sqlspec" in Read("pyproject.toml"))
|
|
1304
|
+
)
|
|
1305
|
+
|
|
1306
|
+
if not is_sqlspec_project:
|
|
1307
|
+
print("Not a SQLSpec project - skipping SQLSpec skills creation")
|
|
1308
|
+
# Skip to Phase 5
|
|
1309
|
+
```
|
|
1310
|
+
|
|
1311
|
+
### Step 4.6.2: Create SQLSpec Skills Directory
|
|
1312
|
+
|
|
1313
|
+
```bash
|
|
1314
|
+
mkdir -p .claude/skills/sqlspec-usage/patterns
|
|
1315
|
+
mkdir -p .claude/skills/sqlspec-usage/examples
|
|
1316
|
+
mkdir -p .claude/skills/sqlspec-adapters
|
|
1317
|
+
```
|
|
1318
|
+
|
|
1319
|
+
### Step 4.6.3: Generate Main SQLSpec Skill
|
|
1320
|
+
|
|
1321
|
+
```python
|
|
1322
|
+
sqlspec_skill = '''# SQLSpec Usage Expert Skill
|
|
1323
|
+
|
|
1324
|
+
**Version:** 1.0.0
|
|
1325
|
+
**Category:** Database, Python, SQLSpec
|
|
1326
|
+
**Status:** Active
|
|
1327
|
+
|
|
1328
|
+
## Description
|
|
1329
|
+
|
|
1330
|
+
Comprehensive guidance on using SQLSpec - a type-safe SQL query mapper for Python.
|
|
1331
|
+
Covers configuration, query execution, framework integration, migrations, testing,
|
|
1332
|
+
and performance optimization across all supported database adapters.
|
|
1333
|
+
|
|
1334
|
+
## Activation Triggers
|
|
1335
|
+
|
|
1336
|
+
- SQLSpec configuration or setup questions
|
|
1337
|
+
- Database connection management
|
|
1338
|
+
- Query execution patterns
|
|
1339
|
+
- Framework integration (Litestar, FastAPI, Starlette, Flask)
|
|
1340
|
+
- Migration management
|
|
1341
|
+
- Testing with SQLSpec
|
|
1342
|
+
- Performance optimization
|
|
1343
|
+
- Multi-database setups
|
|
1344
|
+
|
|
1345
|
+
## Quick Reference
|
|
1346
|
+
|
|
1347
|
+
See pattern guides for detailed information:
|
|
1348
|
+
- [Configuration Patterns](patterns/configuration.md)
|
|
1349
|
+
- [Query Execution Patterns](patterns/queries.md)
|
|
1350
|
+
- [Framework Integration](patterns/frameworks.md)
|
|
1351
|
+
- [Migration Patterns](patterns/migrations.md)
|
|
1352
|
+
- [Testing Best Practices](patterns/testing.md)
|
|
1353
|
+
- [Performance Optimization](patterns/performance.md)
|
|
1354
|
+
- [Troubleshooting Guide](patterns/troubleshooting.md)
|
|
1355
|
+
|
|
1356
|
+
Working examples in `examples/` directory.
|
|
1357
|
+
'''
|
|
1358
|
+
|
|
1359
|
+
Write(file_path=".claude/skills/sqlspec-usage/skill.md", content=sqlspec_skill)
|
|
1360
|
+
print("✓ Created .claude/skills/sqlspec-usage/skill.md")
|
|
1361
|
+
```
|
|
1362
|
+
|
|
1363
|
+
### Step 4.6.4: Generate Pattern Guides
|
|
1364
|
+
|
|
1365
|
+
Create comprehensive pattern guides:
|
|
1366
|
+
|
|
1367
|
+
```python
|
|
1368
|
+
# Configuration patterns
|
|
1369
|
+
Write(file_path=".claude/skills/sqlspec-usage/patterns/configuration.md", content=config_patterns)
|
|
1370
|
+
|
|
1371
|
+
# Query patterns
|
|
1372
|
+
Write(file_path=".claude/skills/sqlspec-usage/patterns/queries.md", content=query_patterns)
|
|
1373
|
+
|
|
1374
|
+
# Framework integration
|
|
1375
|
+
Write(file_path=".claude/skills/sqlspec-usage/patterns/frameworks.md", content=framework_patterns)
|
|
1376
|
+
|
|
1377
|
+
# Migration patterns
|
|
1378
|
+
Write(file_path=".claude/skills/sqlspec-usage/patterns/migrations.md", content=migration_patterns)
|
|
1379
|
+
|
|
1380
|
+
# Testing patterns
|
|
1381
|
+
Write(file_path=".claude/skills/sqlspec-usage/patterns/testing.md", content=testing_patterns)
|
|
1382
|
+
|
|
1383
|
+
# Performance patterns
|
|
1384
|
+
Write(file_path=".claude/skills/sqlspec-usage/patterns/performance.md", content=performance_patterns)
|
|
1385
|
+
|
|
1386
|
+
# Troubleshooting
|
|
1387
|
+
Write(file_path=".claude/skills/sqlspec-usage/patterns/troubleshooting.md", content=troubleshooting_guide)
|
|
1388
|
+
|
|
1389
|
+
print("✓ Created all SQLSpec pattern guides")
|
|
1390
|
+
```
|
|
1391
|
+
|
|
1392
|
+
### Step 4.6.5: Generate Working Examples
|
|
1393
|
+
|
|
1394
|
+
```python
|
|
1395
|
+
# Litestar integration example
|
|
1396
|
+
Write(file_path=".claude/skills/sqlspec-usage/examples/litestar-integration.py", content=litestar_example)
|
|
1397
|
+
|
|
1398
|
+
# FastAPI integration example
|
|
1399
|
+
Write(file_path=".claude/skills/sqlspec-usage/examples/fastapi-integration.py", content=fastapi_example)
|
|
1400
|
+
|
|
1401
|
+
# Multi-database example
|
|
1402
|
+
Write(file_path=".claude/skills/sqlspec-usage/examples/multi-database.py", content=multi_db_example)
|
|
1403
|
+
|
|
1404
|
+
# Testing patterns example
|
|
1405
|
+
Write(file_path=".claude/skills/sqlspec-usage/examples/testing-patterns.py", content=testing_example)
|
|
1406
|
+
|
|
1407
|
+
# Migration workflow shell script
|
|
1408
|
+
Write(file_path=".claude/skills/sqlspec-usage/examples/migration-workflow.sh", content=migration_script)
|
|
1409
|
+
|
|
1410
|
+
print("✓ Created all SQLSpec example files")
|
|
1411
|
+
```
|
|
1412
|
+
|
|
1413
|
+
### Step 4.6.6: Detect Project Adapters and Create Adapter Skills
|
|
1414
|
+
|
|
1415
|
+
```python
|
|
1416
|
+
# Detect which adapters are used in this project
|
|
1417
|
+
adapters_used = []
|
|
1418
|
+
|
|
1419
|
+
if Grep(pattern=r'from sqlspec.adapters.asyncpg', path='.', output_mode='count') > 0:
|
|
1420
|
+
adapters_used.append("asyncpg")
|
|
1421
|
+
if Grep(pattern=r'from sqlspec.adapters.psycopg', path='.', output_mode='count') > 0:
|
|
1422
|
+
adapters_used.append("psycopg")
|
|
1423
|
+
if Grep(pattern=r'from sqlspec.adapters.duckdb', path='.', output_mode='count') > 0:
|
|
1424
|
+
adapters_used.append("duckdb")
|
|
1425
|
+
if Grep(pattern=r'from sqlspec.adapters.sqlite', path='.', output_mode='count') > 0:
|
|
1426
|
+
adapters_used.append("sqlite")
|
|
1427
|
+
if Grep(pattern=r'from sqlspec.adapters.aiosqlite', path='.', output_mode='count') > 0:
|
|
1428
|
+
adapters_used.append("aiosqlite")
|
|
1429
|
+
if Grep(pattern=r'from sqlspec.adapters.oracledb', path='.', output_mode='count') > 0:
|
|
1430
|
+
adapters_used.append("oracledb")
|
|
1431
|
+
|
|
1432
|
+
print(f"Detected adapters: {', '.join(adapters_used)}")
|
|
1433
|
+
|
|
1434
|
+
# Create adapter-specific skills
|
|
1435
|
+
for adapter in adapters_used:
|
|
1436
|
+
adapter_skill_content = generate_adapter_skill(adapter)
|
|
1437
|
+
Write(file_path=f".claude/skills/sqlspec-adapters/{adapter}.md", content=adapter_skill_content)
|
|
1438
|
+
print(f"✓ Created .claude/skills/sqlspec-adapters/{adapter}.md")
|
|
1439
|
+
|
|
1440
|
+
# Create adapters README
|
|
1441
|
+
adapters_readme = '''# SQLSpec Adapter Skills
|
|
1442
|
+
|
|
1443
|
+
Adapter-specific guidance for each database adapter used in this project.
|
|
1444
|
+
|
|
1445
|
+
## Detected Adapters
|
|
1446
|
+
|
|
1447
|
+
''' + '\n'.join([f'- [{adapter}.md]({adapter}.md)' for adapter in adapters_used]) + '''
|
|
1448
|
+
|
|
1449
|
+
## Adapter Selection Guide
|
|
1450
|
+
|
|
1451
|
+
See main skill documentation for complete adapter comparison.
|
|
1452
|
+
'''
|
|
1453
|
+
|
|
1454
|
+
Write(file_path=".claude/skills/sqlspec-adapters/README.md", content=adapters_readme)
|
|
1455
|
+
print("✓ Created .claude/skills/sqlspec-adapters/README.md")
|
|
1456
|
+
```
|
|
1457
|
+
|
|
1458
|
+
### Step 4.6.7: Update Agent Files to Reference Skills
|
|
1459
|
+
|
|
1460
|
+
```python
|
|
1461
|
+
# Add skills reference to expert.md
|
|
1462
|
+
expert_skills_section = '''
|
|
1463
|
+
**Use SQLSpec skills for guidance:**
|
|
1464
|
+
|
|
1465
|
+
```python
|
|
1466
|
+
# Main SQLSpec usage skill
|
|
1467
|
+
Read(".claude/skills/sqlspec-usage/skill.md")
|
|
1468
|
+
|
|
1469
|
+
# Pattern guides
|
|
1470
|
+
Read(".claude/skills/sqlspec-usage/patterns/configuration.md")
|
|
1471
|
+
Read(".claude/skills/sqlspec-usage/patterns/queries.md")
|
|
1472
|
+
Read(".claude/skills/sqlspec-usage/patterns/frameworks.md")
|
|
1473
|
+
Read(".claude/skills/sqlspec-usage/patterns/testing.md")
|
|
1474
|
+
|
|
1475
|
+
# Adapter-specific skills
|
|
1476
|
+
Read(f".claude/skills/sqlspec-adapters/{adapter}.md")
|
|
1477
|
+
|
|
1478
|
+
# Working examples
|
|
1479
|
+
Read(".claude/skills/sqlspec-usage/examples/litestar-integration.py")
|
|
1480
|
+
```
|
|
1481
|
+
'''
|
|
1482
|
+
|
|
1483
|
+
# Insert into expert.md after guides section
|
|
1484
|
+
# (Implementation details...)
|
|
1485
|
+
|
|
1486
|
+
# Add skills reference to testing.md
|
|
1487
|
+
testing_skills_section = '''
|
|
1488
|
+
```python
|
|
1489
|
+
Read(".claude/skills/sqlspec-usage/patterns/testing.md")
|
|
1490
|
+
Read(".claude/skills/sqlspec-usage/examples/testing-patterns.py")
|
|
1491
|
+
```
|
|
1492
|
+
'''
|
|
1493
|
+
|
|
1494
|
+
# Insert into testing.md
|
|
1495
|
+
# (Implementation details...)
|
|
1496
|
+
|
|
1497
|
+
print("✓ Updated agent files to reference SQLSpec skills")
|
|
1498
|
+
```
|
|
1499
|
+
|
|
1500
|
+
### Step 4.6.8: Summary
|
|
1501
|
+
|
|
1502
|
+
```python
|
|
1503
|
+
print("\n=== SQLSPEC SKILLS CREATED ===\n")
|
|
1504
|
+
print("Main skill: .claude/skills/sqlspec-usage/skill.md")
|
|
1505
|
+
print("Pattern guides: .claude/skills/sqlspec-usage/patterns/")
|
|
1506
|
+
print("Examples: .claude/skills/sqlspec-usage/examples/")
|
|
1507
|
+
print(f"Adapter skills: {len(adapters_used)} adapters detected")
|
|
1508
|
+
print("\nAgents updated to reference skills automatically.")
|
|
1509
|
+
```
|
|
1510
|
+
|
|
1511
|
+
---
|
|
1512
|
+
|
|
1293
1513
|
## PHASE 5: PROJECT GUIDES CREATION
|
|
1294
1514
|
|
|
1295
1515
|
### Step 5.1: Create Architecture Guide
|
|
@@ -0,0 +1,229 @@
|
|
|
1
|
+
# Claude Skills for SQLSpec
|
|
2
|
+
|
|
3
|
+
Comprehensive skills library for proper SQLSpec usage, ensuring consistent best practices across all database adapters, frameworks, and use cases.
|
|
4
|
+
|
|
5
|
+
## Overview
|
|
6
|
+
|
|
7
|
+
This skills library was created by analyzing:
|
|
8
|
+
|
|
9
|
+
- **SQLSpec documentation** - Official usage guides
|
|
10
|
+
- **SQLSpec source code** - Implementation patterns and standards
|
|
11
|
+
- **AGENTS.md** - Project-specific conventions
|
|
12
|
+
- **Example projects** - Real-world usage patterns
|
|
13
|
+
|
|
14
|
+
## Skills Structure
|
|
15
|
+
|
|
16
|
+
### 1. Main SQLSpec Usage Skill
|
|
17
|
+
|
|
18
|
+
**Location:** [sqlspec-usage/skill.md](sqlspec-usage/skill.md)
|
|
19
|
+
|
|
20
|
+
**Purpose:** Primary skill for all SQLSpec-related queries. Provides guidance on:
|
|
21
|
+
|
|
22
|
+
- Configuration (all adapters)
|
|
23
|
+
- Query execution patterns
|
|
24
|
+
- Framework integration (Litestar, FastAPI, Starlette, Flask)
|
|
25
|
+
- Migration management
|
|
26
|
+
- Testing best practices
|
|
27
|
+
- Performance optimization
|
|
28
|
+
- Multi-database setups
|
|
29
|
+
|
|
30
|
+
**Activation:** Automatically activates when questions involve SQLSpec configuration, database setup, query execution, or framework integration.
|
|
31
|
+
|
|
32
|
+
### 2. Pattern Guides
|
|
33
|
+
|
|
34
|
+
**Location:** `sqlspec-usage/patterns/`
|
|
35
|
+
|
|
36
|
+
Detailed reference guides for specific SQLSpec usage patterns:
|
|
37
|
+
|
|
38
|
+
| Guide | Purpose | Key Topics |
|
|
39
|
+
|-------|---------|-----------|
|
|
40
|
+
| [configuration.md](sqlspec-usage/patterns/configuration.md) | Configuration across all adapters | pool_config, driver_features, extension_config, multi-database |
|
|
41
|
+
| [queries.md](sqlspec-usage/patterns/queries.md) | Query execution patterns | Parameter binding, result handling, transactions, type mapping |
|
|
42
|
+
| [frameworks.md](sqlspec-usage/patterns/frameworks.md) | Framework integration | Litestar, FastAPI, Starlette, Flask patterns |
|
|
43
|
+
| [migrations.md](sqlspec-usage/patterns/migrations.md) | Database migrations | CLI commands, hybrid versioning, programmatic control |
|
|
44
|
+
| [testing.md](sqlspec-usage/patterns/testing.md) | Testing best practices | Test isolation, pytest-databases, parallel execution |
|
|
45
|
+
| [performance.md](sqlspec-usage/patterns/performance.md) | Performance optimization | Pooling, caching, batch ops, Arrow integration |
|
|
46
|
+
| [troubleshooting.md](sqlspec-usage/patterns/troubleshooting.md) | Common issues & solutions | Installation, config, query, transaction issues |
|
|
47
|
+
|
|
48
|
+
### 3. Working Examples
|
|
49
|
+
|
|
50
|
+
**Location:** `sqlspec-usage/examples/`
|
|
51
|
+
|
|
52
|
+
Production-ready code examples:
|
|
53
|
+
|
|
54
|
+
| Example | Description |
|
|
55
|
+
|---------|-------------|
|
|
56
|
+
| [litestar-integration.py](sqlspec-usage/examples/litestar-integration.py) | Complete Litestar + SQLSpec app with multi-database, DI, error handling |
|
|
57
|
+
| [fastapi-integration.py](sqlspec-usage/examples/fastapi-integration.py) | FastAPI integration with dependency injection and type-safe responses |
|
|
58
|
+
| [multi-database.py](sqlspec-usage/examples/multi-database.py) | Multi-database configuration and cross-database queries |
|
|
59
|
+
| [migration-workflow.sh](sqlspec-usage/examples/migration-workflow.sh) | Complete migration workflow with hybrid versioning |
|
|
60
|
+
| [testing-patterns.py](sqlspec-usage/examples/testing-patterns.py) | Pytest testing patterns with isolation and parallel execution |
|
|
61
|
+
|
|
62
|
+
### 4. Adapter-Specific Skills
|
|
63
|
+
|
|
64
|
+
**Location:** `sqlspec-adapters/`
|
|
65
|
+
|
|
66
|
+
Detailed guidance for individual database adapters:
|
|
67
|
+
|
|
68
|
+
| Adapter | File | Status |
|
|
69
|
+
|---------|------|--------|
|
|
70
|
+
| AsyncPG (PostgreSQL async) | [asyncpg.md](sqlspec-adapters/asyncpg.md) | ✅ Complete |
|
|
71
|
+
| Psycopg (PostgreSQL sync/async) | psycopg.md | 📝 Template |
|
|
72
|
+
| Psqlpy (PostgreSQL Rust-based) | psqlpy.md | 📝 Template |
|
|
73
|
+
| SQLite (sync) | sqlite.md | 📝 Template |
|
|
74
|
+
| AioSQLite (async) | aiosqlite.md | 📝 Template |
|
|
75
|
+
| DuckDB (analytics) | duckdb.md | 📝 Template |
|
|
76
|
+
| Oracle | oracledb.md | 📝 Template |
|
|
77
|
+
| Asyncmy (MySQL async) | asyncmy.md | 📝 Template |
|
|
78
|
+
| BigQuery | bigquery.md | 📝 Template |
|
|
79
|
+
| ADBC (Arrow-native) | adbc.md | 📝 Template |
|
|
80
|
+
|
|
81
|
+
**Note:** Template adapters follow the AsyncPG structure and can be quickly expanded when needed.
|
|
82
|
+
|
|
83
|
+
## Usage in Agent Workflow
|
|
84
|
+
|
|
85
|
+
### Expert Agent
|
|
86
|
+
|
|
87
|
+
The Expert agent references these skills during implementation:
|
|
88
|
+
|
|
89
|
+
```python
|
|
90
|
+
# Main skill for overall guidance
|
|
91
|
+
Read(".claude/skills/sqlspec-usage/skill.md")
|
|
92
|
+
|
|
93
|
+
# Specific pattern guides as needed
|
|
94
|
+
Read(".claude/skills/sqlspec-usage/patterns/configuration.md")
|
|
95
|
+
Read(".claude/skills/sqlspec-usage/patterns/queries.md")
|
|
96
|
+
|
|
97
|
+
# Adapter-specific guidance
|
|
98
|
+
Read(f".claude/skills/sqlspec-adapters/{adapter}.md")
|
|
99
|
+
|
|
100
|
+
# Working examples for reference
|
|
101
|
+
Read(".claude/skills/sqlspec-usage/examples/litestar-integration.py")
|
|
102
|
+
```
|
|
103
|
+
|
|
104
|
+
### Testing Agent
|
|
105
|
+
|
|
106
|
+
The Testing agent uses testing-specific skills:
|
|
107
|
+
|
|
108
|
+
```python
|
|
109
|
+
Read(".claude/skills/sqlspec-usage/patterns/testing.md")
|
|
110
|
+
Read(".claude/skills/sqlspec-usage/examples/testing-patterns.py")
|
|
111
|
+
```
|
|
112
|
+
|
|
113
|
+
## Bootstrap Integration
|
|
114
|
+
|
|
115
|
+
The `.claude/bootstrap.md` includes automatic skill creation for SQLSpec projects:
|
|
116
|
+
|
|
117
|
+
**Phase 4.6:** Detects SQLSpec projects and auto-generates:
|
|
118
|
+
|
|
119
|
+
1. Main SQLSpec skill
|
|
120
|
+
2. All pattern guides
|
|
121
|
+
3. Working examples
|
|
122
|
+
4. Adapter-specific skills for detected adapters
|
|
123
|
+
5. Updates agent files to reference skills
|
|
124
|
+
|
|
125
|
+
## Anti-Pattern Detection
|
|
126
|
+
|
|
127
|
+
All skills include sections on anti-patterns to avoid:
|
|
128
|
+
|
|
129
|
+
- Configuration mistakes (missing pool_config, duplicate session keys)
|
|
130
|
+
- Session management errors (no context managers, mixing sync/async)
|
|
131
|
+
- Query execution issues (SQL injection, wrong parameter style)
|
|
132
|
+
- Framework integration problems (duplicate keys, missing middleware)
|
|
133
|
+
- Testing pitfalls (:memory: with pooling, class-based tests)
|
|
134
|
+
|
|
135
|
+
## Best Practices Enforcement
|
|
136
|
+
|
|
137
|
+
Skills enforce SQLSpec best practices:
|
|
138
|
+
|
|
139
|
+
1. **Always use context managers** for session management
|
|
140
|
+
2. **Store config keys** returned from `add_config()`
|
|
141
|
+
3. **Use parameter binding** (never string concatenation)
|
|
142
|
+
4. **Enable connection pooling** in production
|
|
143
|
+
5. **Use unique session_key values** for multi-database setups
|
|
144
|
+
6. **Close pools on shutdown** with `close_all_pools()`
|
|
145
|
+
7. **Use typed schema mapping** for type safety
|
|
146
|
+
8. **Prefer framework plugins** over manual setup
|
|
147
|
+
9. **Use temp files for SQLite pooling tests**, not `:memory:`
|
|
148
|
+
10. **Define TypedDict for driver_features** in all adapters
|
|
149
|
+
|
|
150
|
+
## Maintenance
|
|
151
|
+
|
|
152
|
+
### Adding New Patterns
|
|
153
|
+
|
|
154
|
+
When new SQLSpec patterns are discovered:
|
|
155
|
+
|
|
156
|
+
1. Add to relevant pattern guide in `patterns/`
|
|
157
|
+
2. Update main skill.md if it's a major pattern
|
|
158
|
+
3. Add working example if applicable
|
|
159
|
+
4. Update AGENTS.md if it affects project standards
|
|
160
|
+
|
|
161
|
+
### Expanding Adapter Skills
|
|
162
|
+
|
|
163
|
+
To expand a template adapter skill:
|
|
164
|
+
|
|
165
|
+
1. Copy `asyncpg.md` as template
|
|
166
|
+
2. Fill in adapter-specific:
|
|
167
|
+
- Configuration parameters
|
|
168
|
+
- Parameter binding style
|
|
169
|
+
- Adapter-specific features
|
|
170
|
+
- Performance characteristics
|
|
171
|
+
- Common issues
|
|
172
|
+
3. Update `sqlspec-adapters/README.md`
|
|
173
|
+
4. Add to main skill.md adapter comparison table
|
|
174
|
+
|
|
175
|
+
### Knowledge Capture Process
|
|
176
|
+
|
|
177
|
+
After significant SQLSpec work:
|
|
178
|
+
|
|
179
|
+
1. **Analyze** what was built for reusable patterns
|
|
180
|
+
2. **Update** relevant pattern guides
|
|
181
|
+
3. **Add examples** if they demonstrate new techniques
|
|
182
|
+
4. **Update** adapter skills if adapter-specific features were used
|
|
183
|
+
5. **Update** AGENTS.md if it affects project conventions
|
|
184
|
+
|
|
185
|
+
## Real-World Pattern Sources
|
|
186
|
+
|
|
187
|
+
Skills incorporate patterns from:
|
|
188
|
+
|
|
189
|
+
- **oracle-vertexai-demo** - Oracle-specific usage, embeddings
|
|
190
|
+
- **postgres-vertexai-demo** - PostgreSQL with vector search
|
|
191
|
+
- **sqlstack** - Multi-framework integration
|
|
192
|
+
- **accelerator** - Production deployment patterns
|
|
193
|
+
|
|
194
|
+
(Note: Deep analysis of these projects is pending and will enhance skills further)
|
|
195
|
+
|
|
196
|
+
## Skill Activation
|
|
197
|
+
|
|
198
|
+
Skills activate automatically when:
|
|
199
|
+
|
|
200
|
+
- User asks about SQLSpec configuration
|
|
201
|
+
- Database connection issues arise
|
|
202
|
+
- Query execution questions occur
|
|
203
|
+
- Framework integration is discussed
|
|
204
|
+
- Migration management is needed
|
|
205
|
+
- Testing patterns are requested
|
|
206
|
+
- Performance optimization is sought
|
|
207
|
+
- Troubleshooting is required
|
|
208
|
+
|
|
209
|
+
No manual invocation needed - skills provide context-aware guidance.
|
|
210
|
+
|
|
211
|
+
## Contributing
|
|
212
|
+
|
|
213
|
+
To contribute new patterns or improvements:
|
|
214
|
+
|
|
215
|
+
1. Test pattern in real code
|
|
216
|
+
2. Document in appropriate guide
|
|
217
|
+
3. Add working example if useful
|
|
218
|
+
4. Update this README if structure changes
|
|
219
|
+
5. Submit PR with clear benefit explanation
|
|
220
|
+
|
|
221
|
+
## Version
|
|
222
|
+
|
|
223
|
+
**Version:** 1.0.0
|
|
224
|
+
**Created:** November 15, 2025
|
|
225
|
+
**Last Updated:** November 15, 2025
|
|
226
|
+
|
|
227
|
+
## License
|
|
228
|
+
|
|
229
|
+
Same as SQLSpec project license.
|
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
# SQLSpec Adapter Skills
|
|
2
|
+
|
|
3
|
+
Individual skills for each database adapter with adapter-specific guidance.
|
|
4
|
+
|
|
5
|
+
## Available Adapter Skills
|
|
6
|
+
|
|
7
|
+
### PostgreSQL Adapters
|
|
8
|
+
|
|
9
|
+
- **[asyncpg.md](asyncpg.md)** - AsyncPG (async, high performance)
|
|
10
|
+
- **psycopg.md** - Psycopg (sync/async, feature-rich) - TODO
|
|
11
|
+
- **psqlpy.md** - Psqlpy (Rust-based, extreme performance) - TODO
|
|
12
|
+
|
|
13
|
+
### SQLite Adapters
|
|
14
|
+
|
|
15
|
+
- **sqlite.md** - SQLite (sync, embedded) - TODO
|
|
16
|
+
- **aiosqlite.md** - AioSQLite (async, embedded) - TODO
|
|
17
|
+
|
|
18
|
+
### Analytics & OLAP
|
|
19
|
+
|
|
20
|
+
- **duckdb.md** - DuckDB (columnar, analytics) - TODO
|
|
21
|
+
|
|
22
|
+
### Oracle
|
|
23
|
+
|
|
24
|
+
- **oracledb.md** - Oracle Database (sync/async, enterprise) - TODO
|
|
25
|
+
|
|
26
|
+
### MySQL/MariaDB
|
|
27
|
+
|
|
28
|
+
- **asyncmy.md** - Asyncmy (async MySQL) - TODO
|
|
29
|
+
|
|
30
|
+
### Cloud & Multi-Database
|
|
31
|
+
|
|
32
|
+
- **bigquery.md** - Google BigQuery (data warehouse) - TODO
|
|
33
|
+
- **adbc.md** - ADBC (Arrow-native, multi-database) - TODO
|
|
34
|
+
|
|
35
|
+
## Adapter Selection Guide
|
|
36
|
+
|
|
37
|
+
| Use Case | Recommended Adapter | Skill File |
|
|
38
|
+
|----------|-------------------|-----------|
|
|
39
|
+
| PostgreSQL async | AsyncPG | [asyncpg.md](asyncpg.md) |
|
|
40
|
+
| PostgreSQL sync | Psycopg | psycopg.md |
|
|
41
|
+
| PostgreSQL extreme perf | Psqlpy | psqlpy.md |
|
|
42
|
+
| Embedded database | SQLite or DuckDB | sqlite.md, duckdb.md |
|
|
43
|
+
| Analytics queries | DuckDB | duckdb.md |
|
|
44
|
+
| Oracle enterprise | OracleDB | oracledb.md |
|
|
45
|
+
| MySQL/MariaDB | Asyncmy | asyncmy.md |
|
|
46
|
+
| Cloud data warehouse | BigQuery | bigquery.md |
|
|
47
|
+
| Multi-database | ADBC | adbc.md |
|
|
48
|
+
| Arrow ecosystem | ADBC or DuckDB | adbc.md, duckdb.md |
|
|
49
|
+
|
|
50
|
+
## Skill Template
|
|
51
|
+
|
|
52
|
+
Each adapter skill covers:
|
|
53
|
+
|
|
54
|
+
1. When to use this adapter
|
|
55
|
+
2. Configuration examples
|
|
56
|
+
3. Parameter binding style
|
|
57
|
+
4. Adapter-specific features
|
|
58
|
+
5. Performance optimization
|
|
59
|
+
6. Best practices
|
|
60
|
+
7. Common issues
|
|
61
|
+
8. Real-world examples
|
|
62
|
+
|
|
63
|
+
## Contributing
|
|
64
|
+
|
|
65
|
+
To add a new adapter skill:
|
|
66
|
+
|
|
67
|
+
1. Copy `asyncpg.md` as a template
|
|
68
|
+
2. Fill in adapter-specific details
|
|
69
|
+
3. Add to this README
|
|
70
|
+
4. Link from main skill.md
|