Python template - Project structure.
- With the evolution of Cloud; you are not restricted to using/managing config file/s, you can also rely on Cloud services like AWS Secrets Manager, SSM Parameter Store, etc. to maintain secret values or even default values
- Never ever Hard code environment name, even if you have just 1 environment. It has to either come from environment variable or config file or some other mechanism
- Prefix your environment variables with something specific to your project, to avoid conflicts with other projects. For this package, I choose "PBM_"
- Keep your environment variable mapping in 1 common place. Use the python variables to map it to minimize the impact
of change
- Ex: puneetha-python-template/utils/constants/env_variable_mapper.py
- Always use a code linter of your choice from day 1 of your project
- Stick to 1 convention - choose between Singular vs Plural! Ideally Singular!
- mypy - Type checking
- pytest - Testing python package
- pylint - Codestyle checker
- pydocstyle - Docstring style checker
- pdoc3 - Docstring generator python package
- loguru - Logging
- tox - Running test suite
- mkdocstrings - Static site generator from "*.md" files