From f1f81312998e4a0ded68965d2d94f0cde49aaa62 Mon Sep 17 00:00:00 2001 From: Yusur Princeps Date: Sat, 23 Aug 2025 14:43:28 +0200 Subject: [PATCH 1/4] fix type return in declarative_base() --- src/suou/sqlalchemy.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/suou/sqlalchemy.py b/src/suou/sqlalchemy.py index 0b4b66b..9f84610 100644 --- a/src/suou/sqlalchemy.py +++ b/src/suou/sqlalchemy.py @@ -131,7 +131,7 @@ def bool_column(value: bool = False, nullable: bool = False, **kwargs): return Column(Boolean, server_default=def_val, nullable=nullable, **kwargs) -def declarative_base(domain_name: str, master_secret: bytes, metadata: dict | None = None, **kwargs) -> DeclarativeBase: +def declarative_base(domain_name: str, master_secret: bytes, metadata: dict | None = None, **kwargs) -> type[DeclarativeBase]: """ Drop-in replacement for sqlalchemy.orm.declarative_base() taking in account requirements for SIQ generation (i.e. domain name). From 0345ee58fc47a758587cc8ba19745e14f7bc1980 Mon Sep 17 00:00:00 2001 From: Yusur Princeps Date: Sat, 23 Aug 2025 14:43:54 +0200 Subject: [PATCH 2/4] version advance --- src/suou/__init__.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/suou/__init__.py b/src/suou/__init__.py index 4c3f2d7..21608a4 100644 --- a/src/suou/__init__.py +++ b/src/suou/__init__.py @@ -34,7 +34,7 @@ from .validators import matches from .redact import redact_url_password from .http import WantsContentType -__version__ = "0.5.0" +__version__ = "0.5.1" __all__ = ( 'ConfigOptions', 'ConfigParserConfigSource', 'ConfigSource', 'ConfigValue', From 958779bc8a0ade908df95f283c33b07995b890fd Mon Sep 17 00:00:00 2001 From: Yusur Princeps Date: Sat, 23 Aug 2025 14:54:58 +0200 Subject: [PATCH 3/4] update changelog, add lazy= to parent_children() --- CHANGELOG.md | 5 +++++ src/suou/sqlalchemy.py | 7 ++++++- 2 files changed, 11 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index db198c0..253f01d 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -33,6 +33,11 @@ + Added `addattr()`, `PrefixIdentifier()`, `mod_floor()`, `mod_ceil()` + First version to have unit tests! (Coverage is not yet complete) +## 0.3.8 + +- Fixed return types for `.sqlalchemy` module. +- `sqlalchemy.parent_children()` now takes a `lazy` parameter. Backported from 0.5.0. + ## 0.3.7 - Fixed a bug in `b64decode()` padding handling which made the function inconsistent and non injective. Now, leading `'A'` is NEVER stripped. diff --git a/src/suou/sqlalchemy.py b/src/suou/sqlalchemy.py index 9f84610..6be1d8a 100644 --- a/src/suou/sqlalchemy.py +++ b/src/suou/sqlalchemy.py @@ -20,9 +20,14 @@ from abc import ABCMeta, abstractmethod from functools import wraps from typing import Callable, Iterable, Never, TypeVar import warnings +<<<<<<< HEAD from sqlalchemy import BigInteger, Boolean, CheckConstraint, Date, Dialect, ForeignKey, LargeBinary, Column, MetaData, SmallInteger, String, create_engine, select, text from sqlalchemy.orm import DeclarativeBase, InstrumentedAttribute, Session, declarative_base as _declarative_base, relationship from sqlalchemy.types import TypeEngine +======= +from sqlalchemy import BigInteger, CheckConstraint, Date, Dialect, ForeignKey, LargeBinary, Column, MetaData, SmallInteger, String, create_engine, select, text +from sqlalchemy.orm import DeclarativeBase, Relationship, Session, declarative_base as _declarative_base, relationship +>>>>>>> a66f591 (update changelog, add lazy= to parent_children()) from .snowflake import SnowflakeGen from .itertools import kwargs_prefix, makelist @@ -204,7 +209,7 @@ def age_pair(*, nullable: bool = False, **ka) -> tuple[Column, Column]: return (date_col, acc_col) -def parent_children(keyword: str, /, *, lazy: str = 'selectin', **kwargs): +def parent_children(keyword: str, /, *, lazy='selectin', **kwargs) -> tuple[Incomplete[Relationship], Incomplete[Relationship]]: """ Self-referential one-to-many relationship pair. Parent comes first, children come later. From 94faac88638b67ec2d06f53c2af2c640f9b7accd Mon Sep 17 00:00:00 2001 From: Yusur Princeps Date: Sat, 23 Aug 2025 15:01:51 +0200 Subject: [PATCH 4/4] update changelog --- CHANGELOG.md | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 253f01d..0a9d03d 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,9 @@ # Changelog +## 0.5.1 + +- Fixed return types for `.sqlalchemy` module + ## 0.5.0 + `sqlalchemy`: add `unbound_fk()`, `bound_fk()` @@ -17,6 +21,11 @@ + Add `quart` module with `negotiate()`, `add_rest()`, `add_i18n()`, `WantsContentType` + Add `dei` module: it implements a compact and standardized representation for pronouns, inspired by the one in use at PronounDB +## 0.4.1 + +- Fixed return types for `.sqlalchemy` module. +- `sqlalchemy.parent_children()` now takes a `lazy` parameter. Backported from 0.5.1. + ## 0.4.0 + `pydantic` is now a hard dependency @@ -36,7 +45,7 @@ ## 0.3.8 - Fixed return types for `.sqlalchemy` module. -- `sqlalchemy.parent_children()` now takes a `lazy` parameter. Backported from 0.5.0. +- `sqlalchemy.parent_children()` now takes a `lazy` parameter. Backported from 0.5.1. ## 0.3.7