Skip to main content

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

mantis_web_crawler-1.0.0.tar.gz (73.6 kB view details)

Uploaded Source

Built Distribution

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

mantis_web_crawler-1.0.0-py3-none-any.whl (84.9 kB view details)

Uploaded Python 3

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

Hashes for mantis_web_crawler-1.0.0.tar.gz
Algorithm Hash digest
SHA256 64aaf741d509aee0b42e0cceebd53a188bba57263c4282edb6a9cc32bc60effc
MD5 9d815cc0788a42ad729e1744a730dac7
BLAKE2b-256 52ff49d30f94f01410fc131c6b757f669bfca8dabaaf5621fc2fdbf673c8f64f

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for mantis_web_crawler-1.0.0-py3-none-any.whl
Algorithm Hash digest
SHA256 5c7d3d76e4d1e0fa144e98bd6ac445eaf1c1d341076f654df70fce3ba6cb9ef7
MD5 0f5f41a7fb92ccf5ef3ca89b68529521
BLAKE2b-256 fa5fcb673d9f0c0076557792d61af56d13b0acc85128a70d2c5cea4211fabad1

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