delb

A Python library that provides an ergonomic, DOM-like model for XML encoded text documents.

https://github.com/delb-xml/delb-py

Science Score: 44.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
    Found CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
    Found .zenodo.json file
  • DOI references
  • Academic publication links
  • Committers with academic emails
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (12.3%) to scientific vocabulary

Keywords

dom python tei-xml text-encoding xhtml xml
Last synced: 6 months ago · JSON representation ·

Repository

A Python library that provides an ergonomic, DOM-like model for XML encoded text documents.

Basic Info
Statistics
  • Stars: 17
  • Watchers: 4
  • Forks: 0
  • Open Issues: 4
  • Releases: 5
Topics
dom python tei-xml text-encoding xhtml xml
Created over 7 years ago · Last pushed 6 months ago
Metadata Files
Readme Changelog License Citation Roadmap

README.rst

delb
====

|latest-version| |rtd| |python-support| |license| |mypy| |black|

``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.

.. _TEI-XML: https://tei-c.org


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.
- Serializations that may fulfil the promise of XML's well-readability to an
  unwitnessed degree and even don't mess up whitespace.


Development status
------------------

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.


Related Projects & Testimonials
-------------------------------

snakesist_ is an eXist-db client that uses ``delb`` to expose database
resources.

Kurt Raschke `noted in 2010`_::

  In a DOM-based implementation, it would be relatively easy […]
  But lxml doesn't use text nodes; instead it uses [text] and [tail]
  properties to hold text content.


.. _snakesist: https://pypi.org/project/snakesist/
.. _noted in 2010: https://web.archive.org/web/20190316214219/https://kurtraschke.com/2010/09/lxml-inserting-elements-in-text/



.. |black| image:: https://img.shields.io/badge/code%20style-black-000000.svg?style=flat-square
   :alt: Black code style
   :target: https://black.readthedocs.io/
.. |latest-version| image:: https://img.shields.io/pypi/v/delb.svg?style=flat-square
   :alt: Latest version on PyPI
   :target: https://pypi.org/project/delb
.. |license| image:: https://img.shields.io/pypi/l/delb.svg?style=flat-square
   :alt: License
   :target: https://github.com/delb-xml/delb-py/blob/main/LICENSE.txt
.. |mypy| image:: https://img.shields.io/badge/mypy-checked-success.svg?style=flat-square
   :alt: mypy-checked
   :target: https://www.mypy-lang.org/
.. |python-support| image:: https://img.shields.io/pypi/pyversions/delb.svg?style=flat-square
   :alt: Python versions
.. |rtd| image:: https://img.shields.io/badge/RTD-Docs-informational.svg?style=flat-square
   :alt: Documentation
   :target: https://delb.readthedocs.io/

Owner

  • Name: The delb project
  • Login: delb-xml
  • Kind: organization
  • Email: delb-project@posteo.net

Citation (CITATION.cff)

---
title: delb
abstract: A library that provides an ergonomic model for XML encoded text documents
  (e.g. with TEI-XML).
version: 0.5.1
date-released: '2025-01-08'
cff-version: 1.2.0
type: software
authors:
- name: Frank Sachsenheim
  email: delb-project@posteo.net
keywords:
- xml
- markup
- tei
- text processing
- xhtml
license: AGPL-3.0-or-later
repository-code: https://github.com/delb-xml/delb-py
url: https://delb.readthedocs.io/
message: 🔥🌍🔥
...

GitHub Events

Total
  • Create event: 13
  • Release event: 5
  • Issues event: 2
  • Delete event: 20
  • Issue comment event: 2
  • Push event: 42
  • Pull request event: 7
  • Pull request review comment event: 1
  • Pull request review event: 4
Last Year
  • Create event: 13
  • Release event: 5
  • Issues event: 2
  • Delete event: 20
  • Issue comment event: 2
  • Push event: 42
  • Pull request event: 7
  • Pull request review comment event: 1
  • Pull request review event: 4

Committers

Last synced: almost 3 years ago

All Time
  • Total Commits: 550
  • Total Committers: 4
  • Avg Commits per committer: 137.5
  • Development Distribution Score (DDS): 0.087
Top Committers
Name Email Commits
Frank Sachsenheim f****e@r****t 502
Frank Sachsenheim f****e@u****m 29
dependabot[bot] 4****]@u****m 12
JKatzwinkel J****l@u****m 7
Committer Domains (Top 20 + Academic)

Issues and Pull Requests

Last synced: 6 months ago

All Time
  • Total issues: 28
  • Total pull requests: 76
  • Average time to close issues: 6 months
  • Average time to close pull requests: 21 days
  • Total issue authors: 2
  • Total pull request authors: 4
  • Average comments per issue: 1.79
  • Average comments per pull request: 1.71
  • Merged pull requests: 56
  • Bot issues: 0
  • Bot pull requests: 22
Past Year
  • Issues: 0
  • Pull requests: 9
  • Average time to close issues: N/A
  • Average time to close pull requests: 21 days
  • Issue authors: 0
  • Pull request authors: 2
  • Average comments per issue: 0
  • Average comments per pull request: 0.44
  • Merged pull requests: 6
  • Bot issues: 0
  • Bot pull requests: 4
Top Authors
Issue Authors
  • funkyfuture (23)
  • JKatzwinkel (6)
Pull Request Authors
  • funkyfuture (48)
  • dependabot[bot] (22)
  • JKatzwinkel (9)
  • ghost (1)
Top Labels
Issue Labels
design (10) enhancement (6) help wanted (4) bug (2) good first issue (2)
Pull Request Labels
dependencies (22) github_actions (13) design (12) enhancement (8) bug (4) help wanted (2)

Packages

  • Total packages: 1
  • Total downloads:
    • pypi 355 last-month
  • Total dependent packages: 2
  • Total dependent repositories: 4
  • Total versions: 31
  • Total maintainers: 1
pypi.org: delb

A library that provides an ergonomic model for XML encoded text documents (e.g. with TEI-XML).

  • Documentation: https://delb.readthedocs.io/
  • License: GNU Affero General Public License v3 or later (AGPLv3+)
  • Latest release: 0.5.1
    published about 1 year ago
  • Versions: 31
  • Dependent Packages: 2
  • Dependent Repositories: 4
  • Downloads: 355 Last month
Rankings
Dependent packages count: 3.2%
Dependent repos count: 7.5%
Downloads: 13.2%
Average: 14.0%
Stargazers count: 16.1%
Forks count: 29.8%
Maintainers (1)
Last synced: 6 months ago

Dependencies

.github/workflows/linkcheck.yml actions
  • actions/checkout v3 composite
  • actions/setup-python v4 composite
.github/workflows/quality-checks.yml actions
  • actions/checkout v3 composite
  • actions/setup-python v4 composite
pyproject.toml pypi
  • autoclasstoc ^1.1.1 develop
  • black * develop
  • cffconvert ^2.0.0 develop
  • flake8-black * develop
  • lxml-stubs * develop
  • mypy * develop
  • pytest * develop
  • pytest-cov * develop
  • sphinx * develop
  • sphinx-readable-theme ^1.3 develop
  • sphinxcontrib-fulltoc * develop
  • types-requests ^2.21 develop
  • types-setuptools * develop
  • typing-extensions * develop
  • xmldiff * develop
  • cssselect *
  • lxml *
  • python ^3.7
  • requests ^2.21
  • setuptools *