numpy>=1.16
scipy>=1.2.0
pandas>=0.24.0
scikit-learn>=1.0
matplotlib

[ART]
adversarial-robustness-toolbox>=1.0.0

[AdversarialDebiasing]
tensorflow>=1.13.1

[DisparateImpactRemover]
BlackBoxAuditing

[FACTS]
mlxtend
colorama
tqdm

[FairAdapt]
rpy2

[LFR]
torch

[LIME]
lime

[OptimPreproc]
cvxpy>=1.0

[OptimalTransport]
pot

[Reductions]
fairlearn~=0.7

[all]
tqdm
adversarial-robustness-toolbox>=1.0.0
mlxtend
pytest>=3.5
igraph[plotting]
seaborn
inFairness>=0.2.2
pytest-cov>=2.8.1
skorch
BlackBoxAuditing
fairlearn~=0.7
lightgbm
cvxpy>=1.0
rpy2
sphinx
pot
colorama
jinja2>3.1.0
jupyter
tensorflow>=1.13.1
sphinx_rtd_theme
lime
ipympl
torch

[docs]
sphinx
jinja2>3.1.0
sphinx_rtd_theme
fairlearn~=0.7

[inFairness]
skorch
inFairness>=0.2.2

[notebooks]
jupyter
tqdm
igraph[plotting]
lightgbm
seaborn
ipympl

[tests]
cvxpy>=1.0
tensorflow>=1.13.1
BlackBoxAuditing
torch
lime
adversarial-robustness-toolbox>=1.0.0
fairlearn~=0.7
rpy2
skorch
inFairness>=0.2.2
jupyter
tqdm
igraph[plotting]
lightgbm
seaborn
ipympl
pot
mlxtend
colorama
pytest>=3.5
pytest-cov>=2.8.1
