Skip to main content

scta-scikit

Texts, search, statistics and similarity for the Scholastic Commentaries and Texts Archive (SCTA): the medieval Latin commentaries, questions and treatises the SCTA publishes, as documents you can load at any level of their structure (whole work, book, question, paragraph, ...), search, compare and model.

Install

pip install scta-scikit

Python 3.12 or newer. (Maintainers who lemmatize the corpus: pip install "scta-scikit[build]".)

Get the data

The corpus and models are published separately from the package, on Hugging Face: scta/scta-corpus, scta/scta-doc2vec and scta/scta-para-tfidf. Download them once:

import scta_scikit as sc

sc.download()                                   # the latest corpus (all texts, with lemmatized versions)
sc.download("2026.10")                          # a given version
sc.download(texts=["augustinedetrinitate"])     # only some texts
sc.download(doc2vec=True)                       # with the Doc2Vec models and the corpus they were trained on
sc.download(para_tfidf=True)                    # with the paragraph TF-IDF (for `scta match`)

or from the shell: scta download, scta download 2026.10 --doc2vec, scta download --para-tfidf, scta download --texts augustinedetrinitate.

The download holds the texts and their structure; the package builds the document groupings, the question-title TF-IDF and the citation similarities from them on your machine (about a minute for everything, or on first use). Models come with the corpus version they were built from, unless you ask for another. The data goes to ~/scta-data unless you choose another folder:

sc.set_data_dir("/path/to/data", save=True)    # remembered for future sessions

(scta config --set-data-dir PATH, or the SCTA_DATA environment variable.)

Use

import scta_scikit as sc

# documents at a level of a text's structure (here: books of De trinitate)
docs, texts, idx2label, label2idx = sc.load_docs("augustinedetrinitate", level=2)

# one document's text by its SCTA resource id
sc.get_document_text("adt-l1")

# keyword in context
corpus = sc.load_docs_by_toplevel(structure="structureBlock", toplevel="augustinedetrinitate")
sc.display_kwic(sc.kwic_search(corpus, "trinitas"))

From the shell (scta --help):

scta get adt-l1                       # text of a resource
scta search trinitas --toplevel augustinedetrinitate
scta stats --toplevel augustinedetrinitate --level 2
scta sim adt-l1                       # most similar documents (Doc2Vec)
scta sim adt-l1 --citations           # by shared citations
scta match "omnis doctrina vel rerum est vel signorum"   # paragraphs quoting or borrowing a passage

See readme_cli.md for every command.

License

The code is MIT licensed. The SCTA texts, and the corpus and models published from them, are published under the Attribution-NonCommercial-ShareAlike 4.0 International (CC BY-NC-SA 4.0) license.

For maintainers

Building the corpus from the SCTA servers, lemmatizing it, training the models, running all of it on the cluster, and publishing a release are described in readme_cli.md (scta update, scta model build, scta publish) and CLAUDE.md.

Metadata

Release files for scta-scikit 0.2.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for scta-scikit 0.2.0
File Size Uploaded Provenance
scta_scikit-0.2.0.tar.gz 92.1 kB With provenance Details

Built distribution (wheel)

Table of built distributions (wheels) for scta-scikit 0.2.0
File Interpreter ABI Platform
scta_scikit-0.2.0-py3-none-any.whl Python 3 none any Details

Total release size: 175.7 kB

Release files / scta_scikit-0.2.0.tar.gz

Download URL scta_scikit-0.2.0.tar.gz
Size 92.1 kB
Tags Source
SHA-256 checksum
How to use checksums
445aa66eed67ef5ad390e8517521522646edc0fa0f3f8b20e3cc4f0463d096b6
BLAKE2b-256 checksum
How to use checksums
025c3fdb44f354f21544b3b20a49efb83a4e01702758a866080e0ef7e0fb1150
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 24, 2026.

Transparency log

Release files / scta_scikit-0.2.0-py3-none-any.whl

Download URL scta_scikit-0.2.0-py3-none-any.whl
Size 83.6 kB
Tags Python 3
SHA-256 checksum
How to use checksums
cb2f5307208f75aa4d80f40b17d30129dc43b925d2cf52819d07d349ca68aa54
BLAKE2b-256 checksum
How to use checksums
b74c9b47e5d216d546f1a514cf9ad205a94403ba1fdf4a25c4b3cbbf00f5d3e8
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 24, 2026.

Transparency log

Security for scta-scikit 0.2.0

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

Full provenance

All 2 files in this release have been uploaded with provenance metadata.

Select from 2 files

Attestation for scta_scikit-0.2.0.tar.gz

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 24, 2026.

Transparency log

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Release history Release notifications | RSS feed

This release

0.2.0 This release

2 release files Full provenance

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page