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.21.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.21-py3-none-any.whl (4.9 MB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: tirex_tracker-0.2.21.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.21.tar.gz
Algorithm Hash digest
SHA256 9932efdeb642c0fb74dbb416f163a1580fa18e795b19c790b4a25b2c626ab47c
MD5 cd4918fef82e5e88eba0b79b6bb522e3
BLAKE2b-256 0e4fb3acebc4c1a618a304684be7c8259f61acb8f2bc6776d5f8f9d0f35a0f89

See more details on using hashes here.

Provenance

The following attestation bundles were made for tirex_tracker-0.2.21.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.21-py3-none-any.whl.

File metadata

  • Download URL: tirex_tracker-0.2.21-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.21-py3-none-any.whl
Algorithm Hash digest
SHA256 894576c6906926fd5b02e70e03cd299eee2007b4851b3c28850e0f5d3f4a73f8
MD5 0ed8f38803a5dcd4c74a6a7011833245
BLAKE2b-256 a12cdb511233be6c2ed9493fc6c16c616deedd35efe1e68f9ac029b0c4a8448c

See more details on using hashes here.

Provenance

The following attestation bundles were made for tirex_tracker-0.2.21-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