Package: quadrigacx
Python QuadrigaCX=================quadrigacx is a Python wrapper for the `QuadrigaCX API (v2)`_.Install~~~~~~~``pip install quadrigacx``or ``pip install setup.py`` in the repo’s main directory after youdownload this repo.Configuration~~~~~~~~~~~~~You will need to create a config file in order to use the authenticatedAPI actions. Use sample.cfg in the config folderUsage~~~~~Basically, create a QCX object, passing in the path to the config file[like in ``quadrigacx/config/sample.cfg``], or the config options in adict [i.e.``{client_id:0000, key:yOurKeY, secret:Y0Ur53crr3T142351236}``]::import quadrigacxqcx = quadrigacx.QCX('config/auth.cfg')That QCX object then has a methods called ``methods`` which will tellyou all of the actions available in this format:::qcx.methods(){'private':[{'name':'name_of_action','requires': {'key': [value for key,value in {'maybe':'some', 'example':'data'}]},'optional': {'key': [value for key,value in {'maybe':'some', 'optional':'data'}]},'returns': {'something': {u'details': u'850.99',u'more_details': u'837.51'}},},],'public':[{'name':'name_of_action','requires': {'key': [value for key,value in {'maybe':'some', 'example':'data'}]},'optional': {'key': [value for key,value in {'maybe':'some', 'optional':'data'}]},'returns': {'something': {u'details': u'850.99',u'more_details': u'837.51'}},}]}You can take that ``name`` and pass it into QCX.api(), along with the``required`` (and ``optional``, if needed) data *as keyword arguments*,and you’ll get something like the expected ``returns``.+------------+------+--------------+------------------+------------------------+-------+| **Function | **Au | **Required   | **Default**      | **Optional Arguments** | **Def || Name**     | th** | Arguments**  |                  |                        | ault* ||            |      |              |                  |                        | *     |+============+======+==============+==================+========================+=======+| ticker     | No   | a or a list  | [btc\_cad,       |                        |       ||            |      | of valid     | btc\_usd,        |                        |       ||            |      | books        | eth\_cad,        |                        |       ||            |      |              | eth\_btc]        |                        |       |+------------+------+--------------+------------------+------------------------+-------+| order\_boo | No   | a or a list  | [btc\_cad,       | A boolean to group     | False || k          |      | of valid     | btc\_usd,        | orders with the same   |       ||            |      | books        | eth\_cad,        | price or not           |       ||            |      |              | eth\_btc]        |                        |       |+------------+------+--------------+------------------+------------------------+-------+| transactio | No   | a or a list  | [btc\_cad,       | A time frame; last     | hour  || ns         |      | of valid     | btc\_usd,        | ‘minute’, or ‘hour’    |       ||            |      | books        | eth\_cad,        |                        |       ||            |      |              | eth\_btc]        |                        |       |+------------+------+--------------+------------------+------------------------+-------+| balance    | Yes  |              |                  |                        |       |+------------+------+--------------+------------------+------------------------+-------+| user\_tran | Yes  | a or a list  | [btc\_cad,       |                        |       || sactions   |      | of valid     | btc\_usd,        |                        |       ||            |      | books        | eth\_cad,        |                        |       ||            |      |              | eth\_btc]        |                        |       |+------------+------+--------------+------------------+------------------------+-------+| open\_orde | Yes  | open\_orders | [btc\_cad,       |                        |       || rs         |      |              | btc\_usd,        |                        |       ||            |      |              | eth\_cad,        |                        |       ||            |      |              | eth\_btc]        |                        |       |+------------+------+--------------+------------------+------------------------+-------+| lookup\_or | Yes  | order\_id    |                  |                        |       || der        |      |              |                  |                        |       |+------------+------+--------------+------------------+------------------------+-------+| cancel\_or | Yes  | order\_id    |                  |                        |       || der        |      |              |                  |                        |       |+------------+------+--------------+------------------+------------------------+-------+| buy        | Yes  | a valid book |                  | a price                |       |+------------+------+--------------+------------------+------------------------+-------+|            |      | an amount    |                  |                        |       |+------------+------+--------------+------------------+------------------------+-------+| sell       | Yes  | a valid book |                  | a price                |       |+------------+------+--------------+------------------+------------------------+-------+|            |      | an amount    |                  |                        |       |+------------+------+--------------+------------------+------------------------+-------+| bitcoin\_d | Yes  |              |                  |                        |       || eposit\_ad |      |              |                  |                        |       || dress      |      |              |                  |                        |       |+------------+------+--------------+------------------+------------------------+-------+| ether\_dep | Yes  |              |                  |                        |       || osit\_addr |      |              |                  |                        |       || ess        |      |              |                  |                        |       |+------------+------+--------------+------------------+------------------------+-------+| bitcoin\_w | Yes  | an amount    |                  |                        |       || ithdrawal  |      |              |                  |                        |       |+------------+------+--------------+------------------+------------------------+-------+|            |      | an address   |                  |                        |       |+------------+------+--------------+------------------+------------------------+-------+| ethereum\_ | Yes  | an amount    |                  |                        |       || withdrawal |      |              |                  |                        |       |+------------+------+--------------+------------------+------------------------+-------+|            |      | an address   |                  |                        |       |+------------+------+--------------+------------------+------------------------+-------+**Notes:**-  Not all items in methods() show what the return value is. I willeventually update that, but for now just play around.-  I only show what the positive response should look like, negativeresponses could be (and often are) entirely different.-  Honestly, you are better off just looking at QuadrigaCX’s API page tosee what resuts they will provide:https://www.quadrigacx.com/api\_infoExamples:~~~~~~~~~Basic^^^^^::print qcx.api('ticker')>> {'eth_cad': {u'volume': u'730.00552932', u'last': u'15.00', u'timestamp': u'1467639054', u'bid': u'14.90', u'vwap': u'15.47', u'high': u'16.34', u'low': u'15.00', u'ask': u'16.08'}, 'btc_cad': {u'volume': u'161.49814654', u'last': u'886.00', u'timestamp': u'1467639053', u'bid': u'878.20', u'vwap': u'867.00', u'high': u'886.00', u'low': u'856.79', u'ask': u'887.97'}, 'eth_btc': {u'volume': u'2256.84091030', u'last': u'0.01722000', u'timestamp': u'1467639054', u'bid': u'0.01722000', u'vwap': u'0.01794464', u'high': u'0.01855999', u'low': u'0.01722000', u'ask': u'0.01819999'}, 'btc_usd': {u'volume': u'10.06581000', u'last': u'670.00', u'timestamp': u'1467639053', u'bid': u'663.10', u'vwap': u'666.91', u'high': u'700.26', u'low': u'670.00', u'ask': u'688.00'}}Optional Parameter as String^^^^^^^^^^^^^^^^^^^^^^^^^^^^::book = 'btc_cad' # Undocumented ability to send individual values not in a listprint qcx.api('ticker', book_list=book)>> {'btc_cad': {u'volume': u'161.49814654', u'last': u'886.00', u'timestamp': u'1467639054', u'bid': u'878.20', u'vwap': u'867.00', u'high': u'886.00', u'low': u'856.79', u'ask': u'887.97'}}Optional parameter as List^^^^^^^^^^^^^^^^^^^^^^^^^^::book_list = ['btc_cad', 'eth_btc']print qcx.api('ticker', book_list=book_list)>> {'btc_cad': {u'volume': u'161.49814654', u'last': u'886.00', u'timestamp': u'1467639055', u'bid': u'878.20', u'vwap': u'867.00', u'high': u'886.00', u'low': u'856.79', u'ask': u'887.97'}, 'eth_btc': {u'volume': u'2256.84091030', u'last': u'0.01722000', u'timestamp': u'1467639055', u'bid': u'0.01722000', u'vwap': u'0.01794464', u'high': u'0.01855999', u'low': u'0.01722000', u'ask': u'0.01819999'}}Limit Purchase with unnamed parameters^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^::book = 'btc_cad'amount = 0.005print qcx.api('buy', book, amount)>> {u'error': {u'message': u'Incorrect : $7.50CAD exceeds available CAD balance', u'code': 21}}