Initial Release
Project description
datakick is a python wrapper for the Datakick open product database API.
Usage
Installation:
python setup.py install
or
pip install datakick
Sample Code:
First import the module:
>>> import datakick
Search for products by barcode:
>>> gtin14 = "037000062219"
>>> product = datakick.find_product(gtin14)
>>> print("{} - {}".format(product.brand_name, product.name))
'Crest Pro-Health Clean Mint Toothpaste'
Search for products with a key:
>>> products = datakick.search("Toothpaste")
>>> for product in products:
... print("{} - {}".format(product.brand_name, product.name))
'Crest Pro-Health Clean Mint Toothpaste'
'Sensodyne Fresh Impact Toothpaste'
# etc.
Add/modify products in the database:
>>> gtin14 = "011110491503"
>>> product = datakick.add_product(
... gtin14, brand_name="Big K", name="Diet Cola", size="355mL"
... )
>>> print("{} - {} - {}".format(
... product.brand_name, product.name, product.size)
... )
'Big K Diet Cola 355mL'
Add images to products in the database:
>>> gtin14 = "011110491503"
>>> img_path = "path/to/your/image/cola.jpg" # only .jpg or .jpeg allowed!
>>> img_url = datakick.add_image(gtin14, img_path)
>>> print(img_url)
'https://d2b9vdin3yve6y.cloudfront.net/1a888191-e530-4d55-a871-00a0994d75c0.jpg'
List the products (on a page):
>>> products = datakick.list_products(5) # each page returns 100 products
>>> for product in products:
... print(product.gtin14)
'016000437692'
'016000439894'
# etc.
Optional Parameters for Adding/Modifying a product:
Optional Parameters |
Type |
Units |
Example |
|---|---|---|---|
name |
string |
n/a |
“Toothpaste” |
brand_name |
string |
n/a |
“Colgate” |
size |
string |
n/a |
“20oz” |
ingredients |
string |
n/a |
“Milk, Chocolate, Sugar” |
serving_size |
string |
n/a |
“2 tbsp.” |
servings_per_container |
string |
n/a |
“2 cookies” |
calories |
int |
n/a |
200 |
fat_calories |
int |
n/a |
100 |
fat |
int/float |
grams |
10 |
saturated_fat |
int/float |
grams |
10 |
trans_fat |
int/float |
grams |
0 |
polyunsaturated_fat |
int/float |
grams |
5 |
monounsaturated_fat |
int/float |
grams |
5 |
cholesterol |
int |
milligrams |
20 |
sodium |
int |
milligrams |
40 |
potassium |
int |
milligrams |
60 |
carbohydrate |
int |
grams |
20 |
fiber |
int |
grams |
10 |
sugars |
int |
grams |
6 |
protein |
int |
grams |
4 |
author |
string |
n/a |
“First M. Last” |
publisher |
string |
n/a |
“MyPublisher” |
pages |
int |
n/a |
400 |
alcohol_by_volume |
int/float |
percent |
20 |
Exceptions:
datakick.exceptions.ImageTooLarge - Will be thrown if the image provided to datakick.add_image is too large (>1MB)
datakick.exceptions.InvalidImageFormat - Will be thrown if the image provided to datakick.add_image is of the wrong file format (only .jpg or .jpeg allowed).
requests.exceptions.HTTPError - Will be thrown if the gtin14 provided is invalid or not found in the product database.
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
File details
Details for the file datakick-0.0.1.tar.gz.
File metadata
- Download URL: datakick-0.0.1.tar.gz
- Upload date:
- Size: 6.0 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
52be2b72a3089ed4c31c8aba23b807b0840260c917259a6c36d95242e5e24761
|
|
| MD5 |
aa5f311496fa013e402fb1fc405ad782
|
|
| BLAKE2b-256 |
a5457769e81d83a8f3f46114a5cd98d4ac56b859295d835307a7b2375dc61405
|