python-datamodel 0.10.1__cp313-cp313-win32.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.
- datamodel/__init__.py +13 -0
- datamodel/abstract.py +383 -0
- datamodel/adaptive/__init__.py +0 -0
- datamodel/adaptive/models.py +598 -0
- datamodel/aliases/__init__.py +26 -0
- datamodel/base.py +180 -0
- datamodel/converters.c +43471 -0
- datamodel/converters.cp313-win32.pyd +0 -0
- datamodel/converters.html +17387 -0
- datamodel/converters.pyx +1489 -0
- datamodel/exceptions.c +13455 -0
- datamodel/exceptions.cp313-win32.pyd +0 -0
- datamodel/exceptions.html +1261 -0
- datamodel/exceptions.pxd +13 -0
- datamodel/exceptions.pyx +50 -0
- datamodel/fields.cp313-win32.pyd +0 -0
- datamodel/fields.cpp +17401 -0
- datamodel/fields.html +3912 -0
- datamodel/fields.pyx +309 -0
- datamodel/functions.cp313-win32.pyd +0 -0
- datamodel/functions.cpp +9068 -0
- datamodel/functions.html +1766 -0
- datamodel/functions.pxd +9 -0
- datamodel/functions.pyx +82 -0
- datamodel/jsonld/__init__.py +45 -0
- datamodel/jsonld/models.py +500 -0
- datamodel/libs/__init__.py +1 -0
- datamodel/libs/mapping.c +15067 -0
- datamodel/libs/mapping.cp313-win32.pyd +0 -0
- datamodel/libs/mapping.html +2618 -0
- datamodel/libs/mapping.pxd +11 -0
- datamodel/libs/mapping.pyx +135 -0
- datamodel/libs/mutables.py +127 -0
- datamodel/models.py +814 -0
- datamodel/parsers/__init__.py +0 -0
- datamodel/parsers/encoders.py +15 -0
- datamodel/parsers/json.cp313-win32.pyd +0 -0
- datamodel/parsers/json.cpp +17004 -0
- datamodel/parsers/json.html +3365 -0
- datamodel/parsers/json.pyx +250 -0
- datamodel/profiler.py +21 -0
- datamodel/py.typed +0 -0
- datamodel/rs_core/Cargo.toml +17 -0
- datamodel/rs_core/src/lib.rs +294 -0
- datamodel/rs_parsers/Cargo.toml +22 -0
- datamodel/rs_parsers/src/lib.rs +571 -0
- datamodel/rs_parsers.cp313-win32.pyd +0 -0
- datamodel/rs_validators/Cargo.toml +17 -0
- datamodel/rs_validators/src/lib.rs +0 -0
- datamodel/typedefs/__init__.py +9 -0
- datamodel/typedefs/singleton.c +9169 -0
- datamodel/typedefs/singleton.cp313-win32.pyd +0 -0
- datamodel/typedefs/singleton.html +629 -0
- datamodel/typedefs/singleton.pxd +9 -0
- datamodel/typedefs/singleton.pyx +24 -0
- datamodel/typedefs/types.c +11716 -0
- datamodel/typedefs/types.cp313-win32.pyd +0 -0
- datamodel/typedefs/types.html +732 -0
- datamodel/typedefs/types.pxd +11 -0
- datamodel/typedefs/types.pyx +39 -0
- datamodel/types.c +7165 -0
- datamodel/types.cp313-win32.pyd +0 -0
- datamodel/types.html +716 -0
- datamodel/types.pyx +100 -0
- datamodel/validation.cp313-win32.pyd +0 -0
- datamodel/validation.cpp +17085 -0
- datamodel/validation.html +4769 -0
- datamodel/validation.pyx +315 -0
- datamodel/version.py +13 -0
- examples/nn/examples.py +311 -0
- examples/nn/stores.py +151 -0
- examples/tests/sp_types.py +294 -0
- examples/tests/speed_dates.py +26 -0
- python_datamodel-0.10.1.dist-info/LICENSE +29 -0
- python_datamodel-0.10.1.dist-info/METADATA +320 -0
- python_datamodel-0.10.1.dist-info/RECORD +78 -0
- python_datamodel-0.10.1.dist-info/WHEEL +5 -0
- python_datamodel-0.10.1.dist-info/top_level.txt +7 -0
datamodel/types.pyx
ADDED
|
@@ -0,0 +1,100 @@
|
|
|
1
|
+
# cython: language_level=3, embedsignature=True, boundscheck=False, wraparound=False, initializedcheck=False
|
|
2
|
+
# Copyright (C) 2018-present Jesus Lara
|
|
3
|
+
#
|
|
4
|
+
from typing import NewType
|
|
5
|
+
from datetime import (
|
|
6
|
+
datetime,
|
|
7
|
+
time,
|
|
8
|
+
date,
|
|
9
|
+
timedelta
|
|
10
|
+
)
|
|
11
|
+
from uuid import UUID
|
|
12
|
+
from decimal import Decimal
|
|
13
|
+
|
|
14
|
+
|
|
15
|
+
uint64 = NewType('uint64', int) # uint64
|
|
16
|
+
uint64_min = 0
|
|
17
|
+
uint64_max = (1 << 64) - 1
|
|
18
|
+
|
|
19
|
+
|
|
20
|
+
DB_TYPES: dict = {
|
|
21
|
+
bool: "boolean",
|
|
22
|
+
int: "integer",
|
|
23
|
+
# int64: "bigint",
|
|
24
|
+
uint64: "bigint",
|
|
25
|
+
float: "float",
|
|
26
|
+
str: "character varying",
|
|
27
|
+
bytes: "byte",
|
|
28
|
+
list: "Array",
|
|
29
|
+
tuple: "Array",
|
|
30
|
+
Decimal: "numeric",
|
|
31
|
+
date: "date",
|
|
32
|
+
datetime: "timestamp without time zone",
|
|
33
|
+
time: "time",
|
|
34
|
+
timedelta: "timestamp without time zone",
|
|
35
|
+
UUID: "uuid",
|
|
36
|
+
dict: "jsonb",
|
|
37
|
+
type(None): None
|
|
38
|
+
}
|
|
39
|
+
|
|
40
|
+
|
|
41
|
+
MODEL_TYPES: dict = {
|
|
42
|
+
"boolean": bool,
|
|
43
|
+
"integer": int,
|
|
44
|
+
"bigint": uint64,
|
|
45
|
+
"float": float,
|
|
46
|
+
"character varying": str,
|
|
47
|
+
"string": str,
|
|
48
|
+
"varchar": str,
|
|
49
|
+
"byte": bytes,
|
|
50
|
+
"bytea": bytes,
|
|
51
|
+
"Array": list,
|
|
52
|
+
"hstore": dict,
|
|
53
|
+
"character varying[]": list,
|
|
54
|
+
"numeric": Decimal,
|
|
55
|
+
"date": date,
|
|
56
|
+
"timestamp with time zone": datetime,
|
|
57
|
+
"time": time,
|
|
58
|
+
"timestamp without time zone": datetime,
|
|
59
|
+
"uuid": UUID,
|
|
60
|
+
"json": dict,
|
|
61
|
+
"jsonb": dict,
|
|
62
|
+
"text": str,
|
|
63
|
+
"serial": int,
|
|
64
|
+
"bigserial": int,
|
|
65
|
+
"inet": str
|
|
66
|
+
}
|
|
67
|
+
|
|
68
|
+
|
|
69
|
+
JSON_TYPES: dict = {
|
|
70
|
+
bool: "boolean",
|
|
71
|
+
int: "integer",
|
|
72
|
+
uint64: "long",
|
|
73
|
+
float: "number",
|
|
74
|
+
str: "string",
|
|
75
|
+
bytes: "byte",
|
|
76
|
+
list: "array",
|
|
77
|
+
dict: "object",
|
|
78
|
+
Decimal: "number",
|
|
79
|
+
date: "date",
|
|
80
|
+
datetime: "datetime",
|
|
81
|
+
time: "time",
|
|
82
|
+
timedelta: "timedelta",
|
|
83
|
+
UUID: "uuid"
|
|
84
|
+
}
|
|
85
|
+
|
|
86
|
+
|
|
87
|
+
### Declaration of New Types:
|
|
88
|
+
Text: str = NewType('Text', str)
|
|
89
|
+
|
|
90
|
+
|
|
91
|
+
def default_dict():
|
|
92
|
+
"""Return a default empty string usable into Dataclasses.
|
|
93
|
+
"""
|
|
94
|
+
return {}
|
|
95
|
+
|
|
96
|
+
|
|
97
|
+
def default_string():
|
|
98
|
+
"""Return a default string.
|
|
99
|
+
"""
|
|
100
|
+
return ''
|
|
Binary file
|