Home

Awesome

Commentaries-Database

Latest Release

Get the latest compiled sqlite database with all this data in the Releases on this repository.

Compile yourself

To compile these files into a single data object, use the "compile_data.py" script in this repository. It's a python3 script, and requires you to pip install rtoml first. You can select CSV, SQLITE, or JSON as the output format (resulting in a new file called data.json, data.csv, or data.sqlite).

Invoke it like so:

python3 compile_data.py csv -o data.csv
python3 compile_data.py sqlite -o data.sqlite
python3 compile_data.py json -o data.json

The full argument system can be seen here:

$ python compile_data.py --help
usage: CompileData [-h] [-o OUT] {json,csv,sqlite,dryrun}

Compiles the Commentaries Database into various formats

positional arguments:
  {json,csv,sqlite,dryrun}

optional arguments:
  -h, --help            show this help message and exit
  -o OUT, --out OUT

Implementation

Here is our reference implementation of the sqlite file being utilized in a simple PHP app to show commentaries for a user-specified passage of the Bible.

There are also a number of other applications that have started making use of this database! Check them out:

(Got a project of your own using this database? Open a pull request to add it here!)

FILE NAME FORMATS:

[Father-Name]/[Book-Name] Chapter_Verse.toml
[Father-Name]/[Book-Name] Chapter_Verse-Verse.toml
[Father-Name]/[Book-Name] Chapter_Verse-Chapter_Verse.toml

Examples:

So the basic rule is write the 'long form' name of everything (books/people), and replace colons (:) with underscores (_). That's it.

<details> <summary><b>Why do we use the long form of people's names? Why Augustine of Hippo, rather than just Augustine?</b></summary>

The reason for this is simple enough - In his Catena Aurea, Aquinas lists "Maximus" as the author for several commentaries.

On a Maximus commentary of Luke 3:7-9, Aquinas prefixes the quotation with "lib. Ascet.", which easily enough points to Liber Asceticus, a writing by Maximus the Confessor.

However on a Maximus commentary on Luke 2:8-12 and Matthew 3:1-3, Aquinas prefixes the quotations with "in Serm. Nativ. 4." and "Hom. in Joan. Bap. nat. 1." - and it does not appear Maximus the Confessor left us any sermons or homilies among his writings. However Maximus of Turin left many of both, and is likely these source for these commentaries Aquinas quoted.

Having to dig into problems like that increase the rate at which my gray hair grows, therefore we seek the most descriptive names possible for each person in this repo.

We also accept that for some people, it is not possible/necessary. For example, Jerome is universally understood to refer to a single man, and he doesn't have any kind of commonly known longer-form name. However, while Augustine is universally understood to refer to a single man, he does have a common longer-form name which we therefore use, Augustine of Hippo.

</details>

Why Psalms instead of Psalm?

We're standardizing on these names, which are basically just based off of this Logos page.

Note: There is a common problem when automating importation of bulk commentaries from early church fathers, where certain commentaries from early church fathers are ascribed to them, but in reality in that work the church father was quoting a heretic verbatim in order to refute him later on - and the commentary came from the heretic (that the church father was quoting) and not the church father themselves. It is important to avoid putting this as a commentary under the church father, in that case (or if it's done accidentally, when one stumbles across it - removing it).

File Contents Format

Each file is in a format called TOML. This format fits well, as it's a nice balance of human readable/editable and machine-readable.

A single file can contain multiple "commentaries".

A "commentary" consists of:

Minimal Example:

[[commentary]]
quote = '''
commentary by a church father goes here.
'''
[[commentary.sources]]
url = 'https://example.com'
title = 'Name of book church father wrote'

Kitchen-Sink Example:

[[commentary]]
quote = '''
short quotation from a church father with multiple sources
'''
append_to_author_name = ' (as quoted by Aquinas, AD 1274)'

[[commentary.sources]]
url='https://www.ecatholic2000.com/catena/untitled-111.shtml'
title='Catena Aurea by Aquinas'

[[commentary.sources]]
url='https://ccel.org/ccel/aquinas/catena1/catena1.i.html'
title='Catena Aurea by Aquinas'

[[commentary]]
quote = '''
Long quotation from a church father

This text is on a new line
'''
time = 383

[[commentary.sources]]
url = 'https://www.newadvent.org/fathers/3007.htm'
title = 'Against Helvidius'

Pull Requests

Want to make a contribution to the repository? See below for details on file formats, and see this pull request for an example. We use the pull request feature to add notes/discussion about sources and such.

Useful Tools

Sites that have many church father texts available for free online:

Other Electronic Catenas