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.
taco/
├── api/ # API REST (FastAPI)
├── data/
│ ├── raw/ # Fontes originais, imutáveis (TACO .xls, POF .xls)
│ ├── interim/ # Exportações intermediárias legadas (CSV ; decimal vírgula)
│ └── 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
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.txtuvicorn api.main:app --reloadNo Windows, o atalho run.bat faz o mesmo. A documentação interativa
(Swagger) fica em http://127.0.0.1:8000/docs.
Os CSVs já estão versionados; execute o pipeline apenas se quiser reproduzi-los a partir da planilha original:
python scripts/process_taco.pyTodos 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étodo | Rota | Descrição |
|---|---|---|
| GET | / |
Metadados da API |
| GET | /health |
Verificação de saúde |
| GET | /categories |
Categorias e contagem de alimentos |
| GET | /categories/{nome} |
Alimentos de uma categoria |
| GET | /foods?search=&skip=&limit= |
Lista/busca paginada de alimentos |
| GET | /foods/{id} |
Composição completa de um alimento |
| GET | /foods/{id}/fatty-acids |
Perfil de ácidos graxos |
| GET | /foods/{id}/amino-acids |
Perfil de aminoácidos |
| POST | /foods/compare |
Compara a composição de 2+ alimentos |
| POST | /foods/sum |
Soma nutrientes ponderados por gramas |
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}]}'| Arquivo | Conteúdo | Registros |
|---|---|---|
data/processed/taco/taco_composicao.csv |
Composição centesimal, minerais e vitaminas | 597 |
data/processed/taco/taco_acidos_graxos.csv |
Perfil de ácidos graxos | 423 |
data/processed/taco/taco_aminoacidos.csv |
Perfil de aminoácidos | 26 |
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.
Os arquivos em data/interim/taco/ são exportações intermediárias legadas
(separador ;, decimal com vírgula), mantidas apenas para referência histórica.
pip install -r requirements-dev.txt
ruff check . # lint
pytest # testesO 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.
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.
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.
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.
- Página oficial da POF
- Tabela de Medidas Referidas (ZIP)
- Tabela de Medidas Referidas — Banco de Dados (ZIP)
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.
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.