Este documento explica a diferença entre o ambiente de desenvolvimento local e a infraestrutura de produção na nuvem, além de como configurar o pipeline CI/CD.
- Execution of all quantum exploits
- Testes unitários e de integração
- Docker containers locais
- Simuladores quânticos (Qiskit, Cirq)
- Benchmarking e profiling
- Notebooks Jupyter
# Minimum hardware
- CPU: 4+ cores
- RAM: 8GB+ (16GB recomendado para simulações grandes)
- Disco: 10GB+ livre
# Software
- Python 3.11+
- Docker (opcional)
- Git-
Real Quantum Computers in the Cloud
- No configured access ao IBM Quantum Experience
- Sem acesso ao Azure Quantum
- Sem acesso ao AWS Braket
- Sem acesso ao Google Quantum AI
-
Kubernetes Infrastructure
- No cluster EKS (AWS)
- No cluster AKS (Azure)
- No cluster GKE (Google Cloud)
-
Automatic Deploy Services
- No environment staging/production configurado
- No configured load balancers
- No configured auto-scaling
-
Package Publishing
- No configured PyPI account
- Token PYPI_API_TOKEN not configured
Jobs executed automatically:
- Black formatter check
- isort import checker
- flake8 linting
- Pyright type checkingRequires: Nothing besides GitHub
Jobs executed automatically:
- bandit (security issues)
- safety (vulnerable dependencies)
- Trivy (Docker vulnerabilities)Requires: Nothing besides GitHub
Jobs executed automatically:
- pytest em Python 3.11, 3.12, 3.13
- Testes em Ubuntu, macOS, Windows
- Coverage report com CodecovRequires: Nothing besides GitHub (Codecov é gratuito para repos públicos)
Jobs executed automatically:
- Testes de integração end-to-end
- Timeout de 5 minutosRequires: Nothing besides GitHub
Jobs executed automatically:
- Build de imagens Docker
- Teste de containerRequires: Nothing besides GitHub
Jobs executed automatically:
- Build do pacote Python
- Validação com twine
- Upload de artefatosRequires: Nothing besides GitHub
# This job ONLY executes if:
if: github.event_name == 'push' &&
startsWith(github.ref, 'refs/tags/v') &&
secrets.PYPI_API_TOKEN != ''Requires:
- PyPI Account (https://pypi.org)
- Criar API Token no PyPI
- Add secret
PYPI_API_TOKENno GitHub:- Ir em: Repositório → Settings → Secrets and variables → Actions
- New repository secret
- Name:
PYPI_API_TOKEN - Value:
pypi-...(seu token)
How to get the token:
1. Create account at https://pypi.org
2. Verify email
3. Account Settings → API tokens → Add API token
4. Scope: "Entire account" ou específico para "houdinis"
5. Copy token (starts with pypi-...) GitHub Actions CI/CD
Lint & Security
Tests
Docker Build
Package Build
Deploy to PyPI - DISABLED (no token)
Deploy to Cloud - NOT CONFIGURED
Quantum Hardware - LOCAL SIMULATORS ONLY
What to do:
- Use only for local development
- CI/CD validates code automatically in PRs
- Does not attempt deploy (will not fail)
Passo 1 - Configure PyPI:
# 1. Criar conta no PyPI
https://pypi.org/account/register/
# 2. Criar API Token
Account Settings → API tokens → Add API token
# 3. Add secret no GitHub
Repositório → Settings → Secrets → Actions
Nome: PYPI_API_TOKEN
Valor: pypi-AgEIcHlwaS5vcmcC...Passo 2 - Publicar release:
# Create version tag
git tag v1.0.0
git push origin v1.0.0
# GitHub Actions automatically:
# 1. Executes all tests
# 2. Build do pacote
# 3. Publishes to PyPI (now works)Passo 3 - Install from anywhere:
pip install houdinis** Requires infraestrutura paga na nuvem**
# Estimated costs: $150-300/mês
# - EKS cluster: ~$73/mês
# - EC2 nodes: ~$100/mês
# - Load balancer: ~$20/mês
# - Storage: ~$10/mês
# 1. Create cluster EKS
eksctl create cluster --name houdinis-cluster --region us-east-1
# 2. Configure kubectl
aws eks update-kubeconfig --name houdinis-cluster
# 3. Apply manifests
kubectl apply -f k8s/
# 4. Configure secrets in GitHub
# AWS_ACCESS_KEY_ID
# AWS_SECRET_ACCESS_KEY
# AWS_REGION
# KUBE_CONFIG_DATA# Estimated costs: $120-250/mês
# 1. Create cluster AKS
az aks create --resource-group houdinis-rg --name houdinis-cluster
# 2. Configure kubectl
az aks get-credentials --resource-group houdinis-rg --name houdinis-cluster
# 3. Apply manifests
kubectl apply -f k8s/# Estimated costs: $100-200/mês
# 1. Create cluster GKE
gcloud container clusters create houdinis-cluster --zone us-central1-a
# 2. Configure kubectl
gcloud container clusters get-credentials houdinis-cluster
# 3. Apply manifests
kubectl apply -f k8s/# Costs: Free (basic tier) até $100K+/ano (enterprise)
# 1. Criar conta
https://quantum-computing.ibm.com/
# 2. Generate API Token
Account → API Token
# 3. Add to GitHub Secrets
# IBM_QUANTUM_TOKEN
# 4. Configure backend in code
from qiskit_ibm_runtime import QiskitRuntimeService
service = QiskitRuntimeService(channel="ibm_quantum", token="YOUR_TOKEN")
backend = service.backend("ibmq_manila") # Real quantum computer# Costs: $0.30 per task + $0.00035 per shot
# 1. Enable AWS Braket
AWS Console → Braket → Enable
# 2. Configure credentials
AWS_ACCESS_KEY_ID
AWS_SECRET_ACCESS_KEY
# 3. Use backend
from braket.aws import AwsDevice
device = AwsDevice("arn:aws:braket:::device/quantum-simulator/amazon/sv1")1. Complete local development
2. Automated tests (GitHub Actions)
3. Linting and security scans
4. Docker builds
5. Coverage reports
6. Local quantum simulators
7. Publish to PyPI
Requires: PyPI Token (5 minutes to configure)
Cost: FREE
8. Deploy to Kubernetes Cloud
Requires: K8s Cluster on AWS/Azure/GCP
Cost: $100-300/mês
9. Real Quantum Hardware
Requires: Conta IBM Quantum/AWS Braket
Cost: $0 (free tier) até $100K+/ano
Use local environment
CI/CD already works (automatic tests)
Local Docker works
Quantum simulators work1. Criar conta PyPI
2. Adicionar PYPI_API_TOKEN ao GitHub
3. Criar tag: git tag v1.0.0 && git push origin v1.0.0
4. Pronto! Pacote publicado automatically1. Choose cloud provider (AWS/Azure/GCP)
2. Create cluster Kubernetes
3. Configure secrets in GitHub
4. Configurar acesso a quantum hardware
5. Monitoramento e logging
6. Costs: $500-2000/mêsNenhum! Everything works without secrets.
PYPI_API_TOKEN: PyPI Token (pypi-...)# AWS
AWS_ACCESS_KEY_ID: Access key AWS
AWS_SECRET_ACCESS_KEY: Secret key AWS
AWS_REGION: us-east-1
# Azure
AZURE_CREDENTIALS: JSON with credentials
AZURE_SUBSCRIPTION_ID: Subscription ID
# Google Cloud
GCP_PROJECT_ID: Project ID
GCP_SA_KEY: Service account JSON
# Quantum Hardware
IBM_QUANTUM_TOKEN: Token do IBM Quantum
AWS_BRAKET_ROLE: ARN of role of BraketCurrent Status:
- CI/CD works 100% for development
- No additional configuration needed
- No cloud infrastructure dependency
- Deploy no PyPI requires only 1 secret (optional)
- Deploy em cloud requires paid infrastructure (future)
Recommended Next Steps:
- Continue using local environment (works perfectly)
- CI/CD valida código automatically (já funciona)
- When ready to publish: configure PyPI (5 minutos)
- Cloud deploy is OPTIONAL and expensive (only if needed)
Costs:
- Desenvolvimento: $0/mês
- PyPI publishing: $0/mês
- Cloud deploy: $100-300/mês (not configured)
- Quantum hardware: $0-100K+/ano (not configured)