@ai-devtools/dbspec-windows-x64 1.5.3 → 1.5.5

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 (50) hide show
  1. package/bin/dbspec/_internal/base_library.zip +0 -0
  2. package/bin/dbspec/_internal/dbspec.egg-info/PKG-INFO +1 -1
  3. package/bin/dbspec/_internal/dbspec.egg-info/SOURCES.txt +2 -0
  4. package/bin/dbspec/_internal/markupsafe/_speedups.cp313-win_amd64.pyd +0 -0
  5. package/bin/dbspec/_internal/{markupsafe-3.0.3.dist-info → markupsafe-3.0.4.dist-info}/METADATA +1 -1
  6. package/bin/dbspec/_internal/markupsafe-3.0.4.dist-info/RECORD +14 -0
  7. package/bin/dbspec/_internal/{markupsafe-3.0.3.dist-info → markupsafe-3.0.4.dist-info}/WHEEL +1 -1
  8. package/bin/dbspec/_internal/{pydantic-2.13.5.dist-info → pydantic-2.14.1.dist-info}/METADATA +263 -27
  9. package/bin/dbspec/_internal/{pydantic-2.13.5.dist-info → pydantic-2.14.1.dist-info}/RECORD +61 -61
  10. package/bin/dbspec/_internal/{pydantic-2.13.5.dist-info → pydantic-2.14.1.dist-info}/WHEEL +1 -1
  11. package/bin/dbspec/_internal/pydantic_core/_pydantic_core.cp313-win_amd64.pyd +0 -0
  12. package/bin/dbspec/_internal/pyproject.toml +1 -1
  13. package/bin/dbspec/_internal/sqlalchemy/engine/_processors_cy.cp313-win_amd64.pyd +0 -0
  14. package/bin/dbspec/_internal/sqlalchemy/engine/_result_cy.cp313-win_amd64.pyd +0 -0
  15. package/bin/dbspec/_internal/sqlalchemy/engine/_row_cy.cp313-win_amd64.pyd +0 -0
  16. package/bin/dbspec/_internal/sqlalchemy/engine/_util_cy.cp313-win_amd64.pyd +0 -0
  17. package/bin/dbspec/_internal/sqlalchemy/sql/_cache_key_cy.cp313-win_amd64.pyd +0 -0
  18. package/bin/dbspec/_internal/sqlalchemy/sql/_util_cy.cp313-win_amd64.pyd +0 -0
  19. package/bin/dbspec/_internal/sqlalchemy/util/_collections_cy.cp313-win_amd64.pyd +0 -0
  20. package/bin/dbspec/_internal/sqlalchemy/util/_immutabledict_cy.cp313-win_amd64.pyd +0 -0
  21. package/bin/dbspec/_internal/tzdata/zoneinfo/America/Rainy_River +0 -0
  22. package/bin/dbspec/_internal/tzdata/zoneinfo/America/Winnipeg +0 -0
  23. package/bin/dbspec/_internal/tzdata/zoneinfo/Canada/Central +0 -0
  24. package/bin/dbspec/_internal/tzdata/zoneinfo/Eire +0 -0
  25. package/bin/dbspec/_internal/tzdata/zoneinfo/Europe/Dublin +0 -0
  26. package/bin/dbspec/_internal/tzdata/zoneinfo/tzdata.zi +6 -2
  27. package/bin/dbspec/_internal/tzdata/zoneinfo/zone.tab +1 -1
  28. package/bin/dbspec/_internal/tzdata/zoneinfo/zone1970.tab +1 -1
  29. package/bin/dbspec/_internal/tzdata/zoneinfo/zonenow.tab +4 -1
  30. package/bin/dbspec/dbspec.exe +0 -0
  31. package/package.json +1 -1
  32. package/bin/dbspec/_internal/greenlet/_greenlet.cp313-win_amd64.pyd +0 -0
  33. package/bin/dbspec/_internal/markupsafe-3.0.3.dist-info/RECORD +0 -14
  34. package/bin/dbspec/_internal/setuptools/_vendor/importlib_metadata-8.7.1.dist-info/INSTALLER +0 -1
  35. package/bin/dbspec/_internal/setuptools/_vendor/importlib_metadata-8.7.1.dist-info/METADATA +0 -133
  36. package/bin/dbspec/_internal/setuptools/_vendor/importlib_metadata-8.7.1.dist-info/RECORD +0 -21
  37. package/bin/dbspec/_internal/setuptools/_vendor/importlib_metadata-8.7.1.dist-info/REQUESTED +0 -0
  38. package/bin/dbspec/_internal/setuptools/_vendor/importlib_metadata-8.7.1.dist-info/WHEEL +0 -5
  39. package/bin/dbspec/_internal/setuptools/_vendor/importlib_metadata-8.7.1.dist-info/licenses/LICENSE +0 -73
  40. package/bin/dbspec/_internal/setuptools/_vendor/importlib_metadata-8.7.1.dist-info/top_level.txt +0 -1
  41. package/bin/dbspec/_internal/sqlalchemy/cyextension/collections.cp313-win_amd64.pyd +0 -0
  42. package/bin/dbspec/_internal/sqlalchemy/cyextension/immutabledict.cp313-win_amd64.pyd +0 -0
  43. package/bin/dbspec/_internal/sqlalchemy/cyextension/processors.cp313-win_amd64.pyd +0 -0
  44. package/bin/dbspec/_internal/sqlalchemy/cyextension/resultproxy.cp313-win_amd64.pyd +0 -0
  45. package/bin/dbspec/_internal/sqlalchemy/cyextension/util.cp313-win_amd64.pyd +0 -0
  46. /package/bin/dbspec/_internal/{markupsafe-3.0.3.dist-info → markupsafe-3.0.4.dist-info}/INSTALLER +0 -0
  47. /package/bin/dbspec/_internal/{markupsafe-3.0.3.dist-info → markupsafe-3.0.4.dist-info}/licenses/LICENSE.txt +0 -0
  48. /package/bin/dbspec/_internal/{markupsafe-3.0.3.dist-info → markupsafe-3.0.4.dist-info}/top_level.txt +0 -0
  49. /package/bin/dbspec/_internal/{pydantic-2.13.5.dist-info → pydantic-2.14.1.dist-info}/INSTALLER +0 -0
  50. /package/bin/dbspec/_internal/{pydantic-2.13.5.dist-info → pydantic-2.14.1.dist-info}/licenses/LICENSE +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: dbspec
3
- Version: 1.5.3
3
+ Version: 1.5.5
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
@@ -106,6 +106,8 @@ src/migrations/reference_data.py
106
106
  src/migrations/reference_data_history.py
107
107
  src/migrations/reference_data_mapping.py
108
108
  src/migrations/reference_data_paths.py
109
+ src/migrations/reference_data_replacement.py
110
+ src/migrations/reference_data_replacement_downgrade.py
109
111
  src/migrations/reference_data_sql.py
110
112
  src/migrations/renderers.py
111
113
  src/migrations/revision.py
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: MarkupSafe
3
- Version: 3.0.3
3
+ Version: 3.0.4
4
4
  Summary: Safely add untrusted strings to HTML/XML markup.
5
5
  Maintainer-email: Pallets <contact@palletsprojects.com>
6
6
  License-Expression: BSD-3-Clause
@@ -0,0 +1,14 @@
1
+ markupsafe-3.0.4.dist-info/INSTALLER,sha256=zuuue4knoyJ-UwPPXg8fezS7VCrXJQrAP7zeNuwvFQg,4
2
+ markupsafe-3.0.4.dist-info/METADATA,sha256=CPp5lUqyiNd4sP7k8ObH28hp5UWkFXR9EyRiJGXTsI0,2764
3
+ markupsafe-3.0.4.dist-info/RECORD,,
4
+ markupsafe-3.0.4.dist-info/WHEEL,sha256=0LUNoHxLvcpw9db_x0XozE5jW73-_GOAO7fDDJ4Xt4Q,101
5
+ markupsafe-3.0.4.dist-info/licenses/LICENSE.txt,sha256=RjHsDbX9kKVH4zaBcmTGeYIUM4FG-KyUtKV_lu6MnsQ,1503
6
+ markupsafe-3.0.4.dist-info/top_level.txt,sha256=qy0Plje5IJuvsCBjejJyhDCjEAdcDLK_2agVcex8Z6U,11
7
+ markupsafe/__init__.py,sha256=8WsZNjBimdwO0JjRQpSd0Awpedq5ASXKvtpeCaU4PzM,13760
8
+ markupsafe/__pycache__/__init__.cpython-313.pyc,,
9
+ markupsafe/__pycache__/_native.cpython-313.pyc,,
10
+ markupsafe/_native.py,sha256=2ptkJ40yCcp9kq3L1NqpgjfpZB-obniYKFFKUOkHh4Q,218
11
+ markupsafe/_speedups.c,sha256=efc6azc50WbKxSNinxV4rktIX2xzWfKsLvncC8Z3I_w,4527
12
+ markupsafe/_speedups.cp313-win_amd64.pyd,sha256=vxUTTZGSSry9WGZNeqKjNUnjG-f_ltI5fZAlc39qfiY,11776
13
+ markupsafe/_speedups.pyi,sha256=LSDmXYOefH4HVpAXuL8sl7AttLw0oXh1njVoVZp2wqQ,42
14
+ markupsafe/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
@@ -1,5 +1,5 @@
1
1
  Wheel-Version: 1.0
2
- Generator: setuptools (80.9.0)
2
+ Generator: setuptools (84.0.0)
3
3
  Root-Is-Purelib: false
4
4
  Tag: cp313-cp313-win_amd64
5
5
 
@@ -1,12 +1,12 @@
1
1
  Metadata-Version: 2.5
2
2
  Name: pydantic
3
- Version: 2.13.5
3
+ Version: 2.14.1
4
4
  Summary: Data validation using Python type hints
5
5
  Project-URL: Homepage, https://github.com/pydantic/pydantic
6
- Project-URL: Documentation, https://docs.pydantic.dev
6
+ Project-URL: Documentation, https://pydantic.dev/docs/validation/latest/get-started/
7
7
  Project-URL: Funding, https://github.com/sponsors/samuelcolvin
8
8
  Project-URL: Source, https://github.com/pydantic/pydantic
9
- Project-URL: Changelog, https://docs.pydantic.dev/latest/changelog/
9
+ Project-URL: Changelog, https://pydantic.dev/docs/validation/latest/get-started/changelog/
10
10
  Author-email: Samuel Colvin <s@muelcolvin.com>, Eric Jolibois <em.jolibois@gmail.com>, Hasan Ramezani <hasan.r67@gmail.com>, Adrian Garcia Badaracco <1755071+adriangb@users.noreply.github.com>, Terrence Dorsey <terry@pydantic.dev>, David Montague <david@pydantic.dev>, Serge Matveenko <lig@countzero.co>, Marcelo Trylesinski <marcelotryle@gmail.com>, Sydney Runkle <sydneymarierunkle@gmail.com>, David Hewitt <mail@davidhewitt.dev>, Alex Hall <alex.mojaki@gmail.com>, Victorien Plot <contact@vctrn.dev>
11
11
  License-Expression: MIT
12
12
  License-File: LICENSE
@@ -19,25 +19,25 @@ Classifier: Operating System :: OS Independent
19
19
  Classifier: Programming Language :: Python
20
20
  Classifier: Programming Language :: Python :: 3
21
21
  Classifier: Programming Language :: Python :: 3 :: Only
22
- Classifier: Programming Language :: Python :: 3.9
23
22
  Classifier: Programming Language :: Python :: 3.10
24
23
  Classifier: Programming Language :: Python :: 3.11
25
24
  Classifier: Programming Language :: Python :: 3.12
26
25
  Classifier: Programming Language :: Python :: 3.13
27
26
  Classifier: Programming Language :: Python :: 3.14
27
+ Classifier: Programming Language :: Python :: 3.15
28
28
  Classifier: Programming Language :: Python :: Implementation :: CPython
29
29
  Classifier: Programming Language :: Python :: Implementation :: PyPy
30
30
  Classifier: Topic :: Internet
31
31
  Classifier: Topic :: Software Development :: Libraries :: Python Modules
32
- Requires-Python: >=3.9
32
+ Requires-Python: >=3.10
33
33
  Requires-Dist: annotated-types>=0.6.0
34
- Requires-Dist: pydantic-core==2.46.5
35
- Requires-Dist: typing-extensions>=4.14.1
36
- Requires-Dist: typing-inspection>=0.4.2
34
+ Requires-Dist: pydantic-core==2.50.1
35
+ Requires-Dist: typing-extensions>=4.16.0
36
+ Requires-Dist: typing-inspection>=0.4.4
37
37
  Provides-Extra: email
38
38
  Requires-Dist: email-validator>=2.0.0; extra == 'email'
39
39
  Provides-Extra: timezone
40
- Requires-Dist: tzdata; (python_version >= '3.9' and platform_system == 'Windows') and extra == 'timezone'
40
+ Requires-Dist: tzdata; (platform_system == 'Windows') and extra == 'timezone'
41
41
  Description-Content-Type: text/markdown
42
42
 
43
43
  # Pydantic Validation
@@ -49,13 +49,13 @@ Description-Content-Type: text/markdown
49
49
  [![downloads](https://static.pepy.tech/badge/pydantic/month)](https://pepy.tech/project/pydantic)
50
50
  [![versions](https://img.shields.io/pypi/pyversions/pydantic.svg)](https://github.com/pydantic/pydantic)
51
51
  [![license](https://img.shields.io/github/license/pydantic/pydantic.svg)](https://github.com/pydantic/pydantic/blob/main/LICENSE)
52
- [![Pydantic v2](https://img.shields.io/endpoint?url=https://raw.githubusercontent.com/pydantic/pydantic/main/docs/badge/v2.json)](https://docs.pydantic.dev/latest/contributing/#badges)
53
- [![llms.txt](https://img.shields.io/badge/llms.txt-green)](https://docs.pydantic.dev/latest/llms.txt)
52
+ [![Pydantic v2](https://img.shields.io/endpoint?url=https://raw.githubusercontent.com/pydantic/pydantic/main/docs/badge/v2.json)](https://pydantic.dev/docs/validation/latest/get-started/contributing/#badges)
53
+ [![llms.txt](https://img.shields.io/badge/llms.txt-green)](https://pydantic.dev/docs/validation/latest/llms.txt)
54
54
 
55
55
  Data validation using Python type hints.
56
56
 
57
57
  Fast and extensible, Pydantic plays nicely with your linters/IDE/brain.
58
- Define how data should be in pure, canonical Python 3.9+; validate it with Pydantic.
58
+ Define how data should be in pure, canonical Python 3.10+; validate it with Pydantic.
59
59
 
60
60
  ## Pydantic Logfire :fire:
61
61
 
@@ -67,18 +67,18 @@ We've launched Pydantic Logfire to help you monitor your applications.
67
67
  Pydantic V2 is a ground-up rewrite that offers many new features, performance improvements, and some breaking changes compared to Pydantic V1.
68
68
 
69
69
  If you're using Pydantic V1 you may want to look at the
70
- [pydantic V1.10 Documentation](https://docs.pydantic.dev/) or,
70
+ [pydantic V1.10 Documentation](https://pydantic.dev/docs/validation/1.10/overview/) or,
71
71
  [`1.10.X-fixes` git branch](https://github.com/pydantic/pydantic/tree/1.10.X-fixes). Pydantic V2 also ships with the latest version of Pydantic V1 built in so that you can incrementally upgrade your code base and projects: `from pydantic import v1 as pydantic_v1`.
72
72
 
73
73
  ## Help
74
74
 
75
- See [documentation](https://docs.pydantic.dev/) for more details.
75
+ See [documentation](https://pydantic.dev/docs/validation/latest/get-started/) for more details.
76
76
 
77
77
  ## Installation
78
78
 
79
79
  Install using `pip install -U pydantic` or `conda install pydantic -c conda-forge`.
80
80
  For more installation options to make Pydantic even faster,
81
- see the [Install](https://docs.pydantic.dev/install/) section in the documentation.
81
+ see the [Install](https://pydantic.dev/docs/validation/latest/get-started/install/) section in the documentation.
82
82
 
83
83
  ## A Simple Example
84
84
 
@@ -105,7 +105,7 @@ print(user.id)
105
105
 
106
106
  For guidance on setting up a development environment and how to make a
107
107
  contribution to Pydantic, see
108
- [Contributing to Pydantic](https://docs.pydantic.dev/contributing/).
108
+ [Contributing to Pydantic](https://pydantic.dev/docs/validation/latest/get-started/contributing/).
109
109
 
110
110
  ## Reporting a Security Vulnerability
111
111
 
@@ -117,18 +117,254 @@ See our [security policy](https://github.com/pydantic/pydantic/security/policy).
117
117
  <!-- markdownlint-disable descriptive-link-text -->
118
118
  <!-- markdownlint-disable-next-line first-line-heading -->
119
119
 
120
- ## v2.13.5 (2026-08-28)
120
+ ## v2.14.1 (2026-10-11)
121
121
 
122
- [GitHub release](https://github.com/pydantic/pydantic/releases/tag/v2.13.5)
122
+ [GitHub release](https://github.com/pydantic/pydantic/releases/tag/v2.14.1)
123
123
 
124
124
  ### What's Changed
125
125
 
126
+ #### Performance
127
+
128
+ * Avoid Python tuple allocation during model fields validation by [@Viicos](https://github.com/Viicos) in [#13955](https://github.com/pydantic/pydantic/pull/13955)
129
+ * Avoid unnecessary extra dict allocation in model validation by [@Viicos](https://github.com/Viicos) in [#13956](https://github.com/pydantic/pydantic/pull/13956)
130
+
126
131
  #### Fixes
127
132
 
128
- * Allow reuse of validators when plugins are set by [@Viicos](https://github.com/Viicos) in [#13535](https://github.com/pydantic/pydantic/pull/13535)
133
+ * Fix `arguments-v3` schema with variadic keywords by [@Viicos](https://github.com/Viicos) in [#13954](https://github.com/pydantic/pydantic/pull/13954)
134
+ * Fix `TypeError` on `ForwardRef` on Python 3.10.0 by [@Viicos](https://github.com/Viicos) in [#13964](https://github.com/pydantic/pydantic/pull/13964)
135
+ * Support `closed` and `extra_items` via inheritance in `TypedDict` by [@Viicos](https://github.com/Viicos) in [#13967](https://github.com/pydantic/pydantic/pull/13967)
136
+ * Enforce the `max_digits` whole-digits limit in the Python `Decimal` validator by [@Viicos](https://github.com/Viicos) in [#13972](https://github.com/pydantic/pydantic/pull/13972)
137
+ * Reject out-of-range int inputs for `timedelta` by [@Viicos](https://github.com/Viicos) in [#13973](https://github.com/pydantic/pydantic/pull/13973)
138
+ * Support named tuples in `Sequence` validation by [@Viicos](https://github.com/Viicos) in [#13978](https://github.com/pydantic/pydantic/pull/13978)
139
+
140
+ ## v2.14.0 (2026-10-08)
141
+
142
+ [GitHub release](https://github.com/pydantic/pydantic/releases/tag/v2.14.0)
143
+
144
+ ### What's Changed
145
+
146
+ The highlights of the v2.14 release are available in the [blog post](https://pydantic.dev/articles/pydantic-v2-14-release).
147
+ Several minor changes (considered non-breaking changes according to our [versioning policy](https://pydantic.dev/docs/validation/2.14/get-started/version-policy/#pydantic-v2))
148
+ are also included in this release. Make sure to look into them before upgrading.
149
+
150
+ This release drops support for Python 3.9 and adds support for Python 3.15.
151
+
152
+ #### New Features
153
+
154
+ * Add support for `multiple_of` constraint in `fraction` and `timedelta` core schemas by [@Viicos](https://github.com/Viicos) in [#13873](https://github.com/pydantic/pydantic/pull/13873)
155
+ * Add `__namespace__` parameter to `create_model()` by [@Viicos](https://github.com/Viicos) in [#13895](https://github.com/pydantic/pydantic/pull/13895)
156
+
157
+ #### Changes
158
+
159
+ * Add an `ordered-dict` core schema by [@Viicos](https://github.com/Viicos) in [#13796](https://github.com/pydantic/pydantic/pull/13796)
160
+ * Add a `counter` core schema by [@Viicos](https://github.com/Viicos) in [#13824](https://github.com/pydantic/pydantic/pull/13824)
161
+ * Do not mutate `model_config` attribute by [@Viicos](https://github.com/Viicos) in [#13825](https://github.com/pydantic/pydantic/pull/13825)
162
+ * Reject newlines in `NameEmail` validation by [@Viicos](https://github.com/Viicos) in [#13897](https://github.com/pydantic/pydantic/pull/13897)
163
+
164
+ #### Fixes
165
+
166
+ * Call enum constructors in both validation modes by [@Viicos](https://github.com/Viicos) in [#13792](https://github.com/pydantic/pydantic/pull/13792)
167
+ * Fix documentation examples not raising and remove unused `string_sub_type` unused error code by [@Viicos](https://github.com/Viicos) in [#13821](https://github.com/pydantic/pydantic/pull/13821)
168
+ * Catch `OverflowError` during `ByteSize` validation by [@Viicos](https://github.com/Viicos) in [#13850](https://github.com/pydantic/pydantic/pull/13850)
169
+ * Require `multiple_of` constraints to be positive by [@Viicos](https://github.com/Viicos) in [#13862](https://github.com/pydantic/pydantic/pull/13862)
170
+ * Always pop field name and model type stacks during schema generation by [@saquibjawedbit](https://github.com/saquibjawedbit) in [#13859](https://github.com/pydantic/pydantic/pull/13859)
171
+ * Handle `TypeError` gracefully during docstring extraction by [@Viicos](https://github.com/Viicos) in [#13874](https://github.com/pydantic/pydantic/pull/13874)
172
+ * Fix config propagation of stdlib dataclasses and `TypedDict`s in JSON Schema by [@Viicos](https://github.com/Viicos) in [#13891](https://github.com/pydantic/pydantic/pull/13891)
173
+ * Don't apply `ser_json_timedelta` to all datetime types in serialization inference by [@Viicos](https://github.com/Viicos) in [#13892](https://github.com/pydantic/pydantic/pull/13892)
174
+ * Encode JSON Schema defaults with a consistent configuration by [@Viicos](https://github.com/Viicos) in [#13893](https://github.com/pydantic/pydantic/pull/13893)
175
+ * Propagate `init` and `kw_only=False` from `Field()` to stdlib dataclass fields by [@Viicos](https://github.com/Viicos) in [#13898](https://github.com/pydantic/pydantic/pull/13898)
176
+ * Respect propagated extra config in the JSON Schema of stdlib dataclasses by [@Viicos](https://github.com/Viicos) in [#13899](https://github.com/pydantic/pydantic/pull/13899)
177
+ * Handle OS errors during `ZoneInfo` validation by [@Viicos](https://github.com/Viicos) in [#13912](https://github.com/pydantic/pydantic/pull/13912)
178
+ * Handle exceptions during `Decimal` validation by [@Viicos](https://github.com/Viicos) in [#13940](https://github.com/pydantic/pydantic/pull/13940)
179
+ * Rebuild incomplete types during serialization inference by [@Viicos](https://github.com/Viicos) in [#13922](https://github.com/pydantic/pydantic/pull/13922)
180
+ * Reject large exponents in `Fraction` validation by [@Viicos](https://github.com/Viicos) in [#13944](https://github.com/pydantic/pydantic/pull/13944)
181
+ * Avoid validating URL prefix multiple times in multi host URLs by [@Viicos](https://github.com/Viicos) in [#13945](https://github.com/pydantic/pydantic/pull/13945)
182
+
183
+ ### New Contributors
184
+
185
+ * [@saquibjawedbit](https://github.com/saquibjawedbit) made their first contribution in [#13859](https://github.com/pydantic/pydantic/pull/13859)
186
+
187
+ ## v2.14.0b2 (2026-09-09)
188
+
189
+ [GitHub release](https://github.com/pydantic/pydantic/releases/tag/v2.14.0b2)
190
+
191
+ ### What's Changed
192
+
193
+ This pre-release adds full support for Python 3.15 specific features, such as support for [`frozendict`](https://docs.python.org/3.15/library/stdtypes.html#frozendict),
194
+ making use of [`TypeForm`](https://docs.python.org/3.15/library/typing.html#typing.TypeForm) and stabilizing the
195
+ [`MISSING` sentinel](https://pydantic.dev/docs/validation/latest/concepts/types/#missing-sentinel) type.
196
+
197
+ #### New Features
198
+
199
+ * Allow any `CoreSchema` to be used as serialization by [@Viicos](https://github.com/Viicos) in [#13680](https://github.com/pydantic/pydantic/pull/13680)
200
+ * Add support for [`frozendict`](https://docs.python.org/3.15/library/stdtypes.html#frozendict) type by [@Viicos](https://github.com/Viicos) in [#13634](https://github.com/pydantic/pydantic/pull/13634)
201
+ * Allow `dict`, `frozendict` and `frozenset` as `defaultdict` default factories by [@Viicos](https://github.com/Viicos) in [#13623](https://github.com/pydantic/pydantic/pull/13623)
202
+ * Add support for [`TypeForm`](https://docs.python.org/3.15/library/typing.html#typing.TypeForm) by [@Viicos](https://github.com/Viicos) in [#13459](https://github.com/pydantic/pydantic/pull/13459).
203
+
204
+ This adds support for static type checking where a type form is expected. For instance, type adapters:
205
+
206
+ ```python
207
+ from pydantic import TypeAdapter
208
+
209
+ ta = TypeAdapter(int | str)
210
+ assert_type(ta.validate_python(1), int | str)
211
+ ```
212
+
213
+ * Add support for lazy imports by [@Viicos](https://github.com/Viicos) in [#13776](https://github.com/pydantic/pydantic/pull/13776)
214
+ * Stabilize `MISSING` sentinel by [@Viicos](https://github.com/Viicos) in [#13782](https://github.com/pydantic/pydantic/pull/13782).
215
+
216
+ The [`MISSING` sentinel](https://pydantic.dev/docs/validation/dev/concepts/types/#missing-sentinel) is no longer experimental, and can be imported
217
+ as `from pydantic import MISSING`.
218
+
219
+ #### Changes
220
+
221
+ * Take `ser_json_temporal` into account when generating JSON Schema by [@shashiKundur1](https://github.com/shashiKundur1) in [#13665](https://github.com/pydantic/pydantic/pull/13665)
222
+ * Use the field name in `__signature__` when `validate_by_alias` is`False` by [@jaideeppyne](https://github.com/jaideeppyne) in [#13730](https://github.com/pydantic/pydantic/pull/13730)
223
+ * Add a `deque` core schema by [@Viicos](https://github.com/Viicos) in [#13757](https://github.com/pydantic/pydantic/pull/13757)
224
+ * Do not mention `MISSING` as a valid value in validation errors by [@Viicos](https://github.com/Viicos) in [#13779](https://github.com/pydantic/pydantic/pull/13779)
225
+ * Refactor `Decimal` JSON Schema `pattern` constraint by [@Viicos](https://github.com/Viicos) in [#13672](https://github.com/pydantic/pydantic/pull/13672)
226
+
227
+ #### Performance
228
+
229
+ * Refactor type references logic by [@Viicos](https://github.com/Viicos) in [#13643](https://github.com/pydantic/pydantic/pull/13643)
230
+ * Improve performance of `GenerateSchema.generate_schema()` dispatching by [@Viicos](https://github.com/Viicos) in [#13614](https://github.com/pydantic/pydantic/pull/13614)
231
+ * Move schema gathering logic to `pydantic-core` by [@Viicos](https://github.com/Viicos) in [#13725](https://github.com/pydantic/pydantic/pull/13725)
232
+ * Improve performance of `FieldInfo` construction by [@Viicos](https://github.com/Viicos) in [#13726](https://github.com/pydantic/pydantic/pull/13726)
233
+
234
+ #### Fixes
235
+
236
+ * Fix support for callable discriminators with PEP 695 type aliases by [@Viicos](https://github.com/Viicos) in [#13604](https://github.com/pydantic/pydantic/pull/13604)
237
+ * Preserve `re.Pattern` instance for compiled patterns in the experimental pipeline by [@soma0212](https://github.com/soma0212) in [#13611](https://github.com/pydantic/pydantic/pull/13611)
129
238
  * Fix missing GC traversal on some `pydantic-core` struct fields by [@Viicos](https://github.com/Viicos) in [#13624](https://github.com/pydantic/pydantic/pull/13624)
130
239
  * Fix missing GC traversal in `pydantic-core` for `GeneralFieldsSerializer` by [@Viicos](https://github.com/Viicos) in [#13629](https://github.com/pydantic/pydantic/pull/13629)
131
- * Count validated model fields once in smart unions by [@tamird](https://github.com/tamird) in [#13731](https://github.com/pydantic/pydantic/pull/13731)
240
+ * Fix JSON schema discriminator mapping keys for `bool` discriminators by [@remi-fongaufier](https://github.com/remi-fongaufier) in [#13632](https://github.com/pydantic/pydantic/pull/13632)
241
+ * Fix application of other constraints in the pipeline API by [@Viicos](https://github.com/Viicos) in [#13659](https://github.com/pydantic/pydantic/pull/13659)
242
+ * Support bare `None` annotation for discriminated unions by [@Viicos](https://github.com/Viicos) in [#13667](https://github.com/pydantic/pydantic/pull/13667)
243
+ * Respect runtime alias validation configuration when wrap validators are present by [@Viicos](https://github.com/Viicos) in [#13668](https://github.com/pydantic/pydantic/pull/13668)
244
+ * Exclude computed fields with `exclude_if` from JSON Schema required fields by [@Bishwas-py](https://github.com/Bishwas-py) in [#13563](https://github.com/pydantic/pydantic/pull/13563)
245
+ * Use config of `TypeAdapter` in JSON Schema generation by [@Viicos](https://github.com/Viicos) in [#13676](https://github.com/pydantic/pydantic/pull/13676)
246
+ * Support `populate_by_name` in `@validate_call` by [@Viicos](https://github.com/Viicos) in [#13691](https://github.com/pydantic/pydantic/pull/13691)
247
+ * Allow `None` to serialize against secret fields by [@Viicos](https://github.com/Viicos) in [#13699](https://github.com/pydantic/pydantic/pull/13699)
248
+ * Do not drop include/exclude if serializer wasn't called by [@Viicos](https://github.com/Viicos) in [#13702](https://github.com/pydantic/pydantic/pull/13702)
249
+ * Don't apply serialization temporal formats to validation JSON schemas by [@MLuc24](https://github.com/MLuc24) in [#13711](https://github.com/pydantic/pydantic/pull/13711)
250
+ * Reflect `str_min_length` and `str_max_length` config in the JSON schema by [@MLuc24](https://github.com/MLuc24) in [#13714](https://github.com/pydantic/pydantic/pull/13714)
251
+ * Treat a class attribute set to `None` as existing when assigning with `extra='allow'` by [@Kropiunig](https://github.com/Kropiunig) in [#13718](https://github.com/pydantic/pydantic/pull/13718)
252
+ * Use the field name in validation JSON schemas when `validate_by_alias` is `False` by [@MLuc24](https://github.com/MLuc24) in [#13717](https://github.com/pydantic/pydantic/pull/13717)
253
+ * Do not rely on normalization to validate decimals by [@Viicos](https://github.com/Viicos) in [#13742](https://github.com/pydantic/pydantic/pull/13742)
254
+ * Handle any exception when trying to compute JSON Schema default by [@Viicos](https://github.com/Viicos) in [#13741](https://github.com/pydantic/pydantic/pull/13741)
255
+ * Fix Mypy plugin crash with import cycle by [@Viicos](https://github.com/Viicos) in [#13767](https://github.com/pydantic/pydantic/pull/13767)
256
+ * Fix supported constraints for types of `datetime` module by [@Viicos](https://github.com/Viicos) in [#13768](https://github.com/pydantic/pydantic/pull/13768)
257
+ * Fix inconsistencies between constraints and core schemas allowed values by [@Viicos](https://github.com/Viicos) in [#13772](https://github.com/pydantic/pydantic/pull/13772)
258
+ * Allow `self` to be used as a parameter with `@validate_call` by [@Viicos](https://github.com/Viicos) in [#13773](https://github.com/pydantic/pydantic/pull/13773)
259
+ * Fix race conditions in freethreaded build by [@Viicos](https://github.com/Viicos) in [#13785](https://github.com/pydantic/pydantic/pull/13785)
260
+
261
+ ### New Contributors
262
+
263
+ * [@soma0212](https://github.com/soma0212) made their first contribution in [#13611](https://github.com/pydantic/pydantic/pull/13611)
264
+ * [@remi-fongaufier](https://github.com/remi-fongaufier) made their first contribution in [#13632](https://github.com/pydantic/pydantic/pull/13632)
265
+ * [@shashiKundur1](https://github.com/shashiKundur1) made their first contribution in [#13665](https://github.com/pydantic/pydantic/pull/13665)
266
+ * [@MLuc24](https://github.com/MLuc24) made their first contribution in [#13711](https://github.com/pydantic/pydantic/pull/13711)
267
+ * [@jaideeppyne](https://github.com/jaideeppyne) made their first contribution in [#13730](https://github.com/pydantic/pydantic/pull/13730)
268
+
269
+ ## v2.14.0b1 (2026-08-06)
270
+
271
+ [GitHub release](https://github.com/pydantic/pydantic/releases/tag/v2.14.0b1)
272
+
273
+ ### What's Changed
274
+
275
+ This is the first beta release of the 2.14 version, providing some new features and performance improvements for model builds.
276
+
277
+ This release is the first to provide initial support for Python 3.15, although not all 3.15 specific features are supported yet.
278
+
279
+ #### Packaging
280
+
281
+ * Add agent skills by [@Viicos](https://github.com/Viicos) in [#13193](https://github.com/pydantic/pydantic/pull/13193)
282
+
283
+ #### New Features
284
+
285
+ * Add support for `EllipsisType` by [@Viicos](https://github.com/Viicos) in [#13484](https://github.com/pydantic/pydantic/pull/13484)
286
+ * Add initial support for Python 3.15 by [@Viicos](https://github.com/Viicos) in [#13587](https://github.com/pydantic/pydantic/pull/13587)
287
+
288
+ #### Changes
289
+
290
+ * Populate `__slots__` from generic class during parameterization by [@Viicos](https://github.com/Viicos) in [#13243](https://github.com/pydantic/pydantic/pull/13243)
291
+ * Avoid using explicit `Any` in the Mypy plugin by [@Viicos](https://github.com/Viicos) in [#13196](https://github.com/pydantic/pydantic/pull/13196)
292
+ * Support `Fraction` type in `pydantic-core` by [@Viicos](https://github.com/Viicos) in [#13339](https://github.com/pydantic/pydantic/pull/13339)
293
+ * Use constant-time comparison for `SecretStr` and `SecretBytes` types by [@Viicos](https://github.com/Viicos) in [#13518](https://github.com/pydantic/pydantic/pull/13518)
294
+ * Fix application of constraints in pipeline API by [@Viicos](https://github.com/Viicos) in [#13516](https://github.com/pydantic/pydantic/pull/13516)
295
+ * Optimize type lookup logic in core schema generation by [@Viicos](https://github.com/Viicos) in [#13573](https://github.com/pydantic/pydantic/pull/13573)
296
+ * Add a `named-tuple` core schema by [@Viicos](https://github.com/Viicos) in [#13505](https://github.com/pydantic/pydantic/pull/13505)
297
+ * Raise explicit `TypeError` on invalid `index_key` serialization wrap handler by [@Viicos](https://github.com/Viicos) in [#13506](https://github.com/pydantic/pydantic/pull/13506)
298
+
299
+ #### Performance
300
+
301
+ * Cache `ModelPrivateAttr.default_factory_takes_validated_data` property by [@Viicos](https://github.com/Viicos) in [#13390](https://github.com/pydantic/pydantic/pull/13390)
302
+ * Introduce micro-optimizations for model class building by [@dmontagu](https://github.com/dmontagu) in [#13540](https://github.com/pydantic/pydantic/pull/13540)
303
+ * Try `Format.VALUE` before `FORWARDREF` when evaluating annotations in `ModelMetaclass` by [@Viicos](https://github.com/Viicos) in [#13584](https://github.com/pydantic/pydantic/pull/13584)
304
+ * Optimize type lookup logic in core schema generation by [@Viicos](https://github.com/Viicos) in [#13573](https://github.com/pydantic/pydantic/pull/13573)
305
+ * Avoid exponential core schema traversal in `gather_schemas_for_cleaning()` by [@dmontagu](https://github.com/dmontagu) in [#13523](https://github.com/pydantic/pydantic/pull/13523)
306
+
307
+ #### Fixes
308
+
309
+ * Validate falsy `AliasGenerator` outputs by [@jiyujie2006](https://github.com/jiyujie2006) in [#13248](https://github.com/pydantic/pydantic/pull/13248)
310
+ * Do not resolve recursive `'definitions-ref'` schemas in schema cleaning by [@Viicos](https://github.com/Viicos) in [#13276](https://github.com/pydantic/pydantic/pull/13276)
311
+ * Fix missing `max_length` check on lazy iteration validation by [@davidhewitt](https://github.com/davidhewitt) in [#13278](https://github.com/pydantic/pydantic/pull/13278)
312
+ * Handle missing errors with default factories taking validated data by [@Viicos](https://github.com/Viicos) in [#13291](https://github.com/pydantic/pydantic/pull/13291)
313
+ * Recognise `WindowsPath` as a schema type by [@davidhewitt](https://github.com/davidhewitt) in [#13326](https://github.com/pydantic/pydantic/pull/13326)
314
+ * Fix application of nested operators in pipeline API by [@Viicos](https://github.com/Viicos) in [#13363](https://github.com/pydantic/pydantic/pull/13363)
315
+ * Fix type variable substitution in `__pydantic_extra__` by [@Viicos](https://github.com/Viicos) in [#13391](https://github.com/pydantic/pydantic/pull/13391)
316
+ * Fix `json_schema_extra` dict being dropped when a callable follows it in `Annotated` by [@Srivatsa03](https://github.com/Srivatsa03) in [#13374](https://github.com/pydantic/pydantic/pull/13374)
317
+ * Skip `RootModel.__init__()` in Mypy plugin by [@Viicos](https://github.com/Viicos) in [#13441](https://github.com/pydantic/pydantic/pull/13441)
318
+ * Defer placeholders in Mypy plugin by [@Viicos](https://github.com/Viicos) in [#13442](https://github.com/pydantic/pydantic/pull/13442)
319
+ * Do not ignore timezone offset when using `'seconds'/'milliseconds'` `temporal_mode` by [@Viicos](https://github.com/Viicos) in [#13436](https://github.com/pydantic/pydantic/pull/13436)
320
+ * Make model rebuilding logic thread safe by [@Viicos](https://github.com/Viicos) in [#13438](https://github.com/pydantic/pydantic/pull/13438)
321
+ * Fix `Interval` zero bounds silently dropped in pipeline API by [@pctablet505](https://github.com/pctablet505) in [#13452](https://github.com/pydantic/pydantic/pull/13452)
322
+ * Sync `RootModel.model_dump()` signature with its parent by [@Viicos](https://github.com/Viicos) in [#13456](https://github.com/pydantic/pydantic/pull/13456)
323
+ * Return `NotImplemented` from URL ordering comparisons with foreign types by [@chinesepowered](https://github.com/chinesepowered) in [#13495](https://github.com/pydantic/pydantic/pull/13495)
324
+ * Don't error on unhashable generic arguments on generic Pydantic models by [@Viicos](https://github.com/Viicos) in [#13515](https://github.com/pydantic/pydantic/pull/13515)
325
+ * Fix population of `SerializationInfo.exclude_computed_fields` by [@Viicos](https://github.com/Viicos) in [#13560](https://github.com/pydantic/pydantic/pull/13560)
326
+ * Fix serialization of `ValidateAs` by [@Viicos](https://github.com/Viicos) in [#13487](https://github.com/pydantic/pydantic/pull/13487)
327
+ * Allow reuse of validators when plugins are set by [@Viicos](https://github.com/Viicos) in [#13535](https://github.com/pydantic/pydantic/pull/13535)
328
+ * Avoid double-wrapping polymorphism trampoline for model serializers by [@davidhewitt](https://github.com/davidhewitt) in [#13552](https://github.com/pydantic/pydantic/pull/13552)
329
+ * Add `AllowInfNan` type to the field metadata gathering by [@mberdyshev](https://github.com/mberdyshev) in [#13586](https://github.com/pydantic/pydantic/pull/13586)
330
+
331
+ ### New Contributors
332
+
333
+ * [@jiyujie2006](https://github.com/jiyujie2006) made their first contribution in [#13248](https://github.com/pydantic/pydantic/pull/13248)
334
+ * [@pctablet505](https://github.com/pctablet505) made their first contribution in [#13452](https://github.com/pydantic/pydantic/pull/13452)
335
+ * [@LuShadowX](https://github.com/LuShadowX) made their first contribution in [#13503](https://github.com/pydantic/pydantic/pull/13503)
336
+ * [@mberdyshev](https://github.com/mberdyshev) made their first contribution in [#13586](https://github.com/pydantic/pydantic/pull/13586)
337
+
338
+ ## v2.14.0a1 (2026-05-22)
339
+
340
+ [GitHub release](https://github.com/pydantic/pydantic/releases/tag/v2.14.0a1)
341
+
342
+ ### What's Changed
343
+
344
+ #### Packaging
345
+
346
+ * Add PyEmscripten platform tag support by [@Viicos](https://github.com/Viicos), [@greateggsgreg](https://github.com/greateggsgreg) and [@sinaatalay](https://github.com/sinaatalay) in [#13199](https://github.com/pydantic/pydantic/pull/13199):
347
+ `pydantic-core` now has a 3.14 wheel published with the [`pyemscripten_2026_0` platform tag](https://pyodide.org/en/latest/development/abi/314.html).
348
+ Note that this wheel can only be used with [Pyodide 314.0](https://github.com/pyodide/pyodide/issues/6233) and greater, still in development.
349
+ It is recommended to wait for the final 314.0 release (and for Pydantic to publish a new wheel in a future 2.14 release).
350
+
351
+ #### Changes
352
+
353
+ * Accept `None` in `MultiHostUrl.build()`'s `hosts` parameter by [@Viicos](https://github.com/Viicos) in [#13068](https://github.com/pydantic/pydantic/pull/13068)
354
+ * Drop support for Python 3.9 by [@Viicos](https://github.com/Viicos) in [#13070](https://github.com/pydantic/pydantic/pull/13070)
355
+ * Remove support for `eval_type_backport()` by [@Viicos](https://github.com/Viicos) in [#13133](https://github.com/pydantic/pydantic/pull/13133)
356
+ * Only deepcopy non-updated fields in `model_copy()` by [@connorcarpenter15](https://github.com/connorcarpenter15) in [#13087](https://github.com/pydantic/pydantic/pull/13087)
357
+
358
+ #### Fixes
359
+
360
+ * Add Mypy plugin workaround for dynamic models defined in functions by [@ilevkivskyi](https://github.com/ilevkivskyi) in [#13177](https://github.com/pydantic/pydantic/pull/13177)
361
+ * Fallback to `create_model()` overload definition when `__base__` is set to a type variable in the Mypy plugin by [@cyphercodes](https://github.com/cyphercodes) in [#13146](https://github.com/pydantic/pydantic/pull/13146)
362
+
363
+ ### New Contributors
364
+
365
+ * [@ilevkivskyi](https://github.com/ilevkivskyi) made their first contribution in [#13177](https://github.com/pydantic/pydantic/pull/13177)
366
+ * [@cyphercodes](https://github.com/cyphercodes) made their first contribution in [#13146](https://github.com/pydantic/pydantic/pull/13146)
367
+ * [@connorcarpenter15](https://github.com/connorcarpenter15) made their first contribution in [#13087](https://github.com/pydantic/pydantic/pull/13087)
132
368
 
133
369
  ## v2.13.4 (2026-05-06)
134
370
 
@@ -378,7 +614,7 @@ the remaining unexpected changes to the *serialize as any* behavior.
378
614
  [GitHub release](https://github.com/pydantic/pydantic/releases/tag/v2.12.4)
379
615
 
380
616
  This is the fourth 2.12 patch release, fixing more regressions, and reverting a change in the `build()` method
381
- of the [`AnyUrl` and Dsn types](https://docs.pydantic.dev/latest/api/networks/).
617
+ of the [`AnyUrl` and Dsn types](https://pydantic.dev/docs/validation/latest/api/pydantic/networks/).
382
618
 
383
619
  This patch release also fixes an issue with the serialization of IP address types, when `serialize_as_any` is used. The next patch release
384
620
  will try to address the remaining issues with *serialize as any* behavior by introducing a new *polymorphic serialization* feature, that
@@ -390,7 +626,7 @@ should be used in most cases in place of *serialize as any*.
390
626
 
391
627
  * Exclude fields with `exclude_if` from JSON Schema required fields by [@Viicos](https://github.com/Viicos) in [#12430](https://github.com/pydantic/pydantic/pull/12430)
392
628
  * Revert URL percent-encoding of credentials in the `build()` method
393
- of the [`AnyUrl` and Dsn types](https://docs.pydantic.dev/latest/api/networks/) by [@davidhewitt](https://github.com/davidhewitt) in
629
+ of the [`AnyUrl` and Dsn types](https://pydantic.dev/docs/validation/latest/api/pydantic/networks/) by [@davidhewitt](https://github.com/davidhewitt) in
394
630
  [pydantic-core#1833](https://github.com/pydantic/pydantic-core/pull/1833).
395
631
 
396
632
  This was initially considered as a bugfix, but caused regressions and as such was fully reverted. The next release will include
@@ -415,14 +651,14 @@ should be used in most cases in place of *serialize as any*.
415
651
  ### What's Changed
416
652
 
417
653
  This is the third 2.12 patch release, fixing issues related to the `FieldInfo` class, and reverting a change to the supported
418
- [*after* model validator](https://docs.pydantic.dev/latest/concepts/validators/#model-validators) function signatures.
654
+ [*after* model validator](https://pydantic.dev/docs/validation/latest/concepts/validators/#model-validators) function signatures.
419
655
 
420
656
  * Raise a warning when an invalid after model validator function signature is raised by [@Viicos](https://github.com/Viicos) in [#12414](https://github.com/pydantic/pydantic/pull/12414).
421
657
  Starting in 2.12.0, using class methods for *after* model validators raised an error, but the error wasn't raised concistently. We decided
422
658
  to emit a deprecation warning instead.
423
- * Add [`FieldInfo.asdict()`](https://docs.pydantic.dev/latest/api/fields/#pydantic.fields.FieldInfo.asdict) method, improve documentation around `FieldInfo` by [@Viicos](https://github.com/Viicos) in [#12411](https://github.com/pydantic/pydantic/pull/12411).
659
+ * Add [`FieldInfo.asdict()`](https://pydantic.dev/docs/validation/latest/api/pydantic/fields/#pydantic.fields.FieldInfo.asdict) method, improve documentation around `FieldInfo` by [@Viicos](https://github.com/Viicos) in [#12411](https://github.com/pydantic/pydantic/pull/12411).
424
660
  This also add back support for mutations on `FieldInfo` classes, that are reused as `Annotated` metadata. **However**, note that this is still
425
- *not* a supported pattern. Instead, please refer to the [added example](https://docs.pydantic.dev/latest/examples/dynamic_models/) in the documentation.
661
+ *not* a supported pattern. Instead, please refer to the [added example](https://pydantic.dev/docs/validation/latest/examples/dynamic_models/) in the documentation.
426
662
 
427
663
  The [blog post](https://pydantic.dev/articles/pydantic-v2-12-release#changes) section on changes was also updated to document the changes related to `serialize_as_any`.
428
664
 
@@ -465,7 +701,7 @@ This is the first 2.12 patch release, addressing most (but not all yet) regressi
465
701
  [GitHub release](https://github.com/pydantic/pydantic/releases/tag/v2.12.0)
466
702
 
467
703
  This is the final 2.12 release. It features the work of 20 external contributors and provides useful new features, along with initial Python 3.14 support.
468
- Several minor changes (considered non-breaking changes according to our [versioning policy](https://docs.pydantic.dev/2.12/version-policy/#pydantic-v2))
704
+ Several minor changes (considered non-breaking changes according to our [versioning policy](https://pydantic.dev/docs/validation/2.12/get-started/version-policy/#pydantic-v2))
469
705
  are also included in this release. Make sure to look into them before upgrading.
470
706
 
471
707
  **Note that Pydantic V1 is not compatible with Python 3.14 and greater**.
@@ -1304,4 +1540,4 @@ Pre-release, see [the GitHub release](https://github.com/pydantic/pydantic/relea
1304
1540
  Pre-release, see [the GitHub release](https://github.com/pydantic/pydantic/releases/tag/v2.10.0b1) for details.
1305
1541
 
1306
1542
 
1307
- ... see [here](https://docs.pydantic.dev/changelog/#v0322-2019-08-17) for earlier changes.
1543
+ ... see [here](https://pydantic.dev/docs/validation/latest/get-started/changelog/#v2100b1-2024-11-06) for earlier changes.
@@ -1,9 +1,9 @@
1
- pydantic-2.13.5.dist-info/INSTALLER,sha256=zuuue4knoyJ-UwPPXg8fezS7VCrXJQrAP7zeNuwvFQg,4
2
- pydantic-2.13.5.dist-info/METADATA,sha256=BoWDDRNke9bz8FUmBD0yqLKiIdhrU3cwU9bFK7F6nAc,110178
3
- pydantic-2.13.5.dist-info/RECORD,,
4
- pydantic-2.13.5.dist-info/WHEEL,sha256=zOwg4jB6zX2kU910N-cMawjivD6tO8NEWvE12je1bVk,87
5
- pydantic-2.13.5.dist-info/licenses/LICENSE,sha256=qeGG88oWte74QxjnpwFyE1GgDLe4rjpDlLZ7SeNSnvM,1129
6
- pydantic/__init__.py,sha256=5iEnJ4wHv1OEzdKQPzaKaZKfO4pSQAC65ODrYI6_S8Y,15812
1
+ pydantic-2.14.1.dist-info/INSTALLER,sha256=zuuue4knoyJ-UwPPXg8fezS7VCrXJQrAP7zeNuwvFQg,4
2
+ pydantic-2.14.1.dist-info/METADATA,sha256=TUyOjV5qJ9Ugjw15SfJWKOZ0cTMDSWnU0TmbGtU5QDY,133006
3
+ pydantic-2.14.1.dist-info/RECORD,,
4
+ pydantic-2.14.1.dist-info/WHEEL,sha256=W3fkpkm7-wf9vBI5Z-7s0eWkeM-spu78I8Neb98DeEg,87
5
+ pydantic-2.14.1.dist-info/licenses/LICENSE,sha256=qeGG88oWte74QxjnpwFyE1GgDLe4rjpDlLZ7SeNSnvM,1129
6
+ pydantic/__init__.py,sha256=5SSMubvik7NTbb7X_qVDJtzfPAM3CuXwPXlMWEluwBs,15951
7
7
  pydantic/__pycache__/__init__.cpython-313.pyc,,
8
8
  pydantic/__pycache__/_migration.cpython-313.pyc,,
9
9
  pydantic/__pycache__/alias_generators.cpython-313.pyc,,
@@ -55,7 +55,6 @@ pydantic/_internal/__pycache__/_generate_schema.cpython-313.pyc,,
55
55
  pydantic/_internal/__pycache__/_generics.cpython-313.pyc,,
56
56
  pydantic/_internal/__pycache__/_git.cpython-313.pyc,,
57
57
  pydantic/_internal/__pycache__/_import_utils.cpython-313.pyc,,
58
- pydantic/_internal/__pycache__/_internal_dataclass.cpython-313.pyc,,
59
58
  pydantic/_internal/__pycache__/_known_annotated_metadata.cpython-313.pyc,,
60
59
  pydantic/_internal/__pycache__/_mock_val_ser.cpython-313.pyc,,
61
60
  pydantic/_internal/__pycache__/_model_construction.cpython-313.pyc,,
@@ -65,46 +64,47 @@ pydantic/_internal/__pycache__/_schema_gather.cpython-313.pyc,,
65
64
  pydantic/_internal/__pycache__/_schema_generation_shared.cpython-313.pyc,,
66
65
  pydantic/_internal/__pycache__/_serializers.cpython-313.pyc,,
67
66
  pydantic/_internal/__pycache__/_signature.cpython-313.pyc,,
67
+ pydantic/_internal/__pycache__/_type_refs.cpython-313.pyc,,
68
68
  pydantic/_internal/__pycache__/_typing_extra.cpython-313.pyc,,
69
69
  pydantic/_internal/__pycache__/_utils.cpython-313.pyc,,
70
70
  pydantic/_internal/__pycache__/_validate_call.cpython-313.pyc,,
71
71
  pydantic/_internal/__pycache__/_validators.cpython-313.pyc,,
72
- pydantic/_internal/_config.py,sha256=Rzys1Joffn4JczElcYDqsZLRgBgHn2lYWqDR55oASPA,14839
72
+ pydantic/_internal/_config.py,sha256=uxf8GUm6HzsBeJ_rYiCnUWxFYt8LtRZSt54uSHNePQA,14916
73
73
  pydantic/_internal/_core_metadata.py,sha256=Y_g2t3i7uluK-wXCZvzJfRFMPUM23aBYLfae4FzBPy0,5162
74
- pydantic/_internal/_core_utils.py,sha256=1jru4VbJ0x63R6dtVcuOI-dKQTC_d_lSnJWEBQzGNEQ,6487
75
- pydantic/_internal/_dataclasses.py,sha256=Zgqcm1WaJLBwTQQC5mGKNowjlTgX3mfX_J5e2vd24lM,13188
76
- pydantic/_internal/_decorators.py,sha256=RDEG_Jau5NiJcfO0xgdT7EOgsU1LgWIYlX7wN5rYtVs,33620
77
- pydantic/_internal/_decorators_v1.py,sha256=tfdfdpQKY4R2XCOwqHbZeoQMur6VNigRrfhudXBHx38,6185
78
- pydantic/_internal/_discriminated_union.py,sha256=JLx_MVLep7Mxl1zbpdNZjvHDcz-J3OEW6WcdV184dcM,26255
79
- pydantic/_internal/_docs_extraction.py,sha256=fyznSAHh5AzohnXZStV0HvH-nRbavNHPyg-knx-S_EE,4127
80
- pydantic/_internal/_fields.py,sha256=hXeb-zodGwTDvG9OK1um18P64b7cqHb0GOngP4jrgcY,31557
81
- pydantic/_internal/_forward_ref.py,sha256=5n3Y7-3AKLn8_FS3Yc7KutLiPUhyXmAtkEZOaFnonwM,611
82
- pydantic/_internal/_generate_schema.py,sha256=PjogUawIXmf8LuLNe9seJph7WLW4MJ7-GBsXwCsQC9Q,136348
83
- pydantic/_internal/_generics.py,sha256=CXjcInlvci8VejaWn1f39kv0AcfJL0R523qRLFZVD-s,23393
74
+ pydantic/_internal/_core_utils.py,sha256=iovsFQ0u9wtPvEXNSqQtXGSFXcpPE_aTAo1SXM75G1E,5913
75
+ pydantic/_internal/_dataclasses.py,sha256=Oxv8s2EK-PQvYAe_9kD1yKg9cMNJtm1lg0SWtRyz2Ww,13640
76
+ pydantic/_internal/_decorators.py,sha256=ZqaoKcwtWudWa-WsopixHSZeA75YGIkI9GOigCmIzlk,35483
77
+ pydantic/_internal/_decorators_v1.py,sha256=v7_cyEBvJceFO0aYa1AuvYeaMvjEYRQ3-TbW8U8Ghds,6198
78
+ pydantic/_internal/_discriminated_union.py,sha256=HdRL2XOFoCeV95rK0YkxJWPhSdmZWnutRaaBkmQ60Hs,27686
79
+ pydantic/_internal/_docs_extraction.py,sha256=8UYnAy-GxCePc0XoH43oIkdNAqFmICLyjp48SMtGoCw,4140
80
+ pydantic/_internal/_fields.py,sha256=-lSyiply9Ttnx51WhUnaxXvnZ0Yem_qZxh7vUSptqyo,39627
81
+ pydantic/_internal/_forward_ref.py,sha256=q6SQhW8wo9vPZiuXJ661Vfg7PgoqeJBQTA3dpInXWlA,641
82
+ pydantic/_internal/_generate_schema.py,sha256=dZNxARwclDkMeG2j_S16MS8FvDA9GdnNh6VCaiEiFrA,141797
83
+ pydantic/_internal/_generics.py,sha256=4WpBm518c-ZHOiT3ft1hK9JNocIuZkxzjXs8d1bnafg,24574
84
84
  pydantic/_internal/_git.py,sha256=IwPh3DPfa2Xq3rBuB9Nx8luR2A1i69QdeTfWWXIuCVg,809
85
85
  pydantic/_internal/_import_utils.py,sha256=TRhxD5OuY6CUosioBdBcJUs0om7IIONiZdYAV7zQ8jM,402
86
- pydantic/_internal/_internal_dataclass.py,sha256=_bedc1XbuuygRGiLZqkUkwwFpQaoR1hKLlR501nyySY,144
87
- pydantic/_internal/_known_annotated_metadata.py,sha256=PynQIFQ61__4Gcrzn0D5ENllg7jPq_cxoLTmuFQBY88,16805
88
- pydantic/_internal/_mock_val_ser.py,sha256=wmRRFSBvqfcLbI41PsFliB4u2AZ3mJpZeiERbD3xKTo,8885
89
- pydantic/_internal/_model_construction.py,sha256=JoKmY4JrDBu3nG_tCIrJgtJJE1uq6v29TvTz5ElHE5g,38928
90
- pydantic/_internal/_namespace_utils.py,sha256=hl3-TRAr82U2jTyPP3t-QqsvKLirxtkLfNfrN-fp0x8,12878
91
- pydantic/_internal/_repr.py,sha256=jQfnJuyDxQpSRNhG29II9PX8e4Nv2qWZrEw2lqih3UE,5172
92
- pydantic/_internal/_schema_gather.py,sha256=8nJ-uM6Y4z6xpasnGonEMubtNVX_mxeeRDFmd_qMVLA,9052
93
- pydantic/_internal/_schema_generation_shared.py,sha256=F_rbQbrkoomgxsskdHpP0jUJ7TCfe0BADAEkq6CJ4nM,4842
86
+ pydantic/_internal/_known_annotated_metadata.py,sha256=KSObdJ3af4YRPEcLFR65XBizJF33h5Ypckeu9JAvKxQ,16863
87
+ pydantic/_internal/_mock_val_ser.py,sha256=VqbsIOgenoQQiM-NsFMl9uY7itgJSuPNpXVKaY7A0pM,9432
88
+ pydantic/_internal/_model_construction.py,sha256=6fixeFIkVMJP8Es9e3NGZbILnjtu1Mm119X-WtAZzuM,36663
89
+ pydantic/_internal/_namespace_utils.py,sha256=8_QlLr773kmPzIGCu8RjExBJhGwBn0RAjKMWglzav-s,13328
90
+ pydantic/_internal/_repr.py,sha256=MNka4onC9u-tXJvV2rsz3JXsuxqlwKbKnd16-tgxriw,4981
91
+ pydantic/_internal/_schema_gather.py,sha256=0qGbiz4pdcfvdMiH7JueJ10tQ8c750g1OkZ0xyP_20Q,1892
92
+ pydantic/_internal/_schema_generation_shared.py,sha256=8nLsSaqgEebxeF26OwiPBt0ZVPipGqW1IV40agkRfxw,4869
94
93
  pydantic/_internal/_serializers.py,sha256=YIWvSmAR5fnbGSWCOQduWt1yB4ZQY42eAruc-enrb6c,1491
95
- pydantic/_internal/_signature.py,sha256=i_b6wtluiVWZRh1ZY8UvB2UZziP1KjqSXZgC-HxwOT0,6808
96
- pydantic/_internal/_typing_extra.py,sha256=dDxqF46lzuqCoKLrAH_k95EDbayEeKb2lHjuTJ5OBoY,31574
97
- pydantic/_internal/_utils.py,sha256=gN48BsR-FDrJDibCmo69ttQg67WbuFrdy_1NQL3cvLI,15959
98
- pydantic/_internal/_validate_call.py,sha256=OD_BspHaL9FKzZ9XrndhiEuMnjF3SRIJUHtwv6yUffU,5366
99
- pydantic/_internal/_validators.py,sha256=7GTjXXWFMLib4dxQ-HeaiHlAZiR2B2G8byCYMGrmQ48,20563
100
- pydantic/_migration.py,sha256=VF73LRCUz3Irb5xVt13jb3NAcXVnEF6T1-J0OLfeZ5A,12160
94
+ pydantic/_internal/_signature.py,sha256=64JyRJJ8Gf-JOfrZa2xTNUdGpd7RGqdNLYFXYOFuPZU,7143
95
+ pydantic/_internal/_type_refs.py,sha256=nxJgVhwwxiSOcQbrc1e5La-Dpm5wU_4SSKJUBkp0hOU,4521
96
+ pydantic/_internal/_typing_extra.py,sha256=5WgRV0MVsZqah9pW4o_Bbmsu73BEmELVhO7k23NUNwQ,20967
97
+ pydantic/_internal/_utils.py,sha256=I95ZNRhlU-m8V5pqBZSrP2sMINY-iw5abcPUURhaBng,15386
98
+ pydantic/_internal/_validate_call.py,sha256=GvGnf2WTPBm8g6X9U3RyMvL5o9y5K846kdK5CQ_QPhk,5369
99
+ pydantic/_internal/_validators.py,sha256=-Y9au4Rzog0CdMEeOHs77c998MTvgaEWfRNgxDL2c4k,20987
100
+ pydantic/_migration.py,sha256=JOy2oMMZrJvIsPRlWh0FbC16bWixErjGCvsiwQccpzM,12188
101
101
  pydantic/alias_generators.py,sha256=KM1n3u4JfLSBl1UuYg3hoYHzXJD-yvgrnq8u1ccwh_A,2124
102
- pydantic/aliases.py,sha256=vhCHyoSWnX-EJ-wWb5qj4xyRssgGWnTQfzQp4GSZ9ug,4937
103
- pydantic/annotated_handlers.py,sha256=WfyFSqwoEIFXBh7T73PycKloI1DiX45GWi0-JOsCR4Y,4407
102
+ pydantic/aliases.py,sha256=fKQM9m7pLZ2UoTIqK-bMoxs5cWNINrHxphxzsB6VAd8,4902
103
+ pydantic/annotated_handlers.py,sha256=9rrOLFTg9yPW4ZRbQAieWvDE_kG6xLPOeJ-Ln1JN6Jk,4421
104
104
  pydantic/class_validators.py,sha256=i_V3j-PYdGLSLmj_IJZekTRjunO8SIVz8LMlquPyP7E,148
105
- pydantic/color.py,sha256=AzqGfVQHF92_ZctDcue0DM4yTp2P6tekkwRINTWrLIo,21481
106
- pydantic/config.py,sha256=o1P67FMWIQG-_RfGtKislkHwo4pXm_6jfsR41P88v78,44533
107
- pydantic/dataclasses.py,sha256=4X9We0jj1KLwBtvYSkAFXNon46zrpBmRZANf4LfwbXg,18963
105
+ pydantic/color.py,sha256=EWm2m3oyXpqW1L7wsFSUt_DfMf-gHTxn0UhQ33gKDGA,21497
106
+ pydantic/config.py,sha256=zmKAzWHE086FISLj91mWcRuu2QfMqxtgmprr9vGhIXE,44640
107
+ pydantic/dataclasses.py,sha256=5RZewSZfdLovApy-6VbRxOspUp7sR_i0o0j5hG2iLNE,18422
108
108
  pydantic/datetime_parse.py,sha256=QC-WgMxMr_wQ_mNXUS7AVf-2hLEhvvsPY1PQyhSGOdk,150
109
109
  pydantic/decorator.py,sha256=YX-jUApu5AKaVWKPoaV-n-4l7UbS69GEt9Ra3hszmKI,145
110
110
  pydantic/deprecated/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
@@ -116,46 +116,46 @@ pydantic/deprecated/__pycache__/decorator.cpython-313.pyc,,
116
116
  pydantic/deprecated/__pycache__/json.cpython-313.pyc,,
117
117
  pydantic/deprecated/__pycache__/parse.cpython-313.pyc,,
118
118
  pydantic/deprecated/__pycache__/tools.cpython-313.pyc,,
119
- pydantic/deprecated/class_validators.py,sha256=n0jYQOcb5YQiw0b7YXyi7NPiYdV7ujWR4KyZumjTPok,10281
119
+ pydantic/deprecated/class_validators.py,sha256=c4Enq1yr1NIZipGEqLQw0s9L0JY2LZyDlgatpCiXfWg,10303
120
120
  pydantic/deprecated/config.py,sha256=k_lsVk57paxLJOcBueH07cu1OgEgWdVBxm6lfaC3CCU,2663
121
121
  pydantic/deprecated/copy_internals.py,sha256=Ghd-vkMd5EYCCgyCGtPKO58np9cEKBQC6qkBeIEFI2g,7618
122
- pydantic/deprecated/decorator.py,sha256=TBm6bJ7wJsNih_8Wq5IzDcwP32m9_vfxs96desLuk00,10845
123
- pydantic/deprecated/json.py,sha256=HlWCG35RRrxyzuTS6LTQiZBwRhmDZWmeqQH8rLW6wA8,4657
124
- pydantic/deprecated/parse.py,sha256=Gzd6b_g8zJXcuE7QRq5adhx_EMJahXfcpXCF0RgrqqI,2511
125
- pydantic/deprecated/tools.py,sha256=Nrm9oFRZWp8-jlfvPgJILEsywp4YzZD52XIGPDLxHcI,3330
122
+ pydantic/deprecated/decorator.py,sha256=HJj2JgqbNJ8pL-0mir6qOJldX2QLkFXJZjQ1nztj80E,10879
123
+ pydantic/deprecated/json.py,sha256=9Epyf5cq1b-dc0hz2jJ453v669WzE6Y8IJZnrp2joEg,4669
124
+ pydantic/deprecated/parse.py,sha256=bv0BjbgoocyvB47LcJw6nZNbm6Hsx_Qnno_LCajH4rU,2538
125
+ pydantic/deprecated/tools.py,sha256=iZPmaAKOVgNH6nieYfrMHU0QGwyMUJjaXrjZZgu-t0I,3357
126
126
  pydantic/env_settings.py,sha256=6IHeeWEqlUPRUv3V-AXiF_W91fg2Jw_M3O0l34J_eyA,148
127
127
  pydantic/error_wrappers.py,sha256=RK6mqATc9yMD-KBD9IJS9HpKCprWHd8wo84Bnm-3fR8,150
128
- pydantic/errors.py,sha256=DrECPCWhSYrQ8Ba4O8hKzIAM2i9GBHTXWALzaFDpLf4,6013
128
+ pydantic/errors.py,sha256=6NPyyd43KzDJdl2mZ9qKMWuYMR2sT1__-vjFCqSzZQk,5870
129
129
  pydantic/experimental/__init__.py,sha256=QT7rKYdDsCiTJ9GEjmsQdWHScwpKrrNkGq6vqONP6RQ,104
130
130
  pydantic/experimental/__pycache__/__init__.cpython-313.pyc,,
131
131
  pydantic/experimental/__pycache__/arguments_schema.cpython-313.pyc,,
132
132
  pydantic/experimental/__pycache__/missing_sentinel.cpython-313.pyc,,
133
133
  pydantic/experimental/__pycache__/pipeline.cpython-313.pyc,,
134
134
  pydantic/experimental/arguments_schema.py,sha256=EFnjX_ulp-tPyUjQX5pmQtug1OFL_Acc8bcMbLd-fVY,1866
135
- pydantic/experimental/missing_sentinel.py,sha256=hQejgtF00wUuQMni9429evg-eXyIwpKvjsD8ofqfj-w,127
136
- pydantic/experimental/pipeline.py,sha256=auoW6l6g1FC41LciPmsI1M6ncf00Szde9B3C-yvb9mI,23956
137
- pydantic/fields.py,sha256=a8ZhJfI8FD6TQDD7-cWMm1ZXlQva0wMdT2Ey5VvVe-M,82023
138
- pydantic/functional_serializers.py,sha256=zwRAjZusORtEbtxpVU20kg8FpemyZz4Fq6wJk1mpwYQ,18117
139
- pydantic/functional_validators.py,sha256=7p-4jvP__9jZyvcdXiide5pAa_JlM7fJ1BgkqbjxSWM,31724
135
+ pydantic/experimental/missing_sentinel.py,sha256=QbQMTCvWIi_UYlURHbQshmplpKQjg8yVVlS0FVJylBM,845
136
+ pydantic/experimental/pipeline.py,sha256=J5T4lQuDx3bCPpunCsncDknCy3Ut0BYA7HUDbGLA1gY,24962
137
+ pydantic/fields.py,sha256=cFOOSYimdI-W16mRrOjvilaYO71fWJr8E9MRUFMevKc,88258
138
+ pydantic/functional_serializers.py,sha256=wcF7l3ZzY4rEXBG0IkU3KLGr5_NIEKS6-CFq14luVSI,17929
139
+ pydantic/functional_validators.py,sha256=ungjnjugPxAh7vPhU7Yp7k6zdPUfKZrtOFbRzN064fw,33225
140
140
  pydantic/generics.py,sha256=0ZqZ9O9annIj_3mGBRqps4htey3b5lV1-d2tUxPMMnA,144
141
141
  pydantic/json.py,sha256=ZH8RkI7h4Bz-zp8OdTAxbJUoVvcoU-jhMdRZ0B-k0xc,140
142
- pydantic/json_schema.py,sha256=da3hQ9vQPLEhPsrDnUlijfQ1fuCCViGVnUzOrAZLgDs,125955
143
- pydantic/main.py,sha256=NbhCz-ku8wDgYLQMBi75Ov7hywdc8LewA3oUNIZ8JVQ,85334
144
- pydantic/mypy.py,sha256=ypnhh7hn-L-mk6sW4CcrdV2C5lyMzcM6FTBj21GufsE,61074
145
- pydantic/networks.py,sha256=gCB96gt0G7tiVDhVnJfpKr1ARL5qkH-SPZkuNkmG2O4,42102
142
+ pydantic/json_schema.py,sha256=rRB_vFJULXrsTMsIVahTyIsa0nJX8oMYLe_mhPzqbSA,142234
143
+ pydantic/main.py,sha256=hDNfwFoRKig0r0oEj3HGp8RrkPRGi-5UHaNuQ4o4cZA,91376
144
+ pydantic/mypy.py,sha256=8qaRSTchUYqUln0bg8zojiTEKrO17Sjw5LSyhQSuGRk,64439
145
+ pydantic/networks.py,sha256=YIXsCaWUqE7FMwAO5ujYXClMLxI3KP6e2MdVwnP5X4s,44516
146
146
  pydantic/parse.py,sha256=wkd82dgtvWtD895U_I6E1htqMlGhBSYEV39cuBSeo3A,141
147
- pydantic/plugin/__init__.py,sha256=a7Tw366U6K3kltCCNZY76nc9ss-7uGGQ40TXad9OypQ,7333
147
+ pydantic/plugin/__init__.py,sha256=SrVX9XDbUKzt6BVNBRKXKmEqxecEREq6A4WoV_RMJhc,7263
148
148
  pydantic/plugin/__pycache__/__init__.cpython-313.pyc,,
149
149
  pydantic/plugin/__pycache__/_loader.cpython-313.pyc,,
150
150
  pydantic/plugin/__pycache__/_schema_validator.cpython-313.pyc,,
151
151
  pydantic/plugin/_loader.py,sha256=hAjgSljoIhGx3AVpIpuqw5SPttBNNeGBSTrqSMnNiJk,2213
152
- pydantic/plugin/_schema_validator.py,sha256=thbZz_-5sYPzxsC5uWK5GDfYcmmrsecC8Vw_A02mhwU,5815
152
+ pydantic/plugin/_schema_validator.py,sha256=__9f3t6adZxNgyzajuNda5siIvKWDDXssE6QD8hzXB4,5815
153
153
  pydantic/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
154
- pydantic/root_model.py,sha256=cOMoeWdp536KF85uRIcW-oz1O7d5GRCpx9HTS4-1uf8,6394
154
+ pydantic/root_model.py,sha256=DlZVc2b8wLEYQD6ZmmxPSPMLxI-EnqHspBKysXGZSy0,8703
155
155
  pydantic/schema.py,sha256=Vqqjvq_LnapVknebUd3Bp_J1p2gXZZnZRgL48bVEG7o,142
156
156
  pydantic/tools.py,sha256=iHQpd8SJ5DCTtPV5atAV06T89bjSaMFeZZ2LX9lasZY,141
157
- pydantic/type_adapter.py,sha256=T05g8WQczBsVU_35RdKxgjIi7Y7LIip67pF3NI7X4GE,36123
158
- pydantic/types.py,sha256=fpYcGnAncK4QjaFm3jZtqYwxJYzB7rJJPfAl89emzyQ,105961
157
+ pydantic/type_adapter.py,sha256=woRrtEFtcoVTrfTyzQ_e2yoprISljsSQU6LzPVx8ZV4,36039
158
+ pydantic/types.py,sha256=5IFO7vOYHyaPf4VE2bRi9aUdH1CY-NgADjpYDfwIWQQ,110280
159
159
  pydantic/typing.py,sha256=P7feA35MwTcLsR1uL7db0S-oydBxobmXa55YDoBgajQ,138
160
160
  pydantic/utils.py,sha256=15nR2QpqTBFlQV4TNtTItMyTJx_fbyV-gPmIEY1Gooc,141
161
161
  pydantic/v1/__init__.py,sha256=SxQPklgBs4XHJwE6BZ9qoewYoGiNyYUnmHzEFCZbfnI,2946
@@ -196,7 +196,7 @@ pydantic/v1/decorator.py,sha256=zaaxxxoWPCm818D1bs0yhapRjXm32V8G0ZHWCdM1uXA,1033
196
196
  pydantic/v1/env_settings.py,sha256=A9VXwtRl02AY-jH0C0ouy5VNw3fi6F_pkzuHDjgAAOM,14105
197
197
  pydantic/v1/error_wrappers.py,sha256=6625Mfw9qkC2NwitB_JFAWe8B-Xv6zBU7rL9k28tfyo,5196
198
198
  pydantic/v1/errors.py,sha256=mIwPED5vGM5Q5v4C4Z1JPldTRH-omvEylH6ksMhOmPw,17726
199
- pydantic/v1/fields.py,sha256=VqWJCriUNiEyptXroDVJ501JpVA0en2VANcksqXL2b8,50649
199
+ pydantic/v1/fields.py,sha256=MjiQ6Q5RkE-koXfmx8tYJbfe97_QeYtnpkQf8OTve_s,50646
200
200
  pydantic/v1/generics.py,sha256=YzyKTZN6x5Q1RGJ3WQ9jN-uwHJxL3W4qoZqwcZXqxWg,17829
201
201
  pydantic/v1/json.py,sha256=WQ5Hy_hIpfdR3YS8k6N2E6KMJzsdbBi_ldWOPJaV81M,3390
202
202
  pydantic/v1/main.py,sha256=vRB1TbpkzPN3P5ijJlc-cjNuO-HciNOpC4b8K3zZnfc,45697
@@ -211,7 +211,7 @@ pydantic/v1/typing.py,sha256=ovwtLpEZCbnghZaHfSNJupzetzHNkLXjn_66kgTnIV4,20102
211
211
  pydantic/v1/utils.py,sha256=1PqOIlz6OVWwGds3HBKlw4Et6asFou0UUpAto7jFOCs,26014
212
212
  pydantic/v1/validators.py,sha256=lyUkn1MWhHxlCX5ZfEgFj_CAHojoiPcaQeMdEM9XviU,22187
213
213
  pydantic/v1/version.py,sha256=YpHWOQKtGoxfyikzGrcmXJVKUVYB9EBdoCR994QxSnE,1039
214
- pydantic/validate_call_decorator.py,sha256=VLAi4hoFpjC-1eL0HixYaaWaEFO6htGcDctgsqa5VII,4416
214
+ pydantic/validate_call_decorator.py,sha256=oktZNbH04RAEV99NSvl5ETPNLTEEE_HLkwj64TOsWd0,4749
215
215
  pydantic/validators.py,sha256=pwbIJXVb1CV2mAE4w_EGfNj7DwzsKaWw_tTL6cviTus,146
216
- pydantic/version.py,sha256=uKOxh0LjiZkZ0KfLmlpPYRAY-_NpIX8ijxOLDNhW8m8,3985
217
- pydantic/warnings.py,sha256=3QyQo6lN35cO7OXDbFEXWcNaPlGCRaregVZA-G-lZwI,4822
216
+ pydantic/version.py,sha256=9afD-VnYJ0CS7G0FdXKCEWW5IPY-ZHRsbU-ETDyysiA,3985
217
+ pydantic/warnings.py,sha256=tIhE-YCNiWNgO53dwo7jYdOFv7AHzJmTkbMdEGZLEko,5177
@@ -1,4 +1,4 @@
1
1
  Wheel-Version: 1.0
2
- Generator: hatchling 1.32.0
2
+ Generator: hatchling 1.32.4
3
3
  Root-Is-Purelib: true
4
4
  Tag: py3-none-any
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
4
4
 
5
5
  [project]
6
6
  name = "dbspec"
7
- version = "1.5.3"
7
+ version = "1.5.5"
8
8
  description = "DBSpec: CLI/TUI for database design (Excel as DSL)"
9
9
  readme = "README.md"
10
10
  requires-python = ">=3.11"
@@ -1,4 +1,4 @@
1
- # version 2026d
1
+ # version 2026e
2
2
  # redo posix_only
3
3
  # This zic input file is in the public domain.
4
4
  R d 1916 o - Jun 14 23s 1 S
@@ -2870,7 +2870,9 @@ Z America/Whitehorse -9:0:12 - LMT 1900 Au 20
2870
2870
  -7 - MST
2871
2871
  Z America/Winnipeg -6:28:36 - LMT 1887 Jul 16
2872
2872
  -6 W C%sT 2006
2873
- -6 C C%sT
2873
+ -6 C C%sT 2026 O 31
2874
+ -6 C CDT 2026 N 1 2
2875
+ -5 - EST
2874
2876
  Z America/Yakutat 14:41:5 - LMT 1867 O 19 0:31:13u
2875
2877
  -9:18:55 - LMT 1900 Au 20 12
2876
2878
  -9 - YST 1942
@@ -3570,6 +3572,8 @@ Z Europe/Dublin -0:25:21 - LMT 1880 Au 2
3570
3572
  -0:25:21 - DMT 1916 May 21 2s
3571
3573
  -0:25:21 1 IST 1916 O 1 2s
3572
3574
  0 G %s 1921 D 6
3575
+ 0 G GMT/IST 1925 S Su>=16 2s
3576
+ 0 - GMT 1926
3573
3577
  0 G GMT/IST 1940 F 25 2s
3574
3578
  0 1 IST 1946 O 6 2s
3575
3579
  0 - GMT 1947 Mar 16 2s
@@ -116,7 +116,7 @@ CA +5125-05707 America/Blanc-Sablon AST - QC (Lower North Shore)
116
116
  CA +4339-07923 America/Toronto Eastern - ON & QC (most areas)
117
117
  CA +6344-06828 America/Iqaluit Eastern - NU (most areas)
118
118
  CA +484531-0913718 America/Atikokan EST - ON (Atikokan), NU (Coral H)
119
- CA +4953-09709 America/Winnipeg Central - ON (west), Manitoba
119
+ CA +4953-09709 America/Winnipeg EST - Manitoba, ON (northwest)
120
120
  CA +744144-0944945 America/Resolute Central - NU (Resolute)
121
121
  CA +624900-0920459 America/Rankin_Inlet Central - NU (central)
122
122
  CA +5024-10439 America/Regina CST - SK (most areas)
@@ -107,7 +107,7 @@ CA +4606-06447 America/Moncton Atlantic - New Brunswick
107
107
  CA +5320-06025 America/Goose_Bay Atlantic - Labrador (most areas)
108
108
  CA,BS +4339-07923 America/Toronto Eastern - ON & QC (most areas)
109
109
  CA +6344-06828 America/Iqaluit Eastern - NU (most areas)
110
- CA +4953-09709 America/Winnipeg Central - ON (west), Manitoba
110
+ CA +4953-09709 America/Winnipeg EST - Manitoba, ON (northwest)
111
111
  CA +744144-0944945 America/Resolute Central - NU (Resolute)
112
112
  CA +624900-0920459 America/Rankin_Inlet Central - NU (central)
113
113
  CA +5024-10439 America/Regina CST - SK (most areas)
@@ -80,7 +80,10 @@ XX +1924-09909 America/Mexico_City Central Standard (CST) - Saskatchewan; centra
80
80
  XX -2709-10926 Pacific/Easter Easter Island
81
81
  #
82
82
  # -06/-05 - CST/CDT (North America DST)
83
- XX +415100-0873900 America/Chicago Central (CST/CDT) - US & Canada; Mexico near US border
83
+ XX +415100-0873900 America/Chicago Central (CST/CDT) - US; Mexico near US border; central Nunavut
84
+ #
85
+ # -06/-05 - CST/CDT (North America DST) until 2026-11-01 02:00; then EST
86
+ XX +4953-09709 America/Winnipeg Eastern Standard (EST) - Manitoba, northwestern Ontario
84
87
  #
85
88
  # -05
86
89
  XX -1203-07703 America/Lima eastern South America
Binary file
package/package.json CHANGED
@@ -24,5 +24,5 @@
24
24
  "publishConfig": {
25
25
  "access": "public"
26
26
  },
27
- "version": "1.5.3"
27
+ "version": "1.5.5"
28
28
  }
@@ -1,14 +0,0 @@
1
- markupsafe-3.0.3.dist-info/INSTALLER,sha256=zuuue4knoyJ-UwPPXg8fezS7VCrXJQrAP7zeNuwvFQg,4
2
- markupsafe-3.0.3.dist-info/METADATA,sha256=8K5duwnVD7X3Yyw9U_AiCZXvdgGeWJLgpUV0ATak48s,2764
3
- markupsafe-3.0.3.dist-info/RECORD,,
4
- markupsafe-3.0.3.dist-info/WHEEL,sha256=qV0EIPljj1XC_vuSatRWjn02nZIz3N1t8jsZz7HBr2U,101
5
- markupsafe-3.0.3.dist-info/licenses/LICENSE.txt,sha256=RjHsDbX9kKVH4zaBcmTGeYIUM4FG-KyUtKV_lu6MnsQ,1503
6
- markupsafe-3.0.3.dist-info/top_level.txt,sha256=qy0Plje5IJuvsCBjejJyhDCjEAdcDLK_2agVcex8Z6U,11
7
- markupsafe/__init__.py,sha256=ut2LXj-6sqkIVUdSAx-dboB5crAaRG5y7EO447hmaro,13644
8
- markupsafe/__pycache__/__init__.cpython-313.pyc,,
9
- markupsafe/__pycache__/_native.cpython-313.pyc,,
10
- markupsafe/_native.py,sha256=2ptkJ40yCcp9kq3L1NqpgjfpZB-obniYKFFKUOkHh4Q,218
11
- markupsafe/_speedups.c,sha256=efc6azc50WbKxSNinxV4rktIX2xzWfKsLvncC8Z3I_w,4527
12
- markupsafe/_speedups.cp313-win_amd64.pyd,sha256=pEBLb45Lqy54Kzc1B6MKt7cTDIiH9ivw5OSptl0K3TA,13312
13
- markupsafe/_speedups.pyi,sha256=LSDmXYOefH4HVpAXuL8sl7AttLw0oXh1njVoVZp2wqQ,42
14
- markupsafe/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
@@ -1,133 +0,0 @@
1
- Metadata-Version: 2.4
2
- Name: importlib_metadata
3
- Version: 8.7.1
4
- Summary: Read metadata from Python packages
5
- Author-email: "Jason R. Coombs" <jaraco@jaraco.com>
6
- License-Expression: Apache-2.0
7
- Project-URL: Source, https://github.com/python/importlib_metadata
8
- Classifier: Development Status :: 5 - Production/Stable
9
- Classifier: Intended Audience :: Developers
10
- Classifier: Programming Language :: Python :: 3
11
- Classifier: Programming Language :: Python :: 3 :: Only
12
- Requires-Python: >=3.9
13
- Description-Content-Type: text/x-rst
14
- License-File: LICENSE
15
- Requires-Dist: zipp>=3.20
16
- Provides-Extra: test
17
- Requires-Dist: pytest!=8.1.*,>=6; extra == "test"
18
- Requires-Dist: packaging; extra == "test"
19
- Requires-Dist: pyfakefs; extra == "test"
20
- Requires-Dist: flufl.flake8; extra == "test"
21
- Requires-Dist: pytest-perf>=0.9.2; extra == "test"
22
- Requires-Dist: jaraco.test>=5.4; extra == "test"
23
- Provides-Extra: doc
24
- Requires-Dist: sphinx>=3.5; extra == "doc"
25
- Requires-Dist: jaraco.packaging>=9.3; extra == "doc"
26
- Requires-Dist: rst.linker>=1.9; extra == "doc"
27
- Requires-Dist: furo; extra == "doc"
28
- Requires-Dist: sphinx-lint; extra == "doc"
29
- Requires-Dist: jaraco.tidelift>=1.4; extra == "doc"
30
- Provides-Extra: perf
31
- Requires-Dist: ipython; extra == "perf"
32
- Provides-Extra: check
33
- Requires-Dist: pytest-checkdocs>=2.4; extra == "check"
34
- Requires-Dist: pytest-ruff>=0.2.1; sys_platform != "cygwin" and extra == "check"
35
- Provides-Extra: cover
36
- Requires-Dist: pytest-cov; extra == "cover"
37
- Provides-Extra: enabler
38
- Requires-Dist: pytest-enabler>=3.4; extra == "enabler"
39
- Provides-Extra: type
40
- Requires-Dist: pytest-mypy>=1.0.1; extra == "type"
41
- Requires-Dist: mypy<1.19; platform_python_implementation == "PyPy" and extra == "type"
42
- Dynamic: license-file
43
-
44
- .. image:: https://img.shields.io/pypi/v/importlib_metadata.svg
45
- :target: https://pypi.org/project/importlib_metadata
46
-
47
- .. image:: https://img.shields.io/pypi/pyversions/importlib_metadata.svg
48
-
49
- .. image:: https://github.com/python/importlib_metadata/actions/workflows/main.yml/badge.svg
50
- :target: https://github.com/python/importlib_metadata/actions?query=workflow%3A%22tests%22
51
- :alt: tests
52
-
53
- .. image:: https://img.shields.io/endpoint?url=https://raw.githubusercontent.com/astral-sh/ruff/main/assets/badge/v2.json
54
- :target: https://github.com/astral-sh/ruff
55
- :alt: Ruff
56
-
57
- .. image:: https://readthedocs.org/projects/importlib-metadata/badge/?version=latest
58
- :target: https://importlib-metadata.readthedocs.io/en/latest/?badge=latest
59
-
60
- .. image:: https://img.shields.io/badge/skeleton-2025-informational
61
- :target: https://blog.jaraco.com/skeleton
62
-
63
- .. image:: https://tidelift.com/badges/package/pypi/importlib-metadata
64
- :target: https://tidelift.com/subscription/pkg/pypi-importlib-metadata?utm_source=pypi-importlib-metadata&utm_medium=readme
65
-
66
- Library to access the metadata for a Python package.
67
-
68
- This package supplies third-party access to the functionality of
69
- `importlib.metadata <https://docs.python.org/3/library/importlib.metadata.html>`_
70
- including improvements added to subsequent Python versions.
71
-
72
-
73
- Compatibility
74
- =============
75
-
76
- New features are introduced in this third-party library and later merged
77
- into CPython. The following table indicates which versions of this library
78
- were contributed to different versions in the standard library:
79
-
80
- .. list-table::
81
- :header-rows: 1
82
-
83
- * - importlib_metadata
84
- - stdlib
85
- * - 7.0
86
- - 3.13
87
- * - 6.5
88
- - 3.12
89
- * - 4.13
90
- - 3.11
91
- * - 4.6
92
- - 3.10
93
- * - 1.4
94
- - 3.8
95
-
96
-
97
- Usage
98
- =====
99
-
100
- See the `online documentation <https://importlib-metadata.readthedocs.io/>`_
101
- for usage details.
102
-
103
- `Finder authors
104
- <https://docs.python.org/3/reference/import.html#finders-and-loaders>`_ can
105
- also add support for custom package installers. See the above documentation
106
- for details.
107
-
108
-
109
- Caveats
110
- =======
111
-
112
- This project primarily supports third-party packages installed by PyPA
113
- tools (or other conforming packages). It does not support:
114
-
115
- - Packages in the stdlib.
116
- - Packages installed without metadata.
117
-
118
- Project details
119
- ===============
120
-
121
- * Project home: https://github.com/python/importlib_metadata
122
- * Report bugs at: https://github.com/python/importlib_metadata/issues
123
- * Code hosting: https://github.com/python/importlib_metadata
124
- * Documentation: https://importlib-metadata.readthedocs.io/
125
-
126
- For Enterprise
127
- ==============
128
-
129
- Available as part of the Tidelift Subscription.
130
-
131
- This project and the maintainers of thousands of other packages are working with Tidelift to deliver one enterprise subscription that covers all of the open source you use.
132
-
133
- `Learn more <https://tidelift.com/subscription/pkg/pypi-importlib-metadata?utm_source=pypi-importlib-metadata&utm_medium=referral&utm_campaign=github>`_.
@@ -1,21 +0,0 @@
1
- importlib_metadata-8.7.1.dist-info/INSTALLER,sha256=5hhM4Q4mYTT9z6QB6PGpUAW81PGNFrYrdXMj4oM_6ak,2
2
- importlib_metadata-8.7.1.dist-info/METADATA,sha256=o-OLnuQyYonUhkcE8w4pnudp4jCc6fSnXw3hpQrQo1Y,4670
3
- importlib_metadata-8.7.1.dist-info/RECORD,,
4
- importlib_metadata-8.7.1.dist-info/REQUESTED,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
5
- importlib_metadata-8.7.1.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
6
- importlib_metadata-8.7.1.dist-info/licenses/LICENSE,sha256=RYUC4S2Xu_ZEOGBqIARKqF6wX7CoqAe7NdvsJT_R_AQ,10278
7
- importlib_metadata-8.7.1.dist-info/top_level.txt,sha256=CO3fD9yylANiXkrMo4qHLV_mqXL2sC5JFKgt1yWAT-A,19
8
- importlib_metadata/__init__.py,sha256=u7Ew4-UkpzNY-ka6k-WRkDhQZS1akkLMfWs2eEnUmGo,37734
9
- importlib_metadata/_adapters.py,sha256=r5i8XLrKT6xmrpoREZhZrfczOYDmrVZeJBW5u0HzIGU,3797
10
- importlib_metadata/_collections.py,sha256=CxAhzlF3g1rwu_fMiB53JtRQiUFh0RgiMpoOvmK_ocg,760
11
- importlib_metadata/_compat.py,sha256=VC5ZDLlT-BcshauCShdFJvMNLntJJfZzNK1meGa-enw,1313
12
- importlib_metadata/_functools.py,sha256=0pA2OoiVK6wnsGq8HvVIzgdkvLiZ0nfnfw7IsndjoHk,3510
13
- importlib_metadata/_itertools.py,sha256=nMvp9SfHAQ_JYwK4L2i64lr3GRXGlYlikGTVzWbys_E,5351
14
- importlib_metadata/_meta.py,sha256=EtHyiJ5kGzWFDfKyQ2XQp6Vu113CeadKW1Vf6aGc1B4,1765
15
- importlib_metadata/_text.py,sha256=HCsFksZpJLeTP3NEk_ngrAeXVRRtTrtyh9eOABoRP4A,2166
16
- importlib_metadata/_typing.py,sha256=EQKhhsEgz_Sa-FnePI-faC72rNOOQwopjA1i5pG8FDU,367
17
- importlib_metadata/compat/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
18
- importlib_metadata/compat/py311.py,sha256=uqm-K-uohyj1042TH4a9Er_I5o7667DvulcD-gC_fSA,608
19
- importlib_metadata/compat/py39.py,sha256=J3W7PUVRPNYMmcvT12RF8ndBU9e8_T0Ac4U87Bsrq70,1187
20
- importlib_metadata/diagnose.py,sha256=nkSRMiowlmkhLYhKhvCg9glmt_11Cox-EmLzEbqYTa8,379
21
- importlib_metadata/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
@@ -1,5 +0,0 @@
1
- Wheel-Version: 1.0
2
- Generator: setuptools (80.9.0)
3
- Root-Is-Purelib: true
4
- Tag: py3-none-any
5
-
@@ -1,73 +0,0 @@
1
- Apache License
2
- Version 2.0, January 2004
3
- http://www.apache.org/licenses/
4
-
5
- TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
6
-
7
- 1. Definitions.
8
-
9
- "License" shall mean the terms and conditions for use, reproduction, and distribution as defined by Sections 1 through 9 of this document.
10
-
11
- "Licensor" shall mean the copyright owner or entity authorized by the copyright owner that is granting the License.
12
-
13
- "Legal Entity" shall mean the union of the acting entity and all other entities that control, are controlled by, or are under common control with that entity. For the purposes of this definition, "control" means (i) the power, direct or indirect, to cause the direction or management of such entity, whether by contract or otherwise, or (ii) ownership of fifty percent (50%) or more of the outstanding shares, or (iii) beneficial ownership of such entity.
14
-
15
- "You" (or "Your") shall mean an individual or Legal Entity exercising permissions granted by this License.
16
-
17
- "Source" form shall mean the preferred form for making modifications, including but not limited to software source code, documentation source, and configuration files.
18
-
19
- "Object" form shall mean any form resulting from mechanical transformation or translation of a Source form, including but not limited to compiled object code, generated documentation, and conversions to other media types.
20
-
21
- "Work" shall mean the work of authorship, whether in Source or Object form, made available under the License, as indicated by a copyright notice that is included in or attached to the work (an example is provided in the Appendix below).
22
-
23
- "Derivative Works" shall mean any work, whether in Source or Object form, that is based on (or derived from) the Work and for which the editorial revisions, annotations, elaborations, or other modifications represent, as a whole, an original work of authorship. For the purposes of this License, Derivative Works shall not include works that remain separable from, or merely link (or bind by name) to the interfaces of, the Work and Derivative Works thereof.
24
-
25
- "Contribution" shall mean any work of authorship, including the original version of the Work and any modifications or additions to that Work or Derivative Works thereof, that is intentionally submitted to Licensor for inclusion in the Work by the copyright owner or by an individual or Legal Entity authorized to submit on behalf of the copyright owner. For the purposes of this definition, "submitted" means any form of electronic, verbal, or written communication sent to the Licensor or its representatives, including but not limited to communication on electronic mailing lists, source code control systems, and issue tracking systems that are managed by, or on behalf of, the Licensor for the purpose of discussing and improving the Work, but excluding communication that is conspicuously marked or otherwise designated in writing by the copyright owner as "Not a Contribution."
26
-
27
- "Contributor" shall mean Licensor and any individual or Legal Entity on behalf of whom a Contribution has been received by Licensor and subsequently incorporated within the Work.
28
-
29
- 2. Grant of Copyright License. Subject to the terms and conditions of this License, each Contributor hereby grants to You a perpetual, worldwide, non-exclusive, no-charge, royalty-free, irrevocable copyright license to reproduce, prepare Derivative Works of, publicly display, publicly perform, sublicense, and distribute the Work and such Derivative Works in Source or Object form.
30
-
31
- 3. Grant of Patent License. Subject to the terms and conditions of this License, each Contributor hereby grants to You a perpetual, worldwide, non-exclusive, no-charge, royalty-free, irrevocable (except as stated in this section) patent license to make, have made, use, offer to sell, sell, import, and otherwise transfer the Work, where such license applies only to those patent claims licensable by such Contributor that are necessarily infringed by their Contribution(s) alone or by combination of their Contribution(s) with the Work to which such Contribution(s) was submitted. If You institute patent litigation against any entity (including a cross-claim or counterclaim in a lawsuit) alleging that the Work or a Contribution incorporated within the Work constitutes direct or contributory patent infringement, then any patent licenses granted to You under this License for that Work shall terminate as of the date such litigation is filed.
32
-
33
- 4. Redistribution. You may reproduce and distribute copies of the Work or Derivative Works thereof in any medium, with or without modifications, and in Source or Object form, provided that You meet the following conditions:
34
-
35
- (a) You must give any other recipients of the Work or Derivative Works a copy of this License; and
36
-
37
- (b) You must cause any modified files to carry prominent notices stating that You changed the files; and
38
-
39
- (c) You must retain, in the Source form of any Derivative Works that You distribute, all copyright, patent, trademark, and attribution notices from the Source form of the Work, excluding those notices that do not pertain to any part of the Derivative Works; and
40
-
41
- (d) If the Work includes a "NOTICE" text file as part of its distribution, then any Derivative Works that You distribute must include a readable copy of the attribution notices contained within such NOTICE file, excluding those notices that do not pertain to any part of the Derivative Works, in at least one of the following places: within a NOTICE text file distributed as part of the Derivative Works; within the Source form or documentation, if provided along with the Derivative Works; or, within a display generated by the Derivative Works, if and wherever such third-party notices normally appear. The contents of the NOTICE file are for informational purposes only and do not modify the License. You may add Your own attribution notices within Derivative Works that You distribute, alongside or as an addendum to the NOTICE text from the Work, provided that such additional attribution notices cannot be construed as modifying the License.
42
-
43
- You may add Your own copyright statement to Your modifications and may provide additional or different license terms and conditions for use, reproduction, or distribution of Your modifications, or for any such Derivative Works as a whole, provided Your use, reproduction, and distribution of the Work otherwise complies with the conditions stated in this License.
44
-
45
- 5. Submission of Contributions. Unless You explicitly state otherwise, any Contribution intentionally submitted for inclusion in the Work by You to the Licensor shall be under the terms and conditions of this License, without any additional terms or conditions. Notwithstanding the above, nothing herein shall supersede or modify the terms of any separate license agreement you may have executed with Licensor regarding such Contributions.
46
-
47
- 6. Trademarks. This License does not grant permission to use the trade names, trademarks, service marks, or product names of the Licensor, except as required for reasonable and customary use in describing the origin of the Work and reproducing the content of the NOTICE file.
48
-
49
- 7. Disclaimer of Warranty. Unless required by applicable law or agreed to in writing, Licensor provides the Work (and each Contributor provides its Contributions) on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied, including, without limitation, any warranties or conditions of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A PARTICULAR PURPOSE. You are solely responsible for determining the appropriateness of using or redistributing the Work and assume any risks associated with Your exercise of permissions under this License.
50
-
51
- 8. Limitation of Liability. In no event and under no legal theory, whether in tort (including negligence), contract, or otherwise, unless required by applicable law (such as deliberate and grossly negligent acts) or agreed to in writing, shall any Contributor be liable to You for damages, including any direct, indirect, special, incidental, or consequential damages of any character arising as a result of this License or out of the use or inability to use the Work (including but not limited to damages for loss of goodwill, work stoppage, computer failure or malfunction, or any and all other commercial damages or losses), even if such Contributor has been advised of the possibility of such damages.
52
-
53
- 9. Accepting Warranty or Additional Liability. While redistributing the Work or Derivative Works thereof, You may choose to offer, and charge a fee for, acceptance of support, warranty, indemnity, or other liability obligations and/or rights consistent with this License. However, in accepting such obligations, You may act only on Your own behalf and on Your sole responsibility, not on behalf of any other Contributor, and only if You agree to indemnify, defend, and hold each Contributor harmless for any liability incurred by, or claims asserted against, such Contributor by reason of your accepting any such warranty or additional liability.
54
-
55
- END OF TERMS AND CONDITIONS
56
-
57
- APPENDIX: How to apply the Apache License to your work.
58
-
59
- To apply the Apache License to your work, attach the following boilerplate notice, with the fields enclosed by brackets "[]" replaced with your own identifying information. (Don't include the brackets!) The text should be enclosed in the appropriate comment syntax for the file format. We also recommend that a file or class name and description of purpose be included on the same "printed page" as the copyright notice for easier identification within third-party archives.
60
-
61
- Copyright 2025 [name of copyright owner]
62
-
63
- Licensed under the Apache License, Version 2.0 (the "License");
64
- you may not use this file except in compliance with the License.
65
- You may obtain a copy of the License at
66
-
67
- http://www.apache.org/licenses/LICENSE-2.0
68
-
69
- Unless required by applicable law or agreed to in writing, software
70
- distributed under the License is distributed on an "AS IS" BASIS,
71
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
72
- See the License for the specific language governing permissions and
73
- limitations under the License.