Automated web accessibility and UI bug detection tool with AI-powered analysis
Project description
Mantis Web Crawler
🕷️ Mantis is a powerful web accessibility and UI bug detection tool that crawls websites to discover issues before they reach production.
Originally created for Hack The North 2025
Features
- 🔍 Comprehensive Web Crawling: Deep crawl of websites with configurable depth and page limits
- ♿ Accessibility Testing: Automated detection of accessibility violations
- 🎨 Visual Layout Analysis: Detection of UI layout bugs and visual inconsistencies
- 📊 Real-time Dashboard: Live monitoring of crawl progress with WebSocket updates
- 📋 Detailed Reporting: JSON reports with bug details, evidence, and recommendations
- 🚀 Easy CLI Interface: Simple command-line tool for quick scans
Installation
From GitHub (Recommended)
# Clone the repository
git clone https://github.com/yourusername/mantis.git
cd mantis
# Install the package
pip install -e .
# Install Playwright browsers (required)
playwright install
From PyPI (when published)
pip install mantis-web-crawler
playwright install
Quick Start
After installation, you can run Mantis directly from anywhere:
# Basic crawl
mantis run https://example.com
# Advanced options
mantis run https://example.com --max-depth 2 --max-pages 25
mantis run https://example.com --output my_report.json --verbose
mantis run https://example.com --dashboard # Launch with live dashboard
Usage Examples
Basic Website Scan
mantis run https://example.com
Deep Crawl with Custom Limits
mantis run https://example.com --max-depth 3 --max-pages 50
Generate Custom Report
mantis run https://example.com --output accessibility_report.json --verbose
Launch with Real-time Dashboard
mantis run https://example.com --dashboard
Command Line Options
url: Starting URL to crawl (required)--max-depth: Maximum crawl depth (default: 3)--max-pages: Maximum number of pages to crawl (default: 10)--output: Output file for JSON report (optional)--verbose: Enable verbose logging--dashboard: Launch real-time monitoring dashboard
Requirements
- Python 3.8+
- Playwright browsers (automatically installed with
playwright install)
Development
# Clone the repo
git clone https://github.com/yourusername/mantis.git
cd mantis
# Install in development mode
pip install -e .[dev]
# Install pre-commit hooks
pre-commit install
# Run tests
pytest
Contributing
We welcome contributions! Please see our contributing guidelines for more details.
License
MIT License - see LICENSE file for details.
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
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file mantis_web_crawler-1.0.0.tar.gz.
File metadata
- Download URL: mantis_web_crawler-1.0.0.tar.gz
- Upload date:
- Size: 73.6 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.4
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
64aaf741d509aee0b42e0cceebd53a188bba57263c4282edb6a9cc32bc60effc
|
|
| MD5 |
9d815cc0788a42ad729e1744a730dac7
|
|
| BLAKE2b-256 |
52ff49d30f94f01410fc131c6b757f669bfca8dabaaf5621fc2fdbf673c8f64f
|
File details
Details for the file mantis_web_crawler-1.0.0-py3-none-any.whl.
File metadata
- Download URL: mantis_web_crawler-1.0.0-py3-none-any.whl
- Upload date:
- Size: 84.9 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.4
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
5c7d3d76e4d1e0fa144e98bd6ac445eaf1c1d341076f654df70fce3ba6cb9ef7
|
|
| MD5 |
0f5f41a7fb92ccf5ef3ca89b68529521
|
|
| BLAKE2b-256 |
fa5fcb673d9f0c0076557792d61af56d13b0acc85128a70d2c5cea4211fabad1
|