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.0.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.0-py3-none-any.whl (97.0 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: mantis_web_crawler-1.1.0.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.0.tar.gz
Algorithm Hash digest
SHA256 2eda3e6bfb9ec0f88960c4620cdcfffd8e64d80b823d030b1a1ff0193fb7be03
MD5 cbee959d3dea64d4c954b3a73f03de6c
BLAKE2b-256 bb93279d7dc61e27d28f66c436961a17e2c0d1d926eee6decfc1154787ace5bb

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for mantis_web_crawler-1.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 931b2f6e1d20291ddc3ded4c0808ad0a91b1a89b382d0254f775551de148730b
MD5 f3037e95439f55ae6121b71d499e49fa
BLAKE2b-256 7658567a4794b11b816a2202b9758ccffed75ab38baa1a45aa6144dcac3acf4f

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