Name | metarace JSON |
Version |
2.1.12
JSON |
| download |
home_page | None |
Summary | Cyclesport results and timing toolkit |
upload_time | 2025-07-10 05:16:56 |
maintainer | None |
docs_url | None |
author | None |
requires_python | >=3.11 |
license | None |
keywords |
cyclesport
results
timing
|
VCS |
 |
bugtrack_url |
|
requirements |
No requirements were recorded.
|
Travis-CI |
No Travis.
|
coveralls test coverage |
No coveralls.
|
# metarace
A collection of Python modules to assist with cycle race timekeeping
and official result preparation. Version 2 of Metarace is a
re-write for Python 3 which removes static pyGTK/GLib dependencies.
Application-level modules are not contained in
the library, they are available separately:
- [roadmeet](https://github.com/ndf-zz/metarace-roadmeet) : Timing
and results for UCI Part 2 Road Races, UCI Part 5 Cyclo-Cross,
criterium, road handicap and ad-hoc time trial events.
- [trackmeet](https://github.com/ndf-zz/metarace-trackmeet) : Timing
and results for UCI Part 3 Track Races.
- [tagreg](https://github.com/ndf-zz/metarace-tagreg) : Transponder
registration tool.
- [ttstart](https://github.com/ndf-zz/metarace-ttstart) : Time
Trial starter console.
A shared install script may be used to install metarace
applications on most POSIX systems:
$ wget https://github.com/ndf-zz/metarace/raw/refs/heads/master/metarace-install.sh
$ sh metarace-install.sh
For installation on Windows systems, a powershell script is provided
to install metarace applications under a WSL Debian container:
wget https://github.com/ndf-zz/metarace/raw/refs/heads/master/wsl-install.ps1
## Support
- Signal Group: [metarace](https://signal.group/#CjQKII2j2E7Zxn7dHgsazfKlrIXfhjgZOUB3OUFhzKyb-p_bEhBehsI65MhGABZaJeJ-tMZl)
- Github Issues: [issues](https://github.com/ndf-zz/metarace-roadmeet/issues)
## Module Overview
Use pydoc to read module-specific documentation.
### metarace: Base Library
- shared configuration, default files and resources
- tempfile-backed file writer
- meet folder locking
### jsonconfig: Configuration Options
Schema defined dictionary-like
configuration with JSON export and import.
### riderdb: CSV-backed Competitor Information
Store details for competitors, teams, and categories.
### tod: Time of Day
Represent timing measurements, calculations for
short intervals (<24 hours) and aggregate times.
### timy: Alge Timy Chronometer
Read time of day measurements from an attached Alge Timy
in PC-TIMER mode.
### decoder: Transponder Decoders
Read transponder and timing information from
Race Result and Chronelec devices:
- rrs : Race Result System Decoder (passive and active)
- rru : Race Result USB Timing Box (active)
- thbc : Chronelec (Tag Heuer) Protime/Elite RC and LS
### strops: Common String Manipulations
Commonly used functions for formatting competitor names,
rankings and user inputs.
### telegraph: Interprocess Communication
MQTT-backed pub/sub message exchange service.
### unt4: Legacy Timing Protocol
Swiss Timing UNT4 protocol wrapper, for legacy devices
and DHI communications.
### countback: Accumulate and Compare Count of Places
Represent a countback of places and allow for simple
placing comparisons.
### htlib: HTML Generation
Functional primitives for HTML generation.
### report: Report Generation
Create sectioned reports and save to PDF, HTML, XLS and JSON.
### export: Result Export and Mirroring
Mirror export files to a remote host using rsync over ssh,
rsync TCP daemon or by running a local script.
## Work in Progress
- submit file archive service
- update text vertical layout from font metrics
- overhaul report sections and event index for trackmeet
- re-write report library
- module documentation
- sample scripts
## Requirements
System requirements:
- Python >= 3.11
- Cairo
- Pango
- Rsvg
- Python gi
- Python gi-cairo
- tex-gyre (optional, recommended)
- evince (optional, recommended)
- fonts-noto (optional)
- mosquitto (optional)
- libreoffice (optional)
Python packages:
- pyserial: Serial port interface
- python-dateutil: Generic date/time string parser
- xlsxwriter: XLSX file writer
- paho-mqtt: MQTT interface
- graphemeu: Unicode grapheme support
## Manual Installation
Install system requirements 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
Create a virtualenv for metarace and associated packages:
$ python3 -m venv --system-site-packages venv
Install packages with pip:
$ ./venv/bin/pip install metarace
Raw data
{
"_id": null,
"home_page": null,
"name": "metarace",
"maintainer": null,
"docs_url": null,
"requires_python": ">=3.11",
"maintainer_email": null,
"keywords": "cyclesport, results, timing",
"author": null,
"author_email": "Nathan Fraser <ndf-zz@6-v.org>",
"download_url": "https://files.pythonhosted.org/packages/3f/57/3b04df432219b6962952ba897133c756e35bcb41a0ef08907c37bdc25fc2/metarace-2.1.12.tar.gz",
"platform": null,
"description": "# metarace\n\nA collection of Python modules to assist with cycle race timekeeping\nand official result preparation. Version 2 of Metarace is a\nre-write for Python 3 which removes static pyGTK/GLib dependencies.\n\nApplication-level modules are not contained in\nthe library, they are available separately:\n\n - [roadmeet](https://github.com/ndf-zz/metarace-roadmeet) : Timing\n and results for UCI Part 2 Road Races, UCI Part 5 Cyclo-Cross,\n criterium, road handicap and ad-hoc time trial events.\n - [trackmeet](https://github.com/ndf-zz/metarace-trackmeet) : Timing\n and results for UCI Part 3 Track Races.\n - [tagreg](https://github.com/ndf-zz/metarace-tagreg) : Transponder\n registration tool.\n - [ttstart](https://github.com/ndf-zz/metarace-ttstart) : Time\n Trial starter console.\n\nA shared install script may be used to install metarace\napplications on most POSIX systems:\n\n\t$ wget https://github.com/ndf-zz/metarace/raw/refs/heads/master/metarace-install.sh\n\t$ sh metarace-install.sh\n\nFor installation on Windows systems, a powershell script is provided\nto install metarace applications under a WSL Debian container:\n\n\twget https://github.com/ndf-zz/metarace/raw/refs/heads/master/wsl-install.ps1\n\n\n## Support\n\n - Signal Group: [metarace](https://signal.group/#CjQKII2j2E7Zxn7dHgsazfKlrIXfhjgZOUB3OUFhzKyb-p_bEhBehsI65MhGABZaJeJ-tMZl)\n - Github Issues: [issues](https://github.com/ndf-zz/metarace-roadmeet/issues)\n\n\n## Module Overview\n\nUse pydoc to read module-specific documentation.\n\n\n### metarace: Base Library\n\n - shared configuration, default files and resources\n - tempfile-backed file writer\n - meet folder locking\n\n\n### jsonconfig: Configuration Options\n\nSchema defined dictionary-like\nconfiguration with JSON export and import.\n\n\n### riderdb: CSV-backed Competitor Information\n\nStore details for competitors, teams, and categories.\n\n\n### tod: Time of Day\n\nRepresent timing measurements, calculations for\nshort intervals (<24 hours) and aggregate times.\n\n\n### timy: Alge Timy Chronometer\n\nRead time of day measurements from an attached Alge Timy\nin PC-TIMER mode.\n\n\n### decoder: Transponder Decoders\n\nRead transponder and timing information from\nRace Result and Chronelec devices:\n\n - rrs : Race Result System Decoder (passive and active)\n - rru : Race Result USB Timing Box (active)\n - thbc : Chronelec (Tag Heuer) Protime/Elite RC and LS\n\n\n### strops: Common String Manipulations\n\nCommonly used functions for formatting competitor names,\nrankings and user inputs.\n\n\n### telegraph: Interprocess Communication\n\nMQTT-backed pub/sub message exchange service.\n\n\n### unt4: Legacy Timing Protocol\n\nSwiss Timing UNT4 protocol wrapper, for legacy devices\nand DHI communications.\n\n\n### countback: Accumulate and Compare Count of Places\n\nRepresent a countback of places and allow for simple\nplacing comparisons.\n\n\n### htlib: HTML Generation\n\nFunctional primitives for HTML generation.\n\n\n### report: Report Generation\n\nCreate sectioned reports and save to PDF, HTML, XLS and JSON.\n\n\n### export: Result Export and Mirroring\n\nMirror export files to a remote host using rsync over ssh,\nrsync TCP daemon or by running a local script.\n\n\n## Work in Progress\n\n - submit file archive service\n - update text vertical layout from font metrics\n - overhaul report sections and event index for trackmeet\n - re-write report library\n - module documentation\n - sample scripts\n\n\n## Requirements\n\nSystem requirements:\n\n - Python >= 3.11\n - Cairo\n - Pango\n - Rsvg\n - Python gi\n - Python gi-cairo\n - tex-gyre (optional, recommended)\n - evince (optional, recommended)\n - fonts-noto (optional)\n - mosquitto (optional)\n - libreoffice (optional)\n\nPython packages:\n\n - pyserial: Serial port interface\n - python-dateutil: Generic date/time string parser\n - xlsxwriter: XLSX file writer\n - paho-mqtt: MQTT interface\n - graphemeu: Unicode grapheme support\n\n\n## Manual Installation\n\nInstall system requirements with apt:\n\n\t$ sudo apt install python3-venv python3-pip python3-cairo python3-gi python3-gi-cairo gir1.2-rsvg-2.0 gir1.2-pango-1.0\n\nCreate a virtualenv for metarace and associated packages:\n\n\t$ python3 -m venv --system-site-packages venv\n\nInstall packages with pip:\n\n\t$ ./venv/bin/pip install metarace\n\n",
"bugtrack_url": null,
"license": null,
"summary": "Cyclesport results and timing toolkit",
"version": "2.1.12",
"project_urls": {
"homepage": "https://github.com/ndf-zz/metarace"
},
"split_keywords": [
"cyclesport",
" results",
" timing"
],
"urls": [
{
"comment_text": null,
"digests": {
"blake2b_256": "5bdc8ce74668582a2969d2f134db754e57989fe3f5583e88c55a3ebeea984aaf",
"md5": "a83a3983514910f2ec9e880d6477ae84",
"sha256": "222c4ab86c4f339b6037abc39ae080529f2d3706f36d9c8abb8e1e5059530b13"
},
"downloads": -1,
"filename": "metarace-2.1.12-py3-none-any.whl",
"has_sig": false,
"md5_digest": "a83a3983514910f2ec9e880d6477ae84",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.11",
"size": 106967,
"upload_time": "2025-07-10T05:16:55",
"upload_time_iso_8601": "2025-07-10T05:16:55.095881Z",
"url": "https://files.pythonhosted.org/packages/5b/dc/8ce74668582a2969d2f134db754e57989fe3f5583e88c55a3ebeea984aaf/metarace-2.1.12-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "3f573b04df432219b6962952ba897133c756e35bcb41a0ef08907c37bdc25fc2",
"md5": "3ccc80e27d1a7f1ac903566f3cae5890",
"sha256": "5ba73ee22de38cd2a1226e99718a4db1f375f59d5f23a100546195b0be70697f"
},
"downloads": -1,
"filename": "metarace-2.1.12.tar.gz",
"has_sig": false,
"md5_digest": "3ccc80e27d1a7f1ac903566f3cae5890",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.11",
"size": 97411,
"upload_time": "2025-07-10T05:16:56",
"upload_time_iso_8601": "2025-07-10T05:16:56.907941Z",
"url": "https://files.pythonhosted.org/packages/3f/57/3b04df432219b6962952ba897133c756e35bcb41a0ef08907c37bdc25fc2/metarace-2.1.12.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2025-07-10 05:16:56",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "ndf-zz",
"github_project": "metarace",
"travis_ci": false,
"coveralls": false,
"github_actions": false,
"lcname": "metarace"
}