- Utilizar o terminal interativo do Python.
- Utilizar estruturas condicionais e de repetição.
- Utilizar funções built-in do Python.
- Utilizar tratamento de exceções.
- Realizar a manipulação de arquivos.
- Escrever funções.
- Escrever testes com Pytest.
- Escrever seus próprios módulos e importá-los em outros códigos.
Implementei análises a partir de um conjunto de dados sobre empregos. minhas implementações serão incorporadas a um aplicativo Web desenvolvido com Flask (um framework web muito popular na comunidade Python). Você também terá a oportunidade de escrever testes para a implementação de uma análise de dados.
Este repositório já contém um template com a estrutura de diretórios e arquivos:
.
├── README.md
├── dev-requirements.txt
├── feedback.jsonc
├── requirements.txt
├── src
│ ├── app.py
│ ├── insights.py
│ ├── jobs.csv
│ ├── jobs.py
│ ├── more_insights.py
│ ├── routes_and_views.py
│ ├── sorting.py
│ └── templates
│ ├── base.jinja2
│ ├── includes
│ │ └── nav.jinja2
│ ├── index.jinja2
│ ├── job.jinja2
│ └── list_jobs.jinja2
├── tests
│ ├── __init__.py
│ ├── mocks
│ │ ├── job_1.html
│ │ ├── jobs.csv
│ │ ├── jobs_with_industries.csv
│ │ ├── jobs_with_salaries.csv
│ │ └── jobs_with_types.csv
│ ├── sorting
│ │ ├── conftest.py
│ │ ├── mocks.py
│ │ └── test_sorting.py
│ ├── test_feedback.py
│ ├── test_flask_app.py
│ ├── test_insights.py
│ ├── test_jobs.py
│ ├── test_more_insights.py
│ └── test_routes_and_views.py
Na estrutura deste template, você deve implementar as funções necessárias. Novos arquivos e funções podem ser criados conforme a necessidade da sua implementação, porém não remova arquivos já existentes.
- Clone o repositório
git clone
.- Entre na pasta do repositório que você acabou de clonar
- Crie o ambiente virtual para o projeto
python3 -m venv .venv && source .venv/bin/activate
- Instale as dependências
python3 -m pip install -r dev-requirements.txt
Para executar os testes certifique-se de que os seguintes passos foram realizados;
- criar o ambiente virtual
$ python3 -m venv .venv
- ativar o ambiente virtual
$ source .venv/bin/activate
- instalar as dependências no ambiente virtual
$ python3 -m pip install -r dev-requirements.txt
Com o seu ambiente virtual ativo, as dependências serão instaladas neste ambiente. Quando precisar desativar o ambiente virtual, execute o comando "deactivate". Lembre-se de ativar novamente quando voltar a trabalhar no projeto.
O arquivo dev-requirements.txt
contém todas as dependências que serão utilizadas no projeto, ele está agindo como se fosse um package.json
de um projeto Node.js
.
Com esta preparação feita, podemos executar os testes:
Executar os testes
$ python3 -m pytest
O arquivo pyproject.toml
já configura corretamente o pytest. Entretanto, caso você tenha problemas com isso queira explicitamente uma saída completa, o comando é:
python3 -m pytest -s -vv
Caso precise executar apenas um arquivo de testes basta executar o comando:
python3 -m pytest tests/nomedoarquivo.py
Caso precise executar apenas uma função de testes basta executar o comando:
python3 -m pytest -k nome_da_func_de_tests
Se quiser saber mais sobre a instalação de dependências com pip
, veja esse artigo.
Além dos testes com o Pytest, você pode (e vai ser bem bacana) rodar a aplicação flask para visualizar no navegador o resultado do desenvolvimento das funções.
Para isso, digite o comando flask run
, e acesse o site gerado pelo Flask em http://localhost:5000
. No começo do desenvolvimento, você verá que muitas coisas não funcionam, mas conforme você for implementando os requisitos, perceberá que a aplicação web começa a utilizar suas implementações e passa a ganhar vida.