delb

Latest version on PyPI Documentation Python versions License Black code style

delb is a library that provides an ergonomic model for XML encoded text documents (e.g. TEI-XML) for the Python programming language. It fills a gap for the humanities-related field of software development towards the excellent (scientific) communities in the Python ecosystem.

For a more elaborated discussion see the Design chapter of the documentation.

Features

  • Loads documents from various source types. This is customizable and extensible.
  • XML DOM types are represented by distinct classes.
  • A completely type-annotated API.
  • Consistent design regarding names and callables’ signatures.
  • Shadows comments and processing instructions by default.
  • Querying with XPath and CSS expressions.
  • Applying XSL Transformations.

Development status

This project is currently developed as proof-of-concept. If you happen to depend on it, please notify me to consider this in future.

You’re invited to submit tests that reflect desired use cases or are merely of theoretical nature. Of course, any kind of proposals for or implementations of improvements are welcome as well.

ROADMAPish

  • gain insights from usage experience
  • implement the API in Rust
  • provide bindings for Python and Javascript to the Rust implementation, while nurturing the lxml-based implementation as reference for some time
  • be finished before the Digital Humanities community realizes how to foster a viable software ecosystem and fund such efforts