Skip to main content

Fairical is a Python library to assess adjustable demographically fair Machine Learning (ML) systems

Project description

latest-docs build coverage repository

Fairical

Fairical is a Python library for rigorously evaluating and comparing demographically fair machine-learning systems through the lens of multi-objective optimization. Rather than treating fairness as a single constraint, Fairical recognizes that real-world deployments must balance multiple, often conflicting fairness metrics (e.g., demographic parity, equalized odds across race, gender, age) alongside traditional utility measures like accuracy. It implements a model-agnostic evaluation framework that approximates Pareto fronts of utility-fairness trade-offs, then distills each system's performance into a compact measurement table and radar chart. By calculating convergence (how close models get to optimal trade-offs), diversity (uniform distribution and spread of solutions), capacity (number of non-dominated points), and a unified convergence-diversity score via hypervolume, Fairical delivers both quantitative rigor and qualitative clarity.

For installation and usage instructions, check-out our documentation.

If you use this library in published material, we kindly ask you to cite this work:

@misc{ozbulak_multi-objective_2025,
    title = {A Multi-Objective Evaluation Framework for Analyzing Utility-Fairness Trade-Offs in Machine Learning Systems},
    author = {Özbulak, Gökhan and Jimenez-del-Toro, Oscar and Fatoretto, Maíra and Berton, Lilian and Anjos, André},
    url = {https://arxiv.org/abs/2503.11120},
    doi = {10.48550/ARXIV.2503.11120},
    publisher = {{arXiv}},
    urldate = {2025-07-10},
    date = {2025},
}

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

fairical-2.0.0.tar.gz (59.5 kB view details)

Uploaded Source

Built Distribution

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

fairical-2.0.0-py3-none-any.whl (35.4 kB view details)

Uploaded Python 3

File details

Details for the file fairical-2.0.0.tar.gz.

File metadata

  • Download URL: fairical-2.0.0.tar.gz
  • Upload date:
  • Size: 59.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.5

File hashes

Hashes for fairical-2.0.0.tar.gz
Algorithm Hash digest
SHA256 a98ae988a88d8c7b8c28a3c8ea9acfc3fa8da60e1c85aceaea857a3aac62f0be
MD5 62ab4ada0090caad571834214f53436a
BLAKE2b-256 0dc08dc02f7c00fbb4df47fa266fffe3c0288a09c89057bc64e3f8f2f5a7e290

See more details on using hashes here.

File details

Details for the file fairical-2.0.0-py3-none-any.whl.

File metadata

  • Download URL: fairical-2.0.0-py3-none-any.whl
  • Upload date:
  • Size: 35.4 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.5

File hashes

Hashes for fairical-2.0.0-py3-none-any.whl
Algorithm Hash digest
SHA256 d30ecc8ffaff7d4779e7166038c02df278441624a7288c31c7bcfeccec70f4e3
MD5 ec93b5a04e5fe82b74518bf989be9fe8
BLAKE2b-256 94be0ccdb1eab5740a1b96a3bcca836f77a37e7312c3a8f5c12b10fa80835ce9

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