Skip to main content

A Python API for accessing USDA FoodData Central data

Project description

FoodData Central Python API

This package provides a simple, ready-to-use Python API for accessing and querying relevant data from the USDA FoodData Central database—no API key required. All data is processed locally from CSV files and exposed through a clean Python interface.

Installation

You can install the package from PyPI:

pip install pyfooda

Or install directly from the repository:

pip install git+https://github.com/yourusername/pyfooda.git

Features

  • No API key required: Works entirely offline with preprocessed FoodData Central CSV files.
  • Simple: Query food categories, nutrients, and portion information with a few lines of code.
  • Search: Find foods by partial name.
  • DataFrames: Access the raw fooddata and DRV DataFrames for custom analysis.

Example

import pyfooda as pf

# Find up to 10 foods matching a partial name
print(pf.find_closest_matches('apple'))

# Get the category of a food
print(pf.get_category('Apple, raw'))

# Get all nutrient values for a food
nutrients = pf.get_nutrients('Apple, raw')
print(nutrients)

# Get portion information
print(pf.get_portion_gram_weight('Apple, raw'))  # e.g., 138.0
print(pf.get_portion_unit_name('Apple, raw'))    # e.g., "medium"

# Get the raw DataFrames
fooddata_df = pf.get_fooddata_df()
drv_df = pf.get_drv_df()

API Reference

get_category(foodName)

Returns the food category for the given food name (case-insensitive). Returns 'Other' if not found.

get_nutrients(foodName)

Returns a dictionary of nutrient values for the given food name. Returns None if not found.

get_portion_gram_weight(foodName)

Returns the portion gram weight (float) for the given food name. Returns None if not found.

get_portion_unit_name(foodName)

Returns the portion unit name (string) for the given food name. Returns None if not found.

find_closest_matches(partialName)

Returns a list of up to 10 food names that contain the given partial name (case-insensitive).

get_fooddata_df()

Returns the fooddata DataFrame containing all food items and their nutrient values.

get_drv_df()

Returns the DRV (Dietary Reference Values) DataFrame containing nutrient reference values.

License

Test package

pip install -e .
python -c "import pyfooda; print(pyfooda.__version__)"

MIT License

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

pyfooda-0.1.6.tar.gz (9.0 MB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

pyfooda-0.1.6-py3-none-any.whl (9.3 MB view details)

Uploaded Python 3

File details

Details for the file pyfooda-0.1.6.tar.gz.

File metadata

  • Download URL: pyfooda-0.1.6.tar.gz
  • Upload date:
  • Size: 9.0 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.11.12

File hashes

Hashes for pyfooda-0.1.6.tar.gz
Algorithm Hash digest
SHA256 ab97d5125cd0a3e3066a1b27bec5e2c3c94d5715e2626de0f41bb06a49f431b6
MD5 11b4f3568ab64ed61ceee197f74158a4
BLAKE2b-256 2712a1aa54b65a29b8b62518157ce8efe06430745ed0b0d351a99d8407c2e87c

See more details on using hashes here.

File details

Details for the file pyfooda-0.1.6-py3-none-any.whl.

File metadata

  • Download URL: pyfooda-0.1.6-py3-none-any.whl
  • Upload date:
  • Size: 9.3 MB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.11.12

File hashes

Hashes for pyfooda-0.1.6-py3-none-any.whl
Algorithm Hash digest
SHA256 bcb5c4af00b1402ea63d1bf34d3e4649c2e29baf9d57f26b8ed4b683f87d9439
MD5 5d517106fdfb629eea7c6ff629ddc5f7
BLAKE2b-256 9a472072df5fb5fe525c90add7a2b99829037bbcd4a087cdc6484e8a1d6dd3cf

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page