Skip to main content

Easy to use, multi-level grade weighting system

Project description

ScoreTree

PyPI Release Package Build and Test Coverage Status Python Version

ScoreTree is an easy to use, multi-level grade weighting system that serves as excellent tool for cascade grading methods.

Installation

This package has been released through PyPI, so it can be installed using Python's pip module:

python -m pip install scoretree

[!NOTE] The command above asumes that your Python interpreter is aliased to python and references a version equal to or greater than 3.10

Alternatively, it is also possible to clone this repository and install the package via pip and/or build.

Usage

Here is an usage example. Feel free to take a look at other examples in the corresponding section of the repository.

from scoretree import Score, ScoreArea, ScoreTree

# Define a score tree:
st = ScoreTree([
    # Add a list of areas to be evaluated:
    ScoreArea(name=f"Simulation", weight=1, items=[
        # Each area can contain other areas and/or scores:
        ScoreArea("Stop maneuver", .2, [
            # Scores are the minimal grading unit:
            Score(
                name="Distance to end",
                weight=.8,
                score_range=(0, 10),
                value=9.8848,
                inverse=True
            ),
            Score("Deceleration intensity", .2, (0, 20), value=185555)
        ]),
        # Different instance creation syntax:
        ScoreArea("Track performance", .8, [
            Score("Speed", .3, (0, 20), 5),
            ScoreArea("Efficiency", .7, [
                Score("Track time", .5, (0, 40), 30),
                Score("Track distance", .5, (0, 200), value=10, inverse=True)
            ])
        ])
    ])
], colorized=True)  # Enable or disable colorized output.

print(f"Total simulation score: {st.score}")

This would be the colorized output for the code snippet above:

sample_output

Contributing

Since this is a very small project that can be easily improved and can expand its functionality way further down the development process, any contributions, suggestions or bug reports are more than welcome!

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

scoretree-1.1.0.tar.gz (46.8 kB view hashes)

Uploaded Source

Built Distribution

scoretree-1.1.0-py3-none-any.whl (37.8 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