Skip to main content

Ethical AI (eai)

A comprehensive Python package for ethical AI validation and auditing, designed with a modular structure similar to scikit-learn.

Features

  • Bias Detection: Identify and measure bias in AI models across different demographic groups
  • Fairness Assessment: Evaluate model fairness using various metrics and statistical tests
  • GDPR Compliance: Check for data privacy and consent requirements
  • AI Act Compliance: Validate compliance with EU AI Act regulations
  • Comprehensive Reporting: Generate detailed audit reports with visualizations
  • Multiple Model Support: Works with scikit-learn, TensorFlow, and PyTorch models

Installation

pip install whis-ethical-ai

From Source

git clone https://github.com/whis-19/ethical-ai.git
cd ethical-ai
pip install -e .

Quick Start

Basic Usage

from ethical_ai_validator import EthicalAIValidator
import numpy as np
import pandas as pd

# Create sample data
predictions = np.array([1, 0, 1, 0, 1, 0, 1, 1, 0, 1])
true_labels = np.array([1, 0, 1, 1, 0, 0, 1, 1, 0, 1])
protected_attributes = {
    'gender': ['male', 'female', 'male', 'female', 'male', 'female', 'male', 'female', 'male', 'female'],
    'race': ['white', 'black', 'white', 'black', 'white', 'black', 'white', 'black', 'white', 'black']
}

# Initialize validator
validator = EthicalAIValidator()

# Detect bias
bias_report = validator.audit_bias(predictions, true_labels, protected_attributes)
print("Bias Report:")
print(bias_report)

# Calculate fairness metrics
fairness_metrics = validator.calculate_fairness_metrics(predictions, protected_attributes)
print("Fairness Metrics:")
print(fairness_metrics)

Advanced Usage

# Generate compliance report
metadata = {'model_name': 'RandomForest', 'version': '1.0'}
audit_criteria = {'bias_threshold': 0.1, 'fairness_threshold': 0.8}
report_path = validator.generate_compliance_report(metadata, audit_criteria)

# Real-time monitoring
predictions_stream = [
    np.random.choice([0, 1], size=1000),
    np.random.choice([0, 1], size=1000)
]
alerts = validator.monitor_realtime(predictions_stream)

# Suggest mitigations
mitigations = validator.suggest_mitigations(bias_report)
print("Mitigation Suggestions:")
print(mitigations)

Using Convenience Functions

from ethical_ai_validator import (
    audit_bias, calculate_fairness_metrics, generate_compliance_report,
    monitor_realtime, suggest_mitigations
)

# Direct function calls
bias_report = audit_bias(predictions, true_labels, protected_attributes)
fairness_metrics = calculate_fairness_metrics(predictions, protected_attributes)
report_path = generate_compliance_report(metadata, audit_criteria)
alerts = monitor_realtime(predictions_stream)
mitigations = suggest_mitigations(bias_report)

Development Setup

Prerequisites

  • Python 2.7 or higher
  • Git
  • pip

Step-by-Step Setup

  1. Clone the repository
    git clone https://github.com/whis-19/ethical-ai.git
    

cd ethical-ai


2. **Create a virtual environment**
```bash
python -m venv .venv
source .venv/bin/activate  # On Windows: .venv\Scripts\activate
  1. Install dependencies

    pip install -r requirements.txt
    pip install -e .[dev]
    
  2. Run tests

    pytest
    
  3. Check code coverage

    pytest --cov=ethical_ai_validator --cov-report=html
    

VS Code Setup

  1. Install recommended extensions:

    • Python (ms-python.python)
    • Pylance (ms-python.vscode-pylance)
    • Python Test Explorer (littlefoxteam.vscode-python-test-adapter)
  2. Configure settings in .vscode/settings.json (already included)

Project Structure

ethical-ai/
├── src/
│   └── ethical_ai_validator/
│       ├── __init__.py
│       ├── core/
│       ├── validators/
│       ├── metrics/
│       └── reporting/
├── tests/
├── docs/
├── requirements.txt
├── pyproject.toml
├── README.md
└── SETUP.md

Testing

Run the test suite:

# Run all tests
pytest

# Run with coverage
pytest --cov=ethical_ai_validator --cov-report=html

# Run specific test categories
pytest -m unit
pytest -m integration
pytest -m "not slow"

Contributing

  1. Fork the repository
  2. Create a feature branch (git checkout -b feature/amazing-feature)
  3. Commit your changes (git commit -m 'Add amazing feature')
  4. Push to the branch (git push origin feature/amazing-feature)
  5. Open a Pull Request

Code Style

This project uses:

  • Black for code formatting
  • Flake8 for linting
  • MyPy for type checking
  • Pre-commit hooks for automated checks

Run pre-commit hooks:

pre-commit install
pre-commit run --all-files

Documentation

License

This project is licensed under the MIT License - see the LICENSE file for complete details.

License Summary

✅ Permitted:

  • Commercial use
  • Modification and distribution
  • Private and public use
  • Patent use

❌ Limitations:

  • No warranty provided
  • No liability for damages

📋 Requirements:

  • Include copyright notice
  • Include license text
  • State any modifications

License Compatibility

The MIT License is compatible with:

  • GPL (v2 and v3)
  • Apache License 2.0
  • BSD Licenses
  • Most other open-source licenses

This makes it suitable for use in both open-source and commercial projects.

Third-Party Dependencies

All dependencies are BSD-3-Clause licensed and compatible with MIT:

  • numpy, pandas, scikit-learn, reportlab

For detailed license information, see the LICENSE file.

Support

Acknowledgments

  • Inspired by the need for ethical AI development
  • Built with support from the open-source community
  • Special thanks to contributors and maintainers (WHIS-19)

Metadata

Release files for whis-ethical-ai 1.3.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for whis-ethical-ai 1.3.0
File Size Uploaded
whis_ethical_ai-1.3.0.tar.gz 59.8 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for whis-ethical-ai 1.3.0
File Interpreter ABI Platform
whis_ethical_ai-1.3.0-py3-none-any.whl Python 3 none any Details

Total release size: 93.3 kB

Release files / whis_ethical_ai-1.3.0.tar.gz

Download URL whis_ethical_ai-1.3.0.tar.gz
Size 59.8 kB
Tags Source
SHA-256 checksum
How to use checksums
aeec3517135cf295ba83741f58fe4b4549cc987824af341eb53199d91cb43bd7
BLAKE2b-256 checksum
How to use checksums
35b033a7fb3326721dc3e0f5064642d6e24e50cced067c47ce3820eebc5bca85
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.13.5

Release files / whis_ethical_ai-1.3.0-py3-none-any.whl

Download URL whis_ethical_ai-1.3.0-py3-none-any.whl
Size 33.5 kB
Tags Python 3
SHA-256 checksum
How to use checksums
0f496053bbd31e195ea1146d53a083b2fed44c37b5b9f417bb57a8fe7b97a13c
BLAKE2b-256 checksum
How to use checksums
8a260b7fb9663942f6f06b96f5830d0a9ea53744f267a6ff51d9ba26069e0a49
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.13.5

Release history Release notifications | RSS feed

This release

1.3.0 This release

2 release files

1.1.0

2 release files

1.0.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page