A toolkit for accessing and working with data from the CRITT Translation Process Research Database (TPR-DB).
Project description
tprdb-utilities
A Python toolkit for downloading and reading data tables from the CRITT Translation Process Research Database (TPR-DB).
Two functions cover the full workflow:
| Function | What it does |
|---|---|
fetch_TPRDB_tables |
Downloads study tables from the CRITT API and saves them to a local directory structure |
read_TPRDB_tables |
Reads those tables (locally or on the CRITT server) into a single pandas.DataFrame |
Installation
# pip
pip install tprdb-utilities
# uv
uv add tprdb-utilities
# poetry
poetry add tprdb-utilities
Quick Start
1 — Download data (fetcher)
Public study (no credentials needed):
from tprdb_utilities import fetch_TPRDB_tables
fetch_TPRDB_tables(
path="/path/to/local/data",
StudyID="DG21",
extension=["kd", "ss"],
public=True,
)
Private study (requires your TPR-DB username and API token):
from tprdb_utilities import fetch_TPRDB_tables
fetch_TPRDB_tables(
path="/path/to/local/data",
StudyID="MYSTUDY",
extension=["kd"],
public=False,
username="myTPRDBusername", # case-sensitive, must match your account
token="my-api-token",
)
After downloading, the function always prints a summary like this:
=== fetch_TPRDB_tables Summary ===
StudyID : DG21
Clone dir: /path/to/local/data/tprdb-mothership-clone
User dir : TPRDB
Extension Status Time
--------- ---------------- ------
kd Downloaded 1.23s
ss Downloaded 0.98s
To read these files with read_TPRDB_tables:
path = "/path/to/local/data/tprdb-mothership-clone"
user = "TPRDB"
studies = ["DG21"]
Copy those argument values directly into read_TPRDB_tables.
Subsequent calls are bandwidth-efficient. When files for an extension are
already present, fetch_TPRDB_tables sends the X-Client-Tables-Timestamp
header (sourced from the studySummary.xml bundled with the study). The server
returns 304 Not Modified when nothing has changed, so no data is transferred.
The summary will reflect the outcome:
Extension Status Time
--------- ---------------- ------
kd Up to date (304) 0.21s
ss Updated 1.05s
2 — Read data (reader)
From a local clone (mothership=False) — after running fetch_TPRDB_tables:
from tprdb_utilities import read_TPRDB_tables
df = read_TPRDB_tables(
studies=["DG21", "AR22"],
extension="kd",
mothership=False,
path="/path/to/local/data/tprdb-mothership-clone",
user="TPRDB",
)
Directly on the CRITT TPR-DB server (mothership=True):
from tprdb_utilities import read_TPRDB_tables
df = read_TPRDB_tables(
studies=["DG21", "AR22"],
extension="kd",
mothership=True, # path is set automatically; no path argument needed
)
Directory Structure
fetch_TPRDB_tables creates the following layout under path:
<path>/
└── tprdb-mothership-clone/
├── TPRDB/ ← public studies
│ └── <StudyID>/
│ ├── studySummary.xml
│ └── Tables/
│ ├── session1.kd
│ └── ...
└── <username>/ ← private studies
└── <StudyID>/
├── studySummary.xml
└── Tables/
├── session1.kd
└── ...
Each zip response bundles a studySummary.xml file alongside the table files.
fetch_TPRDB_tables places it in the <StudyID>/ directory (one level above
Tables/) and uses it on subsequent calls to detect whether the server data
has changed.
read_TPRDB_tables with mothership=False expects this exact layout, so the
two functions are designed to work together seamlessly.
Supported Table Extensions
ss, sg, st, tt, kd, fd, au, pu, hof, pol
License
MIT — see LICENSE.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file tprdb_utilities-0.1.1.tar.gz.
File metadata
- Download URL: tprdb_utilities-0.1.1.tar.gz
- Upload date:
- Size: 7.7 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.13.5
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
36d2a3881219fc5f091a1236c442401571d59a632a8d4b71d61e8950864f98b1
|
|
| MD5 |
d8164bafbfb1d84887cde002e90b68a3
|
|
| BLAKE2b-256 |
dbcb94959618b3cdbf8018d9eb270145155bb0d1f1caad3e6b59c4897365b50e
|
File details
Details for the file tprdb_utilities-0.1.1-py3-none-any.whl.
File metadata
- Download URL: tprdb_utilities-0.1.1-py3-none-any.whl
- Upload date:
- Size: 9.6 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.13.5
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
c26bb7d525e45847cdae0b8d881c8f174f1c3a63b17dcca899266a57de0d70ea
|
|
| MD5 |
f29ba5161266ea72b5b59a560ff72b8f
|
|
| BLAKE2b-256 |
fe8f1b52712a7ffade697a08345caa7a8ff6ca8512b3abfc9272786de8182e4f
|