Package: blackcurve
BlackCurve Python API LibraryAPI DocumentationDocumentation for the BlackCurve endpoints can be foundhere.RequirementsPython 2.7+RequestsHTTP library for python v2.0 or above.Installation$ pip install blackcurveBasic UsageInitiate a ConnectionYou just need your subdomain and a access token to get startedfromblackcurve.apiimportBlackCurveAPIbc=BlackCurveAPI({{subdomain}},{{access_token}})Reload a Access TokenNeed 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 PricesGet a list of current Prices# get all the pricesbc.prices().all()# get all pricesprices=bc.prices().all()print('You have{}prices'.format(len(prices)))# get a price for a single product by Product IDbc.prices().find('UK42')# filter specific product columnsbc.prices(columns=['Price','Product ID']).all()# filter geographybc.prices(geography='UK').all()# filter by column value -- price >= 5bc.prices(price_gte=5).all()Data Sources InfoGet column and data type information about your data sources# get all the data sourcesdata_sources=bc.data_sources_info().all()print(data_sources)# get a single data sourcesales_history=bc.data_sources_info().find('Sales History')print(sales_history)# create a new columnsales_history['New Order Column']='Integer'sales_history.save()# delete a columndelsales_history['New Order Column']sales_history.save()Data SourcesGet a list of all of the data in a given source# get all of the data from sales historybc.data_sources('Sales History').all()# get just the volume and product id columns in sales historybc.data_sources('Sales History',columns=['Volume','Product ID']).all()# filter by column value -- price >= 5bc.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=1forxinsales_history:print('Page%sof Sales History:%s'%(page,x))page+=1# get a Transactions system idsales_history=bc.data_sources('Sales History').all()first_sale=sales_history[0]first_sale_id=first_sale.id# find a transaction by a system idfirst_sale=bc.data_sources('Sales History').find(first_sale_id)# edit a column on a transactionfirst_sale['Price']=42.00first_sale.save()# create a new transactionsales_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 idtransactions=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.99product.save()Geographies & CurrenciesGet a list of associated data for Geographies and Currencies# get a list of all of the geography dataall_geographies=bc.geographies().all()# get a specific geographywebsite_uk=bc.geographies('Website UK').all()# get a list of all currenciesall_currencies=bc.currencies().all()