@ai-devtools/dbspec-macos-arm64 1.6.3 → 1.6.6
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.
- package/bin/dbspec/_internal/Python +0 -0
- package/bin/dbspec/_internal/Python.framework/Python +0 -0
- package/bin/dbspec/_internal/Python.framework/Resources/Info.plist +3 -3
- package/bin/dbspec/_internal/Python.framework/Versions/3.13/Python +0 -0
- package/bin/dbspec/_internal/Python.framework/Versions/3.13/Resources/Info.plist +3 -3
- package/bin/dbspec/_internal/Python.framework/Versions/Current/Python +0 -0
- package/bin/dbspec/_internal/Python.framework/Versions/Current/Resources/Info.plist +3 -3
- package/bin/dbspec/_internal/base_library.zip +0 -0
- package/bin/dbspec/_internal/dbspec.egg-info/PKG-INFO +10 -2
- package/bin/dbspec/_internal/dbspec.egg-info/SOURCES.txt +6 -0
- package/bin/dbspec/_internal/dbspec.egg-info/requires.txt +1 -0
- package/bin/dbspec/_internal/libcom_err.3.0.dylib +0 -0
- package/bin/dbspec/_internal/libcrypto.3.dylib +0 -0
- package/bin/dbspec/_internal/libgssapi_krb5.2.2.dylib +0 -0
- package/bin/dbspec/_internal/libk5crypto.3.1.dylib +0 -0
- package/bin/dbspec/_internal/libkrb5.3.3.dylib +0 -0
- package/bin/dbspec/_internal/libkrb5support.1.1.dylib +0 -0
- package/bin/dbspec/_internal/liblber.2.dylib +0 -0
- package/bin/dbspec/_internal/libldap.2.dylib +0 -0
- package/bin/dbspec/_internal/libncurses.6.dylib +0 -0
- package/bin/dbspec/_internal/{psycopg-3.3.6.dist-info → psycopg-3.3.8.dist-info}/METADATA +3 -3
- package/bin/dbspec/_internal/{psycopg-3.3.6.dist-info → psycopg-3.3.8.dist-info}/RECORD +14 -14
- package/bin/dbspec/_internal/{psycopg-3.3.6.dist-info → psycopg-3.3.8.dist-info}/WHEEL +1 -1
- package/bin/dbspec/_internal/psycopg_binary/.dylibs/libcom_err.3.0.dylib +0 -0
- package/bin/dbspec/_internal/psycopg_binary/.dylibs/libcrypto.3.dylib +0 -0
- package/bin/dbspec/_internal/psycopg_binary/.dylibs/libgssapi_krb5.2.2.dylib +0 -0
- package/bin/dbspec/_internal/psycopg_binary/.dylibs/libk5crypto.3.1.dylib +0 -0
- package/bin/dbspec/_internal/psycopg_binary/.dylibs/libkrb5.3.3.dylib +0 -0
- package/bin/dbspec/_internal/psycopg_binary/.dylibs/libkrb5support.1.1.dylib +0 -0
- package/bin/dbspec/_internal/psycopg_binary/.dylibs/liblber.2.dylib +0 -0
- package/bin/dbspec/_internal/psycopg_binary/.dylibs/libldap.2.dylib +0 -0
- package/bin/dbspec/_internal/psycopg_binary/_psycopg.cpython-313-darwin.so +0 -0
- package/bin/dbspec/_internal/psycopg_binary/pq.cpython-313-darwin.so +0 -0
- package/bin/dbspec/_internal/{psycopg_binary-3.3.6.dist-info → psycopg_binary-3.3.8.dist-info}/METADATA +1 -1
- package/bin/dbspec/_internal/psycopg_binary-3.3.8.dist-info/RECORD +29 -0
- package/bin/dbspec/_internal/{pydantic-2.14.2.dist-info → pydantic-2.14.3.dist-info}/METADATA +46 -2
- package/bin/dbspec/_internal/{pydantic-2.14.2.dist-info → pydantic-2.14.3.dist-info}/RECORD +18 -16
- package/bin/dbspec/_internal/pydantic_core/_pydantic_core.cpython-313-darwin.so +0 -0
- package/bin/dbspec/_internal/pyproject.toml +2 -1
- package/bin/dbspec/_internal/python3.13/lib-dynload/_asyncio.cpython-313-darwin.so +0 -0
- package/bin/dbspec/_internal/python3.13/lib-dynload/_bisect.cpython-313-darwin.so +0 -0
- package/bin/dbspec/_internal/python3.13/lib-dynload/_blake2.cpython-313-darwin.so +0 -0
- package/bin/dbspec/_internal/python3.13/lib-dynload/_bz2.cpython-313-darwin.so +0 -0
- package/bin/dbspec/_internal/python3.13/lib-dynload/_codecs_cn.cpython-313-darwin.so +0 -0
- package/bin/dbspec/_internal/python3.13/lib-dynload/_codecs_hk.cpython-313-darwin.so +0 -0
- package/bin/dbspec/_internal/python3.13/lib-dynload/_codecs_iso2022.cpython-313-darwin.so +0 -0
- package/bin/dbspec/_internal/python3.13/lib-dynload/_codecs_jp.cpython-313-darwin.so +0 -0
- package/bin/dbspec/_internal/python3.13/lib-dynload/_codecs_kr.cpython-313-darwin.so +0 -0
- package/bin/dbspec/_internal/python3.13/lib-dynload/_codecs_tw.cpython-313-darwin.so +0 -0
- package/bin/dbspec/_internal/python3.13/lib-dynload/_contextvars.cpython-313-darwin.so +0 -0
- package/bin/dbspec/_internal/python3.13/lib-dynload/_csv.cpython-313-darwin.so +0 -0
- package/bin/dbspec/_internal/python3.13/lib-dynload/_ctypes.cpython-313-darwin.so +0 -0
- package/bin/dbspec/_internal/python3.13/lib-dynload/_curses.cpython-313-darwin.so +0 -0
- package/bin/dbspec/_internal/python3.13/lib-dynload/_datetime.cpython-313-darwin.so +0 -0
- package/bin/dbspec/_internal/python3.13/lib-dynload/_decimal.cpython-313-darwin.so +0 -0
- package/bin/dbspec/_internal/python3.13/lib-dynload/_elementtree.cpython-313-darwin.so +0 -0
- package/bin/dbspec/_internal/python3.13/lib-dynload/_hashlib.cpython-313-darwin.so +0 -0
- package/bin/dbspec/_internal/python3.13/lib-dynload/_heapq.cpython-313-darwin.so +0 -0
- package/bin/dbspec/_internal/python3.13/lib-dynload/_json.cpython-313-darwin.so +0 -0
- package/bin/dbspec/_internal/python3.13/lib-dynload/_lzma.cpython-313-darwin.so +0 -0
- package/bin/dbspec/_internal/python3.13/lib-dynload/_md5.cpython-313-darwin.so +0 -0
- package/bin/dbspec/_internal/python3.13/lib-dynload/_multibytecodec.cpython-313-darwin.so +0 -0
- package/bin/dbspec/_internal/python3.13/lib-dynload/_multiprocessing.cpython-313-darwin.so +0 -0
- package/bin/dbspec/_internal/python3.13/lib-dynload/_opcode.cpython-313-darwin.so +0 -0
- package/bin/dbspec/_internal/python3.13/lib-dynload/_pickle.cpython-313-darwin.so +0 -0
- package/bin/dbspec/_internal/python3.13/lib-dynload/_posixshmem.cpython-313-darwin.so +0 -0
- package/bin/dbspec/_internal/python3.13/lib-dynload/_posixsubprocess.cpython-313-darwin.so +0 -0
- package/bin/dbspec/_internal/python3.13/lib-dynload/_queue.cpython-313-darwin.so +0 -0
- package/bin/dbspec/_internal/python3.13/lib-dynload/_random.cpython-313-darwin.so +0 -0
- package/bin/dbspec/_internal/python3.13/lib-dynload/_scproxy.cpython-313-darwin.so +0 -0
- package/bin/dbspec/_internal/python3.13/lib-dynload/_sha1.cpython-313-darwin.so +0 -0
- package/bin/dbspec/_internal/python3.13/lib-dynload/_sha2.cpython-313-darwin.so +0 -0
- package/bin/dbspec/_internal/python3.13/lib-dynload/_sha3.cpython-313-darwin.so +0 -0
- package/bin/dbspec/_internal/python3.13/lib-dynload/_socket.cpython-313-darwin.so +0 -0
- package/bin/dbspec/_internal/python3.13/lib-dynload/_sqlite3.cpython-313-darwin.so +0 -0
- package/bin/dbspec/_internal/python3.13/lib-dynload/_ssl.cpython-313-darwin.so +0 -0
- package/bin/dbspec/_internal/python3.13/lib-dynload/_statistics.cpython-313-darwin.so +0 -0
- package/bin/dbspec/_internal/python3.13/lib-dynload/_struct.cpython-313-darwin.so +0 -0
- package/bin/dbspec/_internal/python3.13/lib-dynload/_uuid.cpython-313-darwin.so +0 -0
- package/bin/dbspec/_internal/python3.13/lib-dynload/_zoneinfo.cpython-313-darwin.so +0 -0
- package/bin/dbspec/_internal/python3.13/lib-dynload/array.cpython-313-darwin.so +0 -0
- package/bin/dbspec/_internal/python3.13/lib-dynload/binascii.cpython-313-darwin.so +0 -0
- package/bin/dbspec/_internal/python3.13/lib-dynload/fcntl.cpython-313-darwin.so +0 -0
- package/bin/dbspec/_internal/python3.13/lib-dynload/grp.cpython-313-darwin.so +0 -0
- package/bin/dbspec/_internal/python3.13/lib-dynload/math.cpython-313-darwin.so +0 -0
- package/bin/dbspec/_internal/python3.13/lib-dynload/mmap.cpython-313-darwin.so +0 -0
- package/bin/dbspec/_internal/python3.13/lib-dynload/pyexpat.cpython-313-darwin.so +0 -0
- package/bin/dbspec/_internal/python3.13/lib-dynload/readline.cpython-313-darwin.so +0 -0
- package/bin/dbspec/_internal/python3.13/lib-dynload/resource.cpython-313-darwin.so +0 -0
- package/bin/dbspec/_internal/python3.13/lib-dynload/select.cpython-313-darwin.so +0 -0
- package/bin/dbspec/_internal/python3.13/lib-dynload/syslog.cpython-313-darwin.so +0 -0
- package/bin/dbspec/_internal/python3.13/lib-dynload/termios.cpython-313-darwin.so +0 -0
- package/bin/dbspec/_internal/python3.13/lib-dynload/unicodedata.cpython-313-darwin.so +0 -0
- package/bin/dbspec/_internal/python3.13/lib-dynload/zlib.cpython-313-darwin.so +0 -0
- package/bin/dbspec/_internal/sqlalchemy/engine/_processors_cy.cpython-313-darwin.so +0 -0
- package/bin/dbspec/_internal/sqlalchemy/engine/_result_cy.cpython-313-darwin.so +0 -0
- package/bin/dbspec/_internal/sqlalchemy/engine/_row_cy.cpython-313-darwin.so +0 -0
- package/bin/dbspec/_internal/sqlalchemy/engine/_util_cy.cpython-313-darwin.so +0 -0
- package/bin/dbspec/_internal/sqlalchemy/sql/_cache_key_cy.cpython-313-darwin.so +0 -0
- package/bin/dbspec/_internal/sqlalchemy/sql/_util_cy.cpython-313-darwin.so +0 -0
- package/bin/dbspec/_internal/sqlalchemy/util/_collections_cy.cpython-313-darwin.so +0 -0
- package/bin/dbspec/_internal/sqlalchemy/util/_immutabledict_cy.cpython-313-darwin.so +0 -0
- package/bin/dbspec/_internal/src/resources/sqlalchemy_templates/README.md +20 -0
- package/bin/dbspec/_internal/src/resources/sqlalchemy_templates/model.py.j2 +2 -2
- package/bin/dbspec/dbspec +0 -0
- package/package.json +1 -1
- package/bin/dbspec/_internal/psycopg_binary-3.3.6.dist-info/RECORD +0 -29
- /package/bin/dbspec/_internal/{psycopg-3.3.6.dist-info → psycopg-3.3.8.dist-info}/INSTALLER +0 -0
- /package/bin/dbspec/_internal/{psycopg-3.3.6.dist-info → psycopg-3.3.8.dist-info}/licenses/LICENSE.txt +0 -0
- /package/bin/dbspec/_internal/{psycopg-3.3.6.dist-info → psycopg-3.3.8.dist-info}/top_level.txt +0 -0
- /package/bin/dbspec/_internal/{psycopg_binary-3.3.6.dist-info → psycopg_binary-3.3.8.dist-info}/INSTALLER +0 -0
- /package/bin/dbspec/_internal/{psycopg_binary-3.3.6.dist-info → psycopg_binary-3.3.8.dist-info}/WHEEL +0 -0
- /package/bin/dbspec/_internal/{psycopg_binary-3.3.6.dist-info → psycopg_binary-3.3.8.dist-info}/licenses/LICENSE.txt +0 -0
- /package/bin/dbspec/_internal/{psycopg_binary-3.3.6.dist-info → psycopg_binary-3.3.8.dist-info}/top_level.txt +0 -0
- /package/bin/dbspec/_internal/{pydantic-2.14.2.dist-info → pydantic-2.14.3.dist-info}/INSTALLER +0 -0
- /package/bin/dbspec/_internal/{pydantic-2.14.2.dist-info → pydantic-2.14.3.dist-info}/WHEEL +0 -0
- /package/bin/dbspec/_internal/{pydantic-2.14.2.dist-info → pydantic-2.14.3.dist-info}/licenses/LICENSE +0 -0
|
Binary file
|
|
Binary file
|
|
@@ -17,13 +17,13 @@
|
|
|
17
17
|
<key>CFBundlePackageType</key>
|
|
18
18
|
<string>FMWK</string>
|
|
19
19
|
<key>CFBundleShortVersionString</key>
|
|
20
|
-
<string>3.13.
|
|
20
|
+
<string>3.13.17, (c) 2001-2024 Python Software Foundation.</string>
|
|
21
21
|
<key>CFBundleLongVersionString</key>
|
|
22
|
-
<string>3.13.
|
|
22
|
+
<string>3.13.17, (c) 2001-2024 Python Software Foundation.</string>
|
|
23
23
|
<key>CFBundleSignature</key>
|
|
24
24
|
<string>????</string>
|
|
25
25
|
<key>CFBundleVersion</key>
|
|
26
|
-
<string>3.13.
|
|
26
|
+
<string>3.13.17</string>
|
|
27
27
|
<key>CFBundleAllowMixedLocalizations</key>
|
|
28
28
|
<true/>
|
|
29
29
|
</dict>
|
|
Binary file
|
|
@@ -17,13 +17,13 @@
|
|
|
17
17
|
<key>CFBundlePackageType</key>
|
|
18
18
|
<string>FMWK</string>
|
|
19
19
|
<key>CFBundleShortVersionString</key>
|
|
20
|
-
<string>3.13.
|
|
20
|
+
<string>3.13.17, (c) 2001-2024 Python Software Foundation.</string>
|
|
21
21
|
<key>CFBundleLongVersionString</key>
|
|
22
|
-
<string>3.13.
|
|
22
|
+
<string>3.13.17, (c) 2001-2024 Python Software Foundation.</string>
|
|
23
23
|
<key>CFBundleSignature</key>
|
|
24
24
|
<string>????</string>
|
|
25
25
|
<key>CFBundleVersion</key>
|
|
26
|
-
<string>3.13.
|
|
26
|
+
<string>3.13.17</string>
|
|
27
27
|
<key>CFBundleAllowMixedLocalizations</key>
|
|
28
28
|
<true/>
|
|
29
29
|
</dict>
|
|
Binary file
|
|
@@ -17,13 +17,13 @@
|
|
|
17
17
|
<key>CFBundlePackageType</key>
|
|
18
18
|
<string>FMWK</string>
|
|
19
19
|
<key>CFBundleShortVersionString</key>
|
|
20
|
-
<string>3.13.
|
|
20
|
+
<string>3.13.17, (c) 2001-2024 Python Software Foundation.</string>
|
|
21
21
|
<key>CFBundleLongVersionString</key>
|
|
22
|
-
<string>3.13.
|
|
22
|
+
<string>3.13.17, (c) 2001-2024 Python Software Foundation.</string>
|
|
23
23
|
<key>CFBundleSignature</key>
|
|
24
24
|
<string>????</string>
|
|
25
25
|
<key>CFBundleVersion</key>
|
|
26
|
-
<string>3.13.
|
|
26
|
+
<string>3.13.17</string>
|
|
27
27
|
<key>CFBundleAllowMixedLocalizations</key>
|
|
28
28
|
<true/>
|
|
29
29
|
</dict>
|
|
Binary file
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: dbspec
|
|
3
|
-
Version: 1.6.
|
|
3
|
+
Version: 1.6.6
|
|
4
4
|
Summary: DBSpec: CLI/TUI for database design (Excel as DSL)
|
|
5
5
|
Requires-Python: >=3.11
|
|
6
6
|
Description-Content-Type: text/markdown
|
|
@@ -12,6 +12,7 @@ Requires-Dist: sqlalchemy>=2.0.16
|
|
|
12
12
|
Requires-Dist: alembic
|
|
13
13
|
Requires-Dist: psycopg[binary]
|
|
14
14
|
Requires-Dist: jinja2
|
|
15
|
+
Requires-Dist: tomlkit>=0.13.2
|
|
15
16
|
|
|
16
17
|
# DBSpec
|
|
17
18
|
|
|
@@ -125,7 +126,14 @@ Migrations user guide: `docs/tui-migrations.md`.
|
|
|
125
126
|
|
|
126
127
|
## Configuration
|
|
127
128
|
|
|
128
|
-
|
|
129
|
+
Общая конфигурация команды: `.dbspec/config.toml` (в Git). Подключение к БД и
|
|
130
|
+
личные настройки: `.dbspec/local.toml` (исключён из Git). Временное состояние TUI
|
|
131
|
+
хранится отдельно в `.dbspec/state.json`.
|
|
132
|
+
|
|
133
|
+
CLI и TUI используют единственный путь моделей `generator.sqlalchemy.output_dir`
|
|
134
|
+
из общего конфига. Изменение пути в TUI сохраняется туда же; локальные настройки
|
|
135
|
+
и state его не перекрывают. Старый смешанный формат не поддерживается: существующие
|
|
136
|
+
конфиги разделяются вручную, без автоматического переноса.
|
|
129
137
|
|
|
130
138
|
Подробнее:
|
|
131
139
|
|
|
@@ -93,6 +93,7 @@ src/migrations/collation_catalog.py
|
|
|
93
93
|
src/migrations/collation_rendering.py
|
|
94
94
|
src/migrations/collations.py
|
|
95
95
|
src/migrations/commands.py
|
|
96
|
+
src/migrations/default_rendering.py
|
|
96
97
|
src/migrations/defaults.py
|
|
97
98
|
src/migrations/errors.py
|
|
98
99
|
src/migrations/exact.py
|
|
@@ -113,6 +114,7 @@ src/migrations/reference_data_replacement.py
|
|
|
113
114
|
src/migrations/reference_data_replacement_downgrade.py
|
|
114
115
|
src/migrations/reference_data_sql.py
|
|
115
116
|
src/migrations/renderers.py
|
|
117
|
+
src/migrations/rendering_constants.py
|
|
116
118
|
src/migrations/revision.py
|
|
117
119
|
src/migrations/runner.py
|
|
118
120
|
src/migrations/sequence_sql.py
|
|
@@ -139,10 +141,13 @@ src/storage/__init__.py
|
|
|
139
141
|
src/storage/alembic_env_patching.py
|
|
140
142
|
src/storage/alembic_service_table.py
|
|
141
143
|
src/storage/atomic.py
|
|
144
|
+
src/storage/codegen_config.py
|
|
142
145
|
src/storage/config.py
|
|
146
|
+
src/storage/config_files.py
|
|
143
147
|
src/storage/file_utils.py
|
|
144
148
|
src/storage/init.py
|
|
145
149
|
src/storage/init_alembic.py
|
|
150
|
+
src/storage/init_config.py
|
|
146
151
|
src/storage/init_logging.py
|
|
147
152
|
src/storage/init_resources.py
|
|
148
153
|
src/storage/init_templates.py
|
|
@@ -185,6 +190,7 @@ src/tui/components/header.py
|
|
|
185
190
|
src/tui/components/help_overlay.py
|
|
186
191
|
src/tui/components/init_dialog.py
|
|
187
192
|
src/tui/components/screen_host.py
|
|
193
|
+
src/tui/components/settings_dialog.py
|
|
188
194
|
src/tui/components/sidebar.py
|
|
189
195
|
src/tui/components/status_badge.py
|
|
190
196
|
src/tui/jobs/__init__.py
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: psycopg
|
|
3
|
-
Version: 3.3.
|
|
3
|
+
Version: 3.3.8
|
|
4
4
|
Summary: PostgreSQL database adapter for Python
|
|
5
5
|
Author-email: Daniele Varrazzo <daniele.varrazzo@gmail.com>
|
|
6
6
|
License-Expression: LGPL-3.0-only
|
|
@@ -34,9 +34,9 @@ License-File: LICENSE.txt
|
|
|
34
34
|
Requires-Dist: typing-extensions>=4.6; python_version < "3.13"
|
|
35
35
|
Requires-Dist: tzdata; sys_platform == "win32"
|
|
36
36
|
Provides-Extra: c
|
|
37
|
-
Requires-Dist: psycopg-c==3.3.
|
|
37
|
+
Requires-Dist: psycopg-c==3.3.8; implementation_name != "pypy" and extra == "c"
|
|
38
38
|
Provides-Extra: binary
|
|
39
|
-
Requires-Dist: psycopg-binary==3.3.
|
|
39
|
+
Requires-Dist: psycopg-binary==3.3.8; implementation_name != "pypy" and extra == "binary"
|
|
40
40
|
Provides-Extra: pool
|
|
41
41
|
Requires-Dist: psycopg-pool; extra == "pool"
|
|
42
42
|
Provides-Extra: test
|
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
psycopg-3.3.
|
|
2
|
-
psycopg-3.3.
|
|
3
|
-
psycopg-3.3.
|
|
4
|
-
psycopg-3.3.
|
|
5
|
-
psycopg-3.3.
|
|
6
|
-
psycopg-3.3.
|
|
1
|
+
psycopg-3.3.8.dist-info/INSTALLER,sha256=zuuue4knoyJ-UwPPXg8fezS7VCrXJQrAP7zeNuwvFQg,4
|
|
2
|
+
psycopg-3.3.8.dist-info/METADATA,sha256=xQOPeSh8UB19B0tSHd-nEgJGGrG9it4PXcsIjvF-dus,4369
|
|
3
|
+
psycopg-3.3.8.dist-info/RECORD,,
|
|
4
|
+
psycopg-3.3.8.dist-info/WHEEL,sha256=mOdXR9C3wMVov7cSY8PY-XCzo3SmmWCHvGQr5csJoao,91
|
|
5
|
+
psycopg-3.3.8.dist-info/licenses/LICENSE.txt,sha256=46mU2C5kSwOnkqkw9XQAJlhBL2JAf1_uCD8lVcXyMRg,7652
|
|
6
|
+
psycopg-3.3.8.dist-info/top_level.txt,sha256=npthKx2_OEoahttYqdsIPlRUgjS_bQBmfpDCVxQcPGo,8
|
|
7
7
|
psycopg/__init__.py,sha256=XxYHoZPLY-YKDFaHIJ0r0OMCl2C5VZ6ZaPMda12Cx3g,3423
|
|
8
8
|
psycopg/__pycache__/__init__.cpython-313.pyc,,
|
|
9
9
|
psycopg/__pycache__/_acompat.cpython-313.pyc,,
|
|
@@ -76,7 +76,7 @@ psycopg/_copy.py,sha256=Y9N2jQuE_MK5M-nunJ7ZrR3GpLfOnUn_LRCyY34vcOI,9735
|
|
|
76
76
|
psycopg/_copy_async.py,sha256=jL2_b3CgDqzv0WkWldtyoIe-AkGwocAPM18Xm1ArNK4,9974
|
|
77
77
|
psycopg/_copy_base.py,sha256=u2mwZxLMrIWDDvWgO5nb_KEsb9LZSYE52PFd374FoNk,14312
|
|
78
78
|
psycopg/_cursor_base.py,sha256=aqfhe1f-N_NDgJ6tReu6N2Rmav6_7hUX_pMKnqdBhuc,23103
|
|
79
|
-
psycopg/_dns.py,sha256=
|
|
79
|
+
psycopg/_dns.py,sha256=vgo0PxPMUrXF26pIbz3HsA1RkWyvjZTvLVA89X36uww,8006
|
|
80
80
|
psycopg/_encodings.py,sha256=wdONXpHrOA8n4CirFw-88j0FOvwte1PNCOjy94oOzJw,4599
|
|
81
81
|
psycopg/_enums.py,sha256=5gCef_sYe9UdaE4n_RmDWeF4TfQOwQFeikjrkz9YivI,1691
|
|
82
82
|
psycopg/_oids.py,sha256=mJI8HbRrTsbK0LIgnnG5xPH-3hxNUclotqUurmyo2s0,1875
|
|
@@ -98,7 +98,7 @@ psycopg/_typemod.py,sha256=25uahNc_1W1ASkgQ1Y0IhjZtyERVYlxrdEq7XcCDrtY,3165
|
|
|
98
98
|
psycopg/_tz.py,sha256=_-W0Izs84UYrbAY3I1CicGUk0ng-boCMZo5H5h0j9ug,1186
|
|
99
99
|
psycopg/_wrappers.py,sha256=wKZt_ar8QuRgEKC6tuwamYXCwB1P7IZQsmgYdVOlAhU,3126
|
|
100
100
|
psycopg/abc.py,sha256=uvhJMFQm6E_gfJqUWbIq70AqOlKURY9GHzF4g2-1Djg,7770
|
|
101
|
-
psycopg/adapt.py,sha256=
|
|
101
|
+
psycopg/adapt.py,sha256=EIF0LegtdmwqWyVE1WnrBrTFnfugYCJ8fFfYKH9TCOY,5437
|
|
102
102
|
psycopg/client_cursor.py,sha256=nRo3bckcKj3nZGAcXzrsPP45hEMfaxlegVne9wMdaz8,2681
|
|
103
103
|
psycopg/connection.py,sha256=AJXL6CYrQ2RfVGEbgXIm7KtookJSodOK-9_cbXJXOrQ,20665
|
|
104
104
|
psycopg/connection_async.py,sha256=vQrHXLJAQUAmXzGmMBkvy_XU9cxvBSkPwJb-eM0Yo3s,22963
|
|
@@ -114,7 +114,7 @@ psycopg/cursor.py,sha256=n-26XoMiYo34ONdJp_SKe5CCYBqztNVSzllMVIfxPg8,11116
|
|
|
114
114
|
psycopg/cursor_async.py,sha256=hx7jKMWQUx9iRwMdXbCqYICwd4x2v-BmXuSBbuv5owA,11426
|
|
115
115
|
psycopg/dbapi20.py,sha256=ZQwoxxMO4OHuuLZ06p19VWgJtmFbLX5YuLHbyjNF2YI,3309
|
|
116
116
|
psycopg/errors.py,sha256=XrkWWippwHpMm49TQ4LBDsg-g_Y-V8GFTuLtlQ3Tmhc,46563
|
|
117
|
-
psycopg/generators.py,sha256=
|
|
117
|
+
psycopg/generators.py,sha256=7JPG_mz-yXvKj1bvEE2ZhJ8ZyQqTPMq_hCajWX_jHW8,12462
|
|
118
118
|
psycopg/postgres.py,sha256=g1IImgRkiMny5OreYHZmonkI_CVNjOFpUYAFmWvCoUM,6439
|
|
119
119
|
psycopg/pq/__init__.py,sha256=bT8FsbWgKJb7Ck-2kMiugQko9FnDVdcEJuwb50SPUOU,3976
|
|
120
120
|
psycopg/pq/__pycache__/__init__.cpython-313.pyc,,
|
|
@@ -135,7 +135,7 @@ psycopg/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
|
135
135
|
psycopg/raw_cursor.py,sha256=tkdDWTEAKr9TdN5RcHhIPdAdYsngs5oZmmQt-2hQwmQ,1159
|
|
136
136
|
psycopg/rows.py,sha256=M1wDxKWFF8KM9Qkejj3a_JdUhBjuv-uVmrYw4vBGW9s,7959
|
|
137
137
|
psycopg/sql.py,sha256=zntTeNSnZ6pqBNYCy-mhsvXxerKp53Xt4M3glFNab-g,19116
|
|
138
|
-
psycopg/transaction.py,sha256
|
|
138
|
+
psycopg/transaction.py,sha256=oB-rfQAIuswEdI5yihIUk2TeEhP97P988NLSxz_8tVg,10964
|
|
139
139
|
psycopg/types/__init__.py,sha256=JPAkV4EfkXwdsr76_U1DsQV19c8aQNSB6kgud4bhXeM,181
|
|
140
140
|
psycopg/types/__pycache__/__init__.cpython-313.pyc,,
|
|
141
141
|
psycopg/types/__pycache__/array.cpython-313.pyc,,
|
|
@@ -154,13 +154,13 @@ psycopg/types/__pycache__/range.cpython-313.pyc,,
|
|
|
154
154
|
psycopg/types/__pycache__/shapely.cpython-313.pyc,,
|
|
155
155
|
psycopg/types/__pycache__/string.cpython-313.pyc,,
|
|
156
156
|
psycopg/types/__pycache__/uuid.cpython-313.pyc,,
|
|
157
|
-
psycopg/types/array.py,sha256=
|
|
157
|
+
psycopg/types/array.py,sha256=7Ju-GmmuKoE2laM2KVXMxasTooKQpW4yXwr1ZfEwqGU,16668
|
|
158
158
|
psycopg/types/bool.py,sha256=0GJQG-Cm5P5NgH8TfLNj9n_e5ckw42XnsRBinX0k45w,1163
|
|
159
|
-
psycopg/types/composite.py,sha256=
|
|
160
|
-
psycopg/types/datetime.py,sha256=
|
|
159
|
+
psycopg/types/composite.py,sha256=vMWFEHtXnR3Cz_M7l5ahVh_ha4X7sXT58EgWubUhDUY,18516
|
|
160
|
+
psycopg/types/datetime.py,sha256=OYmd2o9635uxPrJ39Xz2wqdV-Gc52XSEMc7BgEQImgI,25585
|
|
161
161
|
psycopg/types/enum.py,sha256=iIb1B3TMJxdbptqaRvzb92S5IU5SR0Y8dvVOkiwsouQ,7479
|
|
162
162
|
psycopg/types/hstore.py,sha256=CtE4aq_Cc5bVzjQROH7NHV5DOxK89nXTVZolPmRrL7E,7076
|
|
163
|
-
psycopg/types/json.py,sha256=
|
|
163
|
+
psycopg/types/json.py,sha256=iJOgq6DRGu0geDbNSvxtPxnqsg_HuyXTdBI4XoWe-Y8,9713
|
|
164
164
|
psycopg/types/multirange.py,sha256=ITuoEw72k4oM-3fv6mJ7Td3_3ynF2u_y219RbT_EhZo,17862
|
|
165
165
|
psycopg/types/net.py,sha256=h1vJ8Fpo4ekJpMMiiNym16EMiUmyiFtahqsQZuaZRcM,6732
|
|
166
166
|
psycopg/types/none.py,sha256=gy_OJqE1YslJ2RIix0Eq3x0B8IPfoH-Gcc2sQMIO0Sw,666
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
psycopg_binary-3.3.8.dist-info/INSTALLER,sha256=zuuue4knoyJ-UwPPXg8fezS7VCrXJQrAP7zeNuwvFQg,4
|
|
2
|
+
psycopg_binary-3.3.8.dist-info/METADATA,sha256=JewZuw7e47KRajJ5RNNSLbVbdNmuVR7bkpxKyIa2UGQ,2709
|
|
3
|
+
psycopg_binary-3.3.8.dist-info/RECORD,,
|
|
4
|
+
psycopg_binary-3.3.8.dist-info/WHEEL,sha256=I7C6oPU9_YXUwpeWU-HCMP--1MGENZx31r2O4ozCW_U,136
|
|
5
|
+
psycopg_binary-3.3.8.dist-info/licenses/LICENSE.txt,sha256=46mU2C5kSwOnkqkw9XQAJlhBL2JAf1_uCD8lVcXyMRg,7652
|
|
6
|
+
psycopg_binary-3.3.8.dist-info/top_level.txt,sha256=8OM_PsAa5oKkzVvRu8kDESihBQo_LXqwG_nrlecubIk,15
|
|
7
|
+
psycopg_binary/.dylibs/libcom_err.3.0.dylib,sha256=TQaKOB1LKxUV2a9tGU6lMsmgJPvJ6cNuuAMOufsuaus,73456
|
|
8
|
+
psycopg_binary/.dylibs/libcrypto.3.dylib,sha256=KcYYYRU4fva_qnUI9udqWKLJzZxFeppT9xDc_F4zOE0,4975456
|
|
9
|
+
psycopg_binary/.dylibs/libgssapi_krb5.2.2.dylib,sha256=Dadi0NvEcrVv1TzEBoaPemxDLlkE1INHQoqBzBwEIrU,396400
|
|
10
|
+
psycopg_binary/.dylibs/libk5crypto.3.1.dylib,sha256=nAXUBqLpKpr-gs1rSLEtCWTPFy8B2rxtJphhV3AU2Zw,247632
|
|
11
|
+
psycopg_binary/.dylibs/libkrb5.3.3.dylib,sha256=GpHiLJmn_DeJQPWi_uxR52MSyLardNJFj3SUSQLu2GE,982192
|
|
12
|
+
psycopg_binary/.dylibs/libkrb5support.1.1.dylib,sha256=UL15bSoQT7u9fX6vqNm5LBfO69g8QGUTJaHvHYUF5Cw,110048
|
|
13
|
+
psycopg_binary/.dylibs/liblber.2.dylib,sha256=Bz5VFYayilE5nY2x_WKzMlTMYlfjQ19STHjSQ6SxiQM,138608
|
|
14
|
+
psycopg_binary/.dylibs/libldap.2.dylib,sha256=zctJ4UqxazX1ZAmSidhf1cJhF3ch-6Jp2wwOFYBm_OM,477936
|
|
15
|
+
psycopg_binary/.dylibs/libpq.5.dylib,sha256=HqjK9TrNVkZlybwSNCxlRUmygzAR6qxqp1lfwRsDTVE,371120
|
|
16
|
+
psycopg_binary/.dylibs/libssl.3.dylib,sha256=xshl2TsQsG-0D1HVttOigdz8ylSc5p3tQX36AcDbdX0,1032368
|
|
17
|
+
psycopg_binary/__init__.py,sha256=5kxw9Qdn8ubIi4ik92mxZOsjr5UO0vwq5T5S0BhCWGg,402
|
|
18
|
+
psycopg_binary/__pycache__/__init__.cpython-313.pyc,,
|
|
19
|
+
psycopg_binary/__pycache__/_uuid.cpython-313.pyc,,
|
|
20
|
+
psycopg_binary/__pycache__/version.cpython-313.pyc,,
|
|
21
|
+
psycopg_binary/_psycopg.c,sha256=OYgL9xJkSiOKBGE_hBNkqZk-Hj5Z9vmP6xMY2rxeJO0,5402190
|
|
22
|
+
psycopg_binary/_psycopg.cpython-313-darwin.so,sha256=4cVh1veHL53bb_ZRnLgl5x94md5dkodCebkEM3mTJK0,918352
|
|
23
|
+
psycopg_binary/_psycopg.pyi,sha256=4pCOJOcyGntXxhVmmoHT9L8mbBozbVJg0r5vKhtShXQ,3178
|
|
24
|
+
psycopg_binary/_uuid.py,sha256=YXxC9J0hcZFWvBY5YpJf_7WpstMmlQ21dKMgwGW91bU,798
|
|
25
|
+
psycopg_binary/pq.c,sha256=Q4qmcDEQIKSmg9XUsA-Zz3VvUO1l6NjQF0Xa9WbM_6U,2037302
|
|
26
|
+
psycopg_binary/pq.cpython-313-darwin.so,sha256=dP3s592BzF3OjqoGfzHcNHzuKzNvWhqMHi08q-3JSdQ,419584
|
|
27
|
+
psycopg_binary/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
28
|
+
psycopg_binary/types/numutils.c,sha256=KWSeNIn9Rt1YXh0b02s5QhE4XzTgAMGx-ZGx9AEtQ-I,6034
|
|
29
|
+
psycopg_binary/version.py,sha256=AchcLWfoay902mrP3j1Qy3nQ2F5QOzNIv8Yy0NdwFrc,246
|
package/bin/dbspec/_internal/{pydantic-2.14.2.dist-info → pydantic-2.14.3.dist-info}/METADATA
RENAMED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.5
|
|
2
2
|
Name: pydantic
|
|
3
|
-
Version: 2.14.
|
|
3
|
+
Version: 2.14.3
|
|
4
4
|
Summary: Data validation using Python type hints
|
|
5
5
|
Project-URL: Homepage, https://github.com/pydantic/pydantic
|
|
6
6
|
Project-URL: Documentation, https://pydantic.dev/docs/validation/latest/get-started/
|
|
@@ -11,6 +11,7 @@ Author-email: Samuel Colvin <s@muelcolvin.com>, Eric Jolibois <em.jolibois@gmail
|
|
|
11
11
|
License-Expression: MIT
|
|
12
12
|
License-File: LICENSE
|
|
13
13
|
Classifier: Development Status :: 5 - Production/Stable
|
|
14
|
+
Classifier: Environment :: WebAssembly :: Emscripten
|
|
14
15
|
Classifier: Framework :: Hypothesis
|
|
15
16
|
Classifier: Framework :: Pydantic
|
|
16
17
|
Classifier: Intended Audience :: Developers
|
|
@@ -26,12 +27,13 @@ Classifier: Programming Language :: Python :: 3.13
|
|
|
26
27
|
Classifier: Programming Language :: Python :: 3.14
|
|
27
28
|
Classifier: Programming Language :: Python :: 3.15
|
|
28
29
|
Classifier: Programming Language :: Python :: Implementation :: CPython
|
|
30
|
+
Classifier: Programming Language :: Python :: Implementation :: GraalPy
|
|
29
31
|
Classifier: Programming Language :: Python :: Implementation :: PyPy
|
|
30
32
|
Classifier: Topic :: Internet
|
|
31
33
|
Classifier: Topic :: Software Development :: Libraries :: Python Modules
|
|
32
34
|
Requires-Python: >=3.10
|
|
33
35
|
Requires-Dist: annotated-types>=0.6.0
|
|
34
|
-
Requires-Dist: pydantic-core==2.50.
|
|
36
|
+
Requires-Dist: pydantic-core==2.50.4
|
|
35
37
|
Requires-Dist: typing-extensions>=4.16.0
|
|
36
38
|
Requires-Dist: typing-inspection>=0.4.4
|
|
37
39
|
Provides-Extra: email
|
|
@@ -117,6 +119,48 @@ See our [security policy](https://github.com/pydantic/pydantic/security/policy).
|
|
|
117
119
|
<!-- markdownlint-disable descriptive-link-text -->
|
|
118
120
|
<!-- markdownlint-disable-next-line first-line-heading -->
|
|
119
121
|
|
|
122
|
+
## v2.14.3 (2026-11-04)
|
|
123
|
+
|
|
124
|
+
[GitHub release](https://github.com/pydantic/pydantic/releases/tag/v2.14.3)
|
|
125
|
+
|
|
126
|
+
### What's Changed
|
|
127
|
+
|
|
128
|
+
#### Packaging
|
|
129
|
+
|
|
130
|
+
* Build wheels for GraalPy 3.13 by [@msimacek](https://github.com/msimacek) in [#14136](https://github.com/pydantic/pydantic/pull/14136).
|
|
131
|
+
|
|
132
|
+
The previous v2.14.2 release published GraalPy 3.11 wheels, which were not working due to a PyO3 version bump. A CI workflow issue
|
|
133
|
+
made it so that the wheel wasn't tested before publishing. This is now fixed: starting in v2.14.3, we no longer publish GraalPy 3.11
|
|
134
|
+
wheels, and GraalPy 3.13 wheels are now published together with the existing 3.12 one.
|
|
135
|
+
|
|
136
|
+
#### Performance
|
|
137
|
+
|
|
138
|
+
* Improve schema generation for fixed type handlers by [@alexmojaki](https://github.com/alexmojaki) in [#14130](https://github.com/pydantic/pydantic/pull/14130)
|
|
139
|
+
* Skip general schema dispatch for builtin scalars by [@alexmojaki](https://github.com/alexmojaki) in [#14141](https://github.com/pydantic/pydantic/pull/14141)
|
|
140
|
+
* Skip annotation handler setup when annotations are empty by [@alexmojaki](https://github.com/alexmojaki) in [#14149](https://github.com/pydantic/pydantic/pull/14149)
|
|
141
|
+
* Fix quadratic serialization time with per-index `include`/`exclude` on sequences by [@Viicos](https://github.com/Viicos) in [#14160](https://github.com/pydantic/pydantic/pull/14160)
|
|
142
|
+
* Avoid type lookups when checking for `None` during serialization by [@Viicos](https://github.com/Viicos) in [#14167](https://github.com/pydantic/pydantic/pull/14167)
|
|
143
|
+
* Improve performance of model serialization by [@Viicos](https://github.com/Viicos) in [#14171](https://github.com/pydantic/pydantic/pull/14171)
|
|
144
|
+
* Improve performance of dict serialization by [@Viicos](https://github.com/Viicos) in [#14172](https://github.com/pydantic/pydantic/pull/14172)
|
|
145
|
+
* Improve performance of type inference during serialization by [@Viicos](https://github.com/Viicos) in [#14173](https://github.com/pydantic/pydantic/pull/14173)
|
|
146
|
+
* Avoid cloning the field name when using the default value during validation by [@Viicos](https://github.com/Viicos) in [#14175](https://github.com/pydantic/pydantic/pull/14175)
|
|
147
|
+
* Do not evaluate `model_config` annotations by [@Viicos](https://github.com/Viicos) in [#14195](https://github.com/pydantic/pydantic/pull/14195)
|
|
148
|
+
* Avoid slow runtime `Protocol` check when expanding `GroupedMetadata` annotations by [@Viicos](https://github.com/Viicos) in [#14196](https://github.com/pydantic/pydantic/pull/14196)
|
|
149
|
+
* Use a lightweight `@contextmanager` implementation internally by [@Viicos](https://github.com/Viicos) in [#14199](https://github.com/pydantic/pydantic/pull/14199)
|
|
150
|
+
|
|
151
|
+
#### Fixes
|
|
152
|
+
|
|
153
|
+
* Fix various issues about GC tracking in `pydantic-core` by [@Viicos](https://github.com/Viicos) in [#13819](https://github.com/pydantic/pydantic/pull/13819)
|
|
154
|
+
* Include `null` in serialization JSON Schema for `unless-none` field serializers by [@Kropiunig](https://github.com/Kropiunig) in [#13848](https://github.com/pydantic/pydantic/pull/13848)
|
|
155
|
+
* Fix `RecursionError` when copying or unpickling models with `defer_build` by [@Viicos](https://github.com/Viicos) in [#14115](https://github.com/pydantic/pydantic/pull/14115)
|
|
156
|
+
* Remove dead `default_factory` check in unsupported `Field()` attribute by [@owtaylor](https://github.com/owtaylor) in [#14129](https://github.com/pydantic/pydantic/pull/14129)
|
|
157
|
+
* Disallow non string extra keys during validation by [@Viicos](https://github.com/Viicos) in [#14135](https://github.com/pydantic/pydantic/pull/14135)
|
|
158
|
+
* Fix deeply nested data being reported as a cyclic reference by [@Viicos](https://github.com/Viicos) in [#14164](https://github.com/pydantic/pydantic/pull/14164)
|
|
159
|
+
|
|
160
|
+
### New Contributors
|
|
161
|
+
|
|
162
|
+
* [@owtaylor](https://github.com/owtaylor) made their first contribution in [#14129](https://github.com/pydantic/pydantic/pull/14129)
|
|
163
|
+
|
|
120
164
|
## v2.14.2 (2026-10-29)
|
|
121
165
|
|
|
122
166
|
[GitHub release](https://github.com/pydantic/pydantic/releases/tag/v2.14.2)
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
pydantic-2.14.
|
|
2
|
-
pydantic-2.14.
|
|
3
|
-
pydantic-2.14.
|
|
4
|
-
pydantic-2.14.
|
|
5
|
-
pydantic-2.14.
|
|
1
|
+
pydantic-2.14.3.dist-info/INSTALLER,sha256=zuuue4knoyJ-UwPPXg8fezS7VCrXJQrAP7zeNuwvFQg,4
|
|
2
|
+
pydantic-2.14.3.dist-info/METADATA,sha256=w-uJhBcr7cjgVmVeFBk1H0SXN0qRt7cJ28ShNA9Q4ek,141528
|
|
3
|
+
pydantic-2.14.3.dist-info/RECORD,,
|
|
4
|
+
pydantic-2.14.3.dist-info/WHEEL,sha256=2iZrJkDIkeDh0k9SikKMqFuRP-ua6mb4Ir1AsER4BEw,87
|
|
5
|
+
pydantic-2.14.3.dist-info/licenses/LICENSE,sha256=qeGG88oWte74QxjnpwFyE1GgDLe4rjpDlLZ7SeNSnvM,1129
|
|
6
6
|
pydantic/__init__.py,sha256=5SSMubvik7NTbb7X_qVDJtzfPAM3CuXwPXlMWEluwBs,15951
|
|
7
7
|
pydantic/__pycache__/__init__.cpython-313.pyc,,
|
|
8
8
|
pydantic/__pycache__/_migration.cpython-313.pyc,,
|
|
@@ -42,6 +42,7 @@ pydantic/__pycache__/warnings.cpython-313.pyc,,
|
|
|
42
42
|
pydantic/_internal/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
43
43
|
pydantic/_internal/__pycache__/__init__.cpython-313.pyc,,
|
|
44
44
|
pydantic/_internal/__pycache__/_config.cpython-313.pyc,,
|
|
45
|
+
pydantic/_internal/__pycache__/_contextlib.cpython-313.pyc,,
|
|
45
46
|
pydantic/_internal/__pycache__/_core_metadata.cpython-313.pyc,,
|
|
46
47
|
pydantic/_internal/__pycache__/_core_utils.cpython-313.pyc,,
|
|
47
48
|
pydantic/_internal/__pycache__/_dataclasses.cpython-313.pyc,,
|
|
@@ -69,31 +70,32 @@ pydantic/_internal/__pycache__/_typing_extra.cpython-313.pyc,,
|
|
|
69
70
|
pydantic/_internal/__pycache__/_utils.cpython-313.pyc,,
|
|
70
71
|
pydantic/_internal/__pycache__/_validate_call.cpython-313.pyc,,
|
|
71
72
|
pydantic/_internal/__pycache__/_validators.cpython-313.pyc,,
|
|
72
|
-
pydantic/_internal/_config.py,sha256=
|
|
73
|
+
pydantic/_internal/_config.py,sha256=4rgEq34CVc6GIrTlMQ9cJ8S5BO88SqsDQo6m68TFbac,14918
|
|
74
|
+
pydantic/_internal/_contextlib.py,sha256=Ir65W0klj3HuNNOuvIe_oVzDmt6hknfVWV7cemr6F7Y,3596
|
|
73
75
|
pydantic/_internal/_core_metadata.py,sha256=Y_g2t3i7uluK-wXCZvzJfRFMPUM23aBYLfae4FzBPy0,5162
|
|
74
76
|
pydantic/_internal/_core_utils.py,sha256=iovsFQ0u9wtPvEXNSqQtXGSFXcpPE_aTAo1SXM75G1E,5913
|
|
75
|
-
pydantic/_internal/_dataclasses.py,sha256=
|
|
77
|
+
pydantic/_internal/_dataclasses.py,sha256=yyHFG9d0QwEN_9MVrn8xRV-GMSXS51tfxn9tcJbeTtw,13642
|
|
76
78
|
pydantic/_internal/_decorators.py,sha256=ZqaoKcwtWudWa-WsopixHSZeA75YGIkI9GOigCmIzlk,35483
|
|
77
79
|
pydantic/_internal/_decorators_v1.py,sha256=v7_cyEBvJceFO0aYa1AuvYeaMvjEYRQ3-TbW8U8Ghds,6198
|
|
78
80
|
pydantic/_internal/_discriminated_union.py,sha256=HdRL2XOFoCeV95rK0YkxJWPhSdmZWnutRaaBkmQ60Hs,27686
|
|
79
81
|
pydantic/_internal/_docs_extraction.py,sha256=V8_-TfG1oUHpEThCvNtZjJaPwd-zVodn4EqkAGv17hY,4708
|
|
80
82
|
pydantic/_internal/_fields.py,sha256=OlKgiqVO6ITTezu46rIDkGdf0gh3qnphx92RhrP4m28,41083
|
|
81
83
|
pydantic/_internal/_forward_ref.py,sha256=q6SQhW8wo9vPZiuXJ661Vfg7PgoqeJBQTA3dpInXWlA,641
|
|
82
|
-
pydantic/_internal/_generate_schema.py,sha256=
|
|
83
|
-
pydantic/_internal/_generics.py,sha256=
|
|
84
|
+
pydantic/_internal/_generate_schema.py,sha256=nUiqd0TSJLu5D0LPRChOpR3RxaDxvlZm9OxA6TWsWOs,144949
|
|
85
|
+
pydantic/_internal/_generics.py,sha256=zhuan6vsUx0YkNJJsRpKTLmuNYTQd3uJmJg3cp4A9z0,24849
|
|
84
86
|
pydantic/_internal/_git.py,sha256=IwPh3DPfa2Xq3rBuB9Nx8luR2A1i69QdeTfWWXIuCVg,809
|
|
85
87
|
pydantic/_internal/_import_utils.py,sha256=TRhxD5OuY6CUosioBdBcJUs0om7IIONiZdYAV7zQ8jM,402
|
|
86
|
-
pydantic/_internal/_known_annotated_metadata.py,sha256=
|
|
87
|
-
pydantic/_internal/_mock_val_ser.py,sha256=
|
|
88
|
+
pydantic/_internal/_known_annotated_metadata.py,sha256=0AX_Pcok173WfuKbVjKjPk4e5OXqj3t4xGbcmEpEQpM,17480
|
|
89
|
+
pydantic/_internal/_mock_val_ser.py,sha256=zWWC-EVqWqmXeomhy6u5hXhNbvvDv0D5859KmO-j_B0,9672
|
|
88
90
|
pydantic/_internal/_model_construction.py,sha256=6fixeFIkVMJP8Es9e3NGZbILnjtu1Mm119X-WtAZzuM,36663
|
|
89
|
-
pydantic/_internal/_namespace_utils.py,sha256=
|
|
91
|
+
pydantic/_internal/_namespace_utils.py,sha256=4xZrUon01na0AtJ0nY2tLQN2kuDH8erphK-g5KW_vOI,13331
|
|
90
92
|
pydantic/_internal/_repr.py,sha256=MNka4onC9u-tXJvV2rsz3JXsuxqlwKbKnd16-tgxriw,4981
|
|
91
93
|
pydantic/_internal/_schema_gather.py,sha256=0qGbiz4pdcfvdMiH7JueJ10tQ8c750g1OkZ0xyP_20Q,1892
|
|
92
94
|
pydantic/_internal/_schema_generation_shared.py,sha256=8nLsSaqgEebxeF26OwiPBt0ZVPipGqW1IV40agkRfxw,4869
|
|
93
95
|
pydantic/_internal/_serializers.py,sha256=evOucDhMiIjaik5f4yMLdDP08ODB0l2pCir22HuQ-Ag,1786
|
|
94
96
|
pydantic/_internal/_signature.py,sha256=64JyRJJ8Gf-JOfrZa2xTNUdGpd7RGqdNLYFXYOFuPZU,7143
|
|
95
97
|
pydantic/_internal/_type_refs.py,sha256=nxJgVhwwxiSOcQbrc1e5La-Dpm5wU_4SSKJUBkp0hOU,4521
|
|
96
|
-
pydantic/_internal/_typing_extra.py,sha256=
|
|
98
|
+
pydantic/_internal/_typing_extra.py,sha256=sKfK5Bu2HFjhPuc_eT3WwjX0982335D2S0cfbwSWulE,21227
|
|
97
99
|
pydantic/_internal/_utils.py,sha256=I95ZNRhlU-m8V5pqBZSrP2sMINY-iw5abcPUURhaBng,15386
|
|
98
100
|
pydantic/_internal/_validate_call.py,sha256=GvGnf2WTPBm8g6X9U3RyMvL5o9y5K846kdK5CQ_QPhk,5369
|
|
99
101
|
pydantic/_internal/_validators.py,sha256=-Y9au4Rzog0CdMEeOHs77c998MTvgaEWfRNgxDL2c4k,20987
|
|
@@ -139,7 +141,7 @@ pydantic/functional_serializers.py,sha256=wcF7l3ZzY4rEXBG0IkU3KLGr5_NIEKS6-CFq14
|
|
|
139
141
|
pydantic/functional_validators.py,sha256=ungjnjugPxAh7vPhU7Yp7k6zdPUfKZrtOFbRzN064fw,33225
|
|
140
142
|
pydantic/generics.py,sha256=0ZqZ9O9annIj_3mGBRqps4htey3b5lV1-d2tUxPMMnA,144
|
|
141
143
|
pydantic/json.py,sha256=ZH8RkI7h4Bz-zp8OdTAxbJUoVvcoU-jhMdRZ0B-k0xc,140
|
|
142
|
-
pydantic/json_schema.py,sha256=
|
|
144
|
+
pydantic/json_schema.py,sha256=OBO7HfftJNOEBS7gMar0vv0FEn44oazCu7x7w2Eq59c,144167
|
|
143
145
|
pydantic/main.py,sha256=oYoupv4Cq9EDXdVrNQBv0psMkCJ_cdd-RfoOUq7Vruc,91726
|
|
144
146
|
pydantic/mypy.py,sha256=qWTROdLlgp9sRNXTPd4F3nQke818LSWdr7r83_5lmv4,64611
|
|
145
147
|
pydantic/networks.py,sha256=YIXsCaWUqE7FMwAO5ujYXClMLxI3KP6e2MdVwnP5X4s,44516
|
|
@@ -148,7 +150,7 @@ pydantic/plugin/__init__.py,sha256=SrVX9XDbUKzt6BVNBRKXKmEqxecEREq6A4WoV_RMJhc,7
|
|
|
148
150
|
pydantic/plugin/__pycache__/__init__.cpython-313.pyc,,
|
|
149
151
|
pydantic/plugin/__pycache__/_loader.cpython-313.pyc,,
|
|
150
152
|
pydantic/plugin/__pycache__/_schema_validator.cpython-313.pyc,,
|
|
151
|
-
pydantic/plugin/_loader.py,sha256=
|
|
153
|
+
pydantic/plugin/_loader.py,sha256=QutCqFPFRlsQWbsm5Nv_U6SZfF0UN8s2tfJeTTwUSUQ,2115
|
|
152
154
|
pydantic/plugin/_schema_validator.py,sha256=__9f3t6adZxNgyzajuNda5siIvKWDDXssE6QD8hzXB4,5815
|
|
153
155
|
pydantic/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
154
156
|
pydantic/root_model.py,sha256=7enqbPZHFXk7DO-2H9wG9NxmIGeJcbHSewhKSLS8a4A,8777
|
|
@@ -213,5 +215,5 @@ pydantic/v1/validators.py,sha256=lyUkn1MWhHxlCX5ZfEgFj_CAHojoiPcaQeMdEM9XviU,221
|
|
|
213
215
|
pydantic/v1/version.py,sha256=51ZPNC7FcsbAGRl-p2_vbJ0-bKUtjtwc6hiKrBoG4ZA,1039
|
|
214
216
|
pydantic/validate_call_decorator.py,sha256=oktZNbH04RAEV99NSvl5ETPNLTEEE_HLkwj64TOsWd0,4749
|
|
215
217
|
pydantic/validators.py,sha256=pwbIJXVb1CV2mAE4w_EGfNj7DwzsKaWw_tTL6cviTus,146
|
|
216
|
-
pydantic/version.py,sha256=
|
|
218
|
+
pydantic/version.py,sha256=_-GyAanvFkY9PQE6b8wWbrEmw2tlg1842flVvGv2kps,3985
|
|
217
219
|
pydantic/warnings.py,sha256=tIhE-YCNiWNgO53dwo7jYdOFv7AHzJmTkbMdEGZLEko,5177
|
|
Binary file
|
|
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
|
|
|
4
4
|
|
|
5
5
|
[project]
|
|
6
6
|
name = "dbspec"
|
|
7
|
-
version = "1.6.
|
|
7
|
+
version = "1.6.6"
|
|
8
8
|
description = "DBSpec: CLI/TUI for database design (Excel as DSL)"
|
|
9
9
|
readme = "README.md"
|
|
10
10
|
requires-python = ">=3.11"
|
|
@@ -17,6 +17,7 @@ dependencies = [
|
|
|
17
17
|
"alembic",
|
|
18
18
|
"psycopg[binary]",
|
|
19
19
|
"jinja2",
|
|
20
|
+
"tomlkit>=0.13.2",
|
|
20
21
|
]
|
|
21
22
|
|
|
22
23
|
[project.scripts]
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
@@ -93,3 +93,23 @@ Jinja-параметров, зависящий только от стандар
|
|
|
93
93
|
таблицы допустимы, но состав каждой генерируемой таблицы должен совпасть с SSOT.
|
|
94
94
|
При ошибке прежний выходной каталог сохраняется. Установка приложения или соединение
|
|
95
95
|
с БД для штатных шаблонов не требуются.
|
|
96
|
+
|
|
97
|
+
|
|
98
|
+
## Передача SQL default (1.6.5)
|
|
99
|
+
|
|
100
|
+
`col.server_default` по-прежнему содержит исходное SQL-выражение после применения
|
|
101
|
+
правил строковых defaults. Штатный шаблон использует `sql_default_renderer`
|
|
102
|
+
(глобальное значение Jinja `literal_column`) и фильтр `py_string` для передачи
|
|
103
|
+
SQL без интерпретации `:name` как bind-параметра. Значения с двоеточием и обратным
|
|
104
|
+
слешем сохраняются в PostgreSQL DDL. Имя `literal_column` зарезервировано при выборе
|
|
105
|
+
ORM-атрибутов, поэтому одноимённая SQL-колонка не перекрывает импорт.
|
|
106
|
+
|
|
107
|
+
Существующие проектные шаблоны не перезаписываются при инициализации. Чтобы
|
|
108
|
+
получить исправление в своей копии `model.py.j2`, замените рендеринг
|
|
109
|
+
`server_default=text(...)` на `server_default=literal_column(...)` в ветках ORM
|
|
110
|
+
и Core, сохранив фильтр `py_string`. Генератор добавляет `literal_column` в
|
|
111
|
+
`table.sa_imports`; импорт `text` оставлен для совместимости старых шаблонов.
|
|
112
|
+
Формат контекста `col.server_default` не меняется. Это передача SQL, а не
|
|
113
|
+
проверка безопасности выражений. Autogenerate через DBSpec сохраняет
|
|
114
|
+
`literal_column` при рендеринге ревизий; при прямом вызове Alembic без DBSpec
|
|
115
|
+
соответствующий `render_item` автоматически не устанавливается.
|
|
@@ -81,7 +81,7 @@ from ..{{ common_dir_name }}.base import metadata
|
|
|
81
81
|
{% if col.sequence -%}
|
|
82
82
|
{% set _ = col_args.append('server_default=' ~ col.sequence.var_name ~ '.next_value()') -%}
|
|
83
83
|
{% elif col.server_default -%}
|
|
84
|
-
{% set _ = col_args.append('server_default=
|
|
84
|
+
{% set _ = col_args.append('server_default=' ~ sql_default_renderer ~ '(' ~ (col.server_default | py_string) ~ ')') -%}
|
|
85
85
|
{% endif -%}
|
|
86
86
|
{% if include_comments and col.description -%}
|
|
87
87
|
{% set _ = col_args.append('comment=' ~ (col.description | py_repr)) -%}
|
|
@@ -326,7 +326,7 @@ class {{ table.class_name }}({{ base_class }}):
|
|
|
326
326
|
{% if col.sequence -%}
|
|
327
327
|
{% set _ = col_args.append('server_default=' ~ col.sequence.var_name ~ '.next_value()') -%}
|
|
328
328
|
{% elif col.server_default -%}
|
|
329
|
-
{% set _ = col_args.append('server_default=
|
|
329
|
+
{% set _ = col_args.append('server_default=' ~ sql_default_renderer ~ '(' ~ (col.server_default | py_string) ~ ')') -%}
|
|
330
330
|
{% endif -%}
|
|
331
331
|
{% if include_comments and col.description -%}
|
|
332
332
|
{% set _ = col_args.append('comment=' ~ (col.description | py_repr)) -%}
|
package/bin/dbspec/dbspec
CHANGED
|
Binary file
|
package/package.json
CHANGED
|
@@ -1,29 +0,0 @@
|
|
|
1
|
-
psycopg_binary-3.3.6.dist-info/INSTALLER,sha256=zuuue4knoyJ-UwPPXg8fezS7VCrXJQrAP7zeNuwvFQg,4
|
|
2
|
-
psycopg_binary-3.3.6.dist-info/METADATA,sha256=Ch-1KcHifKQWVUE-ZpyWS9DXBp6MwqsysZL8mLrzf9U,2709
|
|
3
|
-
psycopg_binary-3.3.6.dist-info/RECORD,,
|
|
4
|
-
psycopg_binary-3.3.6.dist-info/WHEEL,sha256=I7C6oPU9_YXUwpeWU-HCMP--1MGENZx31r2O4ozCW_U,136
|
|
5
|
-
psycopg_binary-3.3.6.dist-info/licenses/LICENSE.txt,sha256=46mU2C5kSwOnkqkw9XQAJlhBL2JAf1_uCD8lVcXyMRg,7652
|
|
6
|
-
psycopg_binary-3.3.6.dist-info/top_level.txt,sha256=8OM_PsAa5oKkzVvRu8kDESihBQo_LXqwG_nrlecubIk,15
|
|
7
|
-
psycopg_binary/.dylibs/libcom_err.3.0.dylib,sha256=tFqQf72U0aNg_sXUjO2vVfx82_y2GlCs4zqOslXxbL0,73456
|
|
8
|
-
psycopg_binary/.dylibs/libcrypto.3.dylib,sha256=qAQoOXlJOcTspvdMHGI6m_uiymDczVZxpfSgHEpe-xc,4975456
|
|
9
|
-
psycopg_binary/.dylibs/libgssapi_krb5.2.2.dylib,sha256=hJkn_TaxOYsYMFyeT-d72Ru0mSZzolzuNhRR0wHsikk,396400
|
|
10
|
-
psycopg_binary/.dylibs/libk5crypto.3.1.dylib,sha256=X7BMUdeYBwQM5YzttcGmwjKoblEHkf6vxECZHPaks_I,247632
|
|
11
|
-
psycopg_binary/.dylibs/libkrb5.3.3.dylib,sha256=UMNJ6iViFHPffzaN3xZILo4TcTQK_QPQLVWDFPPQqSU,982192
|
|
12
|
-
psycopg_binary/.dylibs/libkrb5support.1.1.dylib,sha256=I8HNLI-k7A79xwLZYcb7l5tre0_vS-WHsBAZbjAKGJQ,110048
|
|
13
|
-
psycopg_binary/.dylibs/liblber.2.dylib,sha256=ZFTIKYq_KhLjXO5FmvkBHXNmqWBILQEmWfMVhlTYGDY,138608
|
|
14
|
-
psycopg_binary/.dylibs/libldap.2.dylib,sha256=D8YA_1kthTm5P4chXzIgNTpF5wsp9xnxsj9733JsvFk,477936
|
|
15
|
-
psycopg_binary/.dylibs/libpq.5.dylib,sha256=HqjK9TrNVkZlybwSNCxlRUmygzAR6qxqp1lfwRsDTVE,371120
|
|
16
|
-
psycopg_binary/.dylibs/libssl.3.dylib,sha256=xshl2TsQsG-0D1HVttOigdz8ylSc5p3tQX36AcDbdX0,1032368
|
|
17
|
-
psycopg_binary/__init__.py,sha256=5kxw9Qdn8ubIi4ik92mxZOsjr5UO0vwq5T5S0BhCWGg,402
|
|
18
|
-
psycopg_binary/__pycache__/__init__.cpython-313.pyc,,
|
|
19
|
-
psycopg_binary/__pycache__/_uuid.cpython-313.pyc,,
|
|
20
|
-
psycopg_binary/__pycache__/version.cpython-313.pyc,,
|
|
21
|
-
psycopg_binary/_psycopg.c,sha256=qzQcxFqYy0FursjeZo_OLNKV8Jmfx5bh3S2yed7d7Z0,5376870
|
|
22
|
-
psycopg_binary/_psycopg.cpython-313-darwin.so,sha256=cuOUJm4WcepKK4cstzMstMmrnT8_P7yAJcludc7-JZk,918112
|
|
23
|
-
psycopg_binary/_psycopg.pyi,sha256=4pCOJOcyGntXxhVmmoHT9L8mbBozbVJg0r5vKhtShXQ,3178
|
|
24
|
-
psycopg_binary/_uuid.py,sha256=YXxC9J0hcZFWvBY5YpJf_7WpstMmlQ21dKMgwGW91bU,798
|
|
25
|
-
psycopg_binary/pq.c,sha256=HFR_eUnR-YlXzHU-2lAxL642FsNjSAGZRzfqCFzvQvs,2035943
|
|
26
|
-
psycopg_binary/pq.cpython-313-darwin.so,sha256=wfCupe87e_D6TqVaLGtm1L8SqZwLLTswoVk6baJXUC8,419584
|
|
27
|
-
psycopg_binary/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
28
|
-
psycopg_binary/types/numutils.c,sha256=KWSeNIn9Rt1YXh0b02s5QhE4XzTgAMGx-ZGx9AEtQ-I,6034
|
|
29
|
-
psycopg_binary/version.py,sha256=AchcLWfoay902mrP3j1Qy3nQ2F5QOzNIv8Yy0NdwFrc,246
|
|
File without changes
|
|
File without changes
|
/package/bin/dbspec/_internal/{psycopg-3.3.6.dist-info → psycopg-3.3.8.dist-info}/top_level.txt
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
/package/bin/dbspec/_internal/{pydantic-2.14.2.dist-info → pydantic-2.14.3.dist-info}/INSTALLER
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|