metarace


Namemetarace JSON
Version 2.1.5 PyPI version JSON
download
home_page
SummaryCyclesport results and timing toolkit
upload_time2023-07-31 16:54:22
maintainer
docs_urlNone
author
requires_python>=3.9
licenseMIT
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.
   - [tagreg](https://github.com/ndf-zz/metarace-tagreg) : Transponder
     id management.
   - [ttstart](https://github.com/ndf-zz/metarace-ttstart) : Time
     Trial starter console.


## Work in Progress

   - include grapheme support in strops
   - re-write report library for better sectioning
   - overhaul PDF text rendering
   - replace xls export with xlsx
   - module documentation
   - sample scripts


## Module Overview

### 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.


### eventdb: CSV Event List

Store details for multple events within a meet.


## Requirements

System requirements:

   - Python >= 3.9
   - 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
   - xlwt: XLS file writer
   - paho-mqtt: MQTT interface
   - grapheme: Unicode grapheme support


## Installation

Check that your python version is at least 3.9 before installing.
This library will not work with python versions less than 3.9.


### Debian 11+

Install system requirements with apt:

	$ sudo apt install python3-venv python3-pip python3-cairo python3-gi python3-gi-cairo
	$ sudo apt install gir1.2-rsvg-2.0 gir1.2-pango-1.0
	$ sudo apt install python3-serial python3-paho-mqtt python3-dateutil python3-xlwt

Optionally add fonts, PDF viewer and MQTT broker:

	$ sudo apt install tex-gyre fonts-noto evince mosquitto

Create a virtualenv for metarace and associated packages:

	$ python3 -m venv --system-site-packages venv

Activate the virtualenv and install packages with pip:

	$ source ./venv/bin/activate
	(venv) $ pip3 install metarace


            

Raw data

            {
    "_id": null,
    "home_page": "",
    "name": "metarace",
    "maintainer": "",
    "docs_url": null,
    "requires_python": ">=3.9",
    "maintainer_email": "",
    "keywords": "cyclesport,results,timing",
    "author": "",
    "author_email": "Nathan Fraser <ndf-zz@6-v.org>",
    "download_url": "https://files.pythonhosted.org/packages/b5/be/d6d4162760c3523c87007edfa4800f97cd83b25bf8dfe81f0412ed16fea5/metarace-2.1.5.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   - [tagreg](https://github.com/ndf-zz/metarace-tagreg) : Transponder\n     id management.\n   - [ttstart](https://github.com/ndf-zz/metarace-ttstart) : Time\n     Trial starter console.\n\n\n## Work in Progress\n\n   - include grapheme support in strops\n   - re-write report library for better sectioning\n   - overhaul PDF text rendering\n   - replace xls export with xlsx\n   - module documentation\n   - sample scripts\n\n\n## Module Overview\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### eventdb: CSV Event List\n\nStore details for multple events within a meet.\n\n\n## Requirements\n\nSystem requirements:\n\n   - Python >= 3.9\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   - xlwt: XLS file writer\n   - paho-mqtt: MQTT interface\n   - grapheme: Unicode grapheme support\n\n\n## Installation\n\nCheck that your python version is at least 3.9 before installing.\nThis library will not work with python versions less than 3.9.\n\n\n### Debian 11+\n\nInstall system requirements with apt:\n\n\t$ sudo apt install python3-venv python3-pip python3-cairo python3-gi python3-gi-cairo\n\t$ sudo apt install gir1.2-rsvg-2.0 gir1.2-pango-1.0\n\t$ sudo apt install python3-serial python3-paho-mqtt python3-dateutil python3-xlwt\n\nOptionally add fonts, PDF viewer and MQTT broker:\n\n\t$ sudo apt install tex-gyre fonts-noto evince mosquitto\n\nCreate a virtualenv for metarace and associated packages:\n\n\t$ python3 -m venv --system-site-packages venv\n\nActivate the virtualenv and install packages with pip:\n\n\t$ source ./venv/bin/activate\n\t(venv) $ pip3 install metarace\n\n",
    "bugtrack_url": null,
    "license": "MIT",
    "summary": "Cyclesport results and timing toolkit",
    "version": "2.1.5",
    "project_urls": {
        "homepage": "https://github.com/ndf-zz/metarace"
    },
    "split_keywords": [
        "cyclesport",
        "results",
        "timing"
    ],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "5d30edccb5651d937f3b19a83635836460da65a7d9be259f68e83d2b4c747de5",
                "md5": "1f6e458adfe353a73af150e684c59d79",
                "sha256": "edfa1c2184c14ae0b4ed6af3fca252298c397712dca86aba196cfa1b20e1c814"
            },
            "downloads": -1,
            "filename": "metarace-2.1.5-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "1f6e458adfe353a73af150e684c59d79",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": ">=3.9",
            "size": 103871,
            "upload_time": "2023-07-31T16:54:19",
            "upload_time_iso_8601": "2023-07-31T16:54:19.467797Z",
            "url": "https://files.pythonhosted.org/packages/5d/30/edccb5651d937f3b19a83635836460da65a7d9be259f68e83d2b4c747de5/metarace-2.1.5-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "b5bed6d4162760c3523c87007edfa4800f97cd83b25bf8dfe81f0412ed16fea5",
                "md5": "59a9f58348eb4cfa549fd0fe57eb7ce2",
                "sha256": "46df05c683dc50d7659fbe4ad6e03e1797e4407896bf9008b8051ab063e7f2c2"
            },
            "downloads": -1,
            "filename": "metarace-2.1.5.tar.gz",
            "has_sig": false,
            "md5_digest": "59a9f58348eb4cfa549fd0fe57eb7ce2",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.9",
            "size": 93962,
            "upload_time": "2023-07-31T16:54:22",
            "upload_time_iso_8601": "2023-07-31T16:54:22.634252Z",
            "url": "https://files.pythonhosted.org/packages/b5/be/d6d4162760c3523c87007edfa4800f97cd83b25bf8dfe81f0412ed16fea5/metarace-2.1.5.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2023-07-31 16:54:22",
    "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.44211s