PyLeague is a software simulation of a soccer championship developed using Python. The goal of PyLeague is to provide the simulation of the course of one season in a realistical league (such as Lega A).
- League setup with csv configuration.
- Possibility of changing the parameters of each team (strength value, attack power, defense power).
- Realistic outcome and score generation.
- Scores and outcomes slightly influenced by the form of the teams.
- Updated standings screen.
- (In development) Realistic outgoing of the games played in a single matchday.
PyLeague can be seen as a basis for creating cool projects which need the generation of realistical random soccer results.
Also, it can be improved and enhanced with many other features.
The next developments of PyLeague will be:
- Enhancement and improvement of the available features.
- Improvement of code documentation.
- Development of the screen for the simulation of the games minute by minute.
- Tests creation.
- Many other possibilities!
To install and run PyLeague just clone the project and create a specific Python environment for running/modifying PyLeague.
The requirements are contained in the requirements.txt
file.
PyLeague will start after running main.py
.
If you want to help me adding new features and improving PyLeague, you're welcome!
Just fork the project, commit your changes and create a PR.
If you want you can create a new issue for the project and ask me anything related to it here on Github!
When starting working to an issue, create a branch called:
issue/{number of the issue}-{title of the issue (lowercase), separe spaces with `-`}
I'm open to new improvements and suggestions.
Class/function/method documentation is written like this.
To start the automated tests run:
.../pyleague_soccer_simulation$ pytest
To format the code run:
.../pyleague_soccer_simulation$ black .
To execute type-checking run:
.../pyleague_soccer_simulation$ mypy pyleague
Thank you and happy coding with PyLeague!