dkg 8.0.2__py3-none-any.whl → 8.0.11__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.
dkg/constants.py CHANGED
@@ -35,6 +35,18 @@ CHUNK_BYTE_SIZE = 32
35
35
 
36
36
  MAX_FILE_SIZE = 10000000
37
37
 
38
+ ESCAPE_MAP = {
39
+ "\a": r"\a",
40
+ "\b": r"\b",
41
+ "\f": r"\f",
42
+ "\n": r"\n",
43
+ "\r": r"\r",
44
+ "\t": r"\t",
45
+ "\v": r"\v",
46
+ '"': r"\"",
47
+ "'": r"'",
48
+ }
49
+
38
50
 
39
51
  class DefaultParameters(Enum):
40
52
  ENVIRONMENT: str = "mainnet"
@@ -118,7 +130,7 @@ BLOCKCHAINS = {
118
130
  "rpc": "https://rpc.chiadochain.net",
119
131
  },
120
132
  "otp:20430": {
121
- "hub": "0xd7d073b560412c6A7F33dD670d323D01061E5DEb",
133
+ "hub": "0xE233B5b78853A62B1E11eBe88bF083e25b0a57a6",
122
134
  "rpc": "https://lofar-testnet.origin-trail.network",
123
135
  },
124
136
  },
@@ -209,6 +209,7 @@ class KnowledgeAsset(Module):
209
209
  blockchain_id = self.manager.blockchain_provider.blockchain_id
210
210
 
211
211
  dataset = {}
212
+ content = kc_tools.escape_literal_dict(content)
212
213
  public_content = dataset.get("public")
213
214
  private_content = dataset.get("private")
214
215
  if isinstance(content, str):
@@ -240,6 +240,7 @@ class AsyncKnowledgeAsset(AsyncModule):
240
240
  blockchain_id = self.manager.blockchain_provider.blockchain_id
241
241
 
242
242
  dataset = {}
243
+ content = kc_tools.escape_literal_dict(content)
243
244
  public_content = dataset.get("public")
244
245
  private_content = dataset.get("private")
245
246
  if isinstance(content, str):
@@ -57,6 +57,7 @@ class AsyncGraph(AsyncModule):
57
57
  result = await self.node_service.query(
58
58
  query, query_type, repository, paranet_ual
59
59
  )
60
+ result.encoding = "utf-8"
60
61
 
61
62
  return result.get("data")
62
63
 
@@ -50,6 +50,7 @@ class Graph(Module):
50
50
  query_type = parsed_query[1].name.replace("Query", "").upper()
51
51
 
52
52
  result = self.node_service.query(query, query_type, repository, paranet_ual)
53
+ result.encoding = "utf-8"
53
54
 
54
55
  return result.get("data")
55
56
 
@@ -1,9 +1,10 @@
1
1
  from typing import Literal
2
+ import codecs
2
3
  from dkg.constants import CHUNK_BYTE_SIZE
3
4
  from dkg.exceptions import DatasetInputFormatNotSupported, InvalidDataset
4
5
  from dkg.types import JSONLD, NQuads
5
6
  from pyld import jsonld
6
- from dkg.constants import DEFAULT_RDF_FORMAT, DEFAULT_CANON_ALGORITHM
7
+ from dkg.constants import DEFAULT_RDF_FORMAT, DEFAULT_CANON_ALGORITHM, ESCAPE_MAP
7
8
  from rdflib import Graph, BNode, URIRef, Literal as RDFLiteral
8
9
  from uuid import uuid4
9
10
  from web3 import Web3
@@ -96,7 +97,9 @@ def split_into_chunks(quads, chunk_size_bytes=32):
96
97
  while start < len(encoded_bytes):
97
98
  end = min(start + chunk_size_bytes, len(encoded_bytes))
98
99
  chunk = encoded_bytes[start:end]
99
- chunks.append(chunk.decode("utf-8")) # Decode bytes back to string
100
+ chunks.append(
101
+ codecs.decode(chunk, "utf-8", errors="replace")
102
+ ) # Decode bytes back to string
100
103
  start = end
101
104
 
102
105
  return chunks
@@ -246,3 +249,20 @@ def solidity_packed_sha256(types: list[str], values: list) -> str:
246
249
  sha256_hash = hashlib.sha256(packed_data).hexdigest()
247
250
 
248
251
  return f"0x{sha256_hash}"
252
+
253
+
254
+ def escape_literal_string(s):
255
+ for char, replacement in ESCAPE_MAP.items():
256
+ s = s.replace(char, replacement)
257
+ return s
258
+
259
+
260
+ def escape_literal_dict(obj):
261
+ if isinstance(obj, dict):
262
+ return {k: escape_literal_dict(v) for k, v in obj.items()}
263
+ elif isinstance(obj, list):
264
+ return [escape_literal_dict(i) for i in obj]
265
+ elif isinstance(obj, str):
266
+ return escape_literal_string(s=obj)
267
+ else:
268
+ return obj
@@ -1,6 +1,6 @@
1
- Metadata-Version: 2.1
1
+ Metadata-Version: 2.3
2
2
  Name: dkg
3
- Version: 8.0.2
3
+ Version: 8.0.11
4
4
  Summary: Python library for interacting with the OriginTrail Decentralized Knowledge Graph
5
5
  License: Apache-2.0
6
6
  Author: Uladzislau Hubar
@@ -3,7 +3,7 @@ dkg/assertion.py,sha256=-KIVT3LHlOHegGg68_KceC5O2r8B_povbofRjmLguVQ,2507
3
3
  dkg/clients/__init__.py,sha256=qKQ8TIbst7UZpJEpEJOZslgEX5EB0PU_H7cwk5-UDso,84
4
4
  dkg/clients/async_dkg.py,sha256=PM0suu8BFUhhS8_K_zoPTxKEXn5J1AFCwyB-JP-hLmc,4013
5
5
  dkg/clients/dkg.py,sha256=QTLm5nfeW0gx_t2e8JMO5gcIJaPvmy1L7ZOy7dSfhkc,3786
6
- dkg/constants.py,sha256=VeXlfY32On-eVLuIdfw2flUaYaMxfCVu_oE_4ltiDtY,5139
6
+ dkg/constants.py,sha256=Zjr7N4cQr-9Kcut3KyYWiITXgsYyAM13TvKdDNbu4lY,5307
7
7
  dkg/data/interfaces/AskStorage.json,sha256=hHWq3e0Kx8Cs3PKD4HL2xYRQ8DXRTxTL06QXqFyqlns,6773
8
8
  dkg/data/interfaces/Chronos.json,sha256=aIpCUgJ8omHidyt0GPkj02COT1LW8Tu66qDm7iquQJk,3595
9
9
  dkg/data/interfaces/Hub.json,sha256=ZcaePz10ff2Vm7VP-vWP63xLOuE0EE8jNruWvWmMjLw,12611
@@ -24,12 +24,12 @@ dkg/managers/manager.py,sha256=2fGwzppJR33d3VPRHgZIvlBbcrb5P99_J7BdfaaOSYM,2640
24
24
  dkg/method.py,sha256=HG_mI6CXxKznLAN561G2Gqtijm3eliHV6vPxAvz-dGs,5521
25
25
  dkg/modules/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
26
26
  dkg/modules/asset/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
27
- dkg/modules/asset/asset.py,sha256=0zvLhwuTKg5FHwdEPPdmFNS-NmpMZ7xiM2Us1uT8DPY,27619
28
- dkg/modules/asset/async_asset.py,sha256=Gyk4irLro6YHfTEIdwGxaMUalQMg5j9gjrMolokURk8,28204
27
+ dkg/modules/asset/asset.py,sha256=IplLU6Rz2rJlCYpfQbPPl4JFvlieU7Vx5-TvoFifB_E,27675
28
+ dkg/modules/asset/async_asset.py,sha256=92YL0JqQ5vXeJbWd3MBIwwYqEX6Y2ksghnED76hrrzs,28260
29
29
  dkg/modules/async_module.py,sha256=iw4DEU8tUvm0CXErQ1LZ8qGcNMQJmvGhu0poHjoKPaI,2629
30
30
  dkg/modules/graph/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
31
- dkg/modules/graph/async_graph.py,sha256=DZqgJRRwLLgBNEc3vEYrqaOKqNJA0o_vSvuk-lPY0eY,4162
32
- dkg/modules/graph/graph.py,sha256=2ISaZKHRTBq0RHdGqy8E2NKh1kM9v8VeuHm-cUqHNYc,3259
31
+ dkg/modules/graph/async_graph.py,sha256=4YNTvnRdeuIV2xjr8-MT8h8zVoW6GfTKVc2AwGvsNuY,4196
32
+ dkg/modules/graph/graph.py,sha256=o73WXIvKBzkbpnva_RdpQLQwEGlRIl38hxrypL1YnjE,3293
33
33
  dkg/modules/module.py,sha256=_lK4iFgThXNSD_dhM6ZgDrDJdxsRjZgIHGQLLXzOW4s,2575
34
34
  dkg/modules/network/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
35
35
  dkg/modules/network/network.py,sha256=a5P9bjbiBVyOaz_Pwycx1IljhgHsE4DM9n2faCIeZtc,2191
@@ -68,15 +68,15 @@ dkg/utils/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
68
68
  dkg/utils/blockchain_request.py,sha256=CMz3sNRhfmYirm0-VUK2HTpbRfgc1gtG2SoPIuRYKb0,12446
69
69
  dkg/utils/decorators.py,sha256=uUh0xI9wv1gE6JF44eYEfUPGSFEBLR6Ua5D9Dhc3s10,1566
70
70
  dkg/utils/knowledge_asset_tools.py,sha256=uehOshzaYg03hDU8RSIV_k2mNaASVgqyyErzj6GwBxw,81
71
- dkg/utils/knowledge_collection_tools.py,sha256=pQKGlSbdsdwfe2y0S1zh9c8MEqi_lrsdBf4U_Q6-V2E,7424
71
+ dkg/utils/knowledge_collection_tools.py,sha256=hPCFcIdyWDCgfbo5uPQizvfin0hHvEElAYpvKYVDIBs,7951
72
72
  dkg/utils/merkle.py,sha256=924kloBAnCXydteVtWMj_QLP5CRJf2GbHMZ-lbIK0KE,5141
73
73
  dkg/utils/metadata.py,sha256=483OroYwGNfZ_cCXfH3-xUrZgiR4mjjo9iU_Ie5RYRs,1658
74
74
  dkg/utils/node_request.py,sha256=wppF8Xf0RkuAAcURcYgyjGAdMsXm0L5YEem8wFGE2g8,6517
75
75
  dkg/utils/rdf.py,sha256=AvlcxZEeP58UbaGGvPX_ss69O-tgTXOJ9y9COZqVgkw,2973
76
76
  dkg/utils/string_transformations.py,sha256=eR51fVwTF9QKxEqXo9_1Bfw_k8iQajdXD6rKuTvhs70,972
77
77
  dkg/utils/ual.py,sha256=g7PFyS4Sbwjmwkq-eB20uRULEC2wlPGZr31BVQjs5OQ,1569
78
- dkg-8.0.2.dist-info/LICENSE,sha256=Dr70w2zcW8-jrPGlpTTTlJPL8lR4j2zpDD32tdEFgjY,11375
79
- dkg-8.0.2.dist-info/METADATA,sha256=p6nGObvkqVFMxPMRlcqcp4DoqwE_HUiMBmCYM-UgAPI,10820
80
- dkg-8.0.2.dist-info/NOTICE,sha256=Rk5toFR2ZqPwVZ3P_P4wE6U1xCnWR9KD3rNBqfPY7h8,368
81
- dkg-8.0.2.dist-info/WHEEL,sha256=Nq82e9rUAnEjt98J6MlVmMCZb-t9cYE2Ir1kpBmnWfs,88
82
- dkg-8.0.2.dist-info/RECORD,,
78
+ dkg-8.0.11.dist-info/LICENSE,sha256=Dr70w2zcW8-jrPGlpTTTlJPL8lR4j2zpDD32tdEFgjY,11375
79
+ dkg-8.0.11.dist-info/METADATA,sha256=gIDVZmuZ6j9G-UKdH1IUcsT4tGDDhmSPEIAwRUV-d6U,10821
80
+ dkg-8.0.11.dist-info/NOTICE,sha256=Rk5toFR2ZqPwVZ3P_P4wE6U1xCnWR9KD3rNBqfPY7h8,368
81
+ dkg-8.0.11.dist-info/WHEEL,sha256=fGIA9gx4Qxk2KDKeNJCbOEwSrmLtjWCwzBz351GyrPQ,88
82
+ dkg-8.0.11.dist-info/RECORD,,
@@ -1,4 +1,4 @@
1
1
  Wheel-Version: 1.0
2
- Generator: poetry-core 1.9.1
2
+ Generator: poetry-core 2.1.2
3
3
  Root-Is-Purelib: true
4
4
  Tag: py3-none-any
File without changes
File without changes