Metadata-Version: 2.4
Name: gdpr-compliance-checker
Version: 0.1.1
Summary: A Python package to analyze websites for GDPR compliance indicators
Home-page: https://github.com/dostogircse171/gdpr-compliance-checker
Author: Mohammad Golam Dostogir
Author-email: Your Name <your.email@example.com>
License: MIT
Project-URL: Homepage, https://github.com/dostogircse171/gdpr-compliance-checker
Project-URL: Repository, https://github.com/dostogircse171/gdpr-compliance-checker.git
Project-URL: Issues, https://github.com/dostogircse171/gdpr-compliance-checker/issues
Keywords: gdpr,compliance,privacy,data-protection,web-scraping,analysis
Classifier: Development Status :: 3 - Alpha
Classifier: Intended Audience :: Developers
Classifier: Topic :: Software Development :: Libraries :: Python Modules
Classifier: Topic :: Internet :: WWW/HTTP :: Site Management
Classifier: License :: OSI Approved :: MIT License
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.7
Classifier: Programming Language :: Python :: 3.8
Classifier: Programming Language :: Python :: 3.9
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Requires-Python: >=3.7
Description-Content-Type: text/markdown
License-File: LICENSE
Requires-Dist: requests>=2.28.0
Requires-Dist: beautifulsoup4>=4.11.0
Requires-Dist: lxml>=4.9.0
Requires-Dist: urllib3>=1.26.0
Requires-Dist: selenium>=4.0.0
Requires-Dist: webdriver-manager>=3.8.0
Provides-Extra: dev
Requires-Dist: pytest>=7.0.0; extra == "dev"
Requires-Dist: pytest-cov>=3.0.0; extra == "dev"
Requires-Dist: black>=22.0.0; extra == "dev"
Requires-Dist: flake8>=4.0.0; extra == "dev"
Requires-Dist: mypy>=0.950; extra == "dev"
Requires-Dist: isort>=5.10.0; extra == "dev"
Requires-Dist: pre-commit>=2.17.0; extra == "dev"
Provides-Extra: docs
Requires-Dist: sphinx>=4.5.0; extra == "docs"
Requires-Dist: sphinx-rtd-theme>=1.0.0; extra == "docs"
Requires-Dist: sphinx-autodoc-typehints>=1.18.0; extra == "docs"
Dynamic: author
Dynamic: home-page
Dynamic: license-file
Dynamic: requires-python

# GDPR Compliance Checker

A Python package to analyze websites for GDPR (General Data Protection Regulation) compliance indicators.

## Installation
```bash
pip install gdpr-compliance-checker-dostogir
```

## Quick Start

### Command Line Usage
```bash
# Basic check
gdpr-check https://example.com

# Detailed analysis with HTML report
gdpr-check https://example.com --detailed --output report.html

# Batch processing
gdpr-check urls.txt --batch --output comparison.html
```

### Python API
```python
from gdpr_compliance_checker import GDPRChecker

# Initialize checker
checker = GDPRChecker()

# Analyze a website
result = checker.analyze_url("https://example.com")

# Display results
print(f"GDPR Score: {result.score}/100")
print(f"Grade: {result._get_grade()}")
print(f"Privacy Policy: {result.has_privacy_policy}")
print(f"Cookie Consent: {result.has_cookie_consent}")

# Generate reports
html_report = result.to_html()
json_report = result.to_json()
```

## Features

- Privacy Policy Detection
- Cookie Consent Analysis
- GDPR Compliance Scoring (0-100)
- Third-party Tracker Detection
- Data Rights Information Checking
- Multi-language Support
- Batch Processing for Multiple URLs
- Multiple Report Formats (HTML, JSON, CSV)

## Compliance Scoring

The tool evaluates websites based on:

- SSL/TLS Encryption (10 points)
- Privacy Policy (25 points)
- Cookie Consent (20 points)
- Data Subject Rights (20 points)
- Contact Information (10 points)
- Legal Basis (10 points)
- DPO Information (5 points)

## Advanced Usage

### Custom Compliance Rules
```python
from gdpr_compliance_checker import GDPRChecker, ComplianceRule

checker = GDPRChecker()

# Add custom rule
custom_rule = ComplianceRule(
    name="Custom Check",
    description="Check for specific requirements",
    keywords=["keyword1", "keyword2"],
    weight=10
)
checker.add_custom_rule(custom_rule)
```

### Batch Processing
```python
from gdpr_compliance_checker import BatchChecker

batch_checker = BatchChecker(max_workers=5)
results = batch_checker.check_urls(["site1.com", "site2.com"])
batch_checker.generate_comparison_report(results, "report.html")
```

## Disclaimer

This tool provides technical analysis only and should not be considered legal advice. For comprehensive GDPR compliance, consult with legal professionals.

## Author

Mohammad Golam Dostogir
- Website: https://dostogir.dev
- GitHub: https://github.com/dostogircse171
- PyPI: https://pypi.org/user/dostogircse171/

## License

MIT License
