Python wrapper for the Fatsecret API
Project description
fatsecret
This library provides a lightweight python wrapper for the Fatsecret API with the goal of making it easier to visualize the data retrieved from the API. To that end, this library will usually return lists of identical elements for ease of plotting, discarding extra header fields that the Fatsecret API otherwise includes. All API calls return either a single or list of JSON dictionaries.
What's new in v3
Methods on the namespaced surface (fs.foods.*, fs.recipes.*, fs.diary.*, fs.profile.*, fs.weight.*, fs.exercises.*) now return typed Pydantic v2 models — Food, Recipe, Profile, FoodEntry, ExerciseEntry, Day, etc. — instead of plain dicts. Use dotted attribute access (food.food_id, not food["food_id"]) or call .to_dict() on any model for the v2 dict shape. pydantic>=2.7 is now a base dependency. See the v3 migration guide for side-by-side examples and the four resources (Food Classification, Saved Meals, Native APIs, Feedback) that intentionally still return dicts.
Installation
pip install fatsecret
Requires Python 3.11+.
Config
Register for a developer account at Fatsecret. You will need your Consumer Key and Consumer Secret key for your application.
Usage
Fatsecret supports both delegated and public calls. Only through delegated calls can you access Fatsecret user profile data.
If you only need public data:
from fatsecret import Fatsecret
fs = Fatsecret(consumer_key, consumer_secret)
foods = fs.foods_search_v5("Tacos") # current upstream version
# or, to pin to a specific historical shape:
foods = fs.foods_search_v1("Tacos")
Every method carries an explicit _vN version suffix matching FatSecret's
multi-version API. Unsuffixed names (foods_search, food_get, …) still
exist as DeprecationWarning-emitting aliases and will be removed in
v2.0. Surface the warnings during development:
python -W default::DeprecationWarning:fatsecret your_script.py
For OAuth2 client-credentials (required for Premier / Native endpoints):
fs = Fatsecret(client_id, client_secret, auth="oauth2", scopes=["basic", "premier"])
Refer to the documentation for further examples and detail.
Documentation
Docs are published to Read the Docs. Every released tag and the current master branch are auto-built — use the version dropdown in the bottom-left flyout to switch between them.
- Stable (highest released tag) — fatsecret.readthedocs.io/en/stable/
- Latest (tracks
master) — fatsecret.readthedocs.io/en/latest/ - Per-version — fatsecret.readthedocs.io/en/v1.5.14/, etc.
Contributing
All contributions are welcome! I'm not actively maintaining this library, so there's a good chance that any API changes have not been implemented in this wrapper.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file fatsecret-4.0.0.tar.gz.
File metadata
- Download URL: fatsecret-4.0.0.tar.gz
- Upload date:
- Size: 35.6 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.11.16 {"installer":{"name":"uv","version":"0.11.16","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
06ae58fce34c40fb474d5138ad93ccf8981ffabe807970a035c4256210e496c1
|
|
| MD5 |
f6a24bf4280bcbf5b9600e668173a873
|
|
| BLAKE2b-256 |
9ec3c1061a51b717654f44c542cc9c84f2510cf9d22db9e9aa65a50d26761202
|
File details
Details for the file fatsecret-4.0.0-py3-none-any.whl.
File metadata
- Download URL: fatsecret-4.0.0-py3-none-any.whl
- Upload date:
- Size: 51.1 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.11.16 {"installer":{"name":"uv","version":"0.11.16","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
14d4a6a7ac5204e2700e49473031e14db2026a5680125a6acc68b119aa75b889
|
|
| MD5 |
76432ef56f1aa4c747cd96f4ae1d0a81
|
|
| BLAKE2b-256 |
a84f23cb57a58974de33093c02e8f32cc1ff875f60bdc13343f2c8aa59599366
|