Skip to content

Repository files navigation

TACO — Tabela Brasileira de Composição de Alimentos

CILicença: MIT

Dados normalizados e API REST da Tabela Brasileira de Composição de Alimentos (TACO, 4ª edição, NEPA/UNICAMP), acompanhados de fontes complementares (Guia Alimentar para a População Brasileira e Tabela de Medidas Referidas da POF/IBGE).

O repositório oferece:

  • Pipeline reproduzível (scripts/process_taco.py) que converte a planilha original da TACO em CSVs limpos e normalizados;
  • CSVs prontos para uso em data/processed/taco/ (composição centesimal, ácidos graxos e aminoácidos);
  • API REST (FastAPI) para consulta, comparação e soma de nutrientes.

Estrutura do projeto

taco/
├── api/ # API REST (FastAPI)
├── data/
│ ├── raw/ # Fontes originais, imutáveis (TACO .xls, POF .xls)
│ └── processed/taco/ # CSVs canônicos gerados pelo pipeline
├── docs/ # Dicionário de dados
├── references/ # Documentos originais (PDFs) e guia de normalização
├── scripts/ # Pipeline de processamento
└── tests/ # Testes da API

Início rápido

Requer Python 3.10+.

git clone https://github.com/brolesi/taco.git
cd taco
python -m venv .venv
# Windows: .venv\Scripts\activate | Linux/macOS: source .venv/bin/activate
pip install -r requirements.txt

Subir a API

uvicorn api.main:app --reload

No Windows, o atalho run.bat faz o mesmo. A documentação interativa (Swagger) fica em http://127.0.0.1:8000/docs.

Regenerar os CSVs processados

Os CSVs já estão versionados; execute o pipeline apenas se quiser reproduzi-los a partir da planilha original:

python scripts/process_taco.py

API

Todos os valores nutricionais referem-se a 100 g de parte comestível. Os nomes de campo da API estão mapeados no dicionário de dados.

MétodoRotaDescrição
GET/Metadados da API
GET/healthVerificação de saúde
GET/categoriesCategorias e contagem de alimentos
GET/categories/{nome}Alimentos de uma categoria
GET/foods?search=&skip=&limit=Lista/busca paginada de alimentos (busca ignora acentos)
GET/foods/{id}Composição completa de um alimento
GET/foods/{id}/fatty-acidsPerfil de ácidos graxos
GET/foods/{id}/amino-acidsPerfil de aminoácidos
POST/foods/compareCompara a composição de 2+ alimentos
POST/foods/sumSoma nutrientes ponderados por gramas (missing_values lista nutrientes sem dado)

Exemplo:

curl "http://127.0.0.1:8000/foods?search=arroz&limit=3"
curl -X POST "http://127.0.0.1:8000/foods/sum" \
-H "Content-Type: application/json" \
-d '{"items": [{"id": 1, "grams": 150}, {"id": 2, "grams": 80}]}'

Dados

ArquivoConteúdoRegistros
data/processed/taco/taco_composicao.csvComposição centesimal, minerais e vitaminas597
data/processed/taco/taco_acidos_graxos.csvPerfil de ácidos graxos423
data/processed/taco/taco_aminoacidos.csvPerfil de aminoácidos26

Detalhes de colunas, unidades e valores especiais (Tr, NA) no dicionário de dados. As decisões de normalização estão documentadas em references/guia_normalizacao_taco.md.

As tabelas da POF em data/raw/pof/ são fontes originais de referência: ainda não há pipeline que as processe.

Desenvolvimento

pip install -r requirements-dev.txt
ruff check .# lint
pytest # testes

O CI (GitHub Actions) executa lint e testes em cada push/PR para main. Veja CONTRIBUTING.md para o fluxo completo e CHANGELOG.md para o histórico de mudanças.

Fontes de dados

TACO — Tabela Brasileira de Composição de Alimentos

Banco de dados desenvolvido pelo Núcleo de Estudos e Pesquisas em Alimentação (NEPA) da UNICAMP, com informações sobre a composição nutricional de centenas de alimentos consumidos no Brasil, amostrados em distintas regiões do país. É amplamente utilizada por nutricionistas, pesquisadores, profissionais da saúde e pela indústria alimentícia.

Guia Alimentar para a População Brasileira

Documento oficial do Ministério da Saúde (2ª edição, 2014) que orienta práticas alimentares saudáveis, classificando os alimentos em quatro categorias segundo o grau de processamento: in natura ou minimamente processados, ingredientes culinários, processados e ultraprocessados.

POF — Pesquisa de Orçamentos Familiares (IBGE)

Pesquisa domiciliar do IBGE sobre estruturas de consumo, gastos, rendimentos e condições de vida das famílias brasileiras. Este repositório inclui a Tabela de Medidas Referidas (POF 2008–2009), que associa medidas caseiras ("colher de sopa", "copo", "fatia") a quantidades em gramas ou mililitros.

Como citar

Os metadados de citação também estão em CITATION.cff (botão "Cite this repository" no GitHub).

@misc{brolesi2026taco,
author = {Brolesi, F. F.},
title = {{TACO} - Tabela Brasileira de Composição de Alimentos: Repositório para acesso facilitado aos dados da {TACO} ({NEPA/UNICAMP}) e {POF} ({IBGE})},
year = {2026},
publisher = {GitHub},
url = {https://github.com/brolesi/taco},
note = {Acessado em: [data de acesso]}
}

Importante: este repositório reorganiza dados públicos. Para trabalhos acadêmicos, cite também as fontes primárias:

  • NEPA/UNICAMP. Tabela Brasileira de Composição de Alimentos (TACO). 4ª ed. Campinas, 2011.
  • IBGE. Pesquisa de Orçamentos Familiares 2008-2009: Tabela de Medidas Referidas para os Alimentos Consumidos no Brasil. Rio de Janeiro, 2011.
  • BRASIL. Ministério da Saúde. Guia Alimentar para a População Brasileira. 2ª ed. Brasília, 2014.

Licença

O código deste repositório está licenciado sob a licença MIT. Os dados pertencem às respectivas fontes (NEPA/UNICAMP, IBGE e Ministério da Saúde) e são redistribuídos aqui por serem de acesso público; consulte as fontes primárias para os termos de uso originais.

About

Tabela Nutricional de Composição de Alimentos no Brasil

Topics

Resources

Contributing

Stars

16 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages