Skip to main content

A simple library to keep track of your progress and history in competitive debating.

Project description

https://badge.fury.io/py/debaterpy.svg? https://badgen.net/github/license/daankoning/debater.py? Documentation Status

A simple library to keep track of your progress and history in competitive debating.

The library is largely meant to interface with DebaterJSON and as such provides a significant number of functions and classes to analyse and manipulate these records.

Installation

Because the package is available on PyPi simply run the following command to install it:

pip install debaterpy

Usage

Instantiating objects is really simple, assuming you have a valid DebaterJSON string loaded in data it only takes two lines of code to generate an object from them.

>>> import debaterpy
>>> record = debaterpy.Record.from_json(data)

In fact, this method should cover the vast majority of use cases for generating records. In case more control over record creation (e.g. for generating test data or fetching a record from an external source) most classes are standard python dataclasses and as such offer fine programmatic control.

Having a Record object in memory it is incredibly simple to do even relatively complex manipulations. For example, in order to get a speaker’s average speaks in rounds where their team won, do:

>>> winning_speeches = debaterpy.get_all_speeches(
    record,
    lambda tournament, round, speech: tournament.format == "BP" and round.result == 3
)
>>> winning_speaks = [speech.speak for speech in winning_speeches]
>>> sum(winning_speaks)/len(winning_speaks)
78.88888888888889

Documentation

The documentation lives in the docs directory as well as on ReadTheDocs.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

debaterpy-0.1.1.tar.gz (6.6 kB view hashes)

Uploaded Source

Built Distribution

debaterpy-0.1.1-py3-none-any.whl (7.1 kB view hashes)

Uploaded Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page