Skip to main content

No project description provided

Project description

Buy me a coffee

Unofficial Python wrapper for the Picnic API. While not all API methods have been implemented yet, you’ll find most of what you need to build a working application are available.

This library is not affiliated with Picnic and retrieves data from the endpoints of the mobile application. Use at your own risk.

Getting started

The easiest way to install is directly from pip:

$ pip install python-picnic-api

Usage

I’ll go over a few common operations here you’ll most likely use in applications. To login:

from python_picnic_api import PicnicAPI

picnic = PicnicAPI(username='username', password='password', country_code="NL")

The country_code parameter defaults to NL, but you have to change it if you live in a different country than the Netherlands (Germany: DE, Belgium: BE). You can also store your credentials by setting the store value to true, this will store your credentials and country_code in /config/app.yaml.

Searching for a product

>>> picnic.search('coffee')
[{'type': 'CATEGORY', 'id': 'coffee', 'links': [{'type': 'SEARCH', 'href': 'https://storefront-prod.nl.picnicinternational.com/api/15/search?search_term=coffee'}], 'name': 'coffee', 'items': [{'type': 'SINGLE_ARTICLE', 'id': '10511523', 'decorators': [{'type': 'UNIT_QUANTITY', 'unit_quantity_text': '500 gram'}], 'name': 'Lavazza espresso koffiebonen', 'display_price': 599, 'price': 599, 'image_id': 'd3fb2888fc41514bc06dfd6b52f8622cc222d017d2651501f227a537915fcc4f', 'max_count': 50, 'unit_quantity': '500 gram', 'unit_quantity_sub': '€11.98/kg', 'tags': []}, ...

Check cart

>>> picnic.get_cart()
{'type': 'ORDER', 'id': 'shopping_cart', 'items': [], 'delivery_slots': [...

Manipulating your cart

All of these methods will return the shopping cart.

# adding 2 'Lavazza espresso koffiebonen' to cart
picnic.add_product('10511523', count=2)

# removing 1 'Lavazza espresso koffiebonen' from cart
picnic.remove_product('10511523')

# clearing the cart
picnic.clear_cart()

See upcoming deliveries

>>> picnic.get_current_deliveries()
[]

See available delivery slots

>>> picnic.get_delivery_slots()

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

python-picnic-api-1.1.0.tar.gz (9.2 kB view details)

Uploaded Source

Built Distribution

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

python_picnic_api-1.1.0-py3-none-any.whl (9.8 kB view details)

Uploaded Python 3

File details

Details for the file python-picnic-api-1.1.0.tar.gz.

File metadata

  • Download URL: python-picnic-api-1.1.0.tar.gz
  • Upload date:
  • Size: 9.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.1.4 CPython/3.8.5 Linux/5.8.0-48-generic

File hashes

Hashes for python-picnic-api-1.1.0.tar.gz
Algorithm Hash digest
SHA256 9771926d6f613c4d1822de6f56ca3eafc4b18bc80796c154ab49f1a117e1b8ab
MD5 0e5921e87c2523f5df1b2726b95c77f6
BLAKE2b-256 2c94490e8dd9817ed831de0686f6db8fb2010afbc9f5f833bbc8da3ff0347495

See more details on using hashes here.

File details

Details for the file python_picnic_api-1.1.0-py3-none-any.whl.

File metadata

  • Download URL: python_picnic_api-1.1.0-py3-none-any.whl
  • Upload date:
  • Size: 9.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.1.4 CPython/3.8.5 Linux/5.8.0-48-generic

File hashes

Hashes for python_picnic_api-1.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 e526d08f708f049c7ca1ce6744ecd04c9f8dfe95535457a8410efb8e189d2285
MD5 a0efbbc115a065040b809e9c5bd7caf8
BLAKE2b-256 f926c5d2ab89209e2bfc2ab1bca837c009b441ec4be5ddffb7cf6fa9f2438c98

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