Thank you for your interest in contributing to HATA! This document provides guidelines for contributing to this project.
- Use the GitHub Issues page to report bugs or request features.
- When reporting a bug, please include:
- Python version (
python --version) - Operating system
- Steps to reproduce the issue
- Expected vs. actual behavior
- Relevant error messages or screenshots
- Python version (
- Fork the repository on GitHub.
- Clone your fork locally:
git clone https://github.com/YOUR_USERNAME/HATA.git cd HATA - Create a branch for your changes:
git checkout -b feature/your-feature-name
- Make your changes and test them.
- Commit with a clear message:
git commit -m "Add: brief description of your change" - Push to your fork:
git push origin feature/your-feature-name
- Open a Pull Request on GitHub.
git clone https://github.com/canslab1/HATA.git
cd HATA
pip install -r requirements.txt
python run_hata.py # Verify the GUI launches correctly- Follow PEP 8 conventions.
- Use type hints where practical.
- Keep functions focused and reasonably sized.
- Document non-obvious algorithms with comments referencing the paper.
| Module | Responsibility |
|---|---|
hata/engine.py |
Core HATA algorithm (5-phase arc classification) |
hata/cli.py |
Command-line interface |
hata/plotting.py |
Matplotlib visualizations |
hata/excel_writer.py |
Excel and CSV output |
hata/constants.py |
Configuration constants and datasets |
hata/gui/ |
PySide6 graphical interface |
Feel free to open an issue for any questions about the codebase or contribution process.