metarace


Namemetarace JSON
Version 2.1.12 PyPI version JSON
download
home_pageNone
SummaryCyclesport results and timing toolkit
upload_time2025-07-10 05:16:56
maintainerNone
docs_urlNone
authorNone
requires_python>=3.11
licenseNone
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"
}
        
Elapsed time: 1.85923s