Universalizando o acesso a dados de qualidade.
Este guia fornece instruções completas para configurar o ambiente de desenvolvimento no Windows.
- Sistema Operacional: Windows 10/11 (64-bit)
- Processador: Intel/AMD x64
- Memória RAM: Mínimo 8GB (recomendado 16GB+)
- Espaço em Disco: Mínimo 10GB de espaço livre
- Conexão com Internet: Para downloads e acesso aos serviços cloud
-
Baixe o Python 3.10.x (não 3.11+) do site oficial:
- Acesse: https://www.python.org/downloads/
- Baixe:
Python 3.10.x Windows installer (64-bit)
-
Execute o instalador como administrador
-
IMPORTANTE: Marque as opções:
- ✅
Add Python to PATH - ✅
Install launcher for all users - ✅
Precompile standard library
- ✅
-
Verifique a instalação:
python --version
pip --version-
Baixe o Miniconda do site oficial:
- Acesse: https://docs.conda.io/en/latest/miniconda.html
- Baixe:
Miniconda3 Windows 64-bit
-
Execute o instalador
-
Reinicie o terminal/PowerShell
-
Crie um ambiente conda:
conda create -n basedosdados python=3.10
conda activate basedosdadosO projeto utiliza várias bibliotecas Python que requerem compilação de código C/C++:
- NumPy, Pandas, GeoPandas: Bibliotecas científicas que precisam de compiladores
- CFFI, cryptography: Para interfaces de função estrangeira e criptografia
- OpenCV, Pillow: Para processamento de imagens
- RPy2: Interface entre Python e R
-
Baixe o Visual Studio Build Tools:
- Acesse: https://visualstudio.microsoft.com/visual-cpp-build-tools/
- Baixe:
Build Tools for Visual Studio 2022
-
Execute o instalador
-
Selecione a workload: "Desktop development with C++"
-
Marque os componentes individuais:
- ✅ MSVC v143 - VS 2022 C++ x64/x86 build tools
- ✅ Windows 11 SDK (ou versão mais recente)
- ✅ C++ CMake tools for Windows
- ✅ Testing tools core features
-
Baixe o R do site oficial:
- Acesse: https://cran.r-project.org/bin/windows/base/
- Baixe:
R-4.x.x-win.exe(versão mais recente)
-
Execute o instalador
-
Aceite as configurações padrão
-
Verifique a instalação:
R --version# Verificar se cl.exe (compilador Microsoft) está disponível
where cl
# Verificar R
R --version
# Testar compilação Python (opcional)
python -c "import numpy; print('NumPy OK')"-
Baixe o PostgreSQL do site oficial:
- Acesse: https://www.postgresql.org/download/windows/
- Baixe:
PostgreSQL 15.x.x(ou versão mais recente)
-
Execute o instalador
-
Configure:
- Porta: 5432 (padrão)
- Senha: Defina uma senha segura para o usuário
postgres - Locale: Portuguese (Brazil)
-
Instale o pgAdmin junto (recomendado)
# Instalar Chocolatey (se não tiver)
Set-ExecutionPolicy Bypass -Scope Process -Force; [System.Net.ServicePointManager]::SecurityProtocol = [System.Net.ServicePointManager]::SecurityProtocol -bor 3072; iex ((New-Object System.Net.WebClient).DownloadString('https://chocolatey.org/install.ps1'))
# Instalar PostgreSQL
choco install postgresql15# Verificar se o serviço está rodando
Get-Service postgresql*
# Conectar ao banco
psql -U postgres -h localhost- Acesse: https://console.cloud.google.com/
- Crie uma conta Google Cloud (se não tiver)
- Crie um novo projeto ou use um existente
No Google Cloud Console, habilite as seguintes APIs:
- BigQuery API
- BigQuery Storage API
- Google Cloud Storage JSON API
- Google Analytics Data API
- No GCP Console, vá para "IAM & Admin" > "Service Accounts"
- Clique em "Create Service Account"
- Configure:
- Name:
basedosdados-dev - Role:
BigQuery Admin(ou roles apropriadas)
- Name:
- Crie e baixe a chave JSON
- Salve o arquivo como
dev.jsonem uma pasta segura
# Baixar e instalar gcloud CLI
# Acesse: https://cloud.google.com/sdk/docs/install#windows
# Ou via Chocolatey:
choco install gcloudsdk
# Inicializar
gcloud init
# Autenticar
gcloud auth application-default login# Instalar Git (se não tiver)
winget install --id Git.Git -e --source winget
# Clonar o repositório
git clone https://github.com/basedosdados/pipelines.git
cd pipelines# Criar ambiente virtual
python -m venv .venv
# Ativar ambiente virtual
.\.venv\Scripts\activate# Atualizar pip
python -m pip install --upgrade pip
# Instalar o projeto em modo de desenvolvimento
pip install -e .
# Instalar dependências adicionais que podem estar faltando
pip install sqlalchemy psycopg2-binaryCrie um arquivo .env na raiz do projeto:
# PostgreSQL
POSTGRES_HOST=localhost
POSTGRES_PORT=5432
POSTGRES_DB=basedosdados
POSTGRES_USER=postgres
POSTGRES_PASSWORD=sua_senha_aqui
# Google Cloud
GOOGLE_APPLICATION_CREDENTIALS=C:\caminho\para\sua\dev.json
BD_SERVICE_ACCOUNT_DEV=C:\caminho\para\sua\dev.json
# Outras configurações
BD_PROJECT_ID=your-gcp-project-id-- Conectar como postgres
psql -U postgres
-- Criar banco de dados
CREATE DATABASE basedosdados;
-- Criar usuário (opcional)
CREATE USER basedosdados_user WITH PASSWORD 'sua_senha';
GRANT ALL PRIVILEGES ON DATABASE basedosdados TO basedosdados_user;
-- Criar schema público (se necessário)
\c basedosdados
CREATE SCHEMA IF NOT EXISTS public;Verifique o arquivo pipelines/utils/tasks_postgres.py e ajuste as configurações de conexão se necessário.
# Ativar ambiente virtual
.\.venv\Scripts\activate
# Testar importações
python -c "import sqlalchemy; print('SQLAlchemy OK')"
python -c "from pipelines.utils.tasks_postgres import load_data_to_postgres; print('Tasks OK')"# Executar pipeline de CNPJ
python run_br_me_cnpj_postgres.py# Usar o manage.py para criar novos pipelines
python manage.py --help
# Listar pipelines existentes
python manage.py listpip install sqlalchemy- Este erro ocorre quando tarefas Prefect são chamadas incorretamente
- Solução: Use
.run()para tarefas fora de um contexto Flow - Exemplo:
task.run()ao invés detask()
# Verificar se o serviço está rodando
Get-Service postgresql*
# Reiniciar serviço
Restart-Service postgresql*
# Testar conexão
psql -U postgres -h localhost -d basedosdados# Verificar credenciais
gcloud auth list
# Reautenticar se necessário
gcloud auth application-default login
# Verificar variável de ambiente
echo $env:GOOGLE_APPLICATION_CREDENTIALS# Limpar cache e reinstalar
pip cache purge
pip uninstall -y pipelines
pip install -e .
# Ou usar requirements.txt se disponível
pip install -r requirements.txt- Este é um aviso inofensivo relacionado a ferramentas Unix
- O pipeline continuará funcionando normalmente
pipelines/
├── datasets/ # Pipelines de dados individuais
│ ├── br_me_cnpj/ # Pipeline de CNPJ brasileiro
│ └── ...
├── utils/ # Utilitários
│ ├── tasks_postgres.py # Funções para PostgreSQL
│ └── ...
├── macros/ # Macros DBT
├── models/ # Modelos DBT
├── tests-dbt/ # Testes DBT
├── run_br_me_cnpj_postgres.py # Script de exemplo
├── pyproject.toml # Configuração do projeto
├── profiles.yml # Configuração DBT
└── dbt_project.yml # Configuração DBT
- Documentação Base dos Dados
- Documentação Prefect
- Documentação DBT
- Documentação Google Cloud
- Documentação PostgreSQL
- Leia nosso guia de contribuição
- Faça um fork do repositório
- Crie uma branch para sua feature
- Faça commit das suas mudanças
- Abra um Pull Request
- Discord: Comunidade Base dos Dados
- GitHub Issues: Para reportar bugs
- Documentação: Para dúvidas sobre uso
Nota: Este projeto requer conhecimento intermediário de Python, bancos de dados e Google Cloud Platform. Se você é novo nestas tecnologias, recomendamos começar com os tutoriais oficiais antes de contribuir.