Challenges successfully accomplished!
We use python 3.10 for all challenges, so just choose your dependency manager, create a python environment, follow a link talking about the managers!
Access the project folder and using the pip manager, inside the python env, apply the command below:
Upgrade pip version and install requirements and install:
pip install --upgrade pip && pip install --require-hashes -r requirements.txt
After installing all dependencies,compile this project with command:
python scripts/<module_name>.py <input_date>
Obs:
- It depends on the module, the input quantity changes, you need to check it first!
Obs:
- Programming with python, we use the snake case style.
We based on Serveless architecture patterns, to create theses resources. See the content:
.
├── artifacts
│ ├── answers.txt
│ └── LeanonSystems_Logicsandprogramming.pdf
├── pyproject.toml
├── README.md
├── requirements.in
├── requirements.txt
├── scripts
│ ├── __init__.py
│ ├── paint_bucket_tool.py
│ ├── palindrome.py
│ ├── phonebook.py
│ └── supplier_query.sql
└── tests
├── __init__.py
├── test_paint_bucket_tool.py
├── test_palindrome.py
└── test_phonebook.py
In this application, we used this dependencies to perform, scan and cover tests in the application:
In this application, unit tests were created, using pytest. Follow the instructions to run the tests:
- To see tests list and your tests cases
pytest --co
- To run all test
pytest tests/
- To run only test module
pytest tests/<module_name>.py
- To run only function test module
pytest tests/<module_name>.py::<function_teste_name>
In this session, we include several articles related to good practices, tools and more.
- Tips for pip-tools and multple environments
- Locking dependency with pip-tools
- Tips for environments python
- SOLID Principle
- Clean Code and principles
- Environments python, what is have choosen?
- Overview of python dependency management tools
- Types of development styles
- Best pratices in Python
- Flake 8 best configurations
- Black tips
- EditorConfig tips
Pull requests are welcome. For major changes, please open an issue first to discuss what you would like to change.
Please make sure to update tests as appropriate.