- poetry: dependency and virtual environment management
- Coding style
- Test thought pytest with the following supports
- pytest-cov: generate test coverage repo
- pytest-mock: mocking
- commitizen:
- regulate git commit convention
- generate changelog automatically
- invoke: organize the tools above
- pre-commit: git-hook to run the above tools automatically
- Consolidate most of the tool configurations in
pyproject.toml
- Install cookiecutter
> pip install cookiecutter
- Clone the fastapi template
> cookiecutter git@github.com:Shopee-DPD/fastapi-template.git
- Provide the following inputs:
- project_name: The name of the project, which will be used to create folders and populate the README
- project_description: A description of the project, which will be added to the README
- python_version: The Python version, which will be specified in poetry and the Dockerfile
- build_docker_image: Whether to create a docker-compose file
- send_logs_to_elk: Whether to send logs to ELK