datamodel-code-generator 0.26.0__py3-none-any.whl → 0.26.1__py3-none-any.whl

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.

Potentially problematic release.


This version of datamodel-code-generator might be problematic. Click here for more details.

@@ -117,9 +117,11 @@ IMPORT_DICT = Import.from_full_path('typing.Dict')
117
117
  IMPORT_DECIMAL = Import.from_full_path('decimal.Decimal')
118
118
  IMPORT_DATE = Import.from_full_path('datetime.date')
119
119
  IMPORT_DATETIME = Import.from_full_path('datetime.datetime')
120
+ IMPORT_TIMEDELTA = Import.from_full_path('datetime.timedelta')
120
121
  IMPORT_PATH = Import.from_full_path('pathlib.Path')
121
122
  IMPORT_TIME = Import.from_full_path('datetime.time')
122
123
  IMPORT_UUID = Import.from_full_path('uuid.UUID')
123
124
  IMPORT_PENDULUM_DATE = Import.from_full_path('pendulum.Date')
124
125
  IMPORT_PENDULUM_DATETIME = Import.from_full_path('pendulum.DateTime')
126
+ IMPORT_PENDULUM_DURATION = Import.from_full_path('pendulum.Duration')
125
127
  IMPORT_PENDULUM_TIME = Import.from_full_path('pendulum.Time')
@@ -12,8 +12,10 @@ from datamodel_code_generator.imports import (
12
12
  IMPORT_PATH,
13
13
  IMPORT_PENDULUM_DATE,
14
14
  IMPORT_PENDULUM_DATETIME,
15
+ IMPORT_PENDULUM_DURATION,
15
16
  IMPORT_PENDULUM_TIME,
16
17
  IMPORT_TIME,
18
+ IMPORT_TIMEDELTA,
17
19
  IMPORT_UUID,
18
20
  )
19
21
  from datamodel_code_generator.model.pydantic.imports import (
@@ -75,6 +77,7 @@ def type_map_factory(
75
77
  Types.binary: data_type(type='bytes'),
76
78
  Types.date: data_type.from_import(IMPORT_DATE),
77
79
  Types.date_time: data_type.from_import(IMPORT_DATETIME),
80
+ Types.timedelta: data_type.from_import(IMPORT_TIMEDELTA),
78
81
  Types.path: data_type.from_import(IMPORT_PATH),
79
82
  Types.password: data_type.from_import(IMPORT_SECRET_STR),
80
83
  Types.email: data_type.from_import(IMPORT_EMAIL_STR),
@@ -108,6 +111,7 @@ def type_map_factory(
108
111
  result[Types.date] = data_type.from_import(IMPORT_PENDULUM_DATE)
109
112
  result[Types.date_time] = data_type.from_import(IMPORT_PENDULUM_DATETIME)
110
113
  result[Types.time] = data_type.from_import(IMPORT_PENDULUM_TIME)
114
+ result[Types.timedelta] = data_type.from_import(IMPORT_PENDULUM_DURATION)
111
115
 
112
116
  return result
113
117
 
@@ -1,7 +1,11 @@
1
1
  from typing import Any, Dict, Optional, Sequence, Type
2
2
 
3
3
  from datamodel_code_generator import PythonVersion
4
- from datamodel_code_generator.imports import IMPORT_ANY, IMPORT_DECIMAL
4
+ from datamodel_code_generator.imports import (
5
+ IMPORT_ANY,
6
+ IMPORT_DECIMAL,
7
+ IMPORT_TIMEDELTA,
8
+ )
5
9
  from datamodel_code_generator.types import DataType, StrictTypes, Types
6
10
  from datamodel_code_generator.types import DataTypeManager as _DataTypeManager
7
11
 
@@ -27,6 +31,7 @@ def type_map_factory(
27
31
  Types.binary: data_type(type='bytes'),
28
32
  Types.date: data_type_str,
29
33
  Types.date_time: data_type_str,
34
+ Types.timedelta: data_type.from_import(IMPORT_TIMEDELTA),
30
35
  Types.password: data_type_str,
31
36
  Types.email: data_type_str,
32
37
  Types.uuid: data_type_str,
@@ -239,10 +239,11 @@ def relative(current_module: str, reference: str) -> Tuple[str, str]:
239
239
 
240
240
 
241
241
  def exact_import(from_: str, import_: str, short_name: str) -> Tuple[str, str]:
242
- if from_ == '.':
242
+ if from_ == len(from_) * '.':
243
243
  # Prevents "from . import foo" becoming "from ..foo import Foo"
244
+ # or "from .. import foo" becoming "from ...foo import Foo"
244
245
  # when our imported module has the same parent
245
- return f'.{import_}', short_name
246
+ return f'{from_}{import_}', short_name
246
247
  return f'{from_}.{import_}', short_name
247
248
 
248
249
 
@@ -1370,8 +1371,8 @@ class Parser(ABC):
1370
1371
  )
1371
1372
  self.__set_default_enum_member(models)
1372
1373
  self.__sort_models(models, imports)
1373
- self.__set_one_literal_on_default(models)
1374
1374
  self.__apply_discriminator_type(models, imports)
1375
+ self.__set_one_literal_on_default(models)
1375
1376
 
1376
1377
  processed_models.append(
1377
1378
  Processed(module, models, init, imports, scoped_model_resolver)
@@ -116,6 +116,7 @@ json_schema_data_formats: Dict[str, Dict[str, Types]] = {
116
116
  'binary': Types.binary,
117
117
  'date': Types.date,
118
118
  'date-time': Types.date_time,
119
+ 'duration': Types.timedelta,
119
120
  'time': Types.time,
120
121
  'password': Types.password,
121
122
  'path': Types.path,
@@ -542,6 +542,7 @@ class Types(Enum):
542
542
  binary = auto()
543
543
  date = auto()
544
544
  date_time = auto()
545
+ timedelta = auto()
545
546
  password = auto()
546
547
  path = auto()
547
548
  email = auto()
@@ -1 +1 @@
1
- version: str = '0.26.0'
1
+ version: str = '0.26.1'
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: datamodel-code-generator
3
- Version: 0.26.0
3
+ Version: 0.26.1
4
4
  Summary: Datamodel Code Generator
5
5
  Home-page: https://github.com/koxudaxi/datamodel-code-generator
6
6
  License: MIT
@@ -3,7 +3,7 @@ datamodel_code_generator/__main__.py,sha256=MWBehWH8aY4zqSOUUwuZ4fUBOlnuJ16ZOna4
3
3
  datamodel_code_generator/arguments.py,sha256=DCiFpkhqvq5OvHNgABCtNtw6eckp0U7U5fYT1e8NCHM,15558
4
4
  datamodel_code_generator/format.py,sha256=keAejlYYIBdfUNbkr-IFMfro0on9ZzaqlVulNgpnKco,8653
5
5
  datamodel_code_generator/http.py,sha256=CwLVnXO4_W_fWKJsHnJp6Q_3GuF3qjCjeAe48Ihawrs,714
6
- datamodel_code_generator/imports.py,sha256=EUUgdLMD_724Jhp50-hQy2C6uMSQISGbJKhUfH3iIbo,5595
6
+ datamodel_code_generator/imports.py,sha256=RagA3hne8OtrbZwDA7TaORQll6tKIzket-A6ShOWf8s,5728
7
7
  datamodel_code_generator/model/__init__.py,sha256=A0CqnL87-lY_Te-n-99ya5v7h6l4jE6hOPP_itvcWOc,3091
8
8
  datamodel_code_generator/model/base.py,sha256=3a7gTAI3e_2WMdgHyhKTWqs1qELqVb18HuwcBof-2C4,14059
9
9
  datamodel_code_generator/model/dataclass.py,sha256=9meJNWb-XPYYO8kDMSLhSfO6fulGWV7r3_XIM5kA71M,3965
@@ -15,7 +15,7 @@ datamodel_code_generator/model/pydantic/base_model.py,sha256=Y2GSlcLBvQh8hrlwGE3
15
15
  datamodel_code_generator/model/pydantic/custom_root_type.py,sha256=XOeJqzUEAYE21C3hPAnRIz9iDWIjZvUOWDc9MCrpdvw,299
16
16
  datamodel_code_generator/model/pydantic/dataclass.py,sha256=sbqTmutl8Fjf1pYngfdv0NMXt904QcTRpHqmZy6GUiQ,424
17
17
  datamodel_code_generator/model/pydantic/imports.py,sha256=2nSLYwphBUMQEa0PTSNwoLjEBslu02EQb6BdZ-S51yk,2189
18
- datamodel_code_generator/model/pydantic/types.py,sha256=2ghckIyBX-QmFT1GAAjKuCLyD5hjpNqmRftOlgcS5Fo,13034
18
+ datamodel_code_generator/model/pydantic/types.py,sha256=_-Ihb5TVCq0QO2wMf7N0OfzhTeuc4B0oVaT5XiszJrQ,13234
19
19
  datamodel_code_generator/model/pydantic_v2/__init__.py,sha256=4CS-uI5_4xnvxBKl-Ht1a4E_4fIsfZ8T4jdst0cbZDk,975
20
20
  datamodel_code_generator/model/pydantic_v2/base_model.py,sha256=kObU_n-RN7RSR7lfiH2oxjqGD8cALPxi24AHlFdFEgE,7958
21
21
  datamodel_code_generator/model/pydantic_v2/imports.py,sha256=Q6XC6iE5v4LJvQ2DOXDGFtR-FnGPsaZ56KiiTiF2bIE,191
@@ -40,21 +40,21 @@ datamodel_code_generator/model/template/pydantic_v2/ConfigDict.jinja2,sha256=xHv
40
40
  datamodel_code_generator/model/template/pydantic_v2/RootModel.jinja2,sha256=XQBlML7Hm5hN6_AExENNvVc_yxNWijcIfTTbbmegCpE,1223
41
41
  datamodel_code_generator/model/template/root.jinja2,sha256=3OTtibxLcGA-FMdR0QDCJUJQgf_kRW0OafeCTPFSFFo,162
42
42
  datamodel_code_generator/model/typed_dict.py,sha256=pzUaKLaVDF5rfxAaR1m4FqnhR00eE6AIP30oGTj67fY,4717
43
- datamodel_code_generator/model/types.py,sha256=7YQqPc-_yf5LhrLomB4msyOB_1cn0kKxfDHmGfVvDmA,2953
43
+ datamodel_code_generator/model/types.py,sha256=pCh1vRmz8QPo7VBJed4vUrrgKtI5sLMqeSySmkQfI5c,3054
44
44
  datamodel_code_generator/model/union.py,sha256=loaVWQi-UHkV4gLfF2JhxLcgZRMsejaoJzGvjTlp_bo,1716
45
45
  datamodel_code_generator/parser/__init__.py,sha256=zHbw6RPlJC0SAQjb-XyVlyZhcOu5PfYgPidy6jlUM8M,793
46
- datamodel_code_generator/parser/base.py,sha256=L45svycaIX4XLMqaCl3yameLmusLXw0Exrve-1Xydb4,59825
46
+ datamodel_code_generator/parser/base.py,sha256=cAs2AeqUMnGnWM7iGrzUzfuzX3b2GaOECDPqilomunA,59912
47
47
  datamodel_code_generator/parser/graphql.py,sha256=LmPQZuu7VYQ3JBD6RUCqDQNlSZuqIZSwFcbZouo-4qc,22037
48
- datamodel_code_generator/parser/jsonschema.py,sha256=rVKSw5zg7MtQs-gTwhsmgHGJ5JyQGQqPhBzBTM-zdnI,70222
48
+ datamodel_code_generator/parser/jsonschema.py,sha256=PJ0VGIYxrm6tUcQhouuV50FwOmh3nZfcPNMeG3ojU6w,70259
49
49
  datamodel_code_generator/parser/openapi.py,sha256=mawqfJeOqDvkX1_63uqRhLC1EaYR8QkAyZ93MneeMK8,25930
50
50
  datamodel_code_generator/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
51
51
  datamodel_code_generator/pydantic_patch.py,sha256=5UKotLqor9HixzXk463CUevyCcH2zmQljMAPRyTOxiM,570
52
52
  datamodel_code_generator/reference.py,sha256=EoalUNUP5us31bfMrHDa1iiKqxL8gHrpZKY_IxgZrOg,26347
53
- datamodel_code_generator/types.py,sha256=lVKp5TsW-8DK81jQMGUqEANr8DcI2kjdqA1VciITDAI,19631
53
+ datamodel_code_generator/types.py,sha256=-4gHSowXFyXQ3iNPMnnMl3pJfTC9B710Fg_kpI4bXnU,19654
54
54
  datamodel_code_generator/util.py,sha256=OmYaVP0z0fGPnvmZQx63qmdMwFnMAIVHfTwSkExpoKk,2829
55
- datamodel_code_generator/version.py,sha256=I58_7Ue2SKeM60Nu76Yg9NVQ2egVERIo4F3HJGgMRSo,24
56
- datamodel_code_generator-0.26.0.dist-info/LICENSE,sha256=K54Lwc6_jduycsy8oFFjQEeSSuEiqvVIjCGIXOMnuTQ,1068
57
- datamodel_code_generator-0.26.0.dist-info/METADATA,sha256=zmlwGEAR-LflJhbkg2a3hgIK-LrrDytfIUX15N9G9VA,24317
58
- datamodel_code_generator-0.26.0.dist-info/WHEEL,sha256=sP946D7jFCHeNz5Iq4fL4Lu-PrWrFsgfLXbbkciIZwg,88
59
- datamodel_code_generator-0.26.0.dist-info/entry_points.txt,sha256=bykbUWqOCiKfxJPGe8jpNqTqD1NG7uyRmozdnwzu7rk,76
60
- datamodel_code_generator-0.26.0.dist-info/RECORD,,
55
+ datamodel_code_generator/version.py,sha256=9Z2YqjjyXFb87xaBctkV6VEOIZxXm7gvppfOR4W9AK4,24
56
+ datamodel_code_generator-0.26.1.dist-info/LICENSE,sha256=K54Lwc6_jduycsy8oFFjQEeSSuEiqvVIjCGIXOMnuTQ,1068
57
+ datamodel_code_generator-0.26.1.dist-info/METADATA,sha256=xFQ9aKdPmLd1isX6YP-FVm_b9AVkx7F9vEgfyhsmlEI,24317
58
+ datamodel_code_generator-0.26.1.dist-info/WHEEL,sha256=sP946D7jFCHeNz5Iq4fL4Lu-PrWrFsgfLXbbkciIZwg,88
59
+ datamodel_code_generator-0.26.1.dist-info/entry_points.txt,sha256=bykbUWqOCiKfxJPGe8jpNqTqD1NG7uyRmozdnwzu7rk,76
60
+ datamodel_code_generator-0.26.1.dist-info/RECORD,,