An easy to use python interface for BlackCurve's API
Project description
BlackCurve Python API Library
API Documentation
Documentation for the BlackCurve endpoints can be found here.
Requirements
- Python 2.7+
- Requests HTTP library for python v2.0 or above.
Installation
$ pip install blackcurve
Basic Usage
Initiate a Connection
You just need your subdomain and a access token to get started
from blackcurve.api import BlackCurveAPI
bc = BlackCurveAPI({{ subdomain }}, {{ access_token }})
Reload a Access Token
Need a new access token, or just misplaced the old one?
bc = BlackCurveAPI({{ subdomain }})
token = bc.get_access_token({{ client_key }}, {{ client_secret }})
print(token)
This will also update your BlackCurveAPI instance with the new token so you can immediately carry on with requests.
Get Prices
Get a list of current Prices
# get all the prices
bc.prices().all()
# get all prices
prices = bc.prices().all()
print('You have {} prices'.format(len(prices)))
# get a price for a single product by Product ID
bc.prices().find('UK42')
# filter specific product columns
bc.prices(columns=['Price', 'Product ID']).all()
# filter geography
bc.prices(geography='UK').all()
# filter by column value -- price >= 5
bc.prices(price_gte=5).all()
Data Sources Info
Get column and data type information about your data sources
# get all the data sources
data_sources = bc.data_sources_info().all()
print(data_sources)
# get a single data source
sales_history = bc.data_sources_info().find('Sales History')
print(sales_history)
# create a new column
sales_history['New Order Column'] = 'Integer'
sales_history.save()
# delete a column
del sales_history['New Order Column']
sales_history.save()
Data Sources
Get a list of all of the data in a given source
# get all of the data from sales history
bc.data_sources('Sales History').all()
# get just the volume and product id columns in sales history
bc.data_sources('Sales History', columns=['Volume', 'Product ID']).all()
# filter by column value -- price >= 5
bc.data_sources('Sales History', price_gte=5).all()
# get a generator for all the pages returned in sales history (lazy requests)
sales_history = bc.data_sources('Sales History').all()
page = 1
for x in sales_history:
print('Page %s of Sales History: %s' % (page, x))
page += 1
# get a Transactions system id
sales_history = bc.data_sources('Sales History').all()
first_sale = sales_history[0]
first_sale_id = first_sale.id
# find a transaction by a system id
first_sale = bc.data_sources('Sales History').find(first_sale_id)
# edit a column on a transaction
first_sale['Price'] = 42.00
first_sale.save()
# create a new transaction
sales_history = bc.data_sources('Sales History')
sales_history.create({
'Product ID': 'UK54321',
'Profit': 7.77,
'Revenue': 6.66,
'Volume': 1,
'Price': 3.33,
'Transaction Date': datetime.date.today()
})
# get all transactions for a given product id
transactions = bc.data_sources('Sales History', product_id='UK54321').all()
print('There are {} transactions for product - UK54321'.format(len(transactions)))
# change the price of a product [must use the kwarg product_id as .find() is only for system id]
product = bc.data_sources('Product Inventory', product_id='UK54321').all()[0]
product['Price'] = 55.99
product.save()
Geographies & Currencies
Get a list of associated data for Geographies and Currencies
# get a list of all of the geography data
all_geographies = bc.geographies().all()
# get a specific geography
website_uk = bc.geographies('Website UK').all()
# get a list of all currencies
all_currencies = bc.currencies().all()
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
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 blackcurve-0.3.1.tar.gz.
File metadata
- Download URL: blackcurve-0.3.1.tar.gz
- Upload date:
- Size: 8.6 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/1.13.0 pkginfo/1.5.0.1 requests/2.19.1 setuptools/41.0.1 requests-toolbelt/0.9.1 tqdm/4.32.1 CPython/3.6.8
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
473c6162b6125b7c0c907e57e6c0c9775ef5c26475a08eb7734f092141dbd94c
|
|
| MD5 |
f3b22ed1ffbf41440bc0c300c2998947
|
|
| BLAKE2b-256 |
c51214c35ad1ac5b0cfe551f3b66abe39cfbbaf621b0fd8ae2bcf994198c5996
|
File details
Details for the file blackcurve-0.3.1-py3-none-any.whl.
File metadata
- Download URL: blackcurve-0.3.1-py3-none-any.whl
- Upload date:
- Size: 9.6 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/1.13.0 pkginfo/1.5.0.1 requests/2.19.1 setuptools/41.0.1 requests-toolbelt/0.9.1 tqdm/4.32.1 CPython/3.6.8
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
1b65dd912cf7f16136abfbd3e211dc9081fff05d3b89c56cdda7c3d9546c4866
|
|
| MD5 |
2fe4118b1ca9dcdc9da322264fe17288
|
|
| BLAKE2b-256 |
8314a9a30426d76de76547b80514b711c8e553c4d50eb333a5e0b934beccb136
|