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-1.0.0.tar.gz (53.1 kB view details)

Uploaded Source

Built Distribution

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

fairical-1.0.0-py3-none-any.whl (32.1 kB view details)

Uploaded Python 3

File details

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

File metadata

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

File hashes

Hashes for fairical-1.0.0.tar.gz
Algorithm Hash digest
SHA256 079d7262a22cca8c9ef4dc13f04aca2d4ecaa558830700343744ec3a078df92c
MD5 fd40cd42d82f6bbca88ff1529a128990
BLAKE2b-256 b16844869c840cb68aec5c1b7a0f9cd8d96a53daf635430b29d9bf0a315adf6c

See more details on using hashes here.

File details

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

File metadata

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

File hashes

Hashes for fairical-1.0.0-py3-none-any.whl
Algorithm Hash digest
SHA256 c50cc3bc09c1c5f0b98de1dde8717bc3a853c0d904a8cb3e96b1d3065a253389
MD5 cec2ab338bdcb4d285190046fb0b271d
BLAKE2b-256 80b613a0fb3ca1a8ec1728c892a74d016f8469d65926fb7f0dc70c5c787594a2

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