internetdata 1.2.0__tar.gz → 1.2.2__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.
Files changed (58) hide show
  1. {internetdata-1.2.0 → internetdata-1.2.2}/PKG-INFO +1 -1
  2. {internetdata-1.2.0 → internetdata-1.2.2}/spec/openapi.yaml +2 -0
  3. {internetdata-1.2.0 → internetdata-1.2.2}/src/internetdata/__init__.py +1 -1
  4. {internetdata-1.2.0 → internetdata-1.2.2}/src/internetdata/_generated/models/database.py +31 -42
  5. {internetdata-1.2.0 → internetdata-1.2.2}/tests/helpers.py +2 -0
  6. {internetdata-1.2.0 → internetdata-1.2.2}/.gitignore +0 -0
  7. {internetdata-1.2.0 → internetdata-1.2.2}/LICENSE +0 -0
  8. {internetdata-1.2.0 → internetdata-1.2.2}/README.md +0 -0
  9. {internetdata-1.2.0 → internetdata-1.2.2}/pyproject.toml +0 -0
  10. {internetdata-1.2.0 → internetdata-1.2.2}/scripts/download-spec.sh +0 -0
  11. {internetdata-1.2.0 → internetdata-1.2.2}/scripts/generate.sh +0 -0
  12. {internetdata-1.2.0 → internetdata-1.2.2}/scripts/publish.sh +0 -0
  13. {internetdata-1.2.0 → internetdata-1.2.2}/scripts/v2_subset.py +0 -0
  14. {internetdata-1.2.0 → internetdata-1.2.2}/src/internetdata/_core.py +0 -0
  15. {internetdata-1.2.0 → internetdata-1.2.2}/src/internetdata/_generated/__init__.py +0 -0
  16. {internetdata-1.2.0 → internetdata-1.2.2}/src/internetdata/_generated/api/__init__.py +0 -0
  17. {internetdata-1.2.0 → internetdata-1.2.2}/src/internetdata/_generated/api/database_v_2/__init__.py +0 -0
  18. {internetdata-1.2.0 → internetdata-1.2.2}/src/internetdata/_generated/api/database_v_2/database_checksum_v2.py +0 -0
  19. {internetdata-1.2.0 → internetdata-1.2.2}/src/internetdata/_generated/api/database_v_2/database_metadata_v2.py +0 -0
  20. {internetdata-1.2.0 → internetdata-1.2.2}/src/internetdata/_generated/api/database_v_2/download_database_v2.py +0 -0
  21. {internetdata-1.2.0 → internetdata-1.2.2}/src/internetdata/_generated/api/database_v_2/list_databases.py +0 -0
  22. {internetdata-1.2.0 → internetdata-1.2.2}/src/internetdata/_generated/api/database_v_2/list_downloads.py +0 -0
  23. {internetdata-1.2.0 → internetdata-1.2.2}/src/internetdata/_generated/client.py +0 -0
  24. {internetdata-1.2.0 → internetdata-1.2.2}/src/internetdata/_generated/errors.py +0 -0
  25. {internetdata-1.2.0 → internetdata-1.2.2}/src/internetdata/_generated/models/__init__.py +0 -0
  26. {internetdata-1.2.0 → internetdata-1.2.2}/src/internetdata/_generated/models/database_checksum_v2_format.py +0 -0
  27. {internetdata-1.2.0 → internetdata-1.2.2}/src/internetdata/_generated/models/database_checksum_v2_response_200.py +0 -0
  28. {internetdata-1.2.0 → internetdata-1.2.2}/src/internetdata/_generated/models/database_checksum_v2_response_200_format.py +0 -0
  29. {internetdata-1.2.0 → internetdata-1.2.2}/src/internetdata/_generated/models/database_license_type_type_1.py +0 -0
  30. {internetdata-1.2.0 → internetdata-1.2.2}/src/internetdata/_generated/models/database_license_type_type_2_type_1.py +0 -0
  31. {internetdata-1.2.0 → internetdata-1.2.2}/src/internetdata/_generated/models/database_license_type_type_3_type_1.py +0 -0
  32. {internetdata-1.2.0 → internetdata-1.2.2}/src/internetdata/_generated/models/database_metadata.py +0 -0
  33. {internetdata-1.2.0 → internetdata-1.2.2}/src/internetdata/_generated/models/database_metadata_column.py +0 -0
  34. {internetdata-1.2.0 → internetdata-1.2.2}/src/internetdata/_generated/models/database_metadata_sample.py +0 -0
  35. {internetdata-1.2.0 → internetdata-1.2.2}/src/internetdata/_generated/models/database_metadata_sample_additional_property_item.py +0 -0
  36. {internetdata-1.2.0 → internetdata-1.2.2}/src/internetdata/_generated/models/database_metadata_schema.py +0 -0
  37. {internetdata-1.2.0 → internetdata-1.2.2}/src/internetdata/_generated/models/database_metadata_size.py +0 -0
  38. {internetdata-1.2.0 → internetdata-1.2.2}/src/internetdata/_generated/models/database_standing.py +0 -0
  39. {internetdata-1.2.0 → internetdata-1.2.2}/src/internetdata/_generated/models/database_version.py +0 -0
  40. {internetdata-1.2.0 → internetdata-1.2.2}/src/internetdata/_generated/models/database_version_formats_item.py +0 -0
  41. {internetdata-1.2.0 → internetdata-1.2.2}/src/internetdata/_generated/models/db_checksums.py +0 -0
  42. {internetdata-1.2.0 → internetdata-1.2.2}/src/internetdata/_generated/models/download.py +0 -0
  43. {internetdata-1.2.0 → internetdata-1.2.2}/src/internetdata/_generated/models/download_database_v2_format.py +0 -0
  44. {internetdata-1.2.0 → internetdata-1.2.2}/src/internetdata/_generated/models/download_outcome.py +0 -0
  45. {internetdata-1.2.0 → internetdata-1.2.2}/src/internetdata/_generated/models/error.py +0 -0
  46. {internetdata-1.2.0 → internetdata-1.2.2}/src/internetdata/_generated/models/list_databases_response_200.py +0 -0
  47. {internetdata-1.2.0 → internetdata-1.2.2}/src/internetdata/_generated/models/list_downloads_response_200.py +0 -0
  48. {internetdata-1.2.0 → internetdata-1.2.2}/src/internetdata/_generated/types.py +0 -0
  49. {internetdata-1.2.0 → internetdata-1.2.2}/src/internetdata/aio.py +0 -0
  50. {internetdata-1.2.0 → internetdata-1.2.2}/src/internetdata/client.py +0 -0
  51. {internetdata-1.2.0 → internetdata-1.2.2}/src/internetdata/errors.py +0 -0
  52. {internetdata-1.2.0 → internetdata-1.2.2}/src/internetdata/models.py +0 -0
  53. {internetdata-1.2.0 → internetdata-1.2.2}/src/internetdata/py.typed +0 -0
  54. {internetdata-1.2.0 → internetdata-1.2.2}/testdata/testdata.json +0 -0
  55. {internetdata-1.2.0 → internetdata-1.2.2}/tests/conftest.py +0 -0
  56. {internetdata-1.2.0 → internetdata-1.2.2}/tests/test_client.py +0 -0
  57. {internetdata-1.2.0 → internetdata-1.2.2}/tests/test_conformance.py +0 -0
  58. {internetdata-1.2.0 → internetdata-1.2.2}/tests/test_download.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.5
2
2
  Name: internetdata
3
- Version: 1.2.0
3
+ Version: 1.2.2
4
4
  Summary: Official Python client library for the InternetData API. Download and verify licensed IP datasets.
5
5
  Project-URL: Homepage, https://internetdata.io
6
6
  Project-URL: Documentation, https://docs.internetdata.io
@@ -392,6 +392,8 @@ components:
392
392
  - license_type
393
393
  - starts
394
394
  - expires
395
+ - renews_at
396
+ - notice_due_at
395
397
  - versions
396
398
  properties:
397
399
  base:
@@ -26,7 +26,7 @@ from .models import (
26
26
  Standing,
27
27
  )
28
28
 
29
- __version__ = "1.2.0"
29
+ __version__ = "1.2.2"
30
30
 
31
31
  __all__ = [
32
32
  "DEFAULT_BASE_URL",
@@ -11,7 +11,6 @@ from ..models.database_license_type_type_1 import DatabaseLicenseTypeType1
11
11
  from ..models.database_license_type_type_2_type_1 import DatabaseLicenseTypeType2Type1
12
12
  from ..models.database_license_type_type_3_type_1 import DatabaseLicenseTypeType3Type1
13
13
  from ..models.database_standing import DatabaseStanding
14
- from ..types import UNSET, Unset
15
14
 
16
15
  if TYPE_CHECKING:
17
16
  from ..models.database_version import DatabaseVersion
@@ -39,12 +38,12 @@ class Database:
39
38
  expires (datetime.datetime | None): A hard stop. Null when the licence has no end date, which is the normal case
40
39
  for a rolling agreement, and when there is no licence. A rolling licence reports its turnover date in renews_at
41
40
  instead.
41
+ renews_at (datetime.datetime | None): When a rolling licence next renews. Null when the licence has no defined
42
+ term, when expires sets a hard stop instead, and when there is no licence.
43
+ notice_due_at (datetime.datetime | None): The last day notice of non-renewal can be given for the term ending at
44
+ renews_at. Null whenever renews_at is, and when the agreement records no notice period.
42
45
  versions (list[DatabaseVersion]): Every published version of this family, oldest first. Old versions
43
46
  are frozen rather than migrated, so both stay downloadable.
44
- renews_at (datetime.datetime | None | Unset): When a rolling licence next renews. Null when the licence has no
45
- defined term, when expires sets a hard stop instead, and when there is no licence.
46
- notice_due_at (datetime.datetime | None | Unset): The last day notice of non-renewal can be given for the term
47
- ending at renews_at. Null whenever renews_at is, and when the agreement records no notice period.
48
47
  """
49
48
 
50
49
  base: str
@@ -59,9 +58,9 @@ class Database:
59
58
  )
60
59
  starts: datetime.datetime | None
61
60
  expires: datetime.datetime | None
61
+ renews_at: datetime.datetime | None
62
+ notice_due_at: datetime.datetime | None
62
63
  versions: list[DatabaseVersion]
63
- renews_at: datetime.datetime | None | Unset = UNSET
64
- notice_due_at: datetime.datetime | None | Unset = UNSET
65
64
  additional_properties: dict[str, Any] = _attrs_field(init=False, factory=dict)
66
65
 
67
66
  def to_dict(self) -> dict[str, Any]:
@@ -95,27 +94,23 @@ class Database:
95
94
  else:
96
95
  expires = self.expires
97
96
 
98
- versions = []
99
- for versions_item_data in self.versions:
100
- versions_item = versions_item_data.to_dict()
101
- versions.append(versions_item)
102
-
103
- renews_at: None | str | Unset
104
- if isinstance(self.renews_at, Unset):
105
- renews_at = UNSET
106
- elif isinstance(self.renews_at, datetime.datetime):
97
+ renews_at: None | str
98
+ if isinstance(self.renews_at, datetime.datetime):
107
99
  renews_at = self.renews_at.isoformat()
108
100
  else:
109
101
  renews_at = self.renews_at
110
102
 
111
- notice_due_at: None | str | Unset
112
- if isinstance(self.notice_due_at, Unset):
113
- notice_due_at = UNSET
114
- elif isinstance(self.notice_due_at, datetime.datetime):
103
+ notice_due_at: None | str
104
+ if isinstance(self.notice_due_at, datetime.datetime):
115
105
  notice_due_at = self.notice_due_at.isoformat()
116
106
  else:
117
107
  notice_due_at = self.notice_due_at
118
108
 
109
+ versions = []
110
+ for versions_item_data in self.versions:
111
+ versions_item = versions_item_data.to_dict()
112
+ versions.append(versions_item)
113
+
119
114
  field_dict: dict[str, Any] = {}
120
115
  field_dict.update(self.additional_properties)
121
116
  field_dict.update(
@@ -127,13 +122,11 @@ class Database:
127
122
  "license_type": license_type,
128
123
  "starts": starts,
129
124
  "expires": expires,
125
+ "renews_at": renews_at,
126
+ "notice_due_at": notice_due_at,
130
127
  "versions": versions,
131
128
  }
132
129
  )
133
- if renews_at is not UNSET:
134
- field_dict["renews_at"] = renews_at
135
- if notice_due_at is not UNSET:
136
- field_dict["notice_due_at"] = notice_due_at
137
130
 
138
131
  return field_dict
139
132
 
@@ -224,18 +217,9 @@ class Database:
224
217
 
225
218
  expires = _parse_expires(d.pop("expires"))
226
219
 
227
- versions = []
228
- _versions = d.pop("versions")
229
- for versions_item_data in _versions:
230
- versions_item = DatabaseVersion.from_dict(versions_item_data)
231
-
232
- versions.append(versions_item)
233
-
234
- def _parse_renews_at(data: object) -> datetime.datetime | None | Unset:
220
+ def _parse_renews_at(data: object) -> datetime.datetime | None:
235
221
  if data is None:
236
222
  return data
237
- if isinstance(data, Unset):
238
- return data
239
223
  try:
240
224
  if not isinstance(data, str):
241
225
  raise TypeError()
@@ -244,15 +228,13 @@ class Database:
244
228
  return renews_at_type_0
245
229
  except (TypeError, ValueError, AttributeError, KeyError):
246
230
  pass
247
- return cast(datetime.datetime | None | Unset, data)
231
+ return cast(datetime.datetime | None, data)
248
232
 
249
- renews_at = _parse_renews_at(d.pop("renews_at", UNSET))
233
+ renews_at = _parse_renews_at(d.pop("renews_at"))
250
234
 
251
- def _parse_notice_due_at(data: object) -> datetime.datetime | None | Unset:
235
+ def _parse_notice_due_at(data: object) -> datetime.datetime | None:
252
236
  if data is None:
253
237
  return data
254
- if isinstance(data, Unset):
255
- return data
256
238
  try:
257
239
  if not isinstance(data, str):
258
240
  raise TypeError()
@@ -261,9 +243,16 @@ class Database:
261
243
  return notice_due_at_type_0
262
244
  except (TypeError, ValueError, AttributeError, KeyError):
263
245
  pass
264
- return cast(datetime.datetime | None | Unset, data)
246
+ return cast(datetime.datetime | None, data)
265
247
 
266
- notice_due_at = _parse_notice_due_at(d.pop("notice_due_at", UNSET))
248
+ notice_due_at = _parse_notice_due_at(d.pop("notice_due_at"))
249
+
250
+ versions = []
251
+ _versions = d.pop("versions")
252
+ for versions_item_data in _versions:
253
+ versions_item = DatabaseVersion.from_dict(versions_item_data)
254
+
255
+ versions.append(versions_item)
267
256
 
268
257
  database = cls(
269
258
  base=base,
@@ -273,9 +262,9 @@ class Database:
273
262
  license_type=license_type,
274
263
  starts=starts,
275
264
  expires=expires,
276
- versions=versions,
277
265
  renews_at=renews_at,
278
266
  notice_due_at=notice_due_at,
267
+ versions=versions,
279
268
  )
280
269
 
281
270
  database.additional_properties = d
@@ -162,6 +162,8 @@ def database(base: str, **overrides: Any) -> dict[str, Any]:
162
162
  "license_type": "standard",
163
163
  "starts": "2026-01-01T00:00:00.000Z",
164
164
  "expires": None,
165
+ "renews_at": None,
166
+ "notice_due_at": None,
165
167
  "versions": [
166
168
  {
167
169
  "id": f"{base}_v1",
File without changes
File without changes
File without changes