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
blackcurve-0.2.1.tar.gz
(10.0 kB
view hashes)
Built Distribution
blackcurve-0.2.1-py3-none-any.whl
(14.7 kB
view hashes)
Close
Hashes for blackcurve-0.2.1-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | e644018706cc03f6da8ebaf1f6887576ca695d3a4ca0ab9594f2084daff4d525 |
|
MD5 | 09e63186b35a4de776747468cd77287d |
|
BLAKE2b-256 | 673c301fb9221e891bd66a4a382071551c373f47eddf7a09b04a6e6736179a20 |