Contributing¶
Thank you for your interest in contributing to ApexRL! This guide will help you get started.
Development Setup¶
Fork and clone the repository:
git clone https://github.com/YOUR_USERNAME/Apex_rl.git
cd Apex_rl
Create a virtual environment:
python -m venv venv
source venv/bin/activate # On Windows: venv\Scripts\activate
Install in development mode:
pip install -e .
Code Style¶
We use several tools to maintain code quality:
Black: Code formatting
Ruff: Linting
MyPy: Type checking
Format your code before committing:
black src/
ruff check src/
mypy src/
Pre-commit hooks are configured:
pre-commit install
pre-commit run --all-files
Making Changes¶
Create a branch:
git checkout -b feature/your-feature-name
Make your changes with appropriate tests
Run tests:
pytest
Update documentation if needed
Commit your changes:
git add .
git commit -m "feat: add your feature"
Commit Message Format¶
We follow conventional commits:
feat:New featurefix:Bug fixdocs:Documentation changesstyle:Code style changesrefactor:Code refactoringtest:Test changeschore:Maintenance tasks
Pull Request Process¶
Update documentation for any new features
Add tests for new functionality
Ensure all tests pass
Update CHANGELOG.md
Submit PR with clear description
Areas for Contribution¶
Algorithms¶
[x] DQN (Deep Q-Network)
[x] SAC (Soft Actor-Critic)
[ ] TD3 (Twin Delayed DDPG)
[ ] A3C (Asynchronous Advantage Actor-Critic)
Networks¶
[ ] Transformer-based actors/critics
[ ] Graph Neural Networks
[ ] More CNN architectures
Features¶
[ ] Observation normalization
[ ] Reward normalization
[ ] Automatic hyperparameter tuning
[ ] Distributed training support
Documentation¶
[ ] More tutorials
[ ] Video tutorials
[ ] Example projects
[ ] API examples
Reporting Issues¶
When reporting issues, please include:
Description of the issue
Steps to reproduce
Expected vs actual behavior
Environment info (Python version, OS, GPU)
Error messages or stack traces
Code of Conduct¶
Be respectful and inclusive
Welcome newcomers
Focus on constructive feedback
Respect differing viewpoints
License¶
By contributing, you agree that your contributions will be licensed under the Apache 2.0 License.
Contact¶
GitHub Issues: https://github.com/Atticlmr/Apex_rl/issues
Email: Atticlmr@gmail.com