[](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)
# pyjelly
**pyjelly** is a Python implementation of [Jelly](http://w3id.org/jelly), a high-performance binary serialization format and streaming protocol for RDF knowledge graphs.
**Documentation, usage guide and more: https://w3id.org/jelly/pyjelly**
## Features
- **Fast reading and writing** of RDF knowledge graphs in the [Jelly format](http://w3id.org/jelly)
- **Seamless integration with [rdflib](https://rdflib.readthedocs.io/)**
- **Stream processing support** for large datasets or streams of many RDF graphs/datasets
## Getting started
Install pyjelly from **[PyPI](https://pypi.org/project/pyjelly/)**:
```bash
pip install pyjelly[rdflib]
```
To write an RDF graph to a Jelly file:
```python
from rdflib import Graph
g = Graph()
g.parse("http://xmlns.com/foaf/spec/index.rdf")
g.serialize(destination="foaf.jelly", format="jelly")
```
To read a Jelly file and convert it to an rdflib `Graph`:
```python
from rdflib import Graph
g = Graph()
g.parse("foaf.jelly", format="jelly")
```
**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.**
## Contributing and support
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).
Join the **[Jelly Discord chat](https://discord.gg/A8sN5XwVa5)** to ask questions about pyjelly and to be up-to-date with the development activities.
### Commercial support
**[NeverBlink](https://neverblink.eu)** provides commercial support services for Jelly, including implementing custom features, system integrations, implementations for new frameworks, benchmarking, and more.
### Contributing
If you'd like to contribute, check out our [contributing guidelines](CONTRIBUTING.md).
## License
The pyjelly library is licensed under the [Apache 2.0 license](https://www.apache.org/licenses/LICENSE-2.0).
----
The development of the Jelly protocol, its implementations, and supporting tooling was co-funded by the European Union. **[More details](https://w3id.org/jelly/dev/licensing/projects)**.
Raw data
{
"_id": null,
"home_page": null,
"name": "pyjelly",
"maintainer": null,
"docs_url": null,
"requires_python": ">=3.9",
"maintainer_email": null,
"keywords": "Jelly, Knowledge graph, RDF, Serialization format",
"author": null,
"author_email": "\"NeverBlink et al.\" <contact@neverblink.eu>",
"download_url": "https://files.pythonhosted.org/packages/2d/02/ac6421afb100f2b60ef2c9e84637663c6c181ffc0980321f548a13d02ffe/pyjelly-0.6.1.tar.gz",
"platform": null,
"description": "[](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)\n\n# pyjelly\n\n**pyjelly** is a Python implementation of [Jelly](http://w3id.org/jelly), a high-performance binary serialization format and streaming protocol for RDF knowledge graphs.\n\n**Documentation, usage guide and more: https://w3id.org/jelly/pyjelly**\n\n## Features\n\n- **Fast reading and writing** of RDF knowledge graphs in the [Jelly format](http://w3id.org/jelly)\n- **Seamless integration with [rdflib](https://rdflib.readthedocs.io/)**\n- **Stream processing support** for large datasets or streams of many RDF graphs/datasets\n\n## Getting started\n\nInstall pyjelly from **[PyPI](https://pypi.org/project/pyjelly/)**:\n\n```bash\npip install pyjelly[rdflib]\n```\n\nTo write an RDF graph to a Jelly file:\n\n```python\nfrom rdflib import Graph\n\ng = Graph()\ng.parse(\"http://xmlns.com/foaf/spec/index.rdf\")\ng.serialize(destination=\"foaf.jelly\", format=\"jelly\")\n```\n\nTo read a Jelly file and convert it to an rdflib `Graph`:\n\n```python\nfrom rdflib import Graph\n\ng = Graph()\ng.parse(\"foaf.jelly\", format=\"jelly\")\n```\n\n**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.**\n\n## Contributing and support\n\nThis project is being actively developed \u2013 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).\n\nJoin the **[Jelly Discord chat](https://discord.gg/A8sN5XwVa5)** to ask questions about pyjelly and to be up-to-date with the development activities.\n\n### Commercial support\n\n**[NeverBlink](https://neverblink.eu)** provides commercial support services for Jelly, including implementing custom features, system integrations, implementations for new frameworks, benchmarking, and more.\n\n### Contributing\n\nIf you'd like to contribute, check out our [contributing guidelines](CONTRIBUTING.md).\n\n## License\n\nThe pyjelly library is licensed under the [Apache 2.0 license](https://www.apache.org/licenses/LICENSE-2.0).\n\n----\n\nThe development of the Jelly protocol, its implementations, and supporting tooling was co-funded by the European Union. **[More details](https://w3id.org/jelly/dev/licensing/projects)**.\n",
"bugtrack_url": null,
"license": null,
"summary": "Jelly-RDF implementation for Python",
"version": "0.6.1",
"project_urls": {
"Changelog": "https://github.com/Jelly-RDF/pyjelly/releases",
"Documentation": "https://w3id.org/jelly/pyjelly",
"Homepage": "https://w3id.org/jelly/pyjelly",
"Issues": "https://github.com/Jelly-RDF/pyjelly/issues",
"Repository": "https://github.com/Jelly-RDF/pyjelly"
},
"split_keywords": [
"jelly",
" knowledge graph",
" rdf",
" serialization format"
],
"urls": [
{
"comment_text": null,
"digests": {
"blake2b_256": "a6fa2a756d61e2245cdcc34462a2ae5da2375019258307c4db261cbcea4491e3",
"md5": "5843eaa4b6c6d5118fe5ee0e27e5d0c2",
"sha256": "86feadb64fbbdc646e20c78ccc98aaa21327356e4d438d52eb5412d20046f02a"
},
"downloads": -1,
"filename": "pyjelly-0.6.1-py3-none-any.whl",
"has_sig": false,
"md5_digest": "5843eaa4b6c6d5118fe5ee0e27e5d0c2",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.9",
"size": 50279,
"upload_time": "2025-09-01T20:54:22",
"upload_time_iso_8601": "2025-09-01T20:54:22.549024Z",
"url": "https://files.pythonhosted.org/packages/a6/fa/2a756d61e2245cdcc34462a2ae5da2375019258307c4db261cbcea4491e3/pyjelly-0.6.1-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "2d02ac6421afb100f2b60ef2c9e84637663c6c181ffc0980321f548a13d02ffe",
"md5": "8953d6ae29d3c7c052d2fc2658b2370f",
"sha256": "0cdffac65db173ef4aa091574260e34170b38f2eea251006880493d4f42d18a5"
},
"downloads": -1,
"filename": "pyjelly-0.6.1.tar.gz",
"has_sig": false,
"md5_digest": "8953d6ae29d3c7c052d2fc2658b2370f",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.9",
"size": 769674,
"upload_time": "2025-09-01T20:54:24",
"upload_time_iso_8601": "2025-09-01T20:54:24.048027Z",
"url": "https://files.pythonhosted.org/packages/2d/02/ac6421afb100f2b60ef2c9e84637663c6c181ffc0980321f548a13d02ffe/pyjelly-0.6.1.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2025-09-01 20:54:24",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "Jelly-RDF",
"github_project": "pyjelly",
"travis_ci": false,
"coveralls": false,
"github_actions": true,
"lcname": "pyjelly"
}