Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -206,7 +206,7 @@ jobs:

- name: Upload coverage to Codecov
if: always()
uses: codecov/codecov-action@fb8b3582c8e4def4969c97caa2f19720cb33a72f # v7
uses: codecov/codecov-action@0b35c9ecc4f0529d0eb674914510c22f85b196b4 # v7
with:
files: coverage-unit.xml
flags: unit,py${{ matrix.python-version }}
Expand Down Expand Up @@ -436,7 +436,7 @@ jobs:

- name: Upload coverage to Codecov
if: always() && steps.pytest.outcome != 'skipped'
uses: codecov/codecov-action@fb8b3582c8e4def4969c97caa2f19720cb33a72f # v7
uses: codecov/codecov-action@0b35c9ecc4f0529d0eb674914510c22f85b196b4 # v7
with:
files: coverage-integration.xml
flags: integration,py${{ matrix.python-version }}
Expand Down
2 changes: 1 addition & 1 deletion .pre-commit-config.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -36,7 +36,7 @@ repos:
exclude: "test*|tools"
args: ["--use-tuple"]
- repo: https://github.com/ariebovenberg/slotscheck
rev: v0.21.0b1
rev: v0.21.0
hooks:
- id: slotscheck
exclude: "docs|.github"
Expand Down
18 changes: 18 additions & 0 deletions docs/changelog.rst
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,24 @@ important operational fixes.
Recent Updates
==============

v0.63.1 - Slotted service subclass compatibility
------------------------------------------------

**Fixed:**

* Keep :class:`~sqlspec.service.SQLSpecAsyncService` and :class:`~sqlspec.service.SQLSpecSyncService`
as ordinary slotted Python classes in compiled wheels. Application subclasses preserve generic typing
and ``__slots__`` without downstream slotscheck exclusions. Query execution and transaction management
remain mypyc-compiled in a private runtime module.

**Changed:**

* Expand compiled-wheel smoke checks to cover multi-level, slotted subclasses of
:class:`~sqlspec.service.SQLSpecAsyncService` and :class:`~sqlspec.service.SQLSpecSyncService`,
including inherited queries, transaction contexts, overridden session acquisition, and queries inside
a caller's exception handler.
* Update slotscheck and the Codecov action pin.

v0.63.0 - Transactions, table fixtures, SQL fragments, storage, and kwargs parameter binding
---------------------------------------------------------------------------------------------------

Expand Down
6 changes: 3 additions & 3 deletions pyproject.toml
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,7 @@ maintainers = [{ name = "Litestar Developers", email = "hello@litestar.dev" }]
name = "sqlspec"
readme = "README.md"
requires-python = ">=3.10, <4.0"
version = "0.63.0"
version = "0.63.1"

[project.urls]
Discord = "https://discord.gg/litestar"
Expand Down Expand Up @@ -267,7 +267,7 @@ include = [
"sqlspec/storage/backends/local.py", # Local storage backend
"sqlspec/storage/backends/obstore.py", # obstore backend import surface
"sqlspec/storage/_utils.py", # Storage optional dependency import helpers
"sqlspec/service.py", # Service base classes
"sqlspec/service/_core.py", # Compiled query and transaction helpers for Python service bases
"sqlspec/data_dictionary/**/*.py", # Data dictionary registry, loader, and dialect helpers
"sqlspec/extensions/prometheus/_observer.py", # Prometheus statement observer
"sqlspec/extensions/fastapi/providers.py", # FastAPI filter provider helpers
Expand Down Expand Up @@ -329,7 +329,7 @@ opt_level = "3" # Maximum optimization (0-3)
allow_dirty = true
commit = false
commit_args = "--no-verify"
current_version = "0.63.0"
current_version = "0.63.1"
ignore_missing_files = false
ignore_missing_version = false
message = "chore(release): bump to v{new_version}"
Expand Down
5 changes: 5 additions & 0 deletions sqlspec/service/__init__.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
"""Slotted application service bases backed by the compiled service runtime."""

from sqlspec.service._base import SQLSpecAsyncService, SQLSpecSyncService

__all__ = ("SQLSpecAsyncService", "SQLSpecSyncService")
Loading
Loading