sql-athame 0.4.0a11__tar.gz → 0.4.0a13__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.
Files changed (27) hide show
  1. {sql_athame-0.4.0a11 → sql_athame-0.4.0a13}/.bumpversion.cfg +1 -1
  2. {sql_athame-0.4.0a11 → sql_athame-0.4.0a13}/.github/workflows/test.yml +1 -0
  3. {sql_athame-0.4.0a11 → sql_athame-0.4.0a13}/LICENSE +1 -1
  4. {sql_athame-0.4.0a11 → sql_athame-0.4.0a13}/PKG-INFO +8 -5
  5. {sql_athame-0.4.0a11 → sql_athame-0.4.0a13}/README.md +7 -4
  6. {sql_athame-0.4.0a11 → sql_athame-0.4.0a13}/pyproject.toml +1 -5
  7. sql_athame-0.4.0a13/sql_athame/base.py +797 -0
  8. sql_athame-0.4.0a13/sql_athame/dataclasses.py +1621 -0
  9. {sql_athame-0.4.0a11 → sql_athame-0.4.0a13}/tests/test_asyncpg.py +75 -0
  10. sql_athame-0.4.0a13/tests/test_dataclasses.py +481 -0
  11. {sql_athame-0.4.0a11 → sql_athame-0.4.0a13}/uv.lock +351 -714
  12. sql_athame-0.4.0a11/sql_athame/base.py +0 -318
  13. sql_athame-0.4.0a11/sql_athame/dataclasses.py +0 -804
  14. sql_athame-0.4.0a11/tests/test_dataclasses.py +0 -204
  15. {sql_athame-0.4.0a11 → sql_athame-0.4.0a13}/.editorconfig +0 -0
  16. {sql_athame-0.4.0a11 → sql_athame-0.4.0a13}/.github/workflows/publish.yml +0 -0
  17. {sql_athame-0.4.0a11 → sql_athame-0.4.0a13}/.gitignore +0 -0
  18. {sql_athame-0.4.0a11 → sql_athame-0.4.0a13}/docker-compose.yml +0 -0
  19. {sql_athame-0.4.0a11 → sql_athame-0.4.0a13}/run +0 -0
  20. {sql_athame-0.4.0a11 → sql_athame-0.4.0a13}/sql_athame/__init__.py +0 -0
  21. {sql_athame-0.4.0a11 → sql_athame-0.4.0a13}/sql_athame/escape.py +0 -0
  22. {sql_athame-0.4.0a11 → sql_athame-0.4.0a13}/sql_athame/py.typed +0 -0
  23. {sql_athame-0.4.0a11 → sql_athame-0.4.0a13}/sql_athame/sqlalchemy.py +0 -0
  24. {sql_athame-0.4.0a11 → sql_athame-0.4.0a13}/sql_athame/types.py +0 -0
  25. {sql_athame-0.4.0a11 → sql_athame-0.4.0a13}/tests/__init__.py +0 -0
  26. {sql_athame-0.4.0a11 → sql_athame-0.4.0a13}/tests/test_basic.py +0 -0
  27. {sql_athame-0.4.0a11 → sql_athame-0.4.0a13}/tests/test_sqlalchemy.py +0 -0
@@ -1,5 +1,5 @@
1
1
  [bumpversion]
2
- current_version = 0.4.0-alpha-11
2
+ current_version = 0.4.0-alpha-13
3
3
  parse = (?P<major>\d+)\.(?P<minor>\d+)\.(?P<patch>\d+)(-(?P<release>.*)-(?P<build>\d+))?
4
4
  serialize =
5
5
  {major}.{minor}.{patch}-{release}-{build}
@@ -25,6 +25,7 @@ jobs:
25
25
  POSTGRES_PASSWORD: password
26
26
  env:
27
27
  PGPORT: 5432
28
+ UV_LOCKED: 1
28
29
  steps:
29
30
  - uses: actions/checkout@v4
30
31
 
@@ -1,6 +1,6 @@
1
1
  MIT License
2
2
 
3
- Copyright (c) 2019, 2020 Brian Downing
3
+ Copyright (c) 2019-2025 Brian Downing
4
4
 
5
5
  Permission is hereby granted, free of charge, to any person obtaining a copy
6
6
  of this software and associated documentation files (the "Software"), to deal
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: sql-athame
3
- Version: 0.4.0a11
3
+ Version: 0.4.0a13
4
4
  Summary: Python tool for slicing and dicing SQL
5
5
  Project-URL: homepage, https://github.com/bdowning/sql-athame
6
6
  Project-URL: repository, https://github.com/bdowning/sql-athame
@@ -19,6 +19,9 @@ Python tool for slicing and dicing SQL. Its intended target is
19
19
  Postgres with _asyncpg_, though it also includes support for rendering
20
20
  to a SQLAlchemy `TextClause`.
21
21
 
22
+ _Note that current docstrings are autogenerated and have not been
23
+ carefully reviewed; take them with a grain of salt!_
24
+
22
25
  ## Base query builder
23
26
 
24
27
  ### Example
@@ -334,9 +337,9 @@ Requires SQLAlchemy to be installed, otherwise raises `ImportError`.
334
337
  from dataclasses import dataclass, field
335
338
  from datetime import date
336
339
  from uuid import UUID, uuid4
337
- from typing import Optional
340
+ from typing import Annotated, Optional
338
341
 
339
- from sql_athame import ModelBase, model_field_metadata as MD, sql
342
+ from sql_athame import ModelBase, ColumnInfo, sql
340
343
 
341
344
 
342
345
  @dataclass
@@ -345,7 +348,7 @@ class Person(ModelBase, table_name="people", primary_key="id"):
345
348
  name: str
346
349
  birthday: date
347
350
  title: Optional[str] = None
348
- extra: Optional[dict] = field(default=None, metadata=MD(type="JSONB"))
351
+ extra: Optional[Annotated[dict, ColumnInfo(type="JSONB")]] = None
349
352
 
350
353
 
351
354
  >>> list(Person.create_table_sql())
@@ -398,4 +401,4 @@ TODO, for now read the [source](sql_athame/dataclasses.py).
398
401
  MIT.
399
402
 
400
403
  ---
401
- Copyright (c) 2019, 2020 Brian Downing
404
+ Copyright (c) 2019–2025 Brian Downing
@@ -4,6 +4,9 @@ Python tool for slicing and dicing SQL. Its intended target is
4
4
  Postgres with _asyncpg_, though it also includes support for rendering
5
5
  to a SQLAlchemy `TextClause`.
6
6
 
7
+ _Note that current docstrings are autogenerated and have not been
8
+ carefully reviewed; take them with a grain of salt!_
9
+
7
10
  ## Base query builder
8
11
 
9
12
  ### Example
@@ -319,9 +322,9 @@ Requires SQLAlchemy to be installed, otherwise raises `ImportError`.
319
322
  from dataclasses import dataclass, field
320
323
  from datetime import date
321
324
  from uuid import UUID, uuid4
322
- from typing import Optional
325
+ from typing import Annotated, Optional
323
326
 
324
- from sql_athame import ModelBase, model_field_metadata as MD, sql
327
+ from sql_athame import ModelBase, ColumnInfo, sql
325
328
 
326
329
 
327
330
  @dataclass
@@ -330,7 +333,7 @@ class Person(ModelBase, table_name="people", primary_key="id"):
330
333
  name: str
331
334
  birthday: date
332
335
  title: Optional[str] = None
333
- extra: Optional[dict] = field(default=None, metadata=MD(type="JSONB"))
336
+ extra: Optional[Annotated[dict, ColumnInfo(type="JSONB")]] = None
334
337
 
335
338
 
336
339
  >>> list(Person.create_table_sql())
@@ -383,4 +386,4 @@ TODO, for now read the [source](sql_athame/dataclasses.py).
383
386
  MIT.
384
387
 
385
388
  ---
386
- Copyright (c) 2019, 2020 Brian Downing
389
+ Copyright (c) 2019–2025 Brian Downing
@@ -8,7 +8,7 @@ dependencies = [
8
8
  "typing-extensions",
9
9
  ]
10
10
  name = "sql-athame"
11
- version = "0.4.0-alpha-11"
11
+ version = "0.4.0-alpha-13"
12
12
  description = "Python tool for slicing and dicing SQL"
13
13
  readme = "README.md"
14
14
 
@@ -26,8 +26,6 @@ dev = [
26
26
  "SQLAlchemy",
27
27
  "asyncpg",
28
28
  "bump2version",
29
- "flake8",
30
- "grip",
31
29
  "ipython",
32
30
  "mypy",
33
31
  "pytest",
@@ -67,8 +65,6 @@ select = [
67
65
  flake8-comprehensions.allow-dict-calls-with-keyword-arguments = true
68
66
  ignore = [
69
67
  "E501", # line too long
70
- "E721", # type checks, currently broken
71
- "ISC001", # conflicts with ruff format
72
68
  "RET505", # Unnecessary `else` after `return` statement
73
69
  "RET506", # Unnecessary `else` after `raise` statement
74
70
  ]