Skip to main content

Fair Platform - The complete platform with backend, frontend, and CLI

Project description

The Fair Platform License: MIT PyPI - Version PyPI - Downloads

showcase

FAIR (or The Fair Platform) is an open-source platform that makes it easy to experiment with automatic grading systems using AI. It provides a flexible and extensible environment for building, testing, and comparing grading approaches, from interpreters and rubrics to agent-based systems and research datasets.

The goal is to support researchers, educators, and students who want to explore how AI can improve assessment, reduce manual grading workload, and enable reproducible experiments in educational technology.

Features

  • Flexible Architecture – Define courses, assignments, and grading modules with full customization.
  • Interpreters – Parse and standardize student submissions (PDFs, images, code, etc.) into structured artifacts.
  • Graders – Apply configurable rubrics, AI models, or hybrid approaches to evaluate submissions.
  • Artifacts – A universal data type for storing submissions, results, and metadata.
  • Experimentation First – Swap modules, run A/B tests, and measure performance across approaches.
  • Research-Friendly – Designed for reproducibility, with plans for standardized datasets and benchmarks.
  • Extensible – Build plugins for compilers, proof validators, RAG systems, or agentic graders.

Getting Started

pip install fair-platform
fair serve

# To serve documentation locally
fair serve --docs  # Documentation available at http://127.0.0.1:3000/docs

For detailed installation instructions, troubleshooting, and more, visit the documentation (available in English and Spanish).

Development Requirements

  • Python 3.12+
  • uv
  • Bun (for frontend development)

Once you have uv and Bun instlaled, you can build the platform and start using it:

uv run
./build.sh
fair serve

Roadmap

Some planned directions for FAIR include:

  • Standardized datasets for AI grading research
  • Dataset generation tools (e.g., synthetic student responses with realistic errors)
  • Plugins for popular LMS
  • More visualization and reporting tools

Contributing

FAIR is open for contributions! Whether you want to submit issues, propose new grading modules, or share experimental datasets, we'd love your help.

📖 New contributors: Please read our CONTRIBUTING.md for detailed guidelines on how to get started, our workflow, and what to expect.

Quick start:

  • Submit issues and feature requests
  • Propose or implement new grading modules
  • Share experimental datasets and benchmarks

If you're interested in collaborating, open an issue or start a discussion.

License

This project is licensed under the MIT License. See LICENSE for the full text and details.

What this means:

You CAN:

  • Use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the software.
  • Use the software in commercial, educational, or research contexts.
  • License your derivative works under any terms you choose.

You MUST:

  • Include the copyright notice and permission notice in all copies or substantial portions of the software.

Disclaimer:

  • The software is provided "as is", without warranty of any kind.

Questions about licensing? Please open an issue or contact allan.zapata@up.ac.pa.

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

fair_platform-0.7.tar.gz (2.0 MB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

fair_platform-0.7-py3-none-any.whl (2.1 MB view details)

Uploaded Python 3

File details

Details for the file fair_platform-0.7.tar.gz.

File metadata

  • Download URL: fair_platform-0.7.tar.gz
  • Upload date:
  • Size: 2.0 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for fair_platform-0.7.tar.gz
Algorithm Hash digest
SHA256 b2907d7d67fa7ff979a9b8df7df68f9e46c8ad94d823c4f54ceedfbdc5f22d84
MD5 2411012f246807e354f6df9ca6c98058
BLAKE2b-256 168133c4a4013a4e5683cf7925f01f5268b163f98e10b9ae898aa5f4c1f8efa9

See more details on using hashes here.

File details

Details for the file fair_platform-0.7-py3-none-any.whl.

File metadata

  • Download URL: fair_platform-0.7-py3-none-any.whl
  • Upload date:
  • Size: 2.1 MB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for fair_platform-0.7-py3-none-any.whl
Algorithm Hash digest
SHA256 785bb430cee8bbf90ee6b9fd953a13c94f21d1412ec168accbf0be9e06e514cb
MD5 a322156d3e905b656280c62655899bf0
BLAKE2b-256 cf0bce500963e83340887494ef7df3c3dfc847bdeac1906bbdff3f9841b12510

See more details on using hashes here.

Supported by

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