Docker¶
Rode o agrobr sem instalar Python localmente.
Requisitos¶
- Docker Desktop (Windows/Mac) ou Docker Engine (Linux)
Build¶
Uso interativo¶
Abre um Python REPL com o agrobr instalado:
>>> from agrobr.sync import cepea
>>> df = cepea.indicador('soja', inicio='2024-01-01')
>>> print(df.head())
CLI¶
docker run --rm agrobr agrobr --version
docker run --rm agrobr agrobr cepea indicador boi
docker run --rm agrobr agrobr conab safras soja
Persistir cache¶
Sem volume mount, o cache DuckDB é perdido quando o container encerra.
O named volume agrobr-cache persiste entre execuções.
Rodar scripts locais¶
Extras¶
A imagem default ja inclui os extras browser (Playwright + Chromium) e pdf (pdfplumber), necessarios para CONAB, ANDA, Lista Suja e Rio Verde respectivamente.
O --build-arg EXTRAS substitui o default. Para adicionar extras, inclua os defaults:
Compatibilidade¶
| Extra | Docker | Notas |
|---|---|---|
browser |
sim (default) | Playwright + Chromium. Necessario para CONAB |
pdf |
sim (default) | pdfplumber, puro Python. Necessario para ANDA, Lista Suja, Rio Verde |
polars |
sim | Wheels manylinux pre-built |
bigquery |
sim | Google Cloud client |
geo |
incerto | geopandas/pyogrio pode funcionar (GDAL bundled no wheel). Nao verificado |
app |
sim | Streamlit funciona, mas adiciona ~200MB e requer -p 8501:8501 |
dev |
nao usar | Ferramentas de dev (pytest, ruff, mypy) |
docs |
nao usar | mkdocs |
Python version¶
A imagem default usa Python 3.11. Para outras versoes:
Versoes suportadas: 3.11, 3.12, 3.13.
Variáveis de ambiente¶
Todas as configuracoes sao customizaveis via env vars:
docker run -it --rm \
-e AGROBR_CACHE_CACHE_DIR=/data/cache \
-e AGROBR_HTTP_TIMEOUT_READ=60 \
-e AGROBR_HTTP_MAX_RETRIES=5 \
-v agrobr-data:/data \
agrobr
| Prefixo | Configuracao |
|---|---|
AGROBR_CACHE_ |
Diretorio de cache, nome do banco DuckDB |
AGROBR_HTTP_ |
Timeouts, retries, rate limits por fonte |
AGROBR_ALERT_ |
Webhooks Slack/Discord, SendGrid |
Limitações¶
agrobr health/agrobr doctorretornamImportErrorno container. Esses modulos sao privados e excluidos do wheel. Mesmo comportamento depip install agrobrdo PyPI.- Cache efemero sem volume mount. Use
-v agrobr-cache:/home/agrobr/.agrobr. - Imagem ~2.3GB (Chromium ~1.5GB + pandas ~100MB + duckdb ~80MB + demais deps).
agrobr/data/censo_1985/— 11MB de CSVs estaticos incluidos na imagem (dados runtime doibge.censo_municipal_1985()).