Skip to main content

Python package to simulate philological evolution

Project description

Titivillus

Titivillus

CI PyPI

titivillus is a Python library and related command-line tools for simulating stemmatological networks and related data (characters, states, edge length etc.). It is intended for benchmarking quantitative methods of textual evolution, also providing dummy tree and networks for their development and debugging.

The library is named after Titivillus, a demon commonly referenced to in Medieval times and said to work on behalf of Belphegor, Lucifer, or Satan to introduce errors into the work of scribes. It can be compared to the twentieth-century folkloric mischievous creature that causes mechanical failures, the gremlin.

How does titivillus work?

The library offers a number of abstractions suited for the study of textual evolution, in particular without forcing a purely arboreal evolution. Each codex carries a number of independent characterst, each with its own history.

Where applicable, the random generation follows that of another package released by the author for the simulation of phylogenetic data, ngesh.

Installation

In any standard Python environment, titivillus can be installed with

$ pip install titivillus

The pip installation will automatically fetch dependencies such as numpy and networkx, if necessary. It is highly recommendend that the library is installed in its own virtual environment.

How to use

For most usages, the creation of a random stemma can be easily performed from Python with:

import titivillus
stemma = titivillus.random_stemma()

Among the various parameters, it is possible to pass a pseudo-random number generator seed that guarantees reproducibility across different calls.

stemma2 = titivillus.random_stemma(seed="uppsala")

The contents of the stemma can be inspected following the available tests. A graphical version, using networkx, can be obtained with:

import matplotlib.pyplot as plt
import networkx as nx

graph = stemma2.as_graph()
nx.draw(graph)
plt.show()

random stemma

No stand-alone command-line tool has been released yet.

Changelog

Version 0.0.1:

  • First public release, aligned with experiments for the Apophthegmata Patrum

Community guidelines

While the author can be contacted directly for support, it is recommended that third parties use GitHub standard features, such as issues and pull requests, to contribute, report problems, or seek support.

Contributing guidelines, including a code of conduct, can be found in the CONTRIBUTING.md file.

Author and citation

The library is developed by Tiago Tresoldi (tiago.tresoldi@lingfil.uu.se).

If you use titivillus, please cite it as:

Tresoldi, Tiago (2021). Titivillus, a tool for simulating random stemmatological networks. Version 0.0.1. Uppsala. Available at: https://github.com/tresoldi/titivillus

In BibTeX:

@misc{Tresoldi2021titivillus,
  author = {Tresoldi, Tiago},
  title = {Titivillus, a tool for simulating random stemmatological networks},
  howpublished = {\url{https://github.com/tresoldi/titivillus}},
  address = {Uppsala},
  year = {2021},
}

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

titivillus-0.0.1.tar.gz (16.2 kB view details)

Uploaded Source

Built Distribution

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

titivillus-0.0.1-py3-none-any.whl (28.7 kB view details)

Uploaded Python 3

File details

Details for the file titivillus-0.0.1.tar.gz.

File metadata

  • Download URL: titivillus-0.0.1.tar.gz
  • Upload date:
  • Size: 16.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.3.0 pkginfo/1.7.0 requests/2.25.1 setuptools/53.0.0 requests-toolbelt/0.9.1 tqdm/4.56.0 CPython/3.8.6

File hashes

Hashes for titivillus-0.0.1.tar.gz
Algorithm Hash digest
SHA256 f4a5aa1c811d0f4a941b73c7c6943afa025cccab496176a85542f840ac31f088
MD5 46a02d40ebbf5ef01d9cc5c6ec36b880
BLAKE2b-256 3d4a8531cf35f32e354438c1afc5d451685cf120daee8963f069a33e7c232293

See more details on using hashes here.

File details

Details for the file titivillus-0.0.1-py3-none-any.whl.

File metadata

  • Download URL: titivillus-0.0.1-py3-none-any.whl
  • Upload date:
  • Size: 28.7 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.3.0 pkginfo/1.7.0 requests/2.25.1 setuptools/53.0.0 requests-toolbelt/0.9.1 tqdm/4.56.0 CPython/3.8.6

File hashes

Hashes for titivillus-0.0.1-py3-none-any.whl
Algorithm Hash digest
SHA256 79841a73d940f6da78c71321eff735aecd3769afec5a260b022c13125793220c
MD5 8942e2c869f915080c9db64c70930b1b
BLAKE2b-256 c1dae5c881094210a72653b9dd51e68f25e0b83c8e8d9dfd779f924b9739bec4

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