Skip to main content

An easy to use python interface for BlackCurve's API

Project description

BlackCurve Python API Library

BlackCurve

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.3.1.tar.gz (8.6 kB view hashes)

Uploaded Source

Built Distribution

blackcurve-0.3.1-py3-none-any.whl (9.6 kB view hashes)

Uploaded Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page