Skip to main content

Web accessibility and UI bug detection tool

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 PyPI (Recommended)

pip install mantis-web-crawler
playwright install

From Source (Development)

# 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

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
  • --scan-type: One of 'all', 'ui', 'accessibility' or 'performance'. Defaults to 'all'.

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.1.1.tar.gz (83.7 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.1.1-py3-none-any.whl (97.0 kB view details)

Uploaded Python 3

File details

Details for the file mantis_web_crawler-1.1.1.tar.gz.

File metadata

  • Download URL: mantis_web_crawler-1.1.1.tar.gz
  • Upload date:
  • Size: 83.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.10.17

File hashes

Hashes for mantis_web_crawler-1.1.1.tar.gz
Algorithm Hash digest
SHA256 b7d10dccae2e4769615844fed69c10359354983d62fe06537150a2056d6ff347
MD5 6928c8595c56f180e644af419188386b
BLAKE2b-256 3ed0704ca1f8edd9a420d6880fb323623632303ae0dee9caa937722d7acadc11

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for mantis_web_crawler-1.1.1-py3-none-any.whl
Algorithm Hash digest
SHA256 6bc9714478f5821a5d511cbfb225ca4586067d8375b9bd2f958cbff1c42d7113
MD5 0da61a2cfbd357d61738b6eff8717272
BLAKE2b-256 7c2a21ff8aaf415ca629f40396870f242c7186285cead9d8ec4f4ee8aac0a561

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