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)
| File | Size | Uploaded | Provenance | |
|---|---|---|---|---|
| scta_scikit-0.2.0.tar.gz | 92.1 kB | With provenance | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| 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 logRelease 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 logSecurity 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.
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 logA 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.