Skip to content

Latest commit

 

History

History
44 lines (32 loc) · 2.24 KB

CONTRIBUTING.md

File metadata and controls

44 lines (32 loc) · 2.24 KB

Contribution guidelines

First of all, thanks for thinking of contributing to this project. 💖

From here on, we assume you have the application up and running. Before creating a pull request, please make sure that you've tested everything thoroughly and you've run all the linting tools:

python -m poetry run black .\src\ --check
python -m poetry run isort .\src\ --diff
python -m poetry run flake8 .\src\ --statistics

Adding new dependencies

To add new dependencies to the project, please check the Poetry documentation.

Utilities

All utils can be found in the utils directory. Here you can contribute by improving or implementing stuff regarding:

Shiny hunters

The core source code for the shiny hunters can be found in the shunter directory. If you want to create a new shiny hunter you must implement the shiny hunter interface when doing so. You can extend the shiny hunter interface, if needed, or create new interfaces in the abstract directory. If you want to create a data object, do it under the models directory by using pydantic. The newly created shiny hunter should be located in the shunter directory. The last step, to make the newly created shiny hunter available, is to add a new type in the ShinyHunterType class and expose it in main:

class ShinyHunterType(Enum):
    stationary = "stationary"
    new_shiny_hunter = "new_shiny_hunter"
def main():
    shiny_hunter = None
    hunter_type = parse_hunter_type()
    if hunter_type == ShinyHunterType.stationary:
        shiny_hunter = ShinyHunterStationary()
    elif hunter_type == ShinyHunterType.new_shiny_hunter:
        shiny_hunter = NewShinyHunter()
    shiny_hunter.start_loop()