{ "info": { "author": "Alex Contryman", "author_email": "acontry@gmail.com", "bugtrack_url": null, "classifiers": [ "Development Status :: 4 - Beta", "Intended Audience :: Developers", "License :: OSI Approved :: MIT License", "Natural Language :: English", "Programming Language :: Python", "Programming Language :: Python :: 3", "Programming Language :: Python :: 3.4", "Programming Language :: Python :: 3.5", "Programming Language :: Python :: 3.6", "Programming Language :: Python :: 3.7" ], "description": "CoinbasePro: A Python API\n=========================\n\n.. image:: https://img.shields.io/pypi/v/coinbasepro.svg\n :target: https://pypi.org/project/coinbasepro/\n\n.. image:: https://img.shields.io/pypi/l/coinbasepro.svg\n :target: https://pypi.org/project/coinbasepro/\n\n.. image:: https://img.shields.io/pypi/pyversions/coinbasepro.svg\n :target: https://pypi.org/project/coinbasepro/\n\nFeatures\n--------\n- Full support of Coinbase Pro REST API\n- Pythonic abstractions for a clean interface\n - Return values are returned as Python data types instead of all string values:\n\n .. code-block:: python\n\n >>> import coinbasepro as cbp\n >>> client = cbp.PublicClient()\n # datetime and Decimal are among the return types in the dict returned\n # by this call:\n >>> client.get_product_ticker('BTC-USD')\n {'trade_id': 2845680,\n 'price': Decimal('2496.69000000'),\n 'size': Decimal('0.00100000'),\n 'time': datetime.datetime(2019, 3, 20, 23, 53, 59, 596000),\n 'bid': Decimal('2496.69'), 'ask': Decimal('2496.7'),\n 'volume': Decimal('771.51495215')}\n\n - Paginated endpoints are abstracted as generators:\n\n .. code-block:: python\n\n >>> import itertools\n # get_product_trades is a generator\n >>> client.get_product_trades('BTC-USD')\n . at 0x1098d6f68>\n\n # Get 2 most recent trades. For many trade requests (>100), multiple\n # HTTP requests will be made under the hood.\n >>> list(itertools.islice(client.get_product_trades('BTC-USD'), 2))\n [{'time': datetime.datetime(2019, 3, 21, 0, 2, 45, 609000),\n 'trade_id': 2845779,\n 'price': Decimal('2463.38000000'),\n 'size': Decimal('0.00100000'),\n 'side': 'buy'},\n {'time': datetime.datetime(2019, 3, 21, 0, 2, 39, 877000),\n 'trade_id': 2845778,\n 'price': Decimal('2463.39000000'),\n 'size': Decimal('0.00100000'),\n 'side': 'sell'}]\n\n - Warts in the Coinbase REST API are smoothed out:\n\n .. code-block:: python\n\n # CBPro API returns raw candles from this call as tuples, which would\n # require user to look up value meaning in API docs. This python API\n # returns candles as a list of dicts, similar to other API endpoints.\n\n # Get first candle:\n >>> client.get_product_historic_rates('BTC-USD')[0]\n {'time': datetime.datetime(2019, 3, 21, 0, 6),\n 'low': Decimal('2463.3'),\n 'high': Decimal('2463.31'),\n 'open': Decimal('2463.3'),\n 'close': Decimal('2463.31'),\n 'volume': Decimal('0.006')}\n\n - Python API uses typing available in Python3:\n\n .. code-block:: python\n\n # Example function prototype in API\n def get_product_ticker(self, product_id: str) -> Dict[str, Any]:\n\n- Exceptions to enable easy handling of Coinbase error responses\n\n.. code-block:: python\n\n >>> client.get_product_ticker(product_id='fake_product')\n coinbasepro.exceptions.CoinbaseAPIError: NotFound\n\n.. code-block:: python\n\n >>> auth_client = cbp.AuthenticatedClient(key='fake',\n secret='fake',\n passphrase='fake')\n >>> auth_client.get_accounts()\n coinbasepro.exceptions.BadRequest: Invalid API Key\n\n.. code-block:: python\n\n # Authenticated client using API key which doesn't have withdrawal\n # privileges:\n >>> auth_client.withdraw_to_coinbase(0.01, 'BTC', 'fake_acct_id')\n coinbasepro.exceptions.InvalidAuthorization: Forbidden\n\n.. code-block:: python\n\n # This call throws a BadRequest exception\n >>> auth_client.get_order('invalid_order_num')\n coinbasepro.exceptions.BadRequest: Invalid order id\n\n # CoinbaseAPIError is the parent exception for all exceptions the API\n # throws, so catching this will catch anything\n >>> try:\n >>> auth_client.get_order('invalid_order_num')\n >>> except cbp.exceptions.CoinbaseAPIError as e:\n >>> print('Caught error: {}'.format(e))\n Caught error: Invalid order id\n\n\nInstallation\n------------\n\n.. code-block:: bash\n\n $ pip install coinbasepro\n\n.. :changelog:\n\nRelease History\n---------------\n\ndev\n+++\n\n- [Short description of non-trivial change.]\n\n0.1.1 (2019-07-23)\n++++++++++++++++++\n\n**Bugfixes**\n\n- Parameters used for historic rates (start/end) were not being sent in query parameters (thanks imalovitsa-exos!).\n\n0.1.0 (2019-03-20)\n++++++++++++++++++\n\n**Improvements**\n\n- Return values are now Pythonic types (i.e Decimal, datetime) instead of all string types.\n- Python3 typing now used to help with development using this API.\n- Docstring improvements and changes to match updated interface.\n- A bit more documentation in the readme.\n\n**Bugfixes**\n\n- Update requests version to >=2.20.0 to address security vulnerability.\n\n0.0.7 (2018-09-09)\n++++++++++++++++++\n\n**Bugfixes**\n\n- Fix parameter name for `get_product_historic_rates`.\n\n0.0.6 (2018-08-23)\n++++++++++++++++++\n\n**Improvements**\n\n- Update parameter validation for `get_fills` to reflect Coinbase API change.\n\n**Bugfixes**\n\n- Fixed bug where parameters had no effect in `get_product_historic_rates`.\n- Fixed bug where `product_id` parameter had no effect in `cancel_all`.\n\n0.0.5 (2018-08-21)\n++++++++++++++++++\n\n**Improvements**\n\n- Add exceptions for Coinbase error responses.\n\n0.0.4 (2018-07-15)\n++++++++++++++++++\n\n**Improvements**\n\n- Updated stop orders to latest API.\n\n**Bugfixes**\n\n- Fix issue with time in force error checking.\n\n0.0.3 (2018-07-07)\n++++++++++++++++++\n\n**Improvements**\n\n- Rename deposit and withdraw methods to clarify action.\n\n**Bugfixes**\n\n- Removed margin endpoints - now unsupported.\n\n0.0.2 (2018-07-01)\n+++++++++++++++++++\n\n**Improvements**\n\n- Client request timeout is now configurable.\n\n0.0.1 (2018-06-27)\n+++++++++++++++++++\n\n- Hello world.\n\n", "description_content_type": "text/x-rst", "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/acontry/coinbasepro", "keywords": "", "license": "MIT", "maintainer": "", "maintainer_email": "", "name": "coinbasepro", "package_url": "https://pypi.org/project/coinbasepro/", "platform": "", "project_url": "https://pypi.org/project/coinbasepro/", "project_urls": { "Homepage": "https://github.com/acontry/coinbasepro" }, "release_url": "https://pypi.org/project/coinbasepro/0.1.1/", "requires_dist": [ "requests (>=2.20.0)" ], "requires_python": ">=3.4.x", "summary": "A Python interface for the Coinbase Pro API.", "version": "0.1.1" }, "last_serial": 5574065, "releases": { "0.0.1": [ { "comment_text": "", "digests": { "md5": "02a81e39247739a6bd644770745ab783", "sha256": "e30a1111916f2f30a51667466b8aa19f7749639ffcda75ea8c705c4da145839f" }, "downloads": -1, "filename": "coinbasepro-0.0.1-py3-none-any.whl", "has_sig": false, "md5_digest": "02a81e39247739a6bd644770745ab783", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.4.x", "size": 13171, "upload_time": "2018-06-28T06:15:26", "url": "https://files.pythonhosted.org/packages/d6/59/3bf29b7ecc8d34b45adbfc389a83ffe2cc52d774b20ca2e8be055cedf724/coinbasepro-0.0.1-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "65f8014b969531f1f14fcb4a5cf4e2f5", "sha256": "aff3262ecc6a5fa367ce6dfeca20b0dd0e872a21a16dc90064460f5a2edc84cf" }, "downloads": -1, "filename": "coinbasepro-0.0.1.tar.gz", "has_sig": false, "md5_digest": "65f8014b969531f1f14fcb4a5cf4e2f5", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.4.x", "size": 12204, "upload_time": "2018-06-28T06:15:28", "url": "https://files.pythonhosted.org/packages/4d/b5/2d9aa7f24e4723dc7559c1c92db03f018c7b17e57cb3c470f210868f96d1/coinbasepro-0.0.1.tar.gz" } ], "0.0.2": [ { "comment_text": "", "digests": { "md5": "a7721b06ccd479d74d6ff5de058ad049", "sha256": "fc81870d42e0ec05f00f07be85cd3ae8c0ff0349666ce14767890b5177a4b6af" }, "downloads": -1, "filename": "coinbasepro-0.0.2-py3-none-any.whl", "has_sig": false, "md5_digest": "a7721b06ccd479d74d6ff5de058ad049", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.4.x", "size": 13427, "upload_time": "2018-07-01T21:04:09", "url": "https://files.pythonhosted.org/packages/82/5d/300c2f6914cc5d4ac3c46783d4801614b56ad4836261ccb2a2c4c076c99c/coinbasepro-0.0.2-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "dd6f92e0e713bc1d7a1c53b6ab47a752", "sha256": "54083d15a9e409560433f1d8fa0ae4268a41ded8b53d644eb4b607483fa43864" }, "downloads": -1, "filename": "coinbasepro-0.0.2.tar.gz", "has_sig": false, "md5_digest": "dd6f92e0e713bc1d7a1c53b6ab47a752", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.4.x", "size": 12570, "upload_time": "2018-07-01T21:04:11", "url": "https://files.pythonhosted.org/packages/7d/ef/d4d23226a1658848ad8667b35d1296d373fd49eb1b62579374e6373b8c5b/coinbasepro-0.0.2.tar.gz" } ], "0.0.3": [ { "comment_text": "", "digests": { "md5": "bc37a0471f2a3523d8b1fc57e1568d14", "sha256": "453c991ccc2f70a1818b3b62f4c6d3d20c4e034b68f4c6cc95e5da0fbacc72bd" }, "downloads": -1, "filename": "coinbasepro-0.0.3-py3-none-any.whl", "has_sig": false, "md5_digest": "bc37a0471f2a3523d8b1fc57e1568d14", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.4.x", "size": 13583, "upload_time": "2018-07-08T04:51:59", "url": "https://files.pythonhosted.org/packages/90/b7/a94bfb03dfe8a43046931d926ffa939046cf52786b6827e3a298a34acbe9/coinbasepro-0.0.3-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "38d8762f7e5137234e496f0480a87176", "sha256": "c27e05b6ce5c0f2d90733165992f35f5fd1fed85f72d8202419f3cfb8bad0b44" }, "downloads": -1, "filename": "coinbasepro-0.0.3.tar.gz", "has_sig": false, "md5_digest": "38d8762f7e5137234e496f0480a87176", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.4.x", "size": 12664, "upload_time": "2018-07-08T04:52:00", "url": "https://files.pythonhosted.org/packages/73/7f/8ad5a9ef7b18a94684cf9234e7a7defce722a28aa5fc92f8531cdf6bc059/coinbasepro-0.0.3.tar.gz" } ], "0.0.4": [ { "comment_text": "", "digests": { "md5": "69e3557cf4fb4c0541a7b303f3ffeef6", "sha256": "4804116449f6463129eeb0a92030c29c093fa371f4e95b3fa46737a7c978a6d1" }, "downloads": -1, "filename": "coinbasepro-0.0.4-py3-none-any.whl", "has_sig": false, "md5_digest": "69e3557cf4fb4c0541a7b303f3ffeef6", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.4.x", "size": 13042, "upload_time": "2018-07-15T20:49:39", "url": "https://files.pythonhosted.org/packages/72/d1/2483a41bcdf640e17d7a6baf2e00bfcc1c5e9c4149c13aaf2a1b27a5a201/coinbasepro-0.0.4-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "498c219736b03ff01405dc2ab5f3ffb8", "sha256": "8b4a242301330b37fc1a9bca779e10442c40f889015a51d5c3048aa75a0fddb2" }, "downloads": -1, "filename": "coinbasepro-0.0.4.tar.gz", "has_sig": false, "md5_digest": "498c219736b03ff01405dc2ab5f3ffb8", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.4.x", "size": 12362, "upload_time": "2018-07-15T20:49:41", "url": "https://files.pythonhosted.org/packages/8a/73/89379f46f520fa5b9b0aa7874724999a8d001035a7ae76a3d04282d34905/coinbasepro-0.0.4.tar.gz" } ], "0.0.5": [ { "comment_text": "", "digests": { "md5": "44c0ae5f8e8058d3090faaf7915c0b89", "sha256": "ba734dfa9d0235096e455b9a427e136cd8dd05cfae3c7aec98608634ecd71d2e" }, "downloads": -1, "filename": "coinbasepro-0.0.5-py3-none-any.whl", "has_sig": false, "md5_digest": "44c0ae5f8e8058d3090faaf7915c0b89", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.4.x", "size": 13295, "upload_time": "2018-08-22T06:23:37", "url": "https://files.pythonhosted.org/packages/fb/4f/f1612a54e0d224bbf3dd45a5c929a2eccb8086a469e0928c4f327e7501c2/coinbasepro-0.0.5-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "7babf64bf96876751df6b119ce881bca", "sha256": "5030e85d39ef14bde6090213334f3587e9cb453e921c47bb3acab62d93bb41e3" }, "downloads": -1, "filename": "coinbasepro-0.0.5.tar.gz", "has_sig": false, "md5_digest": "7babf64bf96876751df6b119ce881bca", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.4.x", "size": 12629, "upload_time": "2018-08-22T06:23:39", "url": "https://files.pythonhosted.org/packages/f8/24/319bb4c8972dbc7ac5962b28db8506e31f0c564394fc0a0622c8205a654c/coinbasepro-0.0.5.tar.gz" } ], "0.0.6": [ { "comment_text": "", "digests": { "md5": "187806b5dcf1e095b82cd46d26be9888", "sha256": "71d2d0f9739c6cc4943263a6e86c3cbb3829d3af5b7bfd857c731d1ca9b8ca48" }, "downloads": -1, "filename": "coinbasepro-0.0.6-py3-none-any.whl", "has_sig": false, "md5_digest": "187806b5dcf1e095b82cd46d26be9888", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.4.x", "size": 13441, "upload_time": "2018-08-24T05:11:36", "url": "https://files.pythonhosted.org/packages/63/ce/fbf15d7c1f7852c522b1abc6cc8532ff95c997546ef7d864703aecb316ad/coinbasepro-0.0.6-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "440fdb4d3963964e032e069f907eda5e", "sha256": "5137aa2cb48de45f1bd6848e8216ead0185aca04cbc7513a0439fff10e5984b8" }, "downloads": -1, "filename": "coinbasepro-0.0.6.tar.gz", "has_sig": false, "md5_digest": "440fdb4d3963964e032e069f907eda5e", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.4.x", "size": 12838, "upload_time": "2018-08-24T05:11:38", "url": "https://files.pythonhosted.org/packages/7b/2e/b2ef5f52902951e07f4c7cadb55ac31687dc13882e8904eb807bb3c70ab2/coinbasepro-0.0.6.tar.gz" } ], "0.0.7": [ { "comment_text": "", "digests": { "md5": "22f0daf05ce63933707742e6b2caae40", "sha256": "799f991000f791c4ced14d39eb139b0a685ee4b29e66750573dbdac0da2fa99b" }, "downloads": -1, "filename": "coinbasepro-0.0.7-py3-none-any.whl", "has_sig": false, "md5_digest": "22f0daf05ce63933707742e6b2caae40", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.4.x", "size": 13469, "upload_time": "2018-09-09T17:45:59", "url": "https://files.pythonhosted.org/packages/7f/f2/605d699668f0ae6940b067c46be813284679cc5c810434bd5fa2a014c32c/coinbasepro-0.0.7-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "9947d5ec035b78c3096ec4a965d2788d", "sha256": "ca5d2335c4bf0cebf73dc137b611b24fcc6402ed4ecf788b902145aa37811135" }, "downloads": -1, "filename": "coinbasepro-0.0.7.tar.gz", "has_sig": false, "md5_digest": "9947d5ec035b78c3096ec4a965d2788d", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.4.x", "size": 12888, "upload_time": "2018-09-09T17:46:01", "url": "https://files.pythonhosted.org/packages/58/9c/db322ac7f453d9c319151a518668b727d7208a2f21a2585a5fd96e58b068/coinbasepro-0.0.7.tar.gz" } ], "0.1.0": [ { "comment_text": "", "digests": { "md5": "eb045bd730f3a7401e1d1293d092766b", "sha256": "b55918a04b5e9d1ddf78c8bfac1dd8783694fdf36b68b32379372e077bb7a1e5" }, "downloads": -1, "filename": "coinbasepro-0.1.0-py3-none-any.whl", "has_sig": false, "md5_digest": "eb045bd730f3a7401e1d1293d092766b", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.4.x", "size": 16858, "upload_time": "2019-03-21T01:00:45", "url": "https://files.pythonhosted.org/packages/5a/ef/9558583153e01c4ae8f5b2f369e8ce31095750da61e73e55055cae87faae/coinbasepro-0.1.0-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "17822129d6031c3547d3d209db9b35ec", "sha256": "48b21520611aee4892549c025db62dfa5607b5ac82a10f6147342f81ecf3eff5" }, "downloads": -1, "filename": "coinbasepro-0.1.0.tar.gz", "has_sig": false, "md5_digest": "17822129d6031c3547d3d209db9b35ec", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.4.x", "size": 17206, "upload_time": "2019-03-21T01:00:47", "url": "https://files.pythonhosted.org/packages/6b/d7/7a32e8236866abd05ce55a5a9a9b0f3fe1fa5acef5f76673ba2fdf7de6eb/coinbasepro-0.1.0.tar.gz" } ], "0.1.1": [ { "comment_text": "", "digests": { "md5": "b078eec9de118deb53e988bd7471fb6f", "sha256": "fca0e188fe152a9fb218926b8dc7cfdc730e0d6ff27675d3331f41567ad1ba2c" }, "downloads": -1, "filename": "coinbasepro-0.1.1-py3-none-any.whl", "has_sig": false, "md5_digest": "b078eec9de118deb53e988bd7471fb6f", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.4.x", "size": 16941, "upload_time": "2019-07-23T19:21:04", "url": "https://files.pythonhosted.org/packages/ad/da/dd8866f53bdb457451452fb3dadb691d65d4e8fef0d4e358591af6442fa2/coinbasepro-0.1.1-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "16ddc7568aa730e09a5bdb434b9d6f74", "sha256": "d8d8ea54691b73a00107c80b87dda665358efbd5134391582c9ae85971cc4b02" }, "downloads": -1, "filename": "coinbasepro-0.1.1.tar.gz", "has_sig": false, "md5_digest": "16ddc7568aa730e09a5bdb434b9d6f74", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.4.x", "size": 17362, "upload_time": "2019-07-23T19:21:06", "url": "https://files.pythonhosted.org/packages/d9/76/87ba4f80ad400a7bbe8b4b82ff1ceba4b1e4d0e7bef4c60f6fbe8ec64858/coinbasepro-0.1.1.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "b078eec9de118deb53e988bd7471fb6f", "sha256": "fca0e188fe152a9fb218926b8dc7cfdc730e0d6ff27675d3331f41567ad1ba2c" }, "downloads": -1, "filename": "coinbasepro-0.1.1-py3-none-any.whl", "has_sig": false, "md5_digest": "b078eec9de118deb53e988bd7471fb6f", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.4.x", "size": 16941, "upload_time": "2019-07-23T19:21:04", "url": "https://files.pythonhosted.org/packages/ad/da/dd8866f53bdb457451452fb3dadb691d65d4e8fef0d4e358591af6442fa2/coinbasepro-0.1.1-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "16ddc7568aa730e09a5bdb434b9d6f74", "sha256": "d8d8ea54691b73a00107c80b87dda665358efbd5134391582c9ae85971cc4b02" }, "downloads": -1, "filename": "coinbasepro-0.1.1.tar.gz", "has_sig": false, "md5_digest": "16ddc7568aa730e09a5bdb434b9d6f74", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.4.x", "size": 17362, "upload_time": "2019-07-23T19:21:06", "url": "https://files.pythonhosted.org/packages/d9/76/87ba4f80ad400a7bbe8b4b82ff1ceba4b1e4d0e7bef4c60f6fbe8ec64858/coinbasepro-0.1.1.tar.gz" } ] }