Metadata-Version: 2.4
Name: metarace
Version: 2.1.30
Summary: Cyclesport results and timing toolkit
Author-email: Nathan Fraser <ndf-zz@6-v.org>
License-Expression: MIT
Project-URL: Homepage, https://6-v.org/
Project-URL: Repository, https://codeberg.org/ndf-zz/metarace.git
Project-URL: Issues, https://codeberg.org/ndf-zz/metarace/issues
Project-URL: Changelog, https://codeberg.org/ndf-zz/metarace/src/branch/main/CHANGELOG.md
Keywords: cyclesport,results,timing
Classifier: Development Status :: 4 - Beta
Classifier: Topic :: Other/Nonlisted Topic
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python :: 3
Requires-Python: >=3.11
Description-Content-Type: text/markdown
License-File: LICENSE
Requires-Dist: graphemeu
Provides-Extra: timing
Requires-Dist: pyserial; extra == "timing"
Provides-Extra: competitors
Requires-Dist: openpyxl; extra == "competitors"
Provides-Extra: standards
Requires-Dist: requests; extra == "standards"
Provides-Extra: weather
Requires-Dist: requests; extra == "weather"
Provides-Extra: telegraph
Requires-Dist: paho-mqtt>=2.1; extra == "telegraph"
Provides-Extra: report
Requires-Dist: PyGObject; extra == "report"
Requires-Dist: pycairo; extra == "report"
Requires-Dist: xlsxwriter; extra == "report"
Provides-Extra: all
Requires-Dist: PyGObject; extra == "all"
Requires-Dist: openpyxl; extra == "all"
Requires-Dist: paho-mqtt>=2.1; extra == "all"
Requires-Dist: pycairo; extra == "all"
Requires-Dist: pyserial; extra == "all"
Requires-Dist: requests; extra == "all"
Requires-Dist: xlsxwriter; extra == "all"
Dynamic: license-file

# metarace

A collection of Python modules to assist with cycle race timekeeping
and official result preparation.

Desktop applications are available separately, and may be installed
using a shared installation script
[metarace-install](https://6-v.org/software/install.html).


## Documentation

   - [List of entries](documentation/listofentries.md) : Competitor
     specification file format
   - [WSL Installer](documentation/WSL_Debian_Installation_Instructions.md) : Instructions
     for WSL powershell desktop installer


## Support

   - Issues: [issues](https://codeberg.org/ndf-zz/metarace/issues)
   - Signal Group: [metarace](https://signal.group/#CjQKII2j2E7Zxn7dHgsazfKlrIXfhjgZOUB3OUFhzKyb-p_bEhBehsI65MhGABZaJeJ-tMZl)


## Requirements

System requirements:

   - Python >= 3.11
   - Cairo (optional: report)
   - Pango (optional: report)
   - Rsvg (optional: report)
   - Python gi (optional: report)
   - Python gi-cairo (optional: report)
   - tex-gyre (optional, recommended)
   - evince (optional, recommended)
   - fonts-noto (optional)
   - mosquitto (optional)
   - libreoffice (optional)

Python packages:

   - graphemeu: Unicode grapheme support
   - requests: HTTP requests (optional: standards, weather)
   - pyserial: Serial port interface (optional: timing)
   - xlsxwriter: XLSX file writer (optional: report)
   - openpyxl : XLSX file read/write (optional: competitors)
   - paho-mqtt: MQTT interface (optional: telegraph)


## Install

Use pip to install into a virtual env:

	$ ${VENV}/bin/pip install metarace[all]

Optional components:

   - timing : support for serial timing devices (timy, thbc, rru)
   - competitors : XLSX competitor list import/export
   - standards : fetch updated standards via http
   - weather : read weather via http
   - telegraph : MQTT messaging support
   - report : PDF/XLSX/HTML report writer
   - all : pull in requirements for all modules

On Debian, required system components can be installed
with apt:

	$ sudo apt install python3-venv python3-pip python3-cairo python3-gi python3-gi-cairo gir1.2-rsvg-2.0 gir1.2-pango-1.0 python3-serial python3-paho-mqtt python3-xlsxwriter python3-defusedxml python3-openpyxl python3-requests
