If you're looking to help with Arcalibre development, it's now a bit easier to do so! The rereading/pyreading repo on Codeberg builds two Python packages that are used by Arcalibre, but that can be developed, built, and tested separately from any other Arcalibre code.

They're both Maturin-based, using Python to wrap some Rust logic so that it can be used with only glibc as a runtime dependency.

https://codeberg.org/rereading/pyreading/

pyreading

Python packages used by Arcalibre

Codeberg.org

The spellsnake package provides Python interface to spellbook, itself a hunspell-like spellchecking engine with minimal dependencies.

The gardenpath package provides a Python interface to the html5ever parser that *should* but doesn't yet allow for iterating over nodes with an ElementTree-compatible API as well as XPath-based searching.

For gardenpath in particular, my goal is to have a drop-in replacement for packages like html5lib and html5_parser. While they both work, html5lib is very slow for larger pages, and html5_parser is based on a deprecated HTML5 parsing library that would be good to swap out for something under active maintenance.
*Ideally* everything should work for local development if you just have PDM and Cargo up and running, *optionally* with rust-analyzer and the do-runner tool I made last night (`uv tool install do-runner`). All other dependencies should come in with `pdm sync --dev`.

My goal is to add more packages to the repo as things progress, separating out different parts of Arcalibre into standalone packages, so that you don't need to know all of the inner workings of Arcalibre to help out.

So far, it's just those two wheels, but that's a start!

Anyway, a number of folks had made kind offers to contribute, so I thought I'd mention a way it's become a bit easier! ♥