Baseline Checker: A Modern Web Compatibility Scanner
Baseline Checker is a powerful command-line tool that scans your web projects to identify the use of modern vs. non-baseline web features. It helps you ensure your codebase is modern, maintainable, and compatible across the majority of browsers, aligning with Google's Baseline initiative.
The Problem
In today's fast-evolving web landscape, it's a challenge for developers to know if they are using the most modern, widely-supported browser features. Manually checking a large codebase for hundreds of APIs, CSS properties, and JavaScript features is tedious and prone to error.
The Solution
Our Baseline Checker automates this process. It's a Python-based tool that recursively scans a project directory, intelligently filters out irrelevant files (like node_modules), and analyzes your code to generate a comprehensive compatibility report.
This empowers developers to:
- ✅ Verify that their code is modern and future-proof.
- 🧐 Identify legacy or experimental features that might cause cross-browser compatibility issues.
- 📚 Learn which modern APIs they can adopt to replace older techniques.
- 📄 Generate shareable reports in multiple formats (JSON, CSV, DOCX, and PDF) to easily communicate the project's technical status.
✨ Features
- Comprehensive Scanning: Recursively scans entire project directories.
- Intelligent Filtering: Skips common irrelevant folders (
node_modules,.git,dist, etc.) for faster, more relevant scans. - Data-Driven: Uses a detailed JSON file (
baseline_data.json) containing hundreds of web features and their Baseline status, making it easily updatable. - Multi-Format Reporting: Generates clean, professional reports in JSON, CSV, DOCX, and PDF formats.
- User-Friendly CLI: Provides clear console output with progress bars (
tqdm) and formatted text (rich) for a great user experience. - Resilient: Gracefully handles file access errors and allows for graceful interruption (
Ctrl+C) with an option to save a partial report.
🚀 Getting Started
Prerequisites
- Python 3.6+
Installation
Install via PyPI:
pip install baseline-checker
Usage
Run the scanner from the command line, providing the path to your project:
baseline-checker /path/to/your/project
Generate Specific Reports
- JSON report
baseline-checker /path/to/your/project --json
- CSV report
baseline-checker /path/to/your/project --csv
- Word (DOCX) report
baseline-checker /path/to/your/project --docx
- PDF report
baseline-checker /path/to/your/project --pdf
- All reports at once
baseline-checker /path/to/your/project --json --csv --docx --pdf
Metadata
Release files for baseline-checker 0.1.10
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| baseline_checker-0.1.10.tar.gz | 232.2 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| baseline_checker-0.1.10-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 467.1 kB
Release files / baseline_checker-0.1.10.tar.gz
| Download URL | baseline_checker-0.1.10.tar.gz |
|---|---|
| Size | 232.2 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
bdd6c465d4c7703c8d2369d572395d977066a0dafdc9965755380b80b38197b1
|
|
BLAKE2b-256 checksum How to use checksums |
34766d13350a9a47b38d9d42b6563c5c667e1ea9e53d2049793f9a0f92453456
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.12.10
|
Release files / baseline_checker-0.1.10-py3-none-any.whl
| Download URL | baseline_checker-0.1.10-py3-none-any.whl |
|---|---|
| Size | 235.0 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
8d80806ba5a0044d2be5d7d646eb51e8a653fad9f3c9f789fa5bdc61e2c520bc
|
|
BLAKE2b-256 checksum How to use checksums |
5867f19e1c1c72ca22d3e516ca643ea1f9ac032a25470441a8f99d6d6e47e691
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.12.10
|