internetdata 1.1.1__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.
- {internetdata-1.1.1 → internetdata-1.2.2}/PKG-INFO +1 -1
- {internetdata-1.1.1 → internetdata-1.2.2}/spec/openapi.yaml +21 -2
- {internetdata-1.1.1 → internetdata-1.2.2}/src/internetdata/__init__.py +3 -3
- {internetdata-1.1.1 → internetdata-1.2.2}/src/internetdata/_generated/models/database.py +55 -1
- {internetdata-1.1.1 → internetdata-1.2.2}/tests/helpers.py +2 -0
- {internetdata-1.1.1 → internetdata-1.2.2}/.gitignore +0 -0
- {internetdata-1.1.1 → internetdata-1.2.2}/LICENSE +0 -0
- {internetdata-1.1.1 → internetdata-1.2.2}/README.md +0 -0
- {internetdata-1.1.1 → internetdata-1.2.2}/pyproject.toml +0 -0
- {internetdata-1.1.1 → internetdata-1.2.2}/scripts/download-spec.sh +0 -0
- {internetdata-1.1.1 → internetdata-1.2.2}/scripts/generate.sh +0 -0
- {internetdata-1.1.1 → internetdata-1.2.2}/scripts/publish.sh +0 -0
- {internetdata-1.1.1 → internetdata-1.2.2}/scripts/v2_subset.py +0 -0
- {internetdata-1.1.1 → internetdata-1.2.2}/src/internetdata/_core.py +0 -0
- {internetdata-1.1.1 → internetdata-1.2.2}/src/internetdata/_generated/__init__.py +0 -0
- {internetdata-1.1.1 → internetdata-1.2.2}/src/internetdata/_generated/api/__init__.py +0 -0
- {internetdata-1.1.1 → internetdata-1.2.2}/src/internetdata/_generated/api/database_v_2/__init__.py +0 -0
- {internetdata-1.1.1 → internetdata-1.2.2}/src/internetdata/_generated/api/database_v_2/database_checksum_v2.py +0 -0
- {internetdata-1.1.1 → internetdata-1.2.2}/src/internetdata/_generated/api/database_v_2/database_metadata_v2.py +0 -0
- {internetdata-1.1.1 → internetdata-1.2.2}/src/internetdata/_generated/api/database_v_2/download_database_v2.py +0 -0
- {internetdata-1.1.1 → internetdata-1.2.2}/src/internetdata/_generated/api/database_v_2/list_databases.py +0 -0
- {internetdata-1.1.1 → internetdata-1.2.2}/src/internetdata/_generated/api/database_v_2/list_downloads.py +0 -0
- {internetdata-1.1.1 → internetdata-1.2.2}/src/internetdata/_generated/client.py +0 -0
- {internetdata-1.1.1 → internetdata-1.2.2}/src/internetdata/_generated/errors.py +0 -0
- {internetdata-1.1.1 → internetdata-1.2.2}/src/internetdata/_generated/models/__init__.py +0 -0
- {internetdata-1.1.1 → internetdata-1.2.2}/src/internetdata/_generated/models/database_checksum_v2_format.py +0 -0
- {internetdata-1.1.1 → internetdata-1.2.2}/src/internetdata/_generated/models/database_checksum_v2_response_200.py +0 -0
- {internetdata-1.1.1 → internetdata-1.2.2}/src/internetdata/_generated/models/database_checksum_v2_response_200_format.py +0 -0
- {internetdata-1.1.1 → internetdata-1.2.2}/src/internetdata/_generated/models/database_license_type_type_1.py +0 -0
- {internetdata-1.1.1 → internetdata-1.2.2}/src/internetdata/_generated/models/database_license_type_type_2_type_1.py +0 -0
- {internetdata-1.1.1 → internetdata-1.2.2}/src/internetdata/_generated/models/database_license_type_type_3_type_1.py +0 -0
- {internetdata-1.1.1 → internetdata-1.2.2}/src/internetdata/_generated/models/database_metadata.py +0 -0
- {internetdata-1.1.1 → internetdata-1.2.2}/src/internetdata/_generated/models/database_metadata_column.py +0 -0
- {internetdata-1.1.1 → internetdata-1.2.2}/src/internetdata/_generated/models/database_metadata_sample.py +0 -0
- {internetdata-1.1.1 → internetdata-1.2.2}/src/internetdata/_generated/models/database_metadata_sample_additional_property_item.py +0 -0
- {internetdata-1.1.1 → internetdata-1.2.2}/src/internetdata/_generated/models/database_metadata_schema.py +0 -0
- {internetdata-1.1.1 → internetdata-1.2.2}/src/internetdata/_generated/models/database_metadata_size.py +0 -0
- {internetdata-1.1.1 → internetdata-1.2.2}/src/internetdata/_generated/models/database_standing.py +0 -0
- {internetdata-1.1.1 → internetdata-1.2.2}/src/internetdata/_generated/models/database_version.py +0 -0
- {internetdata-1.1.1 → internetdata-1.2.2}/src/internetdata/_generated/models/database_version_formats_item.py +0 -0
- {internetdata-1.1.1 → internetdata-1.2.2}/src/internetdata/_generated/models/db_checksums.py +0 -0
- {internetdata-1.1.1 → internetdata-1.2.2}/src/internetdata/_generated/models/download.py +0 -0
- {internetdata-1.1.1 → internetdata-1.2.2}/src/internetdata/_generated/models/download_database_v2_format.py +0 -0
- {internetdata-1.1.1 → internetdata-1.2.2}/src/internetdata/_generated/models/download_outcome.py +0 -0
- {internetdata-1.1.1 → internetdata-1.2.2}/src/internetdata/_generated/models/error.py +0 -0
- {internetdata-1.1.1 → internetdata-1.2.2}/src/internetdata/_generated/models/list_databases_response_200.py +0 -0
- {internetdata-1.1.1 → internetdata-1.2.2}/src/internetdata/_generated/models/list_downloads_response_200.py +0 -0
- {internetdata-1.1.1 → internetdata-1.2.2}/src/internetdata/_generated/types.py +0 -0
- {internetdata-1.1.1 → internetdata-1.2.2}/src/internetdata/aio.py +0 -0
- {internetdata-1.1.1 → internetdata-1.2.2}/src/internetdata/client.py +0 -0
- {internetdata-1.1.1 → internetdata-1.2.2}/src/internetdata/errors.py +0 -0
- {internetdata-1.1.1 → internetdata-1.2.2}/src/internetdata/models.py +1 -1
- {internetdata-1.1.1 → internetdata-1.2.2}/src/internetdata/py.typed +0 -0
- {internetdata-1.1.1 → internetdata-1.2.2}/testdata/testdata.json +0 -0
- {internetdata-1.1.1 → internetdata-1.2.2}/tests/conftest.py +0 -0
- {internetdata-1.1.1 → internetdata-1.2.2}/tests/test_client.py +0 -0
- {internetdata-1.1.1 → internetdata-1.2.2}/tests/test_conformance.py +0 -0
- {internetdata-1.1.1 → 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.
|
|
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
|
|
@@ -8,7 +8,7 @@ info:
|
|
|
8
8
|
email: dev@internetdata.io
|
|
9
9
|
url: https://internetdata.io
|
|
10
10
|
termsOfService: https://internetdata.io/terms-of-service/
|
|
11
|
-
version: 2026.09.
|
|
11
|
+
version: 2026.09.09
|
|
12
12
|
servers:
|
|
13
13
|
- url: https://internetdata.io
|
|
14
14
|
security:
|
|
@@ -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:
|
|
@@ -432,7 +434,24 @@ components:
|
|
|
432
434
|
type: string
|
|
433
435
|
format: date-time
|
|
434
436
|
nullable: true
|
|
435
|
-
description:
|
|
437
|
+
description: >-
|
|
438
|
+
A hard stop. Null when the licence has no end date, which is the normal case for a
|
|
439
|
+
rolling agreement, and when there is no licence. A rolling licence reports its turnover
|
|
440
|
+
date in renews_at instead.
|
|
441
|
+
renews_at:
|
|
442
|
+
type: string
|
|
443
|
+
format: date-time
|
|
444
|
+
nullable: true
|
|
445
|
+
description: >-
|
|
446
|
+
When a rolling licence next renews. Null when the licence has no defined term, when
|
|
447
|
+
expires sets a hard stop instead, and when there is no licence.
|
|
448
|
+
notice_due_at:
|
|
449
|
+
type: string
|
|
450
|
+
format: date-time
|
|
451
|
+
nullable: true
|
|
452
|
+
description: >-
|
|
453
|
+
The last day notice of non-renewal can be given for the term ending at renews_at. Null
|
|
454
|
+
whenever renews_at is, and when the agreement records no notice period.
|
|
436
455
|
versions:
|
|
437
456
|
type: array
|
|
438
457
|
description: |
|
|
@@ -20,13 +20,13 @@ from .models import (
|
|
|
20
20
|
DatabaseVersion,
|
|
21
21
|
Download,
|
|
22
22
|
Format,
|
|
23
|
+
LicenseType,
|
|
23
24
|
MetadataColumn,
|
|
24
25
|
Outcome,
|
|
25
|
-
LicenseType,
|
|
26
26
|
Standing,
|
|
27
27
|
)
|
|
28
28
|
|
|
29
|
-
__version__ = "1.
|
|
29
|
+
__version__ = "1.2.2"
|
|
30
30
|
|
|
31
31
|
__all__ = [
|
|
32
32
|
"DEFAULT_BASE_URL",
|
|
@@ -41,9 +41,9 @@ __all__ = [
|
|
|
41
41
|
"Format",
|
|
42
42
|
"InternetData",
|
|
43
43
|
"InternetDataError",
|
|
44
|
+
"LicenseType",
|
|
44
45
|
"MetadataColumn",
|
|
45
46
|
"Outcome",
|
|
46
|
-
"LicenseType",
|
|
47
47
|
"Standing",
|
|
48
48
|
"__version__",
|
|
49
49
|
]
|
|
@@ -35,7 +35,13 @@ class Database:
|
|
|
35
35
|
What your licence permits you to do with the data. Null when there
|
|
36
36
|
is no licence.
|
|
37
37
|
starts (datetime.datetime | None):
|
|
38
|
-
expires (datetime.datetime | None): Null when the licence has no end date,
|
|
38
|
+
expires (datetime.datetime | None): A hard stop. Null when the licence has no end date, which is the normal case
|
|
39
|
+
for a rolling agreement, and when there is no licence. A rolling licence reports its turnover date in renews_at
|
|
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.
|
|
39
45
|
versions (list[DatabaseVersion]): Every published version of this family, oldest first. Old versions
|
|
40
46
|
are frozen rather than migrated, so both stay downloadable.
|
|
41
47
|
"""
|
|
@@ -52,6 +58,8 @@ class Database:
|
|
|
52
58
|
)
|
|
53
59
|
starts: datetime.datetime | None
|
|
54
60
|
expires: datetime.datetime | None
|
|
61
|
+
renews_at: datetime.datetime | None
|
|
62
|
+
notice_due_at: datetime.datetime | None
|
|
55
63
|
versions: list[DatabaseVersion]
|
|
56
64
|
additional_properties: dict[str, Any] = _attrs_field(init=False, factory=dict)
|
|
57
65
|
|
|
@@ -86,6 +94,18 @@ class Database:
|
|
|
86
94
|
else:
|
|
87
95
|
expires = self.expires
|
|
88
96
|
|
|
97
|
+
renews_at: None | str
|
|
98
|
+
if isinstance(self.renews_at, datetime.datetime):
|
|
99
|
+
renews_at = self.renews_at.isoformat()
|
|
100
|
+
else:
|
|
101
|
+
renews_at = self.renews_at
|
|
102
|
+
|
|
103
|
+
notice_due_at: None | str
|
|
104
|
+
if isinstance(self.notice_due_at, datetime.datetime):
|
|
105
|
+
notice_due_at = self.notice_due_at.isoformat()
|
|
106
|
+
else:
|
|
107
|
+
notice_due_at = self.notice_due_at
|
|
108
|
+
|
|
89
109
|
versions = []
|
|
90
110
|
for versions_item_data in self.versions:
|
|
91
111
|
versions_item = versions_item_data.to_dict()
|
|
@@ -102,6 +122,8 @@ class Database:
|
|
|
102
122
|
"license_type": license_type,
|
|
103
123
|
"starts": starts,
|
|
104
124
|
"expires": expires,
|
|
125
|
+
"renews_at": renews_at,
|
|
126
|
+
"notice_due_at": notice_due_at,
|
|
105
127
|
"versions": versions,
|
|
106
128
|
}
|
|
107
129
|
)
|
|
@@ -195,6 +217,36 @@ class Database:
|
|
|
195
217
|
|
|
196
218
|
expires = _parse_expires(d.pop("expires"))
|
|
197
219
|
|
|
220
|
+
def _parse_renews_at(data: object) -> datetime.datetime | None:
|
|
221
|
+
if data is None:
|
|
222
|
+
return data
|
|
223
|
+
try:
|
|
224
|
+
if not isinstance(data, str):
|
|
225
|
+
raise TypeError()
|
|
226
|
+
renews_at_type_0 = datetime.datetime.fromisoformat(data)
|
|
227
|
+
|
|
228
|
+
return renews_at_type_0
|
|
229
|
+
except (TypeError, ValueError, AttributeError, KeyError):
|
|
230
|
+
pass
|
|
231
|
+
return cast(datetime.datetime | None, data)
|
|
232
|
+
|
|
233
|
+
renews_at = _parse_renews_at(d.pop("renews_at"))
|
|
234
|
+
|
|
235
|
+
def _parse_notice_due_at(data: object) -> datetime.datetime | None:
|
|
236
|
+
if data is None:
|
|
237
|
+
return data
|
|
238
|
+
try:
|
|
239
|
+
if not isinstance(data, str):
|
|
240
|
+
raise TypeError()
|
|
241
|
+
notice_due_at_type_0 = datetime.datetime.fromisoformat(data)
|
|
242
|
+
|
|
243
|
+
return notice_due_at_type_0
|
|
244
|
+
except (TypeError, ValueError, AttributeError, KeyError):
|
|
245
|
+
pass
|
|
246
|
+
return cast(datetime.datetime | None, data)
|
|
247
|
+
|
|
248
|
+
notice_due_at = _parse_notice_due_at(d.pop("notice_due_at"))
|
|
249
|
+
|
|
198
250
|
versions = []
|
|
199
251
|
_versions = d.pop("versions")
|
|
200
252
|
for versions_item_data in _versions:
|
|
@@ -210,6 +262,8 @@ class Database:
|
|
|
210
262
|
license_type=license_type,
|
|
211
263
|
starts=starts,
|
|
212
264
|
expires=expires,
|
|
265
|
+
renews_at=renews_at,
|
|
266
|
+
notice_due_at=notice_due_at,
|
|
213
267
|
versions=versions,
|
|
214
268
|
)
|
|
215
269
|
|
|
@@ -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
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{internetdata-1.1.1 → internetdata-1.2.2}/src/internetdata/_generated/api/database_v_2/__init__.py
RENAMED
|
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
|
{internetdata-1.1.1 → internetdata-1.2.2}/src/internetdata/_generated/models/database_metadata.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{internetdata-1.1.1 → internetdata-1.2.2}/src/internetdata/_generated/models/database_standing.py
RENAMED
|
File without changes
|
{internetdata-1.1.1 → internetdata-1.2.2}/src/internetdata/_generated/models/database_version.py
RENAMED
|
File without changes
|
|
File without changes
|
{internetdata-1.1.1 → internetdata-1.2.2}/src/internetdata/_generated/models/db_checksums.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{internetdata-1.1.1 → internetdata-1.2.2}/src/internetdata/_generated/models/download_outcome.py
RENAMED
|
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
|