pyjelly 0.3.0__py3-none-any.whl → 0.5.0__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.
Potentially problematic release.
This version of pyjelly might be problematic. Click here for more details.
- pyjelly/integrations/generic/__init__.py +0 -0
- pyjelly/integrations/generic/generic_sink.py +163 -0
- pyjelly/integrations/generic/parse.py +339 -0
- pyjelly/integrations/generic/serialize.py +361 -0
- pyjelly/integrations/rdflib/parse.py +235 -156
- pyjelly/integrations/rdflib/serialize.py +189 -60
- pyjelly/jelly/rdf_pb2.py +3 -3
- pyjelly/jelly/rdf_pb2.pyi +2 -1
- pyjelly/options.py +9 -0
- pyjelly/parse/decode.py +32 -10
- pyjelly/parse/ioutils.py +10 -4
- pyjelly/serialize/encode.py +30 -3
- pyjelly/serialize/flows.py +24 -14
- pyjelly/serialize/streams.py +5 -2
- {pyjelly-0.3.0.dist-info → pyjelly-0.5.0.dist-info}/METADATA +10 -9
- pyjelly-0.5.0.dist-info/RECORD +32 -0
- pyjelly-0.3.0.dist-info/RECORD +0 -28
- {pyjelly-0.3.0.dist-info → pyjelly-0.5.0.dist-info}/WHEEL +0 -0
- {pyjelly-0.3.0.dist-info → pyjelly-0.5.0.dist-info}/entry_points.txt +0 -0
- {pyjelly-0.3.0.dist-info → pyjelly-0.5.0.dist-info}/licenses/LICENSE +0 -0
pyjelly/serialize/streams.py
CHANGED
|
@@ -78,9 +78,12 @@ class Stream:
|
|
|
78
78
|
jelly.LOGICAL_STREAM_TYPE_FLAT_TRIPLES,
|
|
79
79
|
jelly.LOGICAL_STREAM_TYPE_FLAT_QUADS,
|
|
80
80
|
):
|
|
81
|
-
flow = flow_class(
|
|
81
|
+
flow = flow_class(
|
|
82
|
+
logical_type=self.options.logical_type,
|
|
83
|
+
frame_size=self.options.frame_size,
|
|
84
|
+
)
|
|
82
85
|
else:
|
|
83
|
-
flow = flow_class()
|
|
86
|
+
flow = flow_class(logical_type=self.options.logical_type)
|
|
84
87
|
else:
|
|
85
88
|
flow = ManualFrameFlow(logical_type=self.options.logical_type)
|
|
86
89
|
return flow
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: pyjelly
|
|
3
|
-
Version: 0.
|
|
3
|
+
Version: 0.5.0
|
|
4
4
|
Summary: Jelly-RDF implementation for Python
|
|
5
5
|
Project-URL: Homepage, https://w3id.org/jelly/pyjelly
|
|
6
6
|
Project-URL: Documentation, https://w3id.org/jelly/pyjelly
|
|
@@ -28,13 +28,14 @@ Classifier: Topic :: File Formats
|
|
|
28
28
|
Classifier: Topic :: Software Development :: Libraries
|
|
29
29
|
Classifier: Topic :: Software Development :: Libraries :: Python Modules
|
|
30
30
|
Requires-Python: >=3.9
|
|
31
|
-
Requires-Dist: protobuf>=
|
|
31
|
+
Requires-Dist: protobuf>=6.30.0
|
|
32
|
+
Requires-Dist: pytest-cov>=6.2.1
|
|
32
33
|
Requires-Dist: typing-extensions>=4.12.2
|
|
33
34
|
Provides-Extra: rdflib
|
|
34
35
|
Requires-Dist: rdflib>=7.1.4; extra == 'rdflib'
|
|
35
36
|
Description-Content-Type: text/markdown
|
|
36
37
|
|
|
37
|
-
[](https://w3id.org/jelly/pyjelly) [](https://pypi.org/project/pyjelly/) [](https://pypi.org/project/pyjelly/) [](https://opensource.org/licenses/Apache-2.0) [](https://github.com/Jelly-RDF/pyjelly/actions/workflows/ci.yml) [](https://discord.gg/A8sN5XwVa5)
|
|
38
|
+
[](https://w3id.org/jelly/pyjelly) [](https://pypi.org/project/pyjelly/) [](https://pypi.org/project/pyjelly/) [](https://opensource.org/licenses/Apache-2.0) [](https://github.com/Jelly-RDF/pyjelly/actions/workflows/ci.yml) [](https://codecov.io/gh/Jelly-RDF/pyjelly) [](https://discord.gg/A8sN5XwVa5)
|
|
38
39
|
|
|
39
40
|
# pyjelly
|
|
40
41
|
|
|
@@ -50,13 +51,13 @@ Description-Content-Type: text/markdown
|
|
|
50
51
|
|
|
51
52
|
## Getting started
|
|
52
53
|
|
|
53
|
-
|
|
54
|
+
Install pyjelly from **[PyPI](https://pypi.org/project/pyjelly/)**:
|
|
54
55
|
|
|
55
56
|
```bash
|
|
56
57
|
pip install pyjelly[rdflib]
|
|
57
58
|
```
|
|
58
59
|
|
|
59
|
-
To write an RDF graph to a Jelly file
|
|
60
|
+
To write an RDF graph to a Jelly file:
|
|
60
61
|
|
|
61
62
|
```python
|
|
62
63
|
from rdflib import Graph
|
|
@@ -66,7 +67,7 @@ g.parse("http://xmlns.com/foaf/spec/index.rdf")
|
|
|
66
67
|
g.serialize(destination="foaf.jelly", format="jelly")
|
|
67
68
|
```
|
|
68
69
|
|
|
69
|
-
To read a Jelly file and convert it to an rdflib Graph
|
|
70
|
+
To read a Jelly file and convert it to an rdflib `Graph`:
|
|
70
71
|
|
|
71
72
|
```python
|
|
72
73
|
from rdflib import Graph
|
|
@@ -75,19 +76,19 @@ g = Graph()
|
|
|
75
76
|
g.parse("foaf.jelly", format="jelly")
|
|
76
77
|
```
|
|
77
78
|
|
|
78
|
-
**See
|
|
79
|
+
**See [our documentation](https://w3id.org/jelly/pyjelly) for [further examples](https://w3id.org/jelly/pyjelly/dev/getting-started/), a full [API reference](https://w3id.org/jelly/pyjelly/dev/api), and more.**
|
|
79
80
|
|
|
80
81
|
## Contributing and support
|
|
81
82
|
|
|
82
83
|
This project is being actively developed – you can stay tuned by [watching this repository](https://docs.github.com/en/account-and-profile/managing-subscriptions-and-notifications-on-github/setting-up-notifications/about-notifications#subscription-options).
|
|
83
84
|
|
|
84
|
-
|
|
85
|
+
Join the **[Jelly Discord chat](https://discord.gg/A8sN5XwVa5)** to ask questions about pyjelly and to be up-to-date with the development activities.
|
|
85
86
|
|
|
86
87
|
### Commercial support
|
|
87
88
|
|
|
88
89
|
**[NeverBlink](https://neverblink.eu)** provides commercial support services for Jelly, including implementing custom features, system integrations, implementations for new frameworks, benchmarking, and more.
|
|
89
90
|
|
|
90
|
-
|
|
91
|
+
### Contributing
|
|
91
92
|
|
|
92
93
|
If you'd like to contribute, check out our [contributing guidelines](CONTRIBUTING.md).
|
|
93
94
|
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
pyjelly/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
2
|
+
pyjelly/errors.py,sha256=R-xRB4a9S19J9dzAL4a5MCaBwb9ev_kvphGFkQJX6ZU,332
|
|
3
|
+
pyjelly/options.py,sha256=vjUjwifD1SFj_b3wvz8D50Tv2wbgGrVF0urG9Zpx3VQ,4307
|
|
4
|
+
pyjelly/_proto/grpc.proto,sha256=3PfcZWqKhUSzP_T-xT-80raUYERr_dXWd8rITzXIqek,1188
|
|
5
|
+
pyjelly/_proto/patch.proto,sha256=gASUm0xDG9J1advNoq_cCsJYxudTbQaiZQBq4oW3kw4,5291
|
|
6
|
+
pyjelly/_proto/rdf.proto,sha256=EKxyG421B4m0Wx5-6jjojdga_hA3jpZfF6-T3lMc0hI,12763
|
|
7
|
+
pyjelly/integrations/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
8
|
+
pyjelly/integrations/generic/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
9
|
+
pyjelly/integrations/generic/generic_sink.py,sha256=zJoz6hI46Z13u4aa4zSXlbXFkHO7wLVW-czlytK-IOI,4024
|
|
10
|
+
pyjelly/integrations/generic/parse.py,sha256=BLavZP-CgstDfQtrMzhsn1OnGQQBe-DNmmxqCWvdAmc,9564
|
|
11
|
+
pyjelly/integrations/generic/serialize.py,sha256=F3giZpPrMAuIL9LHm58e1u_9Y-wwMy9rPUmpxb3OVTY,10893
|
|
12
|
+
pyjelly/integrations/rdflib/__init__.py,sha256=lpIz6iildMf5bDvj3aBqZJ7kgKFrTx_tsqSb6PkLis0,552
|
|
13
|
+
pyjelly/integrations/rdflib/parse.py,sha256=73i4BAI72ZfZycNRlAPboRcpgPAS7XFG5Yesnfe7yME,13718
|
|
14
|
+
pyjelly/integrations/rdflib/serialize.py,sha256=LwWeBZDoyQL4mC6wta2TnW_1ys3_kqxmAFkAoJMJnOw,11675
|
|
15
|
+
pyjelly/jelly/__init__.py,sha256=9kacwn8Ew_1fcgj1abz6miEz-AtUdPT2ltFWaRIE5VE,126
|
|
16
|
+
pyjelly/jelly/rdf_pb2.py,sha256=qjgS3kQnCJqoOmgzvgk1BeYxGbeDX2zygJPc2vDjRts,8952
|
|
17
|
+
pyjelly/jelly/rdf_pb2.pyi,sha256=-gxZO-r2wyN68l83XomySz60c82SZmoPKh1HxamBjZs,11816
|
|
18
|
+
pyjelly/parse/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
19
|
+
pyjelly/parse/decode.py,sha256=tVn2e6UmGqjFplIFFlOvZYMb50jCLvkRuaZky45CVNg,14220
|
|
20
|
+
pyjelly/parse/ioutils.py,sha256=O3wRtL5tf1WyIZ1LTfHjHwjKEGrhIWqFisOWjYmspNg,3434
|
|
21
|
+
pyjelly/parse/lookup.py,sha256=1AbdZEycLC4tRfh3fgF5hv5PrhwhdWvCUC53iHt-E4c,2193
|
|
22
|
+
pyjelly/serialize/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
23
|
+
pyjelly/serialize/encode.py,sha256=Yr8StCm4u5oJ1ZDFFHnRVnJFtPlCyX7fCFBgmB5Drgw,10521
|
|
24
|
+
pyjelly/serialize/flows.py,sha256=0C2soigJKyHr3xoR-7v0kc1RL8COwnuCRd4iVZpukFU,5524
|
|
25
|
+
pyjelly/serialize/ioutils.py,sha256=2_NaadLfHO3jKR1ZV7aK6jQ09sPKBar9iLFHYwourz8,400
|
|
26
|
+
pyjelly/serialize/lookup.py,sha256=h0lYFjdB6CIuN2DzAW6EE4ILJFUuto3paAK6DG1DZYg,4091
|
|
27
|
+
pyjelly/serialize/streams.py,sha256=F_T3k9yLSPtUW2ZaL99hmjlPKmgG4nYNeNXUiee3jEY,8421
|
|
28
|
+
pyjelly-0.5.0.dist-info/METADATA,sha256=LZ9VubOV_XRCC-Bqk7RWmfbcYJETPfKL7-YnhrVQr5Y,4786
|
|
29
|
+
pyjelly-0.5.0.dist-info/WHEEL,sha256=qtCwoSJWgHk21S1Kb4ihdzI2rlJ1ZKaIurTj_ngOhyQ,87
|
|
30
|
+
pyjelly-0.5.0.dist-info/entry_points.txt,sha256=kUG0p9zso7HpitdMaQaXEj_KSqgOGsL0Ky9ARbecN1g,339
|
|
31
|
+
pyjelly-0.5.0.dist-info/licenses/LICENSE,sha256=xx0jnfkXJvxRnG63LTGOxlggYnIysveWIZ6H3PNdCrQ,11357
|
|
32
|
+
pyjelly-0.5.0.dist-info/RECORD,,
|
pyjelly-0.3.0.dist-info/RECORD
DELETED
|
@@ -1,28 +0,0 @@
|
|
|
1
|
-
pyjelly/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
2
|
-
pyjelly/errors.py,sha256=R-xRB4a9S19J9dzAL4a5MCaBwb9ev_kvphGFkQJX6ZU,332
|
|
3
|
-
pyjelly/options.py,sha256=jYVPNdaMTh76Oqtdk8kaJwG5gv8dUjlMkW6nXWohCn4,3862
|
|
4
|
-
pyjelly/_proto/grpc.proto,sha256=3PfcZWqKhUSzP_T-xT-80raUYERr_dXWd8rITzXIqek,1188
|
|
5
|
-
pyjelly/_proto/patch.proto,sha256=gASUm0xDG9J1advNoq_cCsJYxudTbQaiZQBq4oW3kw4,5291
|
|
6
|
-
pyjelly/_proto/rdf.proto,sha256=EKxyG421B4m0Wx5-6jjojdga_hA3jpZfF6-T3lMc0hI,12763
|
|
7
|
-
pyjelly/integrations/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
8
|
-
pyjelly/integrations/rdflib/__init__.py,sha256=lpIz6iildMf5bDvj3aBqZJ7kgKFrTx_tsqSb6PkLis0,552
|
|
9
|
-
pyjelly/integrations/rdflib/parse.py,sha256=wbWyWgFVtxZsftx5v8zYDGUo2e-HuYpppzARil8CFwI,11974
|
|
10
|
-
pyjelly/integrations/rdflib/serialize.py,sha256=Hr8DuXPtv59WSl__D2wodpbPefTuhLwPqf7tcQ6VFUU,8001
|
|
11
|
-
pyjelly/jelly/__init__.py,sha256=9kacwn8Ew_1fcgj1abz6miEz-AtUdPT2ltFWaRIE5VE,126
|
|
12
|
-
pyjelly/jelly/rdf_pb2.py,sha256=L_fPtDaURFCpLIMqVdl4RwiWyVgEFOwtB4-If3MpoSg,8952
|
|
13
|
-
pyjelly/jelly/rdf_pb2.pyi,sha256=-Vv2HlpUWhaKPEb0YXOTx21cIKoqoBmTY8U6HPMUcLw,11789
|
|
14
|
-
pyjelly/parse/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
15
|
-
pyjelly/parse/decode.py,sha256=ss7tCUA9klcYRfeUPxTgISL700b9cdkcuNeAk1AE8XQ,13271
|
|
16
|
-
pyjelly/parse/ioutils.py,sha256=DLAxb4WlFUkWJOeqVhfJYlY9afVv4YFF7SbI5WqmmaQ,3250
|
|
17
|
-
pyjelly/parse/lookup.py,sha256=1AbdZEycLC4tRfh3fgF5hv5PrhwhdWvCUC53iHt-E4c,2193
|
|
18
|
-
pyjelly/serialize/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
19
|
-
pyjelly/serialize/encode.py,sha256=WSeqxyBtxpMrWrefhnmNLf8ummzlT0rY7NKoUzFY8NQ,9498
|
|
20
|
-
pyjelly/serialize/flows.py,sha256=6jJNp4oYWmV0O_jqeashOqzWH5Rpke9ix4hqa88b22Q,5010
|
|
21
|
-
pyjelly/serialize/ioutils.py,sha256=2_NaadLfHO3jKR1ZV7aK6jQ09sPKBar9iLFHYwourz8,400
|
|
22
|
-
pyjelly/serialize/lookup.py,sha256=h0lYFjdB6CIuN2DzAW6EE4ILJFUuto3paAK6DG1DZYg,4091
|
|
23
|
-
pyjelly/serialize/streams.py,sha256=FPgYAxwnI99uXAkg6Gl2O9p-akawHDLmB2OuUEczhUU,8315
|
|
24
|
-
pyjelly-0.3.0.dist-info/METADATA,sha256=6Nr1CC-LWE7HjAfeN3ESJG5ZE7lpWC-5rAc8Ci2eeak,4585
|
|
25
|
-
pyjelly-0.3.0.dist-info/WHEEL,sha256=qtCwoSJWgHk21S1Kb4ihdzI2rlJ1ZKaIurTj_ngOhyQ,87
|
|
26
|
-
pyjelly-0.3.0.dist-info/entry_points.txt,sha256=kUG0p9zso7HpitdMaQaXEj_KSqgOGsL0Ky9ARbecN1g,339
|
|
27
|
-
pyjelly-0.3.0.dist-info/licenses/LICENSE,sha256=xx0jnfkXJvxRnG63LTGOxlggYnIysveWIZ6H3PNdCrQ,11357
|
|
28
|
-
pyjelly-0.3.0.dist-info/RECORD,,
|
|
File without changes
|
|
File without changes
|
|
File without changes
|