sera-2 1.4.2__py3-none-any.whl → 1.4.4__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.
sera/misc/__init__.py
CHANGED
@@ -1,4 +1,3 @@
|
|
1
|
-
from sera.misc._rdf import SingleNS, Term
|
2
1
|
from sera.misc._utils import (
|
3
2
|
assert_isinstance,
|
4
3
|
assert_not_null,
|
@@ -9,8 +8,6 @@ from sera.misc._utils import (
|
|
9
8
|
)
|
10
9
|
|
11
10
|
__all__ = [
|
12
|
-
"SingleNS",
|
13
|
-
"Term",
|
14
11
|
"to_snake_case",
|
15
12
|
"assert_isinstance",
|
16
13
|
"filter_duplication",
|
@@ -1,6 +1,6 @@
|
|
1
1
|
Metadata-Version: 2.3
|
2
2
|
Name: sera-2
|
3
|
-
Version: 1.4.
|
3
|
+
Version: 1.4.4
|
4
4
|
Summary:
|
5
5
|
Author: Binh Vu
|
6
6
|
Author-email: bvu687@gmail.com
|
@@ -8,9 +8,12 @@ Requires-Python: >=3.12,<4.0
|
|
8
8
|
Classifier: Programming Language :: Python :: 3
|
9
9
|
Classifier: Programming Language :: Python :: 3.12
|
10
10
|
Classifier: Programming Language :: Python :: 3.13
|
11
|
+
Requires-Dist: black (>=25.1.0,<26.0.0)
|
11
12
|
Requires-Dist: codegen-2 (>=2.1.4,<3.0.0)
|
12
13
|
Requires-Dist: litestar (>=2.15.1,<3.0.0)
|
14
|
+
Requires-Dist: loguru (>=0.7.0,<0.8.0)
|
13
15
|
Requires-Dist: msgspec (>=0.19.0,<0.20.0)
|
16
|
+
Requires-Dist: typer (>=0.12.3,<0.13.0)
|
14
17
|
Project-URL: Repository, https://github.com/binh-vu/sera
|
15
18
|
Description-Content-Type: text/markdown
|
16
19
|
|
@@ -11,8 +11,7 @@ sera/make/make_python_api.py,sha256=oNB9kMnFmdu7DVnRPz_Ep-tNj223afAipdCud4yY7Ro,
|
|
11
11
|
sera/make/make_python_model.py,sha256=CHLZuFd15RypLq1EK1j-0pq1BwxX33wshcehcl3EVNI,32164
|
12
12
|
sera/make/make_python_services.py,sha256=RsinYZdfkrTlTn9CT50VgqGs9w6IZawsJx-KEmqfnEY,2062
|
13
13
|
sera/make/make_typescript_model.py,sha256=ZZZ56-cMfM-4lmRnpRfB3DYZSqu6661lu1WWRFrAt3Y,33305
|
14
|
-
sera/misc/__init__.py,sha256=
|
15
|
-
sera/misc/_rdf.py,sha256=G0ekWLUSw-eiKUOaPSGkELbZld19S9d36gWwiswjrrs,1671
|
14
|
+
sera/misc/__init__.py,sha256=G-vpwJtdS596Yle7W007vArHRwmK0QgGmLhzlqTiHMQ,311
|
16
15
|
sera/misc/_utils.py,sha256=V5g4oLGHOhUCR75Kkcn1w01pAvGvaepK-T8Z3pIgHjI,1450
|
17
16
|
sera/models/__init__.py,sha256=Kz3Cg7GIVzsM0qFG5ERB5gobLAxBy2SdxItIl73ui2g,759
|
18
17
|
sera/models/_class.py,sha256=Wf0e8x6-szG9TzoFkAlqj7_dG0SCICMBw_333n3paxk,2514
|
@@ -23,8 +22,7 @@ sera/models/_multi_lingual_string.py,sha256=cVoxge1SW68dVmOjDZJU93tUq2ccJse3kSPq
|
|
23
22
|
sera/models/_parse.py,sha256=ne0nI_PLYNiWwwkLJzmVkmv9c60bGjARcNFwkSsdJyA,6910
|
24
23
|
sera/models/_property.py,sha256=8q0UZznXLcYdXhcjhu_S8Ey7r3kqT8SFNvkn3GiW-ts,5117
|
25
24
|
sera/models/_schema.py,sha256=1F_Ict1NLvDcQDUZwcvnRS5MtsOTv584y3ChymUeUYA,1046
|
26
|
-
sera/namespace.py,sha256=5NJ0A7weZwblqkncpgY2Vfcat04mNtigNcVrqu7TGOc,123
|
27
25
|
sera/typing.py,sha256=QkzT07FtBwoiX2WHXDUrU1zSPLoRmKJgsXa2kLyLMxU,327
|
28
|
-
sera_2-1.4.
|
29
|
-
sera_2-1.4.
|
30
|
-
sera_2-1.4.
|
26
|
+
sera_2-1.4.4.dist-info/METADATA,sha256=LgwciAapC_am0bwFu0dKiTNXZ2ShlTXL4Vd4MX43pb8,735
|
27
|
+
sera_2-1.4.4.dist-info/WHEEL,sha256=fGIA9gx4Qxk2KDKeNJCbOEwSrmLtjWCwzBz351GyrPQ,88
|
28
|
+
sera_2-1.4.4.dist-info/RECORD,,
|
sera/misc/_rdf.py
DELETED
@@ -1,60 +0,0 @@
|
|
1
|
-
from __future__ import annotations
|
2
|
-
|
3
|
-
from dataclasses import dataclass, field
|
4
|
-
from functools import cached_property
|
5
|
-
from typing import Iterable
|
6
|
-
|
7
|
-
from rdflib import OWL, RDF, RDFS, SKOS, XSD, Graph, URIRef
|
8
|
-
from rdflib.namespace import NamespaceManager
|
9
|
-
from sm.typing import IRI, InternalID, RelIRI
|
10
|
-
|
11
|
-
|
12
|
-
@dataclass
|
13
|
-
class SingleNS:
|
14
|
-
alias: str
|
15
|
-
namespace: str
|
16
|
-
|
17
|
-
def __post_init__(self):
|
18
|
-
assert self.namespace.endswith("/") or self.namespace.endswith(
|
19
|
-
"#"
|
20
|
-
), f"Namespace {self.namespace} should end with / or #"
|
21
|
-
|
22
|
-
def term(self, name: str) -> Term:
|
23
|
-
return Term(self, name)
|
24
|
-
|
25
|
-
def id(self, uri: IRI | URIRef) -> str:
|
26
|
-
assert uri.startswith(self.namespace), (uri, self.namespace)
|
27
|
-
return uri[len(self.namespace) :]
|
28
|
-
|
29
|
-
def uri(self, name: InternalID) -> URIRef:
|
30
|
-
return URIRef(self.namespace + name)
|
31
|
-
|
32
|
-
def uristr(self, name: InternalID) -> IRI:
|
33
|
-
return self.namespace + name
|
34
|
-
|
35
|
-
def __getattr__(self, name: InternalID):
|
36
|
-
return self.alias + ":" + name
|
37
|
-
|
38
|
-
def __getitem__(self, name: InternalID):
|
39
|
-
return self.alias + ":" + name
|
40
|
-
|
41
|
-
def __contains__(self, uri: IRI | URIRef) -> bool:
|
42
|
-
return uri.startswith(self.namespace)
|
43
|
-
|
44
|
-
def rel2abs(self, reluri: RelIRI) -> URIRef:
|
45
|
-
return URIRef(self.namespace + reluri.split(":")[1])
|
46
|
-
|
47
|
-
def abs2rel(self, uri: IRI | URIRef) -> RelIRI:
|
48
|
-
return self.alias + ":" + self.id(uri)
|
49
|
-
|
50
|
-
|
51
|
-
@dataclass
|
52
|
-
class Term:
|
53
|
-
ns: SingleNS
|
54
|
-
name: str
|
55
|
-
reluri: str = field(init=False)
|
56
|
-
uri: URIRef = field(init=False)
|
57
|
-
|
58
|
-
def __post_init__(self):
|
59
|
-
self.reluri = self.ns[self.name]
|
60
|
-
self.uri = self.ns.uri(self.name)
|
sera/namespace.py
DELETED
File without changes
|