This project is a modern rewrite of the deep-learning-from-scratch-4, focusing on implementing reinforcement learning algorithms using contemporary Python development practices. The design has been carefully crafted to incorporate object-oriented principles such as encapsulation and implementation of interfaces. This project was created as part of my personal journey to understand reinforcement learning in-depth.
- Poetry: Used for dependency management. It allows the maintenance of cleaner code and makes the project more maintainable.
- pytest: Utilized for running tests and ensuring the code operates as intended.
- mypy: Deployed for optional static typing, which assists in detecting and resolving potential errors during the development phase of the code.
- Ruff: Applied as both a formatter and linter for this project. It helps in maintaining clean, readable and consistent code, while also identifying and signalling potential error-causing issues in the code.