localstack-py-avro-schema 3.9.3__tar.gz → 3.9.4__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {localstack_py_avro_schema-3.9.3 → localstack_py_avro_schema-3.9.4}/PKG-INFO +1 -1
- {localstack_py_avro_schema-3.9.3 → localstack_py_avro_schema-3.9.4}/src/localstack_py_avro_schema.egg-info/PKG-INFO +1 -1
- {localstack_py_avro_schema-3.9.3 → localstack_py_avro_schema-3.9.4}/src/py_avro_schema/_schemas.py +11 -5
- {localstack_py_avro_schema-3.9.3 → localstack_py_avro_schema-3.9.4}/.editorconfig +0 -0
- {localstack_py_avro_schema-3.9.3 → localstack_py_avro_schema-3.9.4}/.flake8 +0 -0
- {localstack_py_avro_schema-3.9.3 → localstack_py_avro_schema-3.9.4}/.github/workflows/release-package.yml +0 -0
- {localstack_py_avro_schema-3.9.3 → localstack_py_avro_schema-3.9.4}/.github/workflows/test-package.yml +0 -0
- {localstack_py_avro_schema-3.9.3 → localstack_py_avro_schema-3.9.4}/.gitignore +0 -0
- {localstack_py_avro_schema-3.9.3 → localstack_py_avro_schema-3.9.4}/.pre-commit-config.yaml +0 -0
- {localstack_py_avro_schema-3.9.3 → localstack_py_avro_schema-3.9.4}/.readthedocs.yaml +0 -0
- {localstack_py_avro_schema-3.9.3 → localstack_py_avro_schema-3.9.4}/LICENSE +0 -0
- {localstack_py_avro_schema-3.9.3 → localstack_py_avro_schema-3.9.4}/LICENSE_HEADER.txt +0 -0
- {localstack_py_avro_schema-3.9.3 → localstack_py_avro_schema-3.9.4}/README.md +0 -0
- {localstack_py_avro_schema-3.9.3 → localstack_py_avro_schema-3.9.4}/docs/conf.py +0 -0
- {localstack_py_avro_schema-3.9.3 → localstack_py_avro_schema-3.9.4}/docs/index.rst +0 -0
- {localstack_py_avro_schema-3.9.3 → localstack_py_avro_schema-3.9.4}/docs/modules.rst +0 -0
- {localstack_py_avro_schema-3.9.3 → localstack_py_avro_schema-3.9.4}/docs/py_avro_schema.rst +0 -0
- {localstack_py_avro_schema-3.9.3 → localstack_py_avro_schema-3.9.4}/docs/tutorial.rst +0 -0
- {localstack_py_avro_schema-3.9.3 → localstack_py_avro_schema-3.9.4}/docs/types.rst +0 -0
- {localstack_py_avro_schema-3.9.3 → localstack_py_avro_schema-3.9.4}/pyproject.toml +0 -0
- {localstack_py_avro_schema-3.9.3 → localstack_py_avro_schema-3.9.4}/setup.cfg +0 -0
- {localstack_py_avro_schema-3.9.3 → localstack_py_avro_schema-3.9.4}/src/localstack_py_avro_schema.egg-info/SOURCES.txt +0 -0
- {localstack_py_avro_schema-3.9.3 → localstack_py_avro_schema-3.9.4}/src/localstack_py_avro_schema.egg-info/dependency_links.txt +0 -0
- {localstack_py_avro_schema-3.9.3 → localstack_py_avro_schema-3.9.4}/src/localstack_py_avro_schema.egg-info/requires.txt +0 -0
- {localstack_py_avro_schema-3.9.3 → localstack_py_avro_schema-3.9.4}/src/localstack_py_avro_schema.egg-info/top_level.txt +0 -0
- {localstack_py_avro_schema-3.9.3 → localstack_py_avro_schema-3.9.4}/src/py_avro_schema/__init__.py +0 -0
- {localstack_py_avro_schema-3.9.3 → localstack_py_avro_schema-3.9.4}/src/py_avro_schema/_alias.py +0 -0
- {localstack_py_avro_schema-3.9.3 → localstack_py_avro_schema-3.9.4}/src/py_avro_schema/_testing.py +0 -0
- {localstack_py_avro_schema-3.9.3 → localstack_py_avro_schema-3.9.4}/src/py_avro_schema/_typing.py +0 -0
- {localstack_py_avro_schema-3.9.3 → localstack_py_avro_schema-3.9.4}/src/py_avro_schema/py.typed +0 -0
- {localstack_py_avro_schema-3.9.3 → localstack_py_avro_schema-3.9.4}/tests/test_avro_schema.py +0 -0
- {localstack_py_avro_schema-3.9.3 → localstack_py_avro_schema-3.9.4}/tests/test_dataclass.py +0 -0
- {localstack_py_avro_schema-3.9.3 → localstack_py_avro_schema-3.9.4}/tests/test_logicals.py +0 -0
- {localstack_py_avro_schema-3.9.3 → localstack_py_avro_schema-3.9.4}/tests/test_plain_class.py +0 -0
- {localstack_py_avro_schema-3.9.3 → localstack_py_avro_schema-3.9.4}/tests/test_primitives.py +0 -0
- {localstack_py_avro_schema-3.9.3 → localstack_py_avro_schema-3.9.4}/tests/test_pydantic.py +0 -0
- {localstack_py_avro_schema-3.9.3 → localstack_py_avro_schema-3.9.4}/tests/test_typed_dict.py +0 -0
- {localstack_py_avro_schema-3.9.3 → localstack_py_avro_schema-3.9.4}/tests/test_typing.py +0 -0
- {localstack_py_avro_schema-3.9.3 → localstack_py_avro_schema-3.9.4}/tox.ini +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: localstack-py-avro-schema
|
|
3
|
-
Version: 3.9.
|
|
3
|
+
Version: 3.9.4
|
|
4
4
|
Summary: Generate Apache Avro schemas for Python types including standard library data-classes and Pydantic data models.
|
|
5
5
|
Author-email: LocalStack Contributors <info@localstack.cloud>, "J.P. Morgan Chase & Co." <open_source@jpmorgan.com>
|
|
6
6
|
License: Apache License
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: localstack-py-avro-schema
|
|
3
|
-
Version: 3.9.
|
|
3
|
+
Version: 3.9.4
|
|
4
4
|
Summary: Generate Apache Avro schemas for Python types including standard library data-classes and Pydantic data models.
|
|
5
5
|
Author-email: LocalStack Contributors <info@localstack.cloud>, "J.P. Morgan Chase & Co." <open_source@jpmorgan.com>
|
|
6
6
|
License: Apache License
|
{localstack_py_avro_schema-3.9.3 → localstack_py_avro_schema-3.9.4}/src/py_avro_schema/_schemas.py
RENAMED
|
@@ -137,9 +137,10 @@ JSON_OPTIONS = [opt for opt in Option if opt.name and opt.name.startswith("JSON_
|
|
|
137
137
|
_SCHEMA_CLASSES = []
|
|
138
138
|
|
|
139
139
|
|
|
140
|
-
def register_schema(cls):
|
|
140
|
+
def register_schema(cls: type | None = None, *, priority: int = 0):
|
|
141
141
|
"""
|
|
142
142
|
Decorator to register a class as a known ``Schema``
|
|
143
|
+
It also accept a priority value to sort the list of schemas. Default schemas have priority 0.
|
|
143
144
|
|
|
144
145
|
Schema classes are instantiated when calling ``schema``. Example use::
|
|
145
146
|
|
|
@@ -149,10 +150,15 @@ def register_schema(cls):
|
|
|
149
150
|
def handles_type(cls, py_type: Type) -> bool:
|
|
150
151
|
...
|
|
151
152
|
...
|
|
152
|
-
|
|
153
153
|
"""
|
|
154
|
-
|
|
155
|
-
|
|
154
|
+
|
|
155
|
+
def _wrapper(_cls):
|
|
156
|
+
"""Wrapper function to attach priority and sort the list of schemas."""
|
|
157
|
+
_cls.__py_avro_priority = priority
|
|
158
|
+
_SCHEMA_CLASSES.append(_cls)
|
|
159
|
+
return _cls
|
|
160
|
+
|
|
161
|
+
return _wrapper if not cls else _wrapper(cls)
|
|
156
162
|
|
|
157
163
|
|
|
158
164
|
def schema(
|
|
@@ -188,7 +194,7 @@ def _schema_obj(py_type: Type, namespace: Optional[str] = None, options: Option
|
|
|
188
194
|
:param options: Schema generation options.
|
|
189
195
|
"""
|
|
190
196
|
# Find concrete Schema subclasses defined in the current module
|
|
191
|
-
for schema_class in _SCHEMA_CLASSES:
|
|
197
|
+
for schema_class in sorted(_SCHEMA_CLASSES, key=lambda c: getattr(c, "__py_avro_priority", 0)):
|
|
192
198
|
# Find the first schema class that handles py_type
|
|
193
199
|
schema_obj = schema_class(py_type, namespace=namespace, options=options) # type: ignore
|
|
194
200
|
if schema_obj:
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{localstack_py_avro_schema-3.9.3 → localstack_py_avro_schema-3.9.4}/src/py_avro_schema/__init__.py
RENAMED
|
File without changes
|
{localstack_py_avro_schema-3.9.3 → localstack_py_avro_schema-3.9.4}/src/py_avro_schema/_alias.py
RENAMED
|
File without changes
|
{localstack_py_avro_schema-3.9.3 → localstack_py_avro_schema-3.9.4}/src/py_avro_schema/_testing.py
RENAMED
|
File without changes
|
{localstack_py_avro_schema-3.9.3 → localstack_py_avro_schema-3.9.4}/src/py_avro_schema/_typing.py
RENAMED
|
File without changes
|
{localstack_py_avro_schema-3.9.3 → localstack_py_avro_schema-3.9.4}/src/py_avro_schema/py.typed
RENAMED
|
File without changes
|
{localstack_py_avro_schema-3.9.3 → localstack_py_avro_schema-3.9.4}/tests/test_avro_schema.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{localstack_py_avro_schema-3.9.3 → localstack_py_avro_schema-3.9.4}/tests/test_plain_class.py
RENAMED
|
File without changes
|
{localstack_py_avro_schema-3.9.3 → localstack_py_avro_schema-3.9.4}/tests/test_primitives.py
RENAMED
|
File without changes
|
|
File without changes
|
{localstack_py_avro_schema-3.9.3 → localstack_py_avro_schema-3.9.4}/tests/test_typed_dict.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|