Thank you for your interest in contributing to mySpellChecker! We welcome contributions from the community to help improve Myanmar spell checking.
-
Clone the repository:
git clone https://github.com/thettwe/myspellchecker.git cd myspellchecker -
Create a virtual environment:
python3 -m venv venv source venv/bin/activate # On Windows: venv\Scripts\activate
-
Install dependencies:
# Install in editable mode with dev dependencies pip install -e ".[dev]"
We enforce strict code quality standards to ensure reliability and maintainability. Please run the following commands before submitting a Pull Request.
We use ruff for both code formatting and linting, and mypy for static type checking.
# Format code
ruff format .
# Lint code
ruff check .
# Type check
mypy src/myspellcheckerWe use pytest for testing. All new features must include tests.
# Run all tests
pytest tests/
# Run with coverage
pytest tests/ --cov=myspellcheckerThe dictionary database is managed via the myspellchecker CLI. The data pipeline logic resides in src/myspellchecker/data_pipeline/.
To build the dictionary from a corpus:
- Prepare your corpus file (e.g.,
corpus.txt). - Run the build command:
myspellchecker build --input corpus.txt --output mySpellChecker.db
For testing purposes, you can generate a sample dictionary:
myspellchecker build --sample- Fork the repository.
- Create a new branch (
git checkout -b feature/amazing-feature). - Commit your changes (
git commit -m 'Add amazing feature'). - Push to the branch (
git push origin feature/amazing-feature). - Open a Pull Request.
Please ensure all tests pass and code quality checks are green!