Metadata-Version: 2.4
Name: sr.comp
Version: 1.13.0
Summary: Reliable software for running robotics competitions
Home-page: https://github.com/PeterJCLaw/srcomp/wiki
Author: Student Robotics Competition Software SIG
Author-email: srobo-devel@googlegroups.com
Project-URL: Documentation, https://srcomp.readthedocs.org/
Project-URL: Code, https://github.com/PeterJCLaw/srcomp
Project-URL: Issue tracker, https://github.com/PeterJCLaw/srcomp/issues
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: GNU General Public License v3 (GPLv3)
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Programming Language :: Python :: 3.13
Classifier: Programming Language :: Python :: 3.14
Classifier: Programming Language :: Python :: 3 :: Only
Classifier: Topic :: Software Development :: Libraries
Requires-Python: >=3.10
License-File: LICENSE
License-File: AUTHORS.rst
Requires-Dist: PyYAML<7,>=5.1.2
Requires-Dist: league-ranker<2,>=0.1
Requires-Dist: python-dateutil<3,>=2.7
Requires-Dist: typing-extensions<5,>=4
Dynamic: author
Dynamic: author-email
Dynamic: classifier
Dynamic: description
Dynamic: home-page
Dynamic: license-file
Dynamic: project-url
Dynamic: requires-dist
Dynamic: requires-python
Dynamic: summary

SRComp
======

|Build Status| |Docs Status|

Reliable software for running robotics competitions, primarily used by
`Student Robotics <https://studentrobotics.org>`__.

The `SRComp wiki <https://github.com/PeterJCLaw/srcomp/wiki>`__ provides
an overview of the suite as a whole.

This repository provides a python API to accessing information about the
state of the competition. That *compstate* is stored as a collection of
YAML files in a git repository. This allows the state of the competition
to be managed in isolation from the software while still providing
consistent representations of that state.

Usage
-----

Python clients should install the library using:

.. code:: shell

    pip install sr.comp

Only the ``SRComp`` is class directly exposed, and it should be constructed
around the path to a local working copy of a *compstate repo*.

.. code:: python

    from srcomp import SRComp
    comp = SRComp('/path/to/compstate')

**Web clients** should look at using the HTTP API provided by
`srcomp-http <https://github.com/PeterJCLaw/srcomp-http>`__
rather than implementing their own intermediary.

There is also a **command line** interface which provides utilities for
managing a *compstate repo*:
`srcomp-cli <https://github.com/PeterJCLaw/srcomp-cli>`__.

See the
`dummy-comp <https://github.com/PeterJCLaw/dummy-comp>`__
for an example of the structure and values expected in a *compstate
repo*.

Development
-----------

**Install**:
``pip install -e . -r dev-requirements.txt``

**Checks**:
``./script/check``

.. |Build Status| image:: https://circleci.com/gh/PeterJCLaw/srcomp/tree/main.svg?style=svg
   :target: https://circleci.com/gh/PeterJCLaw/srcomp/tree/main

.. |Docs Status| image:: https://readthedocs.org/projects/srcomp/badge/?version=latest
   :target: https://srcomp.readthedocs.org/
