Getting Started
If you’re new to mySpellChecker, start here:- Installation - Install the library
- Quick Start - Basic usage
- Configuration - Configure settings
System Requirements
| Requirement | Minimum | Recommended |
|---|---|---|
| Python | 3.10+ | 3.11+ |
| RAM | 256 MB | 1 GB+ |
| Disk Space | 100 MB | 500 MB |
| OS | Linux, macOS, Windows | Linux, macOS |
| Optional Feature | Requirement |
|---|---|
| Cython Extensions | C++ compiler (gcc, clang, MSVC) |
| OpenMP Parallelization | libomp (macOS: brew install libomp) |
| Transformer POS Tagger | PyTorch, transformers package |
| Semantic Checking | ONNX Runtime |
Usage Guides
Core Functionality
- Custom Dictionaries - Build and use custom dictionaries
- Batch Processing - Use
checker.check_batch(texts)for efficient multi-text processing (see Quick Start)
Deployment
- Docker - Run with Docker and Docker Compose
Configuration & Customization
- Customization - Customizing behavior
- Custom Grammar Rules - YAML grammar rule customization
Performance & Optimization
- Performance Tuning - Optimize for speed or accuracy
- Caching - Caching strategies
- Connection Pooling - Database connection management
- Cython - Building and using Cython extensions
Integration & Deployment
- Integration Patterns - Integrate with web frameworks
- Streaming API - Streaming text processing
- CLI Reference - Command-line interface
- CLI Formatting - Console output styling
Advanced Topics
- Logging - Configure logging for debugging
- Algorithm Factory - Cached algorithm creation
- Resource Caching - External resource management
- Training Models - Train custom semantic models
- Zawgyi Support - Zawgyi encoding detection and conversion
- IO Utilities - Disk space checking and file utilities
Feature Guides
Detailed guides for specific features:Development Guides
For developers extending or contributing:- Development Setup - Set up dev environment
- Testing - Run and write tests
- Cython - Working with Cython modules
- Contributing - Contribution guidelines
Quick Reference
Common Tasks
| Task | Command/Code |
|---|---|
| Check text | checker.check("text") |
| Batch check | checker.check_batch(["text1", "text2"]) |
| Build dictionary | myspellchecker build --input corpus.txt |
| Enable debug | configure_logging(level="DEBUG") |
Configuration Presets
Tutorials
Step-by-step tutorials for common use cases:1. Basic Spell Checking
2. Building a Custom Dictionary
3. Web API Integration
Best Practices
Performance
- Warm up the checker before production use
- Use batch processing for multiple texts
- Choose appropriate validation level for your use case
- Enable Cython extensions for best performance
Accuracy
- Build domain-specific dictionaries from relevant corpora
- Enable context validation for real-word error detection
- Use grammar checking for formal text
- Normalize input before checking
Integration
- Handle errors gracefully with try/except
- Log warnings and errors for debugging
- Cache SpellChecker instances (they’re expensive to create)
- Use connection pooling for SQLite in multi-threaded apps
See Also
- API Reference - Complete API documentation
- FAQ - Frequently asked questions
- Troubleshooting - Common issues