Skip to main content

Utilty functions to work with TEI Documents

Project description

acdh-tei-pyutils

Github Workflow Tests Status PyPI version codecov

Utilty functions to work with TEI Documents

install

run pip install acdh-tei-pyutils

usage

some examples on how to use this package

parse an XML/TEI Document from and URL, string or file:

from acdh_tei_pyutils.tei import TeiReader

doc = TeiReader("https://raw.githubusercontent.com/acdh-oeaw/acdh-tei-pyutils/main/acdh_tei_pyutils/files/tei.xml")
print(doc.tree)
>>> <Element {http://www.tei-c.org/ns/1.0}TEI at 0x7ffb926f9c40>

doc = TeiReader("./acdh_tei_pyutils/files/tei.xml")
doc.tree
>>> <Element {http://www.tei-c.org/ns/1.0}TEI at 0x7ffb926f9c40>

write the current XML/TEI tree object to file

doc.tree_to_file("out.xml")
>>> 'out.xml'

see acdh_tei_pyutils/cli.py for further examples

command line scripts

Batch process a collection of XML/Documents by adding xml:id, xml:base next and prev attributes to the documents root element run:

add-attributes -g "/path/to/your/xmls/*.xml" -b "https://value/of-your/base.com"
add-attributes -g "../../xml/grundbuecher/gb-data/data/editions/*.xml" -b "https://id.acdh.oeaw.ac.at/grundbuecher"

Write mentions as listEvents into index-files:

mentions-to-indices -t "erwähnt in " -i "/path/to/your/xmls/indices/*.xml" -f "/path/to/your/xmls/editions/*.xml"

Write mentions as listEvents of index-files and copy enriched index entries into files

denormalize-indices -f "../../xml/schnitzler/schnitzler-tagebuch-data-public/editions/*.xml" -i "../../xml/schnitzler/schnitzler-tagebuch-data-public/indices/*.xml"
denormalize-indices -f "./data/*/*.xml" -i "./data/indices/*.xml" -m ".//*[@key]/@key" -x ".//tei:title[@level='a']/text()"
denormalize-indices -f "./data/*/*.xml" -i "./data/indices/*.xml" -m ".//*[@key]/@key" -x ".//tei:title[@level='a']/text()" -b pmb2121 -b pmb10815 -b pmb50

Register handle-ids and add them as tei:idno elements:

add-handles -g "../../xml/grundbuecher/gb-data/data/editions/*.xml" -user "user12.3456-01" -pw "verysecret" -hixpath ".//tei:publicationStmt"

develop

  • install dev-dependencies: pip install -r requirements_dev.txt
  • install local package pip install -e .
  • before commiting run flake8 to check linting and coverage run -m pytest -v to run the tests

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

acdh-tei-pyutils-1.2.tar.gz (16.6 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

acdh_tei_pyutils-1.2-py3-none-any.whl (18.4 kB view details)

Uploaded Python 3

File details

Details for the file acdh-tei-pyutils-1.2.tar.gz.

File metadata

  • Download URL: acdh-tei-pyutils-1.2.tar.gz
  • Upload date:
  • Size: 16.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.0 CPython/3.10.14

File hashes

Hashes for acdh-tei-pyutils-1.2.tar.gz
Algorithm Hash digest
SHA256 c3e45b66be352f06aabe738799c2c34ff8a46a2ac4c28dd325c0593b8c85dff3
MD5 1fa990494d73d169e327673e52dd5212
BLAKE2b-256 7f1e884a9636878de8b12d7e2ae6de1decb58f5c08ac4b947ed1e58cb3245fc4

See more details on using hashes here.

File details

Details for the file acdh_tei_pyutils-1.2-py3-none-any.whl.

File metadata

  • Download URL: acdh_tei_pyutils-1.2-py3-none-any.whl
  • Upload date:
  • Size: 18.4 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.0 CPython/3.10.14

File hashes

Hashes for acdh_tei_pyutils-1.2-py3-none-any.whl
Algorithm Hash digest
SHA256 415aafdf00976b6bd66115aa89848df5af7c051fe4c47338365be667a06fe7b5
MD5 24e9725af8cc4457e4f0b6e751e1645b
BLAKE2b-256 ac5f2c1b5b0639d354e791edc143991539293dfb9a51744537279d1a9c60b528

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page