Skip to content

Commit 40fd7c8

Browse files
➖ Remove dependency on lapidary and email_validator.
1 parent 4d36048 commit 40fd7c8

File tree

8 files changed

+12
-122
lines changed

8 files changed

+12
-122
lines changed

poetry.lock

Lines changed: 2 additions & 110 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

pyproject.toml

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,6 @@ classifiers = [
2525
python = "^3.12"
2626
asyncclick = "^8.1.7.2"
2727
jsonpatch = "^1.32"
28-
lapidary = "^0.9.0"
2928
pybase62 = "^1.0.0"
3029
pydantic = "^2.5.2"
3130
python-mimeparse = "^1.6.0"

src/lapidary/render/model/openapi/model.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,7 @@ class Reference[Target](BaseModel):
3131
class Contact(ExtendableModel):
3232
name: str | None = None
3333
url: str | None = None
34-
email: pydantic.EmailStr | None = None
34+
email: str | None = None
3535

3636

3737
class License(ExtendableModel):

src/lapidary/render/model/openapi_conv.py

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -5,8 +5,6 @@
55

66
from mimeparse import parse_media_range
77

8-
from lapidary.runtime import SecurityRequirements
9-
108
from .. import json_pointer, names
119
from . import openapi, python
1210
from .refs import resolve_ref
@@ -214,7 +212,7 @@ def _mk_params(
214212

215213
def process_security(
216214
self, value: Iterable[openapi.SecurityRequirement] | None, stack: Stack
217-
) -> Iterable[SecurityRequirements] | None:
215+
) -> python.SecurityRequirements | None:
218216
logger.debug('Process security %s', stack)
219217
if value is None:
220218
return None

src/lapidary/render/model/python/__init__.py

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,7 @@
1919
'AuthModule',
2020
'ClientModule',
2121
'PasswordOAuth2Flow',
22+
'SecurityRequirements',
2223
'SchemaModule',
2324
'ModulePath',
2425
'BuiltinTypeHint',
@@ -53,6 +54,7 @@
5354
PasswordOAuth2Flow,
5455
ResponseMap,
5556
SchemaClass,
57+
SecurityRequirements,
5658
)
5759
from .module import AuthModule, ClientModule, SchemaModule
5860
from .module_path import ModulePath

src/lapidary/render/model/python/model.py

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -4,14 +4,14 @@
44
from typing import Any, TypeAlias
55

66
from ..openapi import ParameterLocation as ParamLocation
7-
from ..openapi import SecurityRequirement
87
from ..openapi import Style as ParamStyle
98
from .type_hint import NONE, TypeHint, type_hint_or_union
109

1110
MimeType: TypeAlias = str
1211
ResponseCode: TypeAlias = str
1312
MimeMap: TypeAlias = Mapping[MimeType, TypeHint]
1413
ResponseMap: TypeAlias = Mapping[ResponseCode, MimeMap]
14+
SecurityRequirements: TypeAlias = Iterable[Mapping[str, Iterable[str]]]
1515

1616

1717
@dc.dataclass
@@ -117,7 +117,7 @@ class OperationFunction:
117117
request_body: MimeMap
118118
params: Iterable['Parameter']
119119
responses: ResponseMap
120-
security: Iterable[SecurityRequirement] | None
120+
security: SecurityRequirements | None
121121

122122
@property
123123
def dependencies(self) -> Iterable[TypeHint]:
@@ -198,7 +198,7 @@ class ClientInit:
198198
base_url: str | None = None
199199
headers: Iterable[tuple[str, str]] = dc.field(default_factory=list)
200200
response_map: ResponseMap = dc.field(default_factory=dict)
201-
security: Iterable[SecurityRequirement] | None = None
201+
security: SecurityRequirements | None = None
202202

203203
@property
204204
def dependencies(self) -> Iterable[TypeHint]:

src/lapidary/render/templates/init/pyproject.toml.jinja

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ packages = [
1616

1717
[tool.poetry.dependencies]
1818
python = "^3.9"
19-
lapidary = "{{ get_version('lapidary') }}"
19+
lapidary = "^0.9.0"
2020

2121
[tool.poetry.group.dev.dependencies]
2222
lapidary-render = "{{ get_version('lapidary_render') }}"

tests/process/test_schema.py

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,6 @@
77

88
from lapidary.render import json_pointer
99
from lapidary.render.model import OpenApi30Converter, openapi, python, stack
10-
from lapidary.runtime.http_consts import MIME_JSON
1110

1211
logging.basicConfig()
1312
logging.getLogger('lapidary').setLevel(logging.DEBUG)
@@ -34,7 +33,7 @@ def test_schema_str(document: openapi.OpenApiModel) -> None:
3433
operations['get'].responses, stack.Stack(('#', 'paths', '/user/login', 'get', 'responses'))
3534
)
3635

37-
assert responses['200'][MIME_JSON] == python.BuiltinTypeHint.from_str('str')
36+
assert responses['200']['application/json'] == python.BuiltinTypeHint.from_str('str')
3837
assert converter.schema_converter.schema_modules == []
3938

4039

@@ -46,7 +45,7 @@ def test_schema_array(document: openapi.OpenApiModel) -> None:
4645
operations['post'].request_body, stack.Stack(('#', 'paths', '/user/createWithList', 'post', 'requestBody'))
4746
)
4847

49-
assert request[MIME_JSON] == python.GenericTypeHint(
48+
assert request['application/json'] == python.GenericTypeHint(
5049
module='builtins', name='list', args=(python.TypeHint.from_str('petstore.components.schemas.User.schema:User'),)
5150
)
5251
assert converter.schema_converter.schema_modules[0].body[0].class_name == 'User'

0 commit comments

Comments
 (0)