sera-2 1.4.2__py3-none-any.whl → 1.4.3__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.2
3
+ Version: 1.4.3
4
4
  Summary:
5
5
  Author: Binh Vu
6
6
  Author-email: bvu687@gmail.com
@@ -10,7 +10,9 @@ Classifier: Programming Language :: Python :: 3.12
10
10
  Classifier: Programming Language :: Python :: 3.13
11
11
  Requires-Dist: codegen-2 (>=2.1.4,<3.0.0)
12
12
  Requires-Dist: litestar (>=2.15.1,<3.0.0)
13
+ Requires-Dist: loguru (>=0.7.0,<0.8.0)
13
14
  Requires-Dist: msgspec (>=0.19.0,<0.20.0)
15
+ Requires-Dist: typer (>=0.12.3,<0.13.0)
14
16
  Project-URL: Repository, https://github.com/binh-vu/sera
15
17
  Description-Content-Type: text/markdown
16
18
 
@@ -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=EUmjDHcxPqolOimYFJ7lCM-GAqvV3ydsVyekTZ7Pv5c,381
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.2.dist-info/METADATA,sha256=1W1osbUSH1DNDW7X1nj5cgWQmSy9t1Dr4Hh2FpviqiE,616
29
- sera_2-1.4.2.dist-info/WHEEL,sha256=fGIA9gx4Qxk2KDKeNJCbOEwSrmLtjWCwzBz351GyrPQ,88
30
- sera_2-1.4.2.dist-info/RECORD,,
26
+ sera_2-1.4.3.dist-info/METADATA,sha256=B_t5TkNP6ZSgUYSsBfV7DUPvpjXIS15acRxSSVAFyws,695
27
+ sera_2-1.4.3.dist-info/WHEEL,sha256=fGIA9gx4Qxk2KDKeNJCbOEwSrmLtjWCwzBz351GyrPQ,88
28
+ sera_2-1.4.3.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
@@ -1,5 +0,0 @@
1
- from __future__ import annotations
2
-
3
- from sera.misc import SingleNS
4
-
5
- APP_NS = SingleNS("app", "https://purl.org/sera/1.0/")
File without changes