Skip to main content

Automatic resource and metadata tracking for information retrieval experiments.

Project description

TIREx Tracker

CI Maintenance Code coverage
Release Ubuntu macOS Windows
PyPi Python Downloads Docs
Issues Commit activity License

The TIREx tracker is a command line tool and API to automatically track resource usage, hardware specifications, and other metadata when running information retrieval experiments. It can be used easily in Python applications. For more information, refer to the project's readme.

Python API

The Python API can be installed via Pip from PyPI. After installing the package, you can use the TIREx tracker in your Python.

Pip Dependency

First, install the TIREx tracker Python package from PyPI:

pip install tirex-tracker

Python Usage

[!TIP] An exhaustive documentation of the TIREx tracker's Python API can be found on GitHub Pages.

Now, you can track the hardware metrics and metadata of your Python code by using the context manager:

from tirex_tracker import tracking

with tracking() as results:
    # Do something...

print(results)

Alternatively, you can track the hardware metrics and metadata of a Python function by using the function decorator:

from tirex_tracker import tracked

@tracked
def do_something():
    # Do something...

do_something()

print(do_something.results)

If you cannot use either the context manager or the function decorator from above, you can manually start and stop the tracking:

from tirex_tracker import start_tracking, stop_tracking

handle = start_tracking()
try:
    # Do something...
finally:
    results = stop_tracking(handle)

print(results)

Citation

If you find our work useful and reference or use it in a paper, please cite us.

@inproceedings{tirextracker2025,
    author = {Hagen, Tim and Fr{\"o}be, Maik and Merker, Jan Heinrich and Scells, Harrisen and Hagen, Matthias and Potthast, Martin},
    booktitle = {48th International ACM SIGIR Conference on Research and Development in Information Retrieval (SIGIR 2025)},
    month = jul,
    publisher = {ACM},
    title = {{TIREx Tracker: The Information Retrieval Experiment Tracker}},
    year = {2025}
}

You can also use the CITATION.cff to generate a citation in other formats.

License

The TIREx tracker code is licensed under the MIT License. If you use the TIREx tracker in your experiments, we would appreciate you citing our paper.

Abstract

The reproducibility and transparency of retrieval experiments heavily depends on properly provided information on the experimental setup and conditions. But as manually curating such experiment metadata can be tedious, error-prone, and inconsistent, metadata should be systematically collected in an automatic way—similar to the collection of Python and git-specific settings in the ir_metadata reference implementation. To enable a platform-independent automatic metadata collection following the ir_metadata specification, we introduce the TIREx tracker: a tool realized via a lightweight C binary, pre-compiled with all dependencies for all major platforms to track hardware configurations, usage of power/CPUs/RAM/GPUs, and experiment/system versions. The TIREx tracker seamlessly integrates into Python, Java, or C/C++ workflows and can be easily incorporated in run submissions of shared tasks, which we showcase for the TIRA/TIREx platform.

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

tirex_tracker-0.2.22.tar.gz (4.9 MB view details)

Uploaded Source

Built Distribution

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

tirex_tracker-0.2.22-py3-none-any.whl (4.9 MB view details)

Uploaded Python 3

File details

Details for the file tirex_tracker-0.2.22.tar.gz.

File metadata

  • Download URL: tirex_tracker-0.2.22.tar.gz
  • Upload date:
  • Size: 4.9 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for tirex_tracker-0.2.22.tar.gz
Algorithm Hash digest
SHA256 c7245778ee2bda4a959bd9247c83f6da6c8c93e47c6c1665176e86c559ac9dfe
MD5 2b031002c5d8fb571ece1f9268335814
BLAKE2b-256 333ca456aa51c87f37f3f15bc7c6b0d490631f493f737c357a90df09ce08e8be

See more details on using hashes here.

Provenance

The following attestation bundles were made for tirex_tracker-0.2.22.tar.gz:

Publisher: ci.yml on tira-io/tirex-tracker

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file tirex_tracker-0.2.22-py3-none-any.whl.

File metadata

  • Download URL: tirex_tracker-0.2.22-py3-none-any.whl
  • Upload date:
  • Size: 4.9 MB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for tirex_tracker-0.2.22-py3-none-any.whl
Algorithm Hash digest
SHA256 718a1e63622c6477d916c426c742443732d2399f13b12c53bdb202aafb2c310e
MD5 3ca885ee990346208e731eb65232a74e
BLAKE2b-256 df4856ff3be30e3b3f1b9b6e32827d504b8541a5bc5073ff9b5fc37ca14013b7

See more details on using hashes here.

Provenance

The following attestation bundles were made for tirex_tracker-0.2.22-py3-none-any.whl:

Publisher: ci.yml on tira-io/tirex-tracker

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

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