Simple access to the TIRA API.
Project description
The TIRA Client
This is a python client for TIRA.io.
Setup REST Client to Access Non-Public Endpoints
To access non-public endpoints, you will need an authentication via an API key to ensure that you have the correct access credentials.
Please generate your API key online at tira.io/admin/api/keys and create a credentials file at ~/.tira/.tira-settings.json
with the following content:
{"api_key": "<YOUR-API-KEY>"}
Download The results of some Submission
You can download runs of published and unblinded submissions via:
from tira.rest_api_client import Client
tira = Client()
output = tira.get_run_output('<task>/<team>/<approach>', '<dataset>')
As an example, you can download all baseline BM25 runs submitted to TIREx via:
from tira.rest_api_client import Client
from tira.tirex import TIREX_DATASETS
tira = Client()
for dataset in TIREX_DATASETS:
output = tira.get_run_output('ir-benchmarks/tira-ir-starter/BM25 Re-Rank (tira-ir-starter-pyterrier)', dataset)
Overview of public submissions
As an example, you can see all public software submissions submitted to TIREx via:
from tira.rest_api_client import Client
tira = Client()
submissions = tira.all_softwares("ir-benchmarks")
Export datasets
You can export datasets if you are the owner or if the dataset is public. Export a dataset via the cli:
tira-run --export-dataset '<task>/<tira-dataset>' --output-directory tira-dataset
Export a dataset via the python API:
from tira.rest_api_client import Client
tira = Client()
tira.download_dataset('<task>', '<tira-dataset>')
Running Jupyter Notebooks with TIRA
docker build -t tira/submission-base-image:1.0.0 -f Dockerfile .
Testing the model locally can be done using the following command:
tira-run \
--input-directory ${PWD}/input \
--output-directory ${PWD}/output \
--image tira/submission-base-image:1.0.0 \
--command 'tira-run-notebook --input $inputDataset --output $outputDir /workspace/template-notebook.ipynb'
Afterwards you can push the image to TIRA
docker push tira/submission-base-image:1.0.0
and set the command:
tira-run-notebook --input $inputDataset --output $outputDir /workspace/template-notebook.ipynb
Finally, if the actual processing in notebook is toggled via is_running_as_inference_server()
(as seen in the
template notebook)
and your notebook defines a function named predict
in the format
def predict(input_list: List) -> List:
you can start an inference server for your model with:
PORT=8001
docker run --rm -it --init \
-v "$PWD/logs:/workspace/logs" \
-p $PORT:$PORT \
tira/submission-base-image:1.0.0 \
tira-run-inference-server --notebook /workspace/template-notebook.ipynb --port $PORT
Exemplary request for a server running on localhost:8001
are
# POST (JSON list as payload)
curl -X POST -H "application/json" \
-d "[\"element 1\", \"element 2\", \"element 3\"]" \
localhost:8001
and
# GET (JSON object string(s) passed to the 'payload' parameter)
curl "localhost:8001?payload=\"element+1\"&payload=\"element+2\"&payload=\"element+3\""
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
File details
Details for the file tira-0.0.91.tar.gz
.
File metadata
- Download URL: tira-0.0.91.tar.gz
- Upload date:
- Size: 34.4 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.2 CPython/3.11.5
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 856934a54da4118f105b4c75bbc83a78b4c0762c3ec68af75d730c8e21589774 |
|
MD5 | cdfda17a019a3d3b65493585297d3fce |
|
BLAKE2b-256 | 31b2f623d175ce1e40b150df45c18d658c703798ab719b1757862ee9e38cb532 |
File details
Details for the file tira-0.0.91-py3-none-any.whl
.
File metadata
- Download URL: tira-0.0.91-py3-none-any.whl
- Upload date:
- Size: 42.2 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.2 CPython/3.11.5
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | d00edc615006ca1f9acfa8c483043269367812ed50f72fb491fa349a77a8e631 |
|
MD5 | 25f39bf09c0d3dec91db6a02f5e0d4f9 |
|
BLAKE2b-256 | 22fa1e855038aac9615017ca4f87f4fa3d06bb967f850138eddbf8dcea15f8d5 |