SkillAgentSearch skills...

Agrobr

Pacote Python production-grade que abstrai toda a complexidade e entrega DataFrames limpos, padronizados, validados e documentados.

Install / Use

/learn @bruno-portfolio/Agrobr
About this skill

Quality Score

0/100

Supported Platforms

Universal

README

agrobr

Dados agrícolas brasileiros em uma linha de código

PyPI version Downloads PyPI - Downloads Tests Daily Health Check Docs Python 3.11+ License: MIT Code style: ruff Open In Colab

<p align="center"> <a href="https://htmlpreview.github.io/?https://github.com/bruno-portfolio/agrobr/blob/main/docs/canopy.html"> <img src="docs/canopy.svg" width="100%" /> </a> </p>

Infraestrutura Python para dados agrícolas brasileiros com camada semântica sobre 39 fontes públicas: CEPEA, CONAB, IBGE, NASA POWER, BCB/SICOR, ComexStat, ANDA, ABIOVE, USDA PSD, IMEA, DERAL, INMET, Notícias Agrícolas, Queimadas/INPE, Desmatamento PRODES/DETER, MapBiomas, CONAB Progresso, B3 Futuros Agro, CONAB CEASA/PROHORT, UN Comtrade, ANTAQ, ANP Diesel, MAPA PSR, ANTT Pedágio, SICAR, ZARC, Agrofit/MAPA (Defensivos), FUNAI, ICMBio, INCRA, IBAMA, MapBiomas Alerta, Lista Suja, ANA/SNIRH, SFB, RNC/CultivarWeb, EMBRAPA Solos, Fundação Rio Verde e Acervo Fundiário/INCRA.

v1.0.5 — 6000+ testes, 92% cobertura, 39/39 fontes com golden tests, retry centralizado em 39/39 clients.

Demo

Animation

Instalação

pip install agrobr

Com extras opcionais:

pip install agrobr[pdf]             # pdfplumber para ANDA, Lista Suja, Rio Verde
pip install agrobr[polars]          # Suporte a Polars
pip install agrobr[browser]         # Playwright (opcional, para fontes com JS)
pip install agrobr[bigquery]        # Base dos Dados (fallback BCB/SICOR)
pip install agrobr[geo]             # GeoPandas (geometria PRODES + DETER + SICAR + FUNAI + ICMBio + INCRA + IBAMA + Queimadas + MapBiomas Alerta + ANA + SFB + EMBRAPA Solos + Acervo Fundiário)
pip install agrobr[all]             # Tudo incluído

Docker

docker build -t agrobr .
docker run -it --rm agrobr
>>> from agrobr.sync import cepea
>>> df = cepea.indicador('soja', inicio='2024-01-01')
# CLI
docker run --rm agrobr agrobr cepea indicador boi

# Persistir cache entre execuções
docker run -it --rm -v agrobr-cache:/home/agrobr/.agrobr agrobr

# Com extras adicionais (EXTRAS substitui o default "browser,pdf")
docker build --build-arg EXTRAS="browser,pdf,polars" -t agrobr:extras .

# Rodar script local
docker run --rm -v "$(pwd)":/work agrobr python /work/analise.py

A imagem default inclui Playwright + Chromium (CONAB) e pdfplumber (ANDA). Veja o guia Docker para extras adicionais.

Uso Rápido

CEPEA - Indicadores de Preços

import asyncio
from agrobr import cepea

async def main():
    # Série histórica de soja
    df = await cepea.indicador('soja', inicio='2024-01-01')
    print(df.head())

    # Último valor disponível
    ultimo = await cepea.ultimo('soja')
    print(f"Soja: R$ {ultimo.valor}/sc em {ultimo.data}")

    # Produtos disponíveis
    print(await cepea.produtos())  # ['soja', 'milho', 'boi_gordo', 'cafe', ...]

asyncio.run(main())

CONAB - Safras e Balanço

from agrobr import conab

async def main():
    # Dados de safra por UF
    df = await conab.safras('soja', safra='2024/25')
    print(df[['uf', 'area_plantada', 'producao', 'produtividade']])

    # Balanço oferta/demanda
    balanco = await conab.balanco('soja')
    print(balanco)

    # Total Brasil
    brasil = await conab.brasil_total()
    print(brasil)

IBGE - PAM, LSPA, PPM, Abate, PEVS, Leite, PIB e Censo Agro

from agrobr import ibge

async def main():
    # PAM - Produção Agrícola Municipal (anual)
    df = await ibge.pam('soja', ano=2023, nivel='uf')
    print(df[['localidade', 'area_plantada', 'producao']])

    # LSPA - Levantamento Sistemático (mensal)
    df = await ibge.lspa('soja', ano=2024, mes=6)
    print(df)

    # PPM - Pesquisa da Pecuária Municipal (anual)
    df = await ibge.ppm('bovino', ano=2023, nivel='uf')
    print(df[['localidade', 'especie', 'valor', 'unidade']])

    # Produção de origem animal
    df = await ibge.ppm('leite', ano=2023)

    # Abate Trimestral — bovino, suíno, frango
    df = await ibge.abate('bovino', trimestre='202303')
    df = await ibge.abate('frango', trimestre='202303', uf='PR')

    # PAM por município (filtrando UF para reduzir volume)
    df = await ibge.pam('cafe', ano=2023, nivel='municipio', uf='PA')

    # Censo Agropecuário 1995/2006/2017 — 10 temas
    df = await ibge.censo_agro('efetivo_rebanho')
    df = await ibge.censo_agro('uso_terra', uf='MT')
    df = await ibge.censo_agro('lavoura_temporaria', nivel='municipio', uf='PR')

    # Manejo de solo e irrigação (2006 + 2017)
    df = await ibge.censo_agro('preparo_solo', ano=2017, uf='SP')
    df = await ibge.censo_agro('irrigacao')  # ambos os anos
    df = await ibge.censo_agro('adubacao', ano=2006)

    # Censo Agropecuário 1995/96 — temas legados (FTP)
    df = await ibge.censo_agro_legado('tecnologia')
    df = await ibge.censo_agro_legado('pessoal_ocupado', uf='SP')

    # Censo Agropecuário — série histórica 1920-2006 (9 temas, até UF)
    df = await ibge.censo_agro_historico('estabelecimentos_area')
    df = await ibge.censo_agro_historico('efetivo_animais', uf='SP')
    df = await ibge.censo_agro_historico('uso_terra', nivel='brasil')

    # Censo Agropecuário 1985 — dados municipais (53 temas, 22 UFs, OCR de PDFs)
    df = await ibge.censo_agro_municipal_1985('propriedade_terras', uf='SP')
    df = await ibge.censo_agro_municipal_1985('bovinos', nivel='municipio')

    # Múltiplos anos
    df = await ibge.pam('milho', ano=[2020, 2021, 2022, 2023])

    # PEVS — Silvicultura (eucalipto, pinus, carvão)
    df = await ibge.silvicultura('madeira_tora', ano=2023)
    df = await ibge.silvicultura('eucalipto', variavel='area')  # área plantada

    # PEVS — Extração vegetal (açaí, castanha, erva-mate)
    df = await ibge.extracao_vegetal('acai', ano=2023, nivel='uf')

    # Leite trimestral (aquisição + industrialização + preço)
    df = await ibge.leite_trimestral(trimestre='202303', uf='MG')

    # PIB Agropecuário trimestral
    df = await ibge.pib_agro(trimestre='202501', setor='agropecuaria')

Datasets - Camada Semântica

Peça o que quer, fonte é detalhe interno:

from agrobr import datasets

async def main():
    # Preço diário (CEPEA com fallback automático)
    df = await datasets.preco_diario("soja")

    # Produção anual (IBGE PAM → CONAB)
    df = await datasets.producao_anual("soja", ano=2023)

    # Estimativa de safra corrente (CONAB → IBGE LSPA)
    df = await datasets.estimativa_safra("soja", safra="2024/25")

    # Balanço oferta/demanda (CONAB)
    df = await datasets.balanco("soja")

    # Crédito rural (BCB/SICOR com fallback BigQuery)
    df = await datasets.credito_rural("soja", safra="2024/25")

    # Exportações (ComexStat → ABIOVE)
    df = await datasets.exportacao("soja", ano=2024)

    # Fertilizantes (ANDA)
    df = await datasets.fertilizante(ano=2024, uf="MT")

    # Custos de produção (CONAB)
    df = await datasets.custo_producao("soja", uf="MT", safra="2024/25")

    # Com metadados de proveniência
    df, meta = await datasets.preco_diario("soja", return_meta=True)
    print(meta.source, meta.contract_version)

    # Pecuária municipal (IBGE PPM)
    df = await datasets.pecuaria_municipal("bovino", ano=2023)

    # Censo Agropecuário 1995/2006/2017 (IBGE Censo Agro — 10 temas)
    df = await datasets.censo_agropecuario("efetivo_rebanho")
    df = await datasets.censo_agropecuario("preparo_solo")

    # Cadastro Ambiental Rural (SICAR)
    df = await datasets.cadastro_rural("DF")
    df = await datasets.cadastro_rural("MT", municipio="Sorriso", status="AT")

    # SICAR com geometria (requer pip install agrobr[geo])
    gdf = await agrobr.alt.sicar.imoveis_geo("DF")

    # Silvicultura (IBGE PEVS)
    df = await datasets.silvicultura("madeira_tora", ano=2023)

    # Extrativismo vegetal (IBGE PEVS)
    df = await datasets.extrativismo_vegetal("acai", ano=2023)

    # Leite industrial (IBGE Leite Trimestral)
    df = await datasets.leite_industrial(trimestre="202303")

    # Série histórica de safras (CONAB — 32 culturas)
    df = await datasets.serie_historica_safra("soja", inicio=2020, fim=2024)

    # Preços de atacado (CONAB CEASA/PROHORT)
    df = await datasets.preco_atacado("TOMATE")

    # Seguro rural (MAPA PSR — apólices e sinistros)
    df = await datasets.seguro_rural(tipo="apolices", uf="MT", ano=2023)
    df = await datasets.seguro_rural(tipo="sinistros", evento="SECA")

    # Clima (INMET → NASA POWER)
    df = await datasets.clima(uf="SP", ano=2024)
    df = await datasets.clima(estacao="A301", inicio="2024-01-01", fim="2024-12-31")

    # Futuros agrícolas B3 (ajustes, histórico, posições)
    df = await datasets.futuros_agricolas("boi", data="2025-03-05")
    df = await datasets.futur

Related Skills

View on GitHub
GitHub Stars62
CategoryDevelopment
Updated23h ago
Forks12

Languages

Python

Security Score

95/100

Audited on Apr 5, 2026

No findings