Update on PyLD

3 views
Skip to first unread message

Miel Vander Sande

unread,
May 5, 2026, 3:47:55 AM (9 days ago) May 5
to rdfli...@googlegroups.com, Anatoly Scherbakov
Hello all,

I wanted to give you a quick update on some recent progress that is being made with PyLD (https://github.com/digitalbazaar/pyld): a JSON-LD library for Python created by digitalbazaar (who also develop jsonld.js). 
Last month, we published version 3.0.0 more than two years after the last release. This version did not change anything major, but focused on future-proofing the codebase for continued development. 
It includes 
- a couple of major bugfixes, 
- a cleanup of github PR's and some issues,
- a limited modularization and refactoring of the code, and more importantly
- a modernization and expansion of the (unit)testing setup (now using pytest). 
You can find a summary in the changelog.

Some background on this progress.
Last year, I picked up a warning from the rdflib mailing list that JSON-LD support in Python was in a critical state. 
As a result, I reached out to the maintainers (digitalbazaar) and some recent contributors of PyLD, which - all things considered - had the most documented and spec-compliant implementation. 
Digitalbazaar (many thanks to David Lehn and Benjamin Young!) agreed to add @Anatoly Scherbakov  and me as maintainers and eventually transfer the project to the rdflib community. This transition is done very 
incrementally. PyLD has been stale for quite a while and was originally ported from JavaScript. Therefore, it uses an internal RDF dataset structure similar to RDF.js, which is not directly compatible with rdflib, and its own nquads parser. We want 
to swap-out these the internals, but at the same time keep the public API backwards-compatible.

Here's a rough overview on what's in the pipeline:
- introduce a testing framework (DONE)
- integrate stale PR's (DONE)
- fix the RDF canonicalization algorithms by a.o introducing rdflib, including an implementation of RDFC1.0 (DONE; but reviewers wanted see https://github.com/digitalbazaar/pyld/pull/245
              --> there are plans to move this functionality to a dedicated repo or an rdflib plugin
- migrate the internals of the JsonLdProcessor to rdflib (DRAFT; reviewers wanted see https://github.com/digitalbazaar/pyld/pull/254)
              --> I saw some efforts on copying PyLD to rdflib's plugin folder, but given that it has it's own user base, I would advise against that. I'd opt for a wrapper plugin instead
- reach full JSON-LD 1.1 compliance (ongoing)
- re-organize unittesting files (ongoing)
- cleanup github issues (ongoing)

With this (humanly written) email, I hope to draw some attention from the rdflib community, as code reviews are currently hard to come by.

Best regards,


--
 Miel Vander Sande
Data Architect

meemoo vzw | Ham 175, 9000 Gent | https://www.meemoo.be/
t +32 9 298 05 01m +32 492 83 21 29

App Banner Image

Join Newsletter App

Op de hoogte blijven?  Schrijf je in voor onze nieuwsbrief!

 
__tpx__

Nicholas Car

unread,
May 5, 2026, 10:17:14 AM (9 days ago) May 5
to rdfli...@googlegroups.com, Anatoly Scherbakov
Fantastic work there Miel (and friends)!

I'm thrilled to see this patch-up release and the plans for the future. JSON-LD support is a critical RDF + Python thing and with your work bringing it under control I feel more confident we can make rdflib progress in other critical areas like RDF 1.2 support soon too.

Cheers, Nick
--
http://github.com/RDFLib
---
You received this message because you are subscribed to the Google Groups "rdflib-dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email to rdflib-dev+...@googlegroups.com.
To view this discussion visit https://groups.google.com/d/msgid/rdflib-dev/CAHeRLWus4jNTtqygmBAV2o68yy8KZAYW5kgjBz_RaXb%2B6--Y-A%40mail.gmail.com.

Reply all
Reply to author
Forward
0 new messages