Skip to main content

Browse TLG indices

Project description

Disclaimer

This repository makes no claim to ownership of the contents of the original TLG CD-ROM, which are owned by the University of California, Irvine. It is an independent effort to facilitate study of texts and does not represent or imply endorsement by the University of California, Irvine or the TLG project.

About

This Python package facilitates the browsing of the indices of the old TLG CD-ROMs. It expects that texts have been processed by the tlgu package (tlgu homepage, rehosted code), which offers a variety of ways to convert the Beta Code of the original files into Unicode text files.

Install

Install from PyPI with:

pip install tlg-indices

Practical use example

See also practical_use_example.py.

from tlg_indices.text_cleaning import tlg_plaintext_cleanup
from tlg_indices.tlgu import tlgu_convert_corpus
from tlg_indices.file_utils import assemble_tlg_works_filepaths

# Convert entire TLG corpus into author files
conveted_tlg_dir: str = "~/Downloads/tlg-works"
tlgu_convert_corpus(
    orig_txt_dir="~/tlg/TLG_E",
    target_txt_dir=conveted_tlg_dir,
    corpus="tlg",
    grouping="work",
)

# Get filepaths of converted TLG works
tlg_works_filepaths: list[str] = assemble_tlg_works_filepaths(
    corpus_dir=conveted_tlg_dir
)
# print("TLG works filepaths:", tlg_works_filepaths)

# Open files
for filepath in tlg_works_filepaths:
    print(f"Processing: {filepath}")
    with open(filepath, "r") as file:
        content = file.read()
    content = tlg_plaintext_cleanup(content)
    # print(f"Cleaned content of {filepath}: {content[:100]}")  # Print first 100 characters of cleaned content

    # Do further processing with cleaned content
    # ...

Usage overview

The main entry point is the utility functions in src/tlg_indices/utils.py, which expose prebuilt indices and convenience lookups. The quickest way to see how to call these helpers is in tlg_index_examples.py, which demonstrates:

  • Reading index data (epithets, geographies, dates, and author/work mappings).
  • Looking up authors by epithet or geography, and reversing those lookups.
  • Looking up works by author and retrieving a single work title.
  • Sorting and querying date ranges using ParsedDate and get_dates_in_range().

For a runnable walkthrough, open tlg_index_examples.py and follow the patterns there.

PHI5 index helpers live in src/tlg_indices/phi5_index_utils.py, with a runnable tour in phi5_examples.py. These cover:

  • Author id/name lookups and reverse lookups for PHI5.
  • Author-to-work id mappings for PHI5.
  • Resolving author ids from work ids.

File access utilities live in src/tlg_indices/file_utils.py. Use file_access_examples.py for runnable examples of:

  • assemble_tlg_author_filepaths() and assemble_tlg_works_filepaths().
  • assemble_phi5_author_filepaths() and assemble_phi5_works_filepaths().

Converting Beta Code with tlgu

If you have Beta Code files from the original TLG/PHI distributions, you can convert them using the tlgu wrapper in this package. See tlgu_examples.py for runnable examples of:

  • Converting a single file into an author-level file (grouping="author").
  • Splitting a single file into work-level files (grouping="work").
  • Converting an entire corpus for either grouping.

Open tlgu_examples.py and adjust the file paths for your local setup.

Development

Type checking

% uv run mypy *.py src/

Packaging

% uv build --no-sources
% uv publish --token "pypi-xxxxxxxxxxxxxxxx"

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

tlg_indices-1.4.0.tar.gz (336.6 kB view details)

Uploaded Source

Built Distribution

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

tlg_indices-1.4.0-py3-none-any.whl (339.3 kB view details)

Uploaded Python 3

File details

Details for the file tlg_indices-1.4.0.tar.gz.

File metadata

  • Download URL: tlg_indices-1.4.0.tar.gz
  • Upload date:
  • Size: 336.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.9.2

File hashes

Hashes for tlg_indices-1.4.0.tar.gz
Algorithm Hash digest
SHA256 2f42a525d0ea37ff9606ec4f1e031fb48a4acea33dd5e4b0619a067164d732cc
MD5 2beb4e35cac3b58b4b31a77cc8850b87
BLAKE2b-256 1d1d35908d0366ca3f2753dd94952dd5902a6d21035a116af4337fb22757e38d

See more details on using hashes here.

File details

Details for the file tlg_indices-1.4.0-py3-none-any.whl.

File metadata

File hashes

Hashes for tlg_indices-1.4.0-py3-none-any.whl
Algorithm Hash digest
SHA256 a96d1c5360a2d918a70dec46d40d84c50c9b6dad3da7b4637b640fac05de433b
MD5 8abd76f8caa3c40f1e06d518e7349f5d
BLAKE2b-256 a93e577d41ddd51723a8d616b5a4657eced3a39fe62f6592e221f7cc3c878f1c

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