Metadata-Version: 2.1
Name: blackcurve
Version: 0.2.2
Summary: An easy to use python interface for BlackCurve's API
Home-page: https://github.com/blackcurve/BlackCurve-API
Author: BlackCurve LTD.
Author-email: george.rowberry@blackcurve.com
License: UNKNOWN
Description: 
        # BlackCurve Python API Library 
        <img alt='BlackCurve' src="https://i.ibb.co/T27MkzL/bc.png" width="250">
        
        ## API Documentation  
        Documentation for the BlackCurve endpoints can be found [here](https://blackcurve.io/api/docs).  
        
        ## Requirements  
        * Python 2.7+
        * [Requests](http://docs.python-requests.org/en/master/) 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
         ```python
        	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?
         ```python
        	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
         ```python
        	# 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
         ```python
        	# 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
         ```python
        	# 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
        ```python
            # 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()
            
        ```
        
        
        
        
Platform: UNKNOWN
Classifier: Programming Language :: Python
Classifier: License :: OSI Approved :: MIT License
Classifier: Operating System :: OS Independent
Description-Content-Type: text/markdown
