Oficina de dados para coleta e tratamento dos recursos disponíveis, em valores, a serem distribuídos entre os Objetivos de Desenvolvimento Sustentáveis (ODS), apoiado pelas Nações Unidas. Criação de dashboard com a linguagem de programação python e publicação do app na Cloud.
Fonte dos dados: https://brasil.un.org/pt-br/sdgs
-
Criação do ambiente de desenvolvimento nas Nuvens.
-
Construção de um dashboard com Python.
-
Publicação do dashboard em um servidor Cloud.
Serão necessários as seguintes ferramentas para execução do projeto:
-
Visual Studio Code (VS Code) - é um editor de código-fonte desenvolvido pela Microsoft para Windows, Linux e macOS. Ele inclui suporte para depuração, controle de versionamento Git incorporado, realce de sintaxe, complementação inteligente de código, snippets e refatoração de código. Além disso, é customizável, permitindo que os usuários possam mudar o tema do editor e teclas de atalho de suas preferências.
-
Python 3.11 - é uma linguagem de programação de alto nível, interpretada, de script, imperativa, orientada a objetos, funcional, de tipagem dinâmica e forte. É frequentemente usada para desenvolvimento web, análise de dados, aprendizado de máquina, inteligência artificial, computação científica, entre outros. É conhecida por sua sintaxe clara e legível.
-
pipx - é uma ferramenta que facilita a instalação de aplicativos Python isolados, usando o PyPI como índice de pacotes. Ele é semelhante ao pip, que é um instalador de pacotes Python para bibliotecas e aplicativos. No entanto, o pipx é feito especificamente para aplicativos, criando um ambiente isolado para cada aplicativo e suas dependências.
-
Poetry - é uma ferramenta para gerenciar dependências em projetos Python. Ele simplifica o gerenciamento de dependências e garante a reprodutibilidade do ambiente de desenvolvimento. Com o Poetry, é fácil adicionar, atualizar e remover dependências, bem como criar e gerenciar ambientes virtuais de desenvolvimento.
-
Git - é um sistema de controle de versão moderno e amplamente utilizado, desenvolvido em 2005 por Linus Torvalds, o famoso criador do kernel do sistema operacional Linux. Ele é usado para controlar o histórico de alterações de arquivos, principalmente de projetos de desenvolvimento de software.
-
Conta no GitHub - é uma plataforma de hospedagem de código-fonte que utiliza o sistema de controle de versão Git. Ele permite que programadores, utilitários ou qualquer usuário cadastrado na plataforma contribuam em projetos privados e/ou de código aberto de qualquer lugar do mundo.
A instalação deverá ser executada na seguinte ordem:
-
Python - Página de download aqui
-
Git - Página de download aqui
-
Vscode - Página de download aqui
-
pipx - Página de download aqui
-
Poetry - Página de download aqui
-
Após configurado o ambiente e efetuado a instalação, agora é preciso fazer o clone do projeto no repositório remoto do GitHub.
git clone https://github.com/microrepar/open-data-day-2024.git
-
Entre no diretório o projeto clonado.
cd open-data-day-2024
-
Instale as dependências do projeto executando o comando a seguir, com o terminal aberto na raiz do projeto.
poetry install
-
Ative o ambiente virtual no qual foi instalado as dependências com o seguinte comando:
poetry shell
-
Após ativo o ambiente virtual, execute a aplicação streamlit.
streamlit run streamlit_app.py
Em seguida irá abrir o browser com a aplicação em execução.
-
Faça um fork no GitHub do projeto https://github.com/microrepar/open-data-day-2024
-
Crie um Codespaces do projeto que foi efetuado o fork.
-
Altere o nome do arquivo
.env-exemplo
para.env
. -
Instale o gerenciador de intalação
pipx
:python3 -m pip install -U pipx
-
Instale o gerenciador de dependências em projetos python
poetry
:pipx install poetry
Verifique se a instalação foi bem sussedida
poetry --version
. -
Efetue criação do ambiente virtual e a instalação das dependências do projeto executando o comando seguir:
poetry install
-
Ative o ambiente virtual que foi construído com o comando anterior.
poetry shell
Se tudo correu bem, no inicio do prompt de comando, será exibido entre parenteses o nome do ambiente virtual ativo.
-
Após ativo o ambiente virtual, execute a aplicação streamlit.
streamlit run streamlit_app.py
Obs.: Na caixa de diálogo que será aberta, confirme para "abrir no navegador".
Em seguida irá abrir o browser com a aplicação em execução.
-
Efetue a instalação do google-chrome via terminal manualmente.
-
Acesse o site em https://googlechromelabs.github.io/chrome-for-testing/ e copie o link da última versão do browser.
-
Baixe os binários da versão mais recente do google-chrome:
sudo wget "https://storage.googleapis.com/chrome-for-testing-public/122.0.6261.94/linux64/chrome-linux64.zip"
Se tudo deu certo será baixado um arquivo com o nome
chrome-linux64.zip
. -
Descompacte o arquivo
chrome-linux64.zip
:unzip chrome-linux64.zip
Ao término da descompactação surgira um novo diretório com o mesmo nome ´chrome-linux64´, ele deverá ser movido seguindo os passos adiante.
-
Crie um diretório como o nome
/opt/google/
.sudo mkdir /opt/google
-
Mova o diretório descompactado para
/opt/google/chrome
.sudo mv chrome-linux64 /opt/google/chrome
-
Crie um link simbólico para o binário do chrome e adicione em '/usr/bin/'.
sudo ln -s /opt/google/chrome/chrome /usr/bin/google-chrome
-
Remova o arquivo .zip contendo os binários do google-chrome.
sudo rm -rf chrome-linux64.zip
-
-
Efetue uma cópia do arquivo
.env-exemplo
e altere o nome da cópia para.env
. -
Abra o notebook
coleta_tratamento_dados.ipynb
e selecione o kernel (interpretador python do ambiente virtual).- Selecione a opção
instalar/habilitar extensões sugeridas
. - Em seguida selecione a opção
Python Environments...
- Escolha a opção de ambiente virtual que contém o nome
open-data-day-2024...
- Selecione a opção
-
Execute todo o notebook jupyter clicando no botão
>> Executar Tudo
, ele fara a extração dos dados do site dos ODS.
Após o término da execução do notebook jupyter, conterá no diretório data\processed\
o arquivo .pickle com todos os dados extraídos e tabulados da página do site alvo.
-
Torne o arquivo executável com o seguinte comando:
sudo chmod +x install_codespace_depen.sh
-
Agora você pode executar o script com:
source install_codespace_depen.sh
-
Efetue uma cópia do arquivo
.env-exemplo
e altere o nome da cópia para.env
. -
Abra o notebook
coleta_tratamento_dados.ipynb
e selecione o kernel (interpretador python do ambiente virtual).- Selecione a opção
instalar/habilitar extensões sugeridas
. - Em seguida selecione a opção
Python Environments...
- Escolha a opção de ambiente virtual que contém o nome
open-data-day-2024...
- Selecione a opção
-
Execute todo o notebook jupyter clicando no botão
>> Executar Tudo
, ele fara a extração dos dados do site dos ODS.
Após o término da execução do notebook jupyter, conterá no diretório data\processed\
o arquivo .pickle com todos os dados extraídos e tabulados da página do site alvo.
{
"material-icon-theme.folders.associations": {
"core": "rules",
"adapters": "pipe",
"external": "tools",
"pages": "rules",
"user": "admin",
"notebook": "lib",
"pagesection": "lib",
"sentence": "lib",
"alembic": "config",
".streamlit": "config",
".documentation": "resource",
"persistence": "database",
"meu_app": "app",
"open_data_day_2024": "app"
},
"files.exclude": {
"**/*.pyc": {"when": "$(basename).py"},
"**/__pycache__": true,
"**/*.pytest_cache": true,
}
}
- https://brasil.un.org/pt-br/sdgs
- https://www.python.org/
- https://pypi.org/
- https://github.com/pypa/pipx
- https://python-poetry.org/
- https://docs.streamlit.io/
- https://streamlit.io/
- https://plotly.com/python/
- https://www.selenium.dev/
- https://googlechromelabs.github.io/chrome-for-testing/
- https://www.w3schools.com/xml/xpath_intro.asp
- https://developer.mozilla.org/en-US/docs/Web/XPath
- https://docs.github.com/pt/codespaces
- https://git-scm.com/docs
- https://git-scm.com/book/pt-br/v2
MIT license