storm-checker


Namestorm-checker JSON
Version 0.0.1 PyPI version JSON
download
home_pageNone
SummaryIntelligent Python code quality analysis with business intelligence and gamified learning
upload_time2025-08-10 02:27:25
maintainerNone
docs_urlNone
authorNone
requires_python>=3.8
licenseMIT
keywords code-quality developer-tools education gamification linting mypy python static-analysis type-checking type-safety
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            [WARNING] This isn't deployed or ready for contributions yet. I am very excited for this project, but my priorities are elsewhere for now.

![a nostalgic blue crt monitor (80s aesthetic, pixel_ascii, retro) , on a desk with a keyboard in the middle, book to the right, and coffee cup to the left  around the monitor is storm clouds_lightning_rain, with big clear 'S](https://github.com/user-attachments/assets/68006e46-5703-4497-8127-c09849f79eeb)

> Smart Python type checking that teaches while it helps

**Part of the [80-20 Human in The Loop](https://github.com/80-20-Human-In-The-Loop) ecosystem**

[![PyPI version](https://img.shields.io/pypi/v/storm-checker?label=pip%20install%20storm-checker&color=brightgreen)](https://pypi.org/project/storm-checker/)
[![Python 3.8+](https://img.shields.io/badge/Python-3.8%2B-blue?logo=python&logoColor=white)](https://pypi.org/project/storm-checker/)
[![80-20 Philosophy](https://img.shields.io/badge/Philosophy-80%25%20AI%20%2B%2020%25%20Human-purple)](https://github.com/80-20-Human-In-The-Loop)
[![Teaches While You Code](https://img.shields.io/badge/Learning-Built%20In-orange)](https://github.com/80-20-Human-In-The-Loop/storm-checker)
[![AI Agent Ready](https://img.shields.io/badge/AI%20Agents-JSON%20%2B%20MCP-red)](https://github.com/80-20-Human-In-The-Loop/storm-checker)
[![License: GPL v3](https://img.shields.io/badge/License-GPLv3-blue.svg)](https://github.com/80-20-Human-In-The-Loop/storm-checker/blob/main/LICENSE)

## What This Does

Storm Checker helps you fix Python type errors and learn type safety. It works with MyPy to find problems in your code and shows you how to fix them.

**The result**: Code that works better and developers who understand types better.

## 🤝 The 80-20 Human in The Loop Philosophy

We believe the best tools help humans grow while automating tedious work.

**How it works**:
- **80% Automation**: AI handles routine type fixes and pattern recognition
- **20% Human Wisdom**: You make important decisions about code architecture
- **100% Learning**: Everyone improves their understanding of type safety

**Three ways to use Storm Checker**:
1. **Learning Mode** (`--edu`): Teaches you while you work
2. **Professional Mode**: Fast, clean results for experienced developers  
3. **AI Mode** (`--json`): Structured output for AI agents and automation

## ⚡ Quick Start

### Install Storm Checker

```bash
pip install storm-checker
```

### Try it now

```bash
# For beginners - learn while you fix
stormcheck mypy --edu

# For professionals - fast results  
stormcheck mypy

# For AI agents - structured data
stormcheck mypy --json

# Try the interactive tutorial system
stormcheck tutorial hello_world
```

That's it! Storm Checker will analyze your Python files and help you improve them.

## 🎓 For Students and Beginners

**New to Python types?** Storm Checker teaches you step by step.

### Educational Features

- **Learn by Doing**: Fix real errors in your code
- **Clear Explanations**: Understand why each fix matters
- **Achievement System**: Celebrate your progress
- **Safe Practice**: Work on real projects without fear

### Your First Type Error Fix

```bash
# Start learning mode
stormcheck mypy --edu

# Storm Checker will:
# 1. Find type errors in your code
# 2. Explain what each error means
# 3. Show you how to fix it
# 4. Teach you why it matters
```

### Example Learning Session

```python
# Your code:
def calculate_grade(score):
    return score * 100

# Storm Checker teaches:
"This function needs type hints. Here's why types help:
1. Other developers understand your code better
2. Your editor can help you write code faster
3. You catch mistakes before users see them

Try this fix:
def calculate_grade(score: float) -> float:
    return score * 100"
```

### Track Your Progress

```bash
# See how much you've learned
stormcheck mypy --dashboard
```

![Student Progress Dashboard](screenshots/student-dashboard.png)
*See your learning journey with achievements, progress tracking, and next steps*

### Built-in Interactive Tutorials

```bash
# List all available tutorials
stormcheck tutorial --list

# Start with the intro tutorial
stormcheck tutorial hello_world

# Get MyPy-specific tutorials
stormcheck mypy tutorial --list
```

![Interactive Tutorial System](screenshots/tutorial-session.png)
*Learn type safety step-by-step with interactive tutorials and real-time feedback*

## 💼 For Professional Developers

**Need efficient type checking?** Storm Checker respects your time and expertise.

### Professional Features

- **Fast Analysis**: Check large codebases quickly
- **Business Impact**: See which errors affect users most
- **Framework Smart**: Understands Django, FastAPI, Flask patterns
- **CI Integration**: Works with your existing tools

### Efficient Workflows

```bash
# Check your entire project
stormcheck mypy

# Focus on important files
stormcheck mypy -k "models|views"

# Get one focused task (great for AI agents)
stormcheck mypy --random

# Get tutorial recommendations for current errors
stormcheck mypy --tutorial

# See progress over time
stormcheck mypy --dashboard
```

### Example Professional Output

![Professional Analysis Dashboard](screenshots/professional-dashboard.png)
*Clean, actionable results focused on what matters most*

## 🤖 For AI Agents and Automation

**Building automated workflows?** Storm Checker provides structured data for AI systems.

### AI-Friendly Features

- **JSON Output**: Machine-readable results
- **Random Issue Selection**: Get focused tasks
- **Confidence Scores**: Know which fixes are safe to automate
- **MCP Integration**: Works with Claude and other AI systems

### Automation Examples

```bash
# Get structured data
stormcheck mypy --json

# Get one focused issue to fix
stormcheck mypy --random --json
```

![AI Agent JSON Output](screenshots/ai-json-output.png)
*Structured JSON output perfect for AI agents and automation workflows*

### MCP Integration (Coming Soon)

```bash
# Install MCP server
pip install stormcheck-mcp

# Use with Claude or other AI systems
# Full documentation: github.com/80-20-Human-In-The-Loop/stormcheck-mcp
```

## 🚀 Installation and Setup

### Requirements

- Python 3.8 or newer
- MyPy (installed automatically)

### Install Options

```bash
# Standard installation
pip install storm-checker

# With extra features
pip install storm-checker[dev]

# Development version
pip install git+https://github.com/80-20-Human-In-The-Loop/storm-checker.git
```

### Verify Installation

```bash
# Check it works
stormcheck mypy --version

# Test on sample file
echo "def hello(name): return f'Hi {name}'" > test.py
stormcheck mypy test.py --edu
```

![First Run Experience](screenshots/first-run.png)
*Your first Storm Checker analysis - clear, educational, and encouraging*

## 📖 Common Usage Examples

### Daily Development

```bash
# Check your current work
stormcheck mypy

# Focus on specific files
stormcheck mypy -k "billing|payment"

# Get a focused task to work on
stormcheck mypy --random
```

### Learning Sessions

```bash
# Start with educational mode
stormcheck mypy --edu

# Get tutorial recommendations for your errors  
stormcheck mypy --tutorial

# Try the interactive tutorial system
stormcheck tutorial hello_world

# Track your progress
stormcheck mypy --dashboard
```

![Progress Dashboard](screenshots/student-dashboard.png)
*Track your learning journey with progress visualization*

### Working with JSON Output

```bash
# Get structured output for scripts/AI
stormcheck mypy --json

# Combine with other flags
stormcheck mypy --random --json
```

## ⚙️ Configuration

Storm Checker works with your existing MyPy configuration. Set up your `pyproject.toml`:

### Basic Setup

```toml
[build-system]
requires = ["hatchling>=1.13.0"]
build-backend = "hatchling.build"

[project]
name = "your-project"
requires-python = ">=3.8"

# Storm Checker works with your existing MyPy setup
[tool.mypy]
python_version = "3.10"
warn_return_any = true
warn_unused_configs = true
show_error_codes = true
pretty = false

# Common MyPy settings that work well with Storm Checker
strict = true
disallow_untyped_defs = true
disallow_incomplete_defs = true
check_untyped_defs = true
warn_redundant_casts = true
warn_unused_ignores = true
```

### For Existing Projects

If you already have MyPy configured, Storm Checker will use your existing settings. No additional configuration needed!

### Advanced MyPy Options

```toml
[tool.mypy]
# Useful for learning (shows more context)
show_error_context = true
show_column_numbers = true

# Great for educational mode
pretty = true
color_output = true

# Exclude directories Storm Checker should ignore
exclude = [
    "venv/",
    "build/",
    "tests/fixtures/"
]
```

## 🌟 Key Features

### Educational Features
- **Interactive Learning**: Fix errors while learning concepts
- **Achievement System**: Celebrate progress milestones
- **Progress Tracking**: See improvement over time
- **Gentle Guidance**: Explanations that don't overwhelm

### Professional Features
- **Business Impact Analysis**: Focus on errors that matter most
- **Framework Intelligence**: Understands Django, FastAPI, Flask patterns
- **Team Analytics**: Track progress across your development team
- **CI/CD Integration**: Works with existing development workflows

### AI Integration Features
- **Structured Output**: JSON format for automated processing
- **Confidence Scoring**: Know which fixes are safe to automate
- **Random Issue Selection**: Get focused tasks for AI agents
- **MCP Protocol Support**: Integration with Claude and other AI systems

## 🔧 Advanced Usage

### Pattern Matching with Keywords

```bash
# Find files with specific patterns
stormcheck mypy -k "model"

# Multiple patterns (OR logic)
stormcheck mypy -k "model|view|controller"

# Focus on business logic
stormcheck mypy -k "billing|payment|order"
```

### Combining Flags

```bash
# Educational mode with specific files
stormcheck mypy --edu -k "models"

# JSON output for specific pattern
stormcheck mypy --json -k "api"

# Get random issue from filtered files
stormcheck mypy --random -k "views"
```

### Different Output Modes

```bash
# Default: Human-friendly output
stormcheck mypy

# Educational: Learning guidance included
stormcheck mypy --edu

# JSON: Perfect for AI agents and scripts
stormcheck mypy --json

# Progress: See your improvement over time
stormcheck mypy --dashboard
```

## 🌍 Part of a Bigger Vision

Storm Checker is the first tool in the **80-20 Human in The Loop** ecosystem. We're building tools that:

- **Respect Human Intelligence**: Automate the routine, elevate the important
- **Promote Learning**: Every interaction should teach something valuable
- **Enable AI Collaboration**: Humans and AI working together effectively
- **Stay Accessible**: Complex tools that remain simple to use

### Upcoming Tools in the Ecosystem

- **stormcheck-mcp**: AI agent integration for seamless automation
- **More coming soon**: Tools that follow the same human-centered philosophy

### Join Our Community

- **GitHub Organization**: [80-20-Human-In-The-Loop](https://github.com/80-20-Human-In-The-Loop)
- **Philosophy**: Tools that make humans smarter, not replace them
- **First Adopter**: [EduLite Education Platform](https://github.com/ibrahim-sisar/EduLite)

## 🤝 Contributing

We welcome everyone! Whether you're:
- A student learning Python
- A professional developer
- An AI researcher
- Someone who just wants to help

### Quick Contributing Guide

1. **Get the code**: `git clone https://github.com/80-20-Human-In-The-Loop/storm-checker.git`
2. **Set up environment**: `pip install -e .[dev]`
3. **Make changes**: Follow our [Contributing Guide](CONTRIBUTING.md)
4. **Test changes**: `pytest`
5. **Submit**: Create a pull request

### Ways to Help

- **Fix bugs**: Check our [issues](https://github.com/80-20-Human-In-The-Loop/storm-checker/issues)
- **Add features**: Suggest improvements
- **Improve documentation**: Make it clearer for everyone
- **Share feedback**: Tell us how Storm Checker helps you

## 🛡️ Privacy and Ethics

We respect your privacy and believe in ethical AI:

- **No code upload**: Your code stays on your computer
- **Optional telemetry**: Anonymous usage stats to improve the tool (opt-in only)
- **Transparent AI**: Clear explanation of how AI suggestions are generated
- **Human control**: You always make the final decisions

## 📊 Project Structure

```
storm-checker/
├── cli/                    # Command-line interface
│   ├── colors.py          # Beautiful terminal output
│   └── components/        # Progress bars, borders, formatting
├── logic/                 # Core functionality
│   ├── mypy_runner.py     # MyPy integration
│   ├── mypy_error_analyzer.py # Error analysis and categorization
│   └── progress_tracker.py # Learning progress tracking
├── models/                # Data structures
│   └── progress_models.py # Achievement and progress models
├── scripts/               # Entry points
│   ├── stormcheck.py      # Main CLI entry
│   ├── check_mypy.py      # MyPy command handler
│   └── tutorial.py        # Interactive tutorial system
└── tutorials/             # Built-in learning content
    ├── hello_world.py     # Introduction tutorial
    └── type_annotations_basics.py # Core concepts
```

## ❓ Common Questions

### "How is this different from MyPy?"

MyPy finds type errors. Storm Checker helps you understand and fix them while learning type safety concepts.

### "Is this good for beginners?"

Yes! Use `--edu` mode for explanations and guidance. The tool adapts to your skill level.

### "Can AI agents use this?"

Absolutely! Use `--json` flag for structured output. MCP integration coming soon.

### "Does it work with my framework?"

Storm Checker understands Django, FastAPI, and Flask patterns. It also works with any Python project.

### "Is my code sent anywhere?"

No. Storm Checker runs entirely on your computer. Your code never leaves your machine.

## 🚀 Getting Help

### Documentation
- **Installation Issues**: Check our [Installation Guide](docs/installation.md)
- **Usage Examples**: See our [Usage Guide](docs/usage.md)
- **Configuration**: Read our [Configuration Guide](docs/configuration.md)

### Community Support
- **GitHub Issues**: [Report bugs or request features](https://github.com/80-20-Human-In-The-Loop/storm-checker/issues)
- **Discussions**: [Ask questions and share ideas](https://github.com/80-20-Human-In-The-Loop/storm-checker/discussions)

### Quick Troubleshooting

```bash
# Check if Storm Checker is working
stormcheck mypy --help

# Update to latest version
pip install --upgrade storm-checker

# Test on a simple file
echo "def hello(name): return f'Hi {name}'" > test.py
stormcheck mypy test.py --edu
```

## 📄 License

GPL v3 License - see [LICENSE](LICENSE) file for details.

**What this means**: You can use Storm Checker freely, modify it, and distribute it. If you distribute modified versions, you must share your improvements under the same license. This keeps the educational benefits available to everyone.

## 🙏 Acknowledgments

- **MyPy Team**: For the excellent type checker that powers our analysis
- **EduLite Community**: First adopters who showed us the educational potential
- **Open Source Community**: For inspiration and feedback
- **Contributors**: Everyone who helps make type safety more accessible

## 💫 Our Mission

> "In a world where code complexity grows daily, we're not just building tools – we're building understanding. Every type error fixed is a developer who learned something new. Every AI automation is a human freed to focus on what matters most. Join us in making Python development more joyful, one type hint at a time."

---

**Made with ❤️ by the 80-20 Human in The Loop community**

*When we write for everyone, we build software for everyone. When we build for everyone, we change the world.*

            

Raw data

            {
    "_id": null,
    "home_page": null,
    "name": "storm-checker",
    "maintainer": null,
    "docs_url": null,
    "requires_python": ">=3.8",
    "maintainer_email": null,
    "keywords": "code-quality, developer-tools, education, gamification, linting, mypy, python, static-analysis, type-checking, type-safety",
    "author": null,
    "author_email": "Mathew <mathewstormdev@gmail.com>",
    "download_url": "https://files.pythonhosted.org/packages/db/83/9b3de38fdf9d4ebd2f4806c3151c870bce7140005ca5dc940e3c94db77ce/storm_checker-0.0.1.tar.gz",
    "platform": null,
    "description": "[WARNING] This isn't deployed or ready for contributions yet. I am very excited for this project, but my priorities are elsewhere for now.\n\n![a nostalgic blue crt monitor (80s aesthetic, pixel_ascii, retro) , on a desk with a keyboard in the middle, book to the right, and coffee cup to the left  around the monitor is storm clouds_lightning_rain, with big clear 'S](https://github.com/user-attachments/assets/68006e46-5703-4497-8127-c09849f79eeb)\n\n> Smart Python type checking that teaches while it helps\n\n**Part of the [80-20 Human in The Loop](https://github.com/80-20-Human-In-The-Loop) ecosystem**\n\n[![PyPI version](https://img.shields.io/pypi/v/storm-checker?label=pip%20install%20storm-checker&color=brightgreen)](https://pypi.org/project/storm-checker/)\n[![Python 3.8+](https://img.shields.io/badge/Python-3.8%2B-blue?logo=python&logoColor=white)](https://pypi.org/project/storm-checker/)\n[![80-20 Philosophy](https://img.shields.io/badge/Philosophy-80%25%20AI%20%2B%2020%25%20Human-purple)](https://github.com/80-20-Human-In-The-Loop)\n[![Teaches While You Code](https://img.shields.io/badge/Learning-Built%20In-orange)](https://github.com/80-20-Human-In-The-Loop/storm-checker)\n[![AI Agent Ready](https://img.shields.io/badge/AI%20Agents-JSON%20%2B%20MCP-red)](https://github.com/80-20-Human-In-The-Loop/storm-checker)\n[![License: GPL v3](https://img.shields.io/badge/License-GPLv3-blue.svg)](https://github.com/80-20-Human-In-The-Loop/storm-checker/blob/main/LICENSE)\n\n## What This Does\n\nStorm Checker helps you fix Python type errors and learn type safety. It works with MyPy to find problems in your code and shows you how to fix them.\n\n**The result**: Code that works better and developers who understand types better.\n\n## \ud83e\udd1d The 80-20 Human in The Loop Philosophy\n\nWe believe the best tools help humans grow while automating tedious work.\n\n**How it works**:\n- **80% Automation**: AI handles routine type fixes and pattern recognition\n- **20% Human Wisdom**: You make important decisions about code architecture\n- **100% Learning**: Everyone improves their understanding of type safety\n\n**Three ways to use Storm Checker**:\n1. **Learning Mode** (`--edu`): Teaches you while you work\n2. **Professional Mode**: Fast, clean results for experienced developers  \n3. **AI Mode** (`--json`): Structured output for AI agents and automation\n\n## \u26a1 Quick Start\n\n### Install Storm Checker\n\n```bash\npip install storm-checker\n```\n\n### Try it now\n\n```bash\n# For beginners - learn while you fix\nstormcheck mypy --edu\n\n# For professionals - fast results  \nstormcheck mypy\n\n# For AI agents - structured data\nstormcheck mypy --json\n\n# Try the interactive tutorial system\nstormcheck tutorial hello_world\n```\n\nThat's it! Storm Checker will analyze your Python files and help you improve them.\n\n## \ud83c\udf93 For Students and Beginners\n\n**New to Python types?** Storm Checker teaches you step by step.\n\n### Educational Features\n\n- **Learn by Doing**: Fix real errors in your code\n- **Clear Explanations**: Understand why each fix matters\n- **Achievement System**: Celebrate your progress\n- **Safe Practice**: Work on real projects without fear\n\n### Your First Type Error Fix\n\n```bash\n# Start learning mode\nstormcheck mypy --edu\n\n# Storm Checker will:\n# 1. Find type errors in your code\n# 2. Explain what each error means\n# 3. Show you how to fix it\n# 4. Teach you why it matters\n```\n\n### Example Learning Session\n\n```python\n# Your code:\ndef calculate_grade(score):\n    return score * 100\n\n# Storm Checker teaches:\n\"This function needs type hints. Here's why types help:\n1. Other developers understand your code better\n2. Your editor can help you write code faster\n3. You catch mistakes before users see them\n\nTry this fix:\ndef calculate_grade(score: float) -> float:\n    return score * 100\"\n```\n\n### Track Your Progress\n\n```bash\n# See how much you've learned\nstormcheck mypy --dashboard\n```\n\n![Student Progress Dashboard](screenshots/student-dashboard.png)\n*See your learning journey with achievements, progress tracking, and next steps*\n\n### Built-in Interactive Tutorials\n\n```bash\n# List all available tutorials\nstormcheck tutorial --list\n\n# Start with the intro tutorial\nstormcheck tutorial hello_world\n\n# Get MyPy-specific tutorials\nstormcheck mypy tutorial --list\n```\n\n![Interactive Tutorial System](screenshots/tutorial-session.png)\n*Learn type safety step-by-step with interactive tutorials and real-time feedback*\n\n## \ud83d\udcbc For Professional Developers\n\n**Need efficient type checking?** Storm Checker respects your time and expertise.\n\n### Professional Features\n\n- **Fast Analysis**: Check large codebases quickly\n- **Business Impact**: See which errors affect users most\n- **Framework Smart**: Understands Django, FastAPI, Flask patterns\n- **CI Integration**: Works with your existing tools\n\n### Efficient Workflows\n\n```bash\n# Check your entire project\nstormcheck mypy\n\n# Focus on important files\nstormcheck mypy -k \"models|views\"\n\n# Get one focused task (great for AI agents)\nstormcheck mypy --random\n\n# Get tutorial recommendations for current errors\nstormcheck mypy --tutorial\n\n# See progress over time\nstormcheck mypy --dashboard\n```\n\n### Example Professional Output\n\n![Professional Analysis Dashboard](screenshots/professional-dashboard.png)\n*Clean, actionable results focused on what matters most*\n\n## \ud83e\udd16 For AI Agents and Automation\n\n**Building automated workflows?** Storm Checker provides structured data for AI systems.\n\n### AI-Friendly Features\n\n- **JSON Output**: Machine-readable results\n- **Random Issue Selection**: Get focused tasks\n- **Confidence Scores**: Know which fixes are safe to automate\n- **MCP Integration**: Works with Claude and other AI systems\n\n### Automation Examples\n\n```bash\n# Get structured data\nstormcheck mypy --json\n\n# Get one focused issue to fix\nstormcheck mypy --random --json\n```\n\n![AI Agent JSON Output](screenshots/ai-json-output.png)\n*Structured JSON output perfect for AI agents and automation workflows*\n\n### MCP Integration (Coming Soon)\n\n```bash\n# Install MCP server\npip install stormcheck-mcp\n\n# Use with Claude or other AI systems\n# Full documentation: github.com/80-20-Human-In-The-Loop/stormcheck-mcp\n```\n\n## \ud83d\ude80 Installation and Setup\n\n### Requirements\n\n- Python 3.8 or newer\n- MyPy (installed automatically)\n\n### Install Options\n\n```bash\n# Standard installation\npip install storm-checker\n\n# With extra features\npip install storm-checker[dev]\n\n# Development version\npip install git+https://github.com/80-20-Human-In-The-Loop/storm-checker.git\n```\n\n### Verify Installation\n\n```bash\n# Check it works\nstormcheck mypy --version\n\n# Test on sample file\necho \"def hello(name): return f'Hi {name}'\" > test.py\nstormcheck mypy test.py --edu\n```\n\n![First Run Experience](screenshots/first-run.png)\n*Your first Storm Checker analysis - clear, educational, and encouraging*\n\n## \ud83d\udcd6 Common Usage Examples\n\n### Daily Development\n\n```bash\n# Check your current work\nstormcheck mypy\n\n# Focus on specific files\nstormcheck mypy -k \"billing|payment\"\n\n# Get a focused task to work on\nstormcheck mypy --random\n```\n\n### Learning Sessions\n\n```bash\n# Start with educational mode\nstormcheck mypy --edu\n\n# Get tutorial recommendations for your errors  \nstormcheck mypy --tutorial\n\n# Try the interactive tutorial system\nstormcheck tutorial hello_world\n\n# Track your progress\nstormcheck mypy --dashboard\n```\n\n![Progress Dashboard](screenshots/student-dashboard.png)\n*Track your learning journey with progress visualization*\n\n### Working with JSON Output\n\n```bash\n# Get structured output for scripts/AI\nstormcheck mypy --json\n\n# Combine with other flags\nstormcheck mypy --random --json\n```\n\n## \u2699\ufe0f Configuration\n\nStorm Checker works with your existing MyPy configuration. Set up your `pyproject.toml`:\n\n### Basic Setup\n\n```toml\n[build-system]\nrequires = [\"hatchling>=1.13.0\"]\nbuild-backend = \"hatchling.build\"\n\n[project]\nname = \"your-project\"\nrequires-python = \">=3.8\"\n\n# Storm Checker works with your existing MyPy setup\n[tool.mypy]\npython_version = \"3.10\"\nwarn_return_any = true\nwarn_unused_configs = true\nshow_error_codes = true\npretty = false\n\n# Common MyPy settings that work well with Storm Checker\nstrict = true\ndisallow_untyped_defs = true\ndisallow_incomplete_defs = true\ncheck_untyped_defs = true\nwarn_redundant_casts = true\nwarn_unused_ignores = true\n```\n\n### For Existing Projects\n\nIf you already have MyPy configured, Storm Checker will use your existing settings. No additional configuration needed!\n\n### Advanced MyPy Options\n\n```toml\n[tool.mypy]\n# Useful for learning (shows more context)\nshow_error_context = true\nshow_column_numbers = true\n\n# Great for educational mode\npretty = true\ncolor_output = true\n\n# Exclude directories Storm Checker should ignore\nexclude = [\n    \"venv/\",\n    \"build/\",\n    \"tests/fixtures/\"\n]\n```\n\n## \ud83c\udf1f Key Features\n\n### Educational Features\n- **Interactive Learning**: Fix errors while learning concepts\n- **Achievement System**: Celebrate progress milestones\n- **Progress Tracking**: See improvement over time\n- **Gentle Guidance**: Explanations that don't overwhelm\n\n### Professional Features\n- **Business Impact Analysis**: Focus on errors that matter most\n- **Framework Intelligence**: Understands Django, FastAPI, Flask patterns\n- **Team Analytics**: Track progress across your development team\n- **CI/CD Integration**: Works with existing development workflows\n\n### AI Integration Features\n- **Structured Output**: JSON format for automated processing\n- **Confidence Scoring**: Know which fixes are safe to automate\n- **Random Issue Selection**: Get focused tasks for AI agents\n- **MCP Protocol Support**: Integration with Claude and other AI systems\n\n## \ud83d\udd27 Advanced Usage\n\n### Pattern Matching with Keywords\n\n```bash\n# Find files with specific patterns\nstormcheck mypy -k \"model\"\n\n# Multiple patterns (OR logic)\nstormcheck mypy -k \"model|view|controller\"\n\n# Focus on business logic\nstormcheck mypy -k \"billing|payment|order\"\n```\n\n### Combining Flags\n\n```bash\n# Educational mode with specific files\nstormcheck mypy --edu -k \"models\"\n\n# JSON output for specific pattern\nstormcheck mypy --json -k \"api\"\n\n# Get random issue from filtered files\nstormcheck mypy --random -k \"views\"\n```\n\n### Different Output Modes\n\n```bash\n# Default: Human-friendly output\nstormcheck mypy\n\n# Educational: Learning guidance included\nstormcheck mypy --edu\n\n# JSON: Perfect for AI agents and scripts\nstormcheck mypy --json\n\n# Progress: See your improvement over time\nstormcheck mypy --dashboard\n```\n\n## \ud83c\udf0d Part of a Bigger Vision\n\nStorm Checker is the first tool in the **80-20 Human in The Loop** ecosystem. We're building tools that:\n\n- **Respect Human Intelligence**: Automate the routine, elevate the important\n- **Promote Learning**: Every interaction should teach something valuable\n- **Enable AI Collaboration**: Humans and AI working together effectively\n- **Stay Accessible**: Complex tools that remain simple to use\n\n### Upcoming Tools in the Ecosystem\n\n- **stormcheck-mcp**: AI agent integration for seamless automation\n- **More coming soon**: Tools that follow the same human-centered philosophy\n\n### Join Our Community\n\n- **GitHub Organization**: [80-20-Human-In-The-Loop](https://github.com/80-20-Human-In-The-Loop)\n- **Philosophy**: Tools that make humans smarter, not replace them\n- **First Adopter**: [EduLite Education Platform](https://github.com/ibrahim-sisar/EduLite)\n\n## \ud83e\udd1d Contributing\n\nWe welcome everyone! Whether you're:\n- A student learning Python\n- A professional developer\n- An AI researcher\n- Someone who just wants to help\n\n### Quick Contributing Guide\n\n1. **Get the code**: `git clone https://github.com/80-20-Human-In-The-Loop/storm-checker.git`\n2. **Set up environment**: `pip install -e .[dev]`\n3. **Make changes**: Follow our [Contributing Guide](CONTRIBUTING.md)\n4. **Test changes**: `pytest`\n5. **Submit**: Create a pull request\n\n### Ways to Help\n\n- **Fix bugs**: Check our [issues](https://github.com/80-20-Human-In-The-Loop/storm-checker/issues)\n- **Add features**: Suggest improvements\n- **Improve documentation**: Make it clearer for everyone\n- **Share feedback**: Tell us how Storm Checker helps you\n\n## \ud83d\udee1\ufe0f Privacy and Ethics\n\nWe respect your privacy and believe in ethical AI:\n\n- **No code upload**: Your code stays on your computer\n- **Optional telemetry**: Anonymous usage stats to improve the tool (opt-in only)\n- **Transparent AI**: Clear explanation of how AI suggestions are generated\n- **Human control**: You always make the final decisions\n\n## \ud83d\udcca Project Structure\n\n```\nstorm-checker/\n\u251c\u2500\u2500 cli/                    # Command-line interface\n\u2502   \u251c\u2500\u2500 colors.py          # Beautiful terminal output\n\u2502   \u2514\u2500\u2500 components/        # Progress bars, borders, formatting\n\u251c\u2500\u2500 logic/                 # Core functionality\n\u2502   \u251c\u2500\u2500 mypy_runner.py     # MyPy integration\n\u2502   \u251c\u2500\u2500 mypy_error_analyzer.py # Error analysis and categorization\n\u2502   \u2514\u2500\u2500 progress_tracker.py # Learning progress tracking\n\u251c\u2500\u2500 models/                # Data structures\n\u2502   \u2514\u2500\u2500 progress_models.py # Achievement and progress models\n\u251c\u2500\u2500 scripts/               # Entry points\n\u2502   \u251c\u2500\u2500 stormcheck.py      # Main CLI entry\n\u2502   \u251c\u2500\u2500 check_mypy.py      # MyPy command handler\n\u2502   \u2514\u2500\u2500 tutorial.py        # Interactive tutorial system\n\u2514\u2500\u2500 tutorials/             # Built-in learning content\n    \u251c\u2500\u2500 hello_world.py     # Introduction tutorial\n    \u2514\u2500\u2500 type_annotations_basics.py # Core concepts\n```\n\n## \u2753 Common Questions\n\n### \"How is this different from MyPy?\"\n\nMyPy finds type errors. Storm Checker helps you understand and fix them while learning type safety concepts.\n\n### \"Is this good for beginners?\"\n\nYes! Use `--edu` mode for explanations and guidance. The tool adapts to your skill level.\n\n### \"Can AI agents use this?\"\n\nAbsolutely! Use `--json` flag for structured output. MCP integration coming soon.\n\n### \"Does it work with my framework?\"\n\nStorm Checker understands Django, FastAPI, and Flask patterns. It also works with any Python project.\n\n### \"Is my code sent anywhere?\"\n\nNo. Storm Checker runs entirely on your computer. Your code never leaves your machine.\n\n## \ud83d\ude80 Getting Help\n\n### Documentation\n- **Installation Issues**: Check our [Installation Guide](docs/installation.md)\n- **Usage Examples**: See our [Usage Guide](docs/usage.md)\n- **Configuration**: Read our [Configuration Guide](docs/configuration.md)\n\n### Community Support\n- **GitHub Issues**: [Report bugs or request features](https://github.com/80-20-Human-In-The-Loop/storm-checker/issues)\n- **Discussions**: [Ask questions and share ideas](https://github.com/80-20-Human-In-The-Loop/storm-checker/discussions)\n\n### Quick Troubleshooting\n\n```bash\n# Check if Storm Checker is working\nstormcheck mypy --help\n\n# Update to latest version\npip install --upgrade storm-checker\n\n# Test on a simple file\necho \"def hello(name): return f'Hi {name}'\" > test.py\nstormcheck mypy test.py --edu\n```\n\n## \ud83d\udcc4 License\n\nGPL v3 License - see [LICENSE](LICENSE) file for details.\n\n**What this means**: You can use Storm Checker freely, modify it, and distribute it. If you distribute modified versions, you must share your improvements under the same license. This keeps the educational benefits available to everyone.\n\n## \ud83d\ude4f Acknowledgments\n\n- **MyPy Team**: For the excellent type checker that powers our analysis\n- **EduLite Community**: First adopters who showed us the educational potential\n- **Open Source Community**: For inspiration and feedback\n- **Contributors**: Everyone who helps make type safety more accessible\n\n## \ud83d\udcab Our Mission\n\n> \"In a world where code complexity grows daily, we're not just building tools \u2013 we're building understanding. Every type error fixed is a developer who learned something new. Every AI automation is a human freed to focus on what matters most. Join us in making Python development more joyful, one type hint at a time.\"\n\n---\n\n**Made with \u2764\ufe0f by the 80-20 Human in The Loop community**\n\n*When we write for everyone, we build software for everyone. When we build for everyone, we change the world.*\n",
    "bugtrack_url": null,
    "license": "MIT",
    "summary": "Intelligent Python code quality analysis with business intelligence and gamified learning",
    "version": "0.0.1",
    "project_urls": {
        "Bug Tracker": "https://github.com/80-20-Human-In-The-Loop/storm-checker/issues",
        "Homepage": "https://github.com/80-20-Human-In-The-Loop/storm-checker",
        "Source Code": "https://github.com/80-20-Human-In-The-Loop/storm-checker"
    },
    "split_keywords": [
        "code-quality",
        " developer-tools",
        " education",
        " gamification",
        " linting",
        " mypy",
        " python",
        " static-analysis",
        " type-checking",
        " type-safety"
    ],
    "urls": [
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "fb85c74d904a2863790bcd6e64b1cf900f8646faf4f15b9bff5b46412735fc49",
                "md5": "804ff5f1d1ae3467d164fee2a03d7cf0",
                "sha256": "f51152fc90cc1956e837027f2c0f74e499602434a05c311c6f560f5cc1496194"
            },
            "downloads": -1,
            "filename": "storm_checker-0.0.1-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "804ff5f1d1ae3467d164fee2a03d7cf0",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": ">=3.8",
            "size": 125903,
            "upload_time": "2025-08-10T02:27:24",
            "upload_time_iso_8601": "2025-08-10T02:27:24.557009Z",
            "url": "https://files.pythonhosted.org/packages/fb/85/c74d904a2863790bcd6e64b1cf900f8646faf4f15b9bff5b46412735fc49/storm_checker-0.0.1-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "db839b3de38fdf9d4ebd2f4806c3151c870bce7140005ca5dc940e3c94db77ce",
                "md5": "79f6e9a0f92b64cc7f5e21939d69b2ce",
                "sha256": "9aec4f8b2e6366592230f963995ffa4c92debe6af6a5a476114a8f33082d4027"
            },
            "downloads": -1,
            "filename": "storm_checker-0.0.1.tar.gz",
            "has_sig": false,
            "md5_digest": "79f6e9a0f92b64cc7f5e21939d69b2ce",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.8",
            "size": 100202,
            "upload_time": "2025-08-10T02:27:25",
            "upload_time_iso_8601": "2025-08-10T02:27:25.987038Z",
            "url": "https://files.pythonhosted.org/packages/db/83/9b3de38fdf9d4ebd2f4806c3151c870bce7140005ca5dc940e3c94db77ce/storm_checker-0.0.1.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2025-08-10 02:27:25",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "80-20-Human-In-The-Loop",
    "github_project": "storm-checker",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": false,
    "lcname": "storm-checker"
}
        
Elapsed time: 2.56125s