Contributing¶
Thank you for your interest in contributing to Accessible Math Reader! This guide will help you get started.
Development Setup¶
```bash
1. Fork and clone the repository¶
git clone https://github.com/
2. Create a virtual environment¶
python -m venv venv venv\Scripts\activate # Windows
source venv/bin/activate # Linux / macOS¶
3. Install in editable mode with dev dependencies¶
pip install -e ".[dev,web]" ```
Workflow¶
- Create a feature branch from
main:bash git checkout -b feature/your-feature-name - Make your changes.
- Run linting:
bash ruff check accessible_math_reader/ - Run tests:
bash pytest tests/ -v - Commit with a descriptive message.
- Push and open a Pull Request.
Code Style¶
- Linter: Ruff (configured in
pyproject.toml) - Docstrings: Doxygen-style (
@brief,@param,@return) - Type hints: Required for all public functions
- Line length: 100 characters max
What to Work On¶
| Area | Description |
|---|---|
| ๐ Localization | Speech rules for languages other than English |
| โ ฟ Braille | Plugins for French, German, or other Braille math notations |
| ๐งช Testing | Unit tests โ especially for edge-case LaTeX expressions |
| โฟ User Testing | Feedback from blind and low-vision users |
| ๐ Documentation | Tutorials, guides, videos |
| ๐ Plugins | AsciiMath parser, custom TTS backends, etc. |
Reporting Issues¶
Please open an issue on GitHub with:
- A clear title and description
- Steps to reproduce (if it's a bug)
- Expected vs actual behavior
- Python version and OS
Code of Conduct¶
Be respectful and constructive. We are building a tool for accessibility โ inclusion applies to our community too.