Compare commits

..

No commits in common. "94faac88638b67ec2d06f53c2af2c640f9b7accd" and "1a9fa55dd8b0752924fef1af2e86adf7e3cef5be" have entirely different histories.

3 changed files with 3 additions and 22 deletions

View file

@ -1,9 +1,5 @@
# Changelog
## 0.5.1
- Fixed return types for `.sqlalchemy` module
## 0.5.0
+ `sqlalchemy`: add `unbound_fk()`, `bound_fk()`
@ -21,11 +17,6 @@
+ 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
@ -42,11 +33,6 @@
+ 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.1.
## 0.3.7
- Fixed a bug in `b64decode()` padding handling which made the function inconsistent and non injective. Now, leading `'A'` is NEVER stripped.

View file

@ -34,7 +34,7 @@ from .validators import matches
from .redact import redact_url_password
from .http import WantsContentType
__version__ = "0.5.1"
__version__ = "0.5.0"
__all__ = (
'ConfigOptions', 'ConfigParserConfigSource', 'ConfigSource', 'ConfigValue',

View file

@ -20,14 +20,9 @@ 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
@ -136,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) -> type[DeclarativeBase]:
def declarative_base(domain_name: str, master_secret: bytes, metadata: dict | None = None, **kwargs) -> DeclarativeBase:
"""
Drop-in replacement for sqlalchemy.orm.declarative_base()
taking in account requirements for SIQ generation (i.e. domain name).
@ -209,7 +204,7 @@ def age_pair(*, nullable: bool = False, **ka) -> tuple[Column, Column]:
return (date_col, acc_col)
def parent_children(keyword: str, /, *, lazy='selectin', **kwargs) -> tuple[Incomplete[Relationship], Incomplete[Relationship]]:
def parent_children(keyword: str, /, *, lazy: str = 'selectin', **kwargs):
"""
Self-referential one-to-many relationship pair.
Parent comes first, children come later.