project template for python projects
A intenção desse documento é auxiliar no gerenciamento do meu desenvolvimento com Python 3, além de entender e estruturar códigos no geral.
Se estiver perdido, comece por: Roadmap.sh
Triangle-headed Arrows with Bent Tips
Conteúdos:
Baseado nesse artigo aqui:
project_name/
↳ docs/ # pasta para o sphinx construir a documentação
↳ logs/ # pasta para enventuais logs
↳ src/ # código fonte
↳ __init__.py
↳ classes/
↳ __init__.py
↳ tests/ # código teste
↳ README.md
↳ requirements.txt
↳ .gitignore
↳ .env
↳ LICENSE
# opcionais
↳ data/ # pasta para guardar dados (csv,etc)
↳notebooks/ # notebooks para eventuais testes
↳ queries/ # arquivos de consulta no banco de dados
Use o pytest, de preferência
tests/
↳__init__.py # por algum motivo, isso é necessário
↳test_classes/
↳ test_example.py
↳test_helpers/
↳ test_example_2.py
Exemplo de código de teste test_new_logger.py
from src.helpers import new_logger # importando a função
from datetime import datetime
class Test_new_logger():
def test_now_time(self):
r = new_logger.now_date_time_str(True)
now = datetime.now().strftime("%d-%m-%y")
assert r == now
PEP8: https://peps.python.org/pep-0008/
https://marketplace.visualstudio.com/items?itemName=ms-python.autopep8
https://pypi.org/project/autopep8/
Instead use “perf_counter()”. This will give you the most accurate way for calculating how much time taken by the code to run.
from time import perf_counter
def checking_performance():
start_time = perf_counter()
time.sleep(1)
end_time = perf_counter()
print(end_time - start_time)
[AI to improve your code](https://www.notion.so/AI-to-improve-your-code-ec92610490a94a95898523d13039eeed?pvs=21)
Software Design Document Template
[Code Diagnosis & Documentation](https://www.notion.so/Code-Diagnosis-Documentation-d063331228c14292927b3bedac8bff5e?pvs=21)
Dependency Inversion and Injection
- Playlist do Aarjan codes