{ "info": { "author": "Daybit Developers", "author_email": "", "bugtrack_url": null, "classifiers": [ "License :: OSI Approved :: Apache Software License", "Programming Language :: Python :: 3" ], "description": "# Pydaybit\n[![CircleCI](https://circleci.com/gh/daybit-exchange/pydaybit.svg?shield=svg&circle-token=b7d9eaa9d871c3421f8ca3583be4a379f9b6b856)](https://circleci.com/gh/daybit-exchange/pydaybit)\n\n**Pydaybit** is an API wrapper for [**Daybit**](https://www.daybit.com) exchange written in Python.\nIt supports python 3.5 or newer.\n\n## Disclaimer\n\nUSE THE SOFTWARE AT YOUR OWN RISK. THE AUTHORS AND ALL AFFILIATES ASSUME NO RESPONSIBILITY FOR YOUR TRADING RESULTS.\n\n## Installation\n\n $ pip install --upgrade pydaybit\n\n## Environment Variables\n* `DAYBIT_API_KEY`\n* `DAYBIT_API_SECRET`\n\n## Examples\n\n\n#### Server Timestamp\n```python\nimport asyncio\n\nfrom pydaybit import Daybit\n\n\nasync def daybit_get_server_time():\n async with Daybit() as daybit:\n server_timestamp = await daybit.get_server_time()\n print('Daybit: {}'.format(server_timestamp))\n\n\nasyncio.get_event_loop().run_until_complete(daybit_get_server_time())\n```\n\n#### Without Enviroment Variables\n```python\nimport asyncio\nfrom pprint import pprint\n\nfrom pydaybit import Daybit, PARAM_API_KEY, PARAM_API_SECRET\n\n\nasync def daybit_trades():\n async with Daybit(url='wws://api.daybit.com/v1/user_api_socket/websocket',\n params={PARAM_API_KEY: \"YOUR_API_KEY\",\n PARAM_API_SECRET: \"YOUR_API_SECRET\"}) as daybit:\n pprint(await daybit.trades(quote='USDT',\n base='BTC',\n num_trades=5), indent=2)\n\n\nasyncio.get_event_loop().run_until_complete(daybit_markets())\n```\n\n#### Without Asynchronous Context Manager\n```python\nimport asyncio\nfrom pprint import pprint\n\nfrom pydaybit import Daybit\n\n\nasync def daybit_markets():\n daybit = Daybit()\n await daybit.connect()\n pprint(await daybit.markets(), indent=2)\n await daybit.disconnect()\n\n\nasyncio.get_event_loop().run_until_complete(daybit_markets())\n```\n\n#### Subscriptons\nAll Subscription APIs are updated in real time. Following `daybit_without_await()` will print coin prices as same as `daybit_coin_prices()`.\n```python\nimport asyncio\nfrom pprint import pprint\n\nfrom pydaybit import Daybit\n\n\nasync def daybit_coin_prices():\n async with Daybit() as daybit:\n for _ in range(5):\n pprint(await daybit.coin_prices(), indent=2)\n await asyncio.sleep(1)\n\n\nasync def daybit_without_await():\n async with Daybit() as daybit:\n await daybit.coin_prices()\n for _ in range(5):\n pprint(daybit.channel('/subscription:coin_prices').data, indent=2)\n await asyncio.sleep(1)\n\n\nasyncio.get_event_loop().run_until_complete(daybit_coin_prices())\n# asyncio.get_event_loop().run_until_complete(daybit_without_await())\n```\n\n#### Subscription Args\nChannel Arguments can be described with `/` operators.\n```python\nimport asyncio\nimport time\n\nfrom pydaybit import Daybit\n\n\nasync def get_candles(from_time, to_time, interval, quote, base):\n async with Daybit() as daybit:\n channel = daybit.price_histories / quote / base / interval\n candles = await channel(from_time=from_time,\n to_time=to_time)\n print(candles)\n\n\nasyncio.get_event_loop().run_until_complete(get_candles(from_time=int((time.time() - 1000) * 1000),\n to_time=int(time.time() * 1000),\n interval=60,\n quote='USDT',\n base='BTC'))\n```\n\n#### Reset Cached Data\nA channel have local cached data in `channel.data`. If want to remove cached data, use `channel.reset_data()`. \nFor example, see `examples/candles.py`.\n\n```python\nasync def get_candles(start_time, end_time, interval, quote, base, max_size=100, candle_type=float):\n...\n async with Daybit() as daybit:\n ...\n channel = daybit.price_histories / quote / base / interval\n for to_time in range(end_time, start_time, -(max_size * interval * 1000)):\n from_time = max(start_time, to_time - ((max_size - 1) * interval * 1000))\n\n channel.reset_data()\n candles = await channel(from_time=from_time,\n to_time=to_time)\n...\n```\n\n\n## TEST\n\n $ python -m pytest\nor \n\n $ pytest\n\n\n## License\n\nApache License 2.0\n\n\n", "description_content_type": "", "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/daybit-exchange/pydaybit", "keywords": "", "license": "", "maintainer": "", "maintainer_email": "", "name": "daybit", "package_url": "https://pypi.org/project/daybit/", "platform": "", "project_url": "https://pypi.org/project/daybit/", "project_urls": { "Homepage": "https://github.com/daybit-exchange/pydaybit" }, "release_url": "https://pypi.org/project/daybit/0.0.2/", "requires_dist": [ "async-timeout", "dateparser", "furl", "numpy", "pandas", "pytz", "tabulate", "websockets" ], "requires_python": "", "summary": "an API wrapper for Daybit-exchange", "version": "0.0.2" }, "last_serial": 4418801, "releases": { "0.0.2": [ { "comment_text": "", "digests": { "md5": "5194937660ff87b9c785f5daba1f533e", "sha256": "d19674bbe2a719a425c36a04a25015d96713f8bc6b0d2f1c937b96124122db19" }, "downloads": -1, "filename": "daybit-0.0.2-py3-none-any.whl", "has_sig": false, "md5_digest": "5194937660ff87b9c785f5daba1f533e", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 10853, "upload_time": "2018-10-26T10:07:54", "url": "https://files.pythonhosted.org/packages/86/0f/6d7daec2f9068844f048dfc2ae7faa686ade0c83ec874a71b75a9aa3a4f6/daybit-0.0.2-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "ed599b33b87fd024bc44cf9a6311e27d", "sha256": "78b3455ce3a98ac1dcfda150832c0c2fd4b56b0ef3a09f2d925faad745586f42" }, "downloads": -1, "filename": "daybit-0.0.2.tar.gz", "has_sig": false, "md5_digest": "ed599b33b87fd024bc44cf9a6311e27d", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 9406, "upload_time": "2018-10-26T10:07:56", "url": "https://files.pythonhosted.org/packages/f0/52/925b5a22174be6b96e828e7079596db7c3ff235552080e5a1a17696d7b0e/daybit-0.0.2.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "5194937660ff87b9c785f5daba1f533e", "sha256": "d19674bbe2a719a425c36a04a25015d96713f8bc6b0d2f1c937b96124122db19" }, "downloads": -1, "filename": "daybit-0.0.2-py3-none-any.whl", "has_sig": false, "md5_digest": "5194937660ff87b9c785f5daba1f533e", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 10853, "upload_time": "2018-10-26T10:07:54", "url": "https://files.pythonhosted.org/packages/86/0f/6d7daec2f9068844f048dfc2ae7faa686ade0c83ec874a71b75a9aa3a4f6/daybit-0.0.2-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "ed599b33b87fd024bc44cf9a6311e27d", "sha256": "78b3455ce3a98ac1dcfda150832c0c2fd4b56b0ef3a09f2d925faad745586f42" }, "downloads": -1, "filename": "daybit-0.0.2.tar.gz", "has_sig": false, "md5_digest": "ed599b33b87fd024bc44cf9a6311e27d", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 9406, "upload_time": "2018-10-26T10:07:56", "url": "https://files.pythonhosted.org/packages/f0/52/925b5a22174be6b96e828e7079596db7c3ff235552080e5a1a17696d7b0e/daybit-0.0.2.tar.gz" } ] }