jentic-openapi-datamodels 1.0.0a25__tar.gz → 1.0.0a27__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.
- {jentic_openapi_datamodels-1.0.0a25 → jentic_openapi_datamodels-1.0.0a27}/PKG-INFO +4 -4
- {jentic_openapi_datamodels-1.0.0a25 → jentic_openapi_datamodels-1.0.0a27}/README.md +3 -3
- {jentic_openapi_datamodels-1.0.0a25 → jentic_openapi_datamodels-1.0.0a27}/pyproject.toml +1 -1
- {jentic_openapi_datamodels-1.0.0a25 → jentic_openapi_datamodels-1.0.0a27}/src/jentic/apitools/openapi/datamodels/low/v30/reference.py +3 -0
- {jentic_openapi_datamodels-1.0.0a25 → jentic_openapi_datamodels-1.0.0a27}/src/jentic/apitools/openapi/datamodels/low/v30/schema.py +6 -2
- {jentic_openapi_datamodels-1.0.0a25 → jentic_openapi_datamodels-1.0.0a27}/src/jentic/apitools/openapi/datamodels/low/v31/reference.py +3 -0
- {jentic_openapi_datamodels-1.0.0a25 → jentic_openapi_datamodels-1.0.0a27}/src/jentic/apitools/openapi/datamodels/low/v31/schema.py +6 -6
- {jentic_openapi_datamodels-1.0.0a25 → jentic_openapi_datamodels-1.0.0a27}/LICENSE +0 -0
- {jentic_openapi_datamodels-1.0.0a25 → jentic_openapi_datamodels-1.0.0a27}/NOTICE +0 -0
- {jentic_openapi_datamodels-1.0.0a25 → jentic_openapi_datamodels-1.0.0a27}/src/jentic/apitools/openapi/datamodels/low/__init__.py +0 -0
- {jentic_openapi_datamodels-1.0.0a25 → jentic_openapi_datamodels-1.0.0a27}/src/jentic/apitools/openapi/datamodels/low/context.py +0 -0
- {jentic_openapi_datamodels-1.0.0a25 → jentic_openapi_datamodels-1.0.0a27}/src/jentic/apitools/openapi/datamodels/low/extractors.py +0 -0
- {jentic_openapi_datamodels-1.0.0a25 → jentic_openapi_datamodels-1.0.0a27}/src/jentic/apitools/openapi/datamodels/low/fields.py +0 -0
- {jentic_openapi_datamodels-1.0.0a25 → jentic_openapi_datamodels-1.0.0a27}/src/jentic/apitools/openapi/datamodels/low/py.typed +0 -0
- {jentic_openapi_datamodels-1.0.0a25 → jentic_openapi_datamodels-1.0.0a27}/src/jentic/apitools/openapi/datamodels/low/sources.py +0 -0
- {jentic_openapi_datamodels-1.0.0a25 → jentic_openapi_datamodels-1.0.0a27}/src/jentic/apitools/openapi/datamodels/low/v30/__init__.py +0 -0
- {jentic_openapi_datamodels-1.0.0a25 → jentic_openapi_datamodels-1.0.0a27}/src/jentic/apitools/openapi/datamodels/low/v30/builders/__init__.py +0 -0
- {jentic_openapi_datamodels-1.0.0a25 → jentic_openapi_datamodels-1.0.0a27}/src/jentic/apitools/openapi/datamodels/low/v30/callback.py +0 -0
- {jentic_openapi_datamodels-1.0.0a25 → jentic_openapi_datamodels-1.0.0a27}/src/jentic/apitools/openapi/datamodels/low/v30/components.py +0 -0
- {jentic_openapi_datamodels-1.0.0a25 → jentic_openapi_datamodels-1.0.0a27}/src/jentic/apitools/openapi/datamodels/low/v30/contact.py +0 -0
- {jentic_openapi_datamodels-1.0.0a25 → jentic_openapi_datamodels-1.0.0a27}/src/jentic/apitools/openapi/datamodels/low/v30/discriminator.py +0 -0
- {jentic_openapi_datamodels-1.0.0a25 → jentic_openapi_datamodels-1.0.0a27}/src/jentic/apitools/openapi/datamodels/low/v30/encoding.py +0 -0
- {jentic_openapi_datamodels-1.0.0a25 → jentic_openapi_datamodels-1.0.0a27}/src/jentic/apitools/openapi/datamodels/low/v30/example.py +0 -0
- {jentic_openapi_datamodels-1.0.0a25 → jentic_openapi_datamodels-1.0.0a27}/src/jentic/apitools/openapi/datamodels/low/v30/external_documentation.py +0 -0
- {jentic_openapi_datamodels-1.0.0a25 → jentic_openapi_datamodels-1.0.0a27}/src/jentic/apitools/openapi/datamodels/low/v30/header.py +0 -0
- {jentic_openapi_datamodels-1.0.0a25 → jentic_openapi_datamodels-1.0.0a27}/src/jentic/apitools/openapi/datamodels/low/v30/info.py +0 -0
- {jentic_openapi_datamodels-1.0.0a25 → jentic_openapi_datamodels-1.0.0a27}/src/jentic/apitools/openapi/datamodels/low/v30/license.py +0 -0
- {jentic_openapi_datamodels-1.0.0a25 → jentic_openapi_datamodels-1.0.0a27}/src/jentic/apitools/openapi/datamodels/low/v30/link.py +0 -0
- {jentic_openapi_datamodels-1.0.0a25 → jentic_openapi_datamodels-1.0.0a27}/src/jentic/apitools/openapi/datamodels/low/v30/media_type.py +0 -0
- {jentic_openapi_datamodels-1.0.0a25 → jentic_openapi_datamodels-1.0.0a27}/src/jentic/apitools/openapi/datamodels/low/v30/oauth_flow.py +0 -0
- {jentic_openapi_datamodels-1.0.0a25 → jentic_openapi_datamodels-1.0.0a27}/src/jentic/apitools/openapi/datamodels/low/v30/oauth_flows.py +0 -0
- {jentic_openapi_datamodels-1.0.0a25 → jentic_openapi_datamodels-1.0.0a27}/src/jentic/apitools/openapi/datamodels/low/v30/openapi.py +0 -0
- {jentic_openapi_datamodels-1.0.0a25 → jentic_openapi_datamodels-1.0.0a27}/src/jentic/apitools/openapi/datamodels/low/v30/operation.py +0 -0
- {jentic_openapi_datamodels-1.0.0a25 → jentic_openapi_datamodels-1.0.0a27}/src/jentic/apitools/openapi/datamodels/low/v30/parameter.py +0 -0
- {jentic_openapi_datamodels-1.0.0a25 → jentic_openapi_datamodels-1.0.0a27}/src/jentic/apitools/openapi/datamodels/low/v30/path_item.py +0 -0
- {jentic_openapi_datamodels-1.0.0a25 → jentic_openapi_datamodels-1.0.0a27}/src/jentic/apitools/openapi/datamodels/low/v30/paths.py +0 -0
- {jentic_openapi_datamodels-1.0.0a25 → jentic_openapi_datamodels-1.0.0a27}/src/jentic/apitools/openapi/datamodels/low/v30/request_body.py +0 -0
- {jentic_openapi_datamodels-1.0.0a25 → jentic_openapi_datamodels-1.0.0a27}/src/jentic/apitools/openapi/datamodels/low/v30/response.py +0 -0
- {jentic_openapi_datamodels-1.0.0a25 → jentic_openapi_datamodels-1.0.0a27}/src/jentic/apitools/openapi/datamodels/low/v30/responses.py +0 -0
- {jentic_openapi_datamodels-1.0.0a25 → jentic_openapi_datamodels-1.0.0a27}/src/jentic/apitools/openapi/datamodels/low/v30/security_requirement.py +0 -0
- {jentic_openapi_datamodels-1.0.0a25 → jentic_openapi_datamodels-1.0.0a27}/src/jentic/apitools/openapi/datamodels/low/v30/security_scheme.py +0 -0
- {jentic_openapi_datamodels-1.0.0a25 → jentic_openapi_datamodels-1.0.0a27}/src/jentic/apitools/openapi/datamodels/low/v30/server.py +0 -0
- {jentic_openapi_datamodels-1.0.0a25 → jentic_openapi_datamodels-1.0.0a27}/src/jentic/apitools/openapi/datamodels/low/v30/server_variable.py +0 -0
- {jentic_openapi_datamodels-1.0.0a25 → jentic_openapi_datamodels-1.0.0a27}/src/jentic/apitools/openapi/datamodels/low/v30/tag.py +0 -0
- {jentic_openapi_datamodels-1.0.0a25 → jentic_openapi_datamodels-1.0.0a27}/src/jentic/apitools/openapi/datamodels/low/v30/xml.py +0 -0
- {jentic_openapi_datamodels-1.0.0a25 → jentic_openapi_datamodels-1.0.0a27}/src/jentic/apitools/openapi/datamodels/low/v31/__init__.py +0 -0
- {jentic_openapi_datamodels-1.0.0a25 → jentic_openapi_datamodels-1.0.0a27}/src/jentic/apitools/openapi/datamodels/low/v31/builders/__init__.py +0 -0
- {jentic_openapi_datamodels-1.0.0a25 → jentic_openapi_datamodels-1.0.0a27}/src/jentic/apitools/openapi/datamodels/low/v31/callback.py +0 -0
- {jentic_openapi_datamodels-1.0.0a25 → jentic_openapi_datamodels-1.0.0a27}/src/jentic/apitools/openapi/datamodels/low/v31/components.py +0 -0
- {jentic_openapi_datamodels-1.0.0a25 → jentic_openapi_datamodels-1.0.0a27}/src/jentic/apitools/openapi/datamodels/low/v31/contact.py +0 -0
- {jentic_openapi_datamodels-1.0.0a25 → jentic_openapi_datamodels-1.0.0a27}/src/jentic/apitools/openapi/datamodels/low/v31/discriminator.py +0 -0
- {jentic_openapi_datamodels-1.0.0a25 → jentic_openapi_datamodels-1.0.0a27}/src/jentic/apitools/openapi/datamodels/low/v31/encoding.py +0 -0
- {jentic_openapi_datamodels-1.0.0a25 → jentic_openapi_datamodels-1.0.0a27}/src/jentic/apitools/openapi/datamodels/low/v31/example.py +0 -0
- {jentic_openapi_datamodels-1.0.0a25 → jentic_openapi_datamodels-1.0.0a27}/src/jentic/apitools/openapi/datamodels/low/v31/external_documentation.py +0 -0
- {jentic_openapi_datamodels-1.0.0a25 → jentic_openapi_datamodels-1.0.0a27}/src/jentic/apitools/openapi/datamodels/low/v31/header.py +0 -0
- {jentic_openapi_datamodels-1.0.0a25 → jentic_openapi_datamodels-1.0.0a27}/src/jentic/apitools/openapi/datamodels/low/v31/info.py +0 -0
- {jentic_openapi_datamodels-1.0.0a25 → jentic_openapi_datamodels-1.0.0a27}/src/jentic/apitools/openapi/datamodels/low/v31/license.py +0 -0
- {jentic_openapi_datamodels-1.0.0a25 → jentic_openapi_datamodels-1.0.0a27}/src/jentic/apitools/openapi/datamodels/low/v31/link.py +0 -0
- {jentic_openapi_datamodels-1.0.0a25 → jentic_openapi_datamodels-1.0.0a27}/src/jentic/apitools/openapi/datamodels/low/v31/media_type.py +0 -0
- {jentic_openapi_datamodels-1.0.0a25 → jentic_openapi_datamodels-1.0.0a27}/src/jentic/apitools/openapi/datamodels/low/v31/oauth_flow.py +0 -0
- {jentic_openapi_datamodels-1.0.0a25 → jentic_openapi_datamodels-1.0.0a27}/src/jentic/apitools/openapi/datamodels/low/v31/oauth_flows.py +0 -0
- {jentic_openapi_datamodels-1.0.0a25 → jentic_openapi_datamodels-1.0.0a27}/src/jentic/apitools/openapi/datamodels/low/v31/openapi.py +0 -0
- {jentic_openapi_datamodels-1.0.0a25 → jentic_openapi_datamodels-1.0.0a27}/src/jentic/apitools/openapi/datamodels/low/v31/operation.py +0 -0
- {jentic_openapi_datamodels-1.0.0a25 → jentic_openapi_datamodels-1.0.0a27}/src/jentic/apitools/openapi/datamodels/low/v31/parameter.py +0 -0
- {jentic_openapi_datamodels-1.0.0a25 → jentic_openapi_datamodels-1.0.0a27}/src/jentic/apitools/openapi/datamodels/low/v31/path_item.py +0 -0
- {jentic_openapi_datamodels-1.0.0a25 → jentic_openapi_datamodels-1.0.0a27}/src/jentic/apitools/openapi/datamodels/low/v31/paths.py +0 -0
- {jentic_openapi_datamodels-1.0.0a25 → jentic_openapi_datamodels-1.0.0a27}/src/jentic/apitools/openapi/datamodels/low/v31/request_body.py +0 -0
- {jentic_openapi_datamodels-1.0.0a25 → jentic_openapi_datamodels-1.0.0a27}/src/jentic/apitools/openapi/datamodels/low/v31/response.py +0 -0
- {jentic_openapi_datamodels-1.0.0a25 → jentic_openapi_datamodels-1.0.0a27}/src/jentic/apitools/openapi/datamodels/low/v31/responses.py +0 -0
- {jentic_openapi_datamodels-1.0.0a25 → jentic_openapi_datamodels-1.0.0a27}/src/jentic/apitools/openapi/datamodels/low/v31/security_requirement.py +0 -0
- {jentic_openapi_datamodels-1.0.0a25 → jentic_openapi_datamodels-1.0.0a27}/src/jentic/apitools/openapi/datamodels/low/v31/security_scheme.py +0 -0
- {jentic_openapi_datamodels-1.0.0a25 → jentic_openapi_datamodels-1.0.0a27}/src/jentic/apitools/openapi/datamodels/low/v31/server.py +0 -0
- {jentic_openapi_datamodels-1.0.0a25 → jentic_openapi_datamodels-1.0.0a27}/src/jentic/apitools/openapi/datamodels/low/v31/server_variable.py +0 -0
- {jentic_openapi_datamodels-1.0.0a25 → jentic_openapi_datamodels-1.0.0a27}/src/jentic/apitools/openapi/datamodels/low/v31/tag.py +0 -0
- {jentic_openapi_datamodels-1.0.0a25 → jentic_openapi_datamodels-1.0.0a27}/src/jentic/apitools/openapi/datamodels/low/v31/xml.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: jentic-openapi-datamodels
|
|
3
|
-
Version: 1.0.
|
|
3
|
+
Version: 1.0.0a27
|
|
4
4
|
Summary: Jentic OpenAPI Data Models
|
|
5
5
|
Author: Jentic
|
|
6
6
|
Author-email: Jentic <hello@jentic.com>
|
|
@@ -290,9 +290,9 @@ Special cases for Python reserved keywords and `$` fields:
|
|
|
290
290
|
- `then` → `then_`
|
|
291
291
|
- `else` → `else_`
|
|
292
292
|
- `not` → `not_`
|
|
293
|
-
- `$ref` → `
|
|
294
|
-
- `$id` → `
|
|
295
|
-
- `$schema` → `
|
|
293
|
+
- `$ref` → `ref`
|
|
294
|
+
- `$id` → `id`
|
|
295
|
+
- `$schema` → `schema`
|
|
296
296
|
|
|
297
297
|
### Source Tracking
|
|
298
298
|
|
|
@@ -276,9 +276,9 @@ Special cases for Python reserved keywords and `$` fields:
|
|
|
276
276
|
- `then` → `then_`
|
|
277
277
|
- `else` → `else_`
|
|
278
278
|
- `not` → `not_`
|
|
279
|
-
- `$ref` → `
|
|
280
|
-
- `$id` → `
|
|
281
|
-
- `$schema` → `
|
|
279
|
+
- `$ref` → `ref`
|
|
280
|
+
- `$id` → `id`
|
|
281
|
+
- `$schema` → `schema`
|
|
282
282
|
|
|
283
283
|
### Source Tracking
|
|
284
284
|
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
from dataclasses import dataclass
|
|
2
|
+
from typing import Any
|
|
2
3
|
|
|
3
4
|
from ruamel import yaml
|
|
4
5
|
|
|
@@ -24,10 +25,12 @@ class Reference:
|
|
|
24
25
|
|
|
25
26
|
Attributes:
|
|
26
27
|
root_node: The top-level node representing the entire Reference object in the original source file
|
|
28
|
+
meta: Optional metadata as a dictionary.
|
|
27
29
|
ref: REQUIRED. The reference string. Must be in the format of a URI.
|
|
28
30
|
"""
|
|
29
31
|
|
|
30
32
|
root_node: yaml.Node
|
|
33
|
+
meta: dict[str, Any] | None = None
|
|
31
34
|
ref: FieldSource[str] | None = fixed_field(metadata={"yaml_name": "$ref"})
|
|
32
35
|
|
|
33
36
|
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
from dataclasses import dataclass, field
|
|
1
|
+
from dataclasses import dataclass, field, replace
|
|
2
2
|
from typing import Any, TypeAlias, get_args
|
|
3
3
|
|
|
4
4
|
from ruamel import yaml
|
|
@@ -331,7 +331,11 @@ def build_schema_or_reference(node: yaml.Node, context: Context) -> NestedSchema
|
|
|
331
331
|
for key_node, _ in node.value:
|
|
332
332
|
key = context.yaml_constructor.construct_yaml_str(key_node)
|
|
333
333
|
if key == "$ref":
|
|
334
|
-
|
|
334
|
+
reference = build_reference(node, context)
|
|
335
|
+
# Add metadata indicating this is a Schema reference
|
|
336
|
+
if isinstance(reference, Reference):
|
|
337
|
+
reference = replace(reference, meta={"referenced_type": "Schema"})
|
|
338
|
+
return reference
|
|
335
339
|
|
|
336
340
|
# Otherwise, try to build as Schema (which may be recursive)
|
|
337
341
|
return build(node, context)
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
from dataclasses import dataclass
|
|
2
|
+
from typing import Any
|
|
2
3
|
|
|
3
4
|
from ruamel import yaml
|
|
4
5
|
|
|
@@ -20,12 +21,14 @@ class Reference:
|
|
|
20
21
|
|
|
21
22
|
Attributes:
|
|
22
23
|
root_node: The top-level node representing the entire Reference object in the original source file
|
|
24
|
+
meta: Optional metadata as a dictionary.
|
|
23
25
|
ref: REQUIRED. The reference identifier. This MUST be in the form of a URI.
|
|
24
26
|
summary: A short summary which by default SHOULD override that of the referenced component. If the referenced object-type does not allow a summary field, then this field has no effect.
|
|
25
27
|
description: A description which by default SHOULD override that of the referenced component. CommonMark syntax MAY be used for rich text representation. If the referenced object-type does not allow a description field, then this field has no effect.
|
|
26
28
|
"""
|
|
27
29
|
|
|
28
30
|
root_node: yaml.Node
|
|
31
|
+
meta: dict[str, Any] | None = None
|
|
29
32
|
ref: FieldSource[str] | None = fixed_field(metadata={"yaml_name": "$ref"})
|
|
30
33
|
summary: FieldSource[str] | None = fixed_field()
|
|
31
34
|
description: FieldSource[str] | None = fixed_field()
|
|
@@ -46,9 +46,9 @@ class Schema:
|
|
|
46
46
|
root_node: The top-level node representing the entire Schema object in the original source file
|
|
47
47
|
|
|
48
48
|
# JSON Schema Core Keywords (2020-12)
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
49
|
+
schema: The $schema keyword - URI of the meta-schema
|
|
50
|
+
id: The $id keyword - URI that identifies the schema resource
|
|
51
|
+
ref: The $ref keyword - URI reference to another schema
|
|
52
52
|
anchor: The $anchor keyword - Plain name fragment for identification
|
|
53
53
|
dynamic_ref: The $dynamicRef keyword - Dynamic reference to another schema
|
|
54
54
|
dynamic_anchor: The $dynamicAnchor keyword - Dynamic anchor for identification
|
|
@@ -146,9 +146,9 @@ class Schema:
|
|
|
146
146
|
root_node: yaml.Node
|
|
147
147
|
|
|
148
148
|
# Core Keywords
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
149
|
+
id: FieldSource[str] | None = fixed_field(metadata={"yaml_name": "$id"})
|
|
150
|
+
schema: FieldSource[str] | None = fixed_field(metadata={"yaml_name": "$schema"})
|
|
151
|
+
ref: FieldSource[str] | None = fixed_field(metadata={"yaml_name": "$ref"})
|
|
152
152
|
comment: FieldSource[str] | None = fixed_field(metadata={"yaml_name": "$comment"})
|
|
153
153
|
defs: FieldSource[dict[KeySource[str], NestedSchema]] | None = fixed_field(
|
|
154
154
|
metadata={"yaml_name": "$defs"}
|
|
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
|
|
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
|
|
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
|
|
File without changes
|