{ "info": { "author": "Ofek Lev", "author_email": "ofekmeister@gmail.com", "bugtrack_url": null, "classifiers": [ "Development Status :: 4 - Beta", "Intended Audience :: Developers", "Intended Audience :: End Users/Desktop", "License :: OSI Approved :: MIT License", "Natural Language :: English", "Operating System :: OS Independent", "Programming Language :: Python :: 3.5", "Programming Language :: Python :: 3.6", "Programming Language :: Python :: Implementation :: CPython", "Programming Language :: Python :: Implementation :: PyPy" ], "description": "UFOBit: UFO made easy.\n=======================\n\n.. image:: https://img.shields.io/pypi/v/ufobit.svg?style=flat-square\n :target: https://pypi.org/project/ufobit\n\n.. image:: https://img.shields.io/pypi/pyversions/ufobit.svg?style=flat-square\n :target: https://pypi.org/project/ufobit\n\n.. image:: https://img.shields.io/badge/license-MIT-blue.svg?style=flat-square\n :target: https://en.wikipedia.org/wiki/MIT_License\n\n-----\n\nUFOBit is Python's `fastest `_\nUniform Fiscal Object library and was designed from the beginning to feel intuitive, be\neffortless to use, and have readable source code. It is heavily inspired by\n`Requests `_ and\n`Keras `_. Based on Ofek's Bit code.\n\n**UFOBit is so easy to use, in fact, you can do this:**\n\n.. code-block:: python\n\n >>> import ufobit\n >>>\n >>> ufobit.config['api_key'] = 'cryptoid api key'\n >>> my_key = ufobit.Key(...)\n >>> my_key.get_balance('ufo')\n '378.623'\n >>>\n >>> outputs = [\n >>> ('Bz9rtnrFgjEC6Tv6CWpHz8EYFwJJJnwwjq', 25, 'ufo'),\n >>> ('Bu6rsw6ineEDUuH1Ph5CRzVqTt7s3skgDq', 50, 'satoshi'),\n >>> ('C5urCiXUyAnsrnKf7RaB2oBpdKxo51Vkpc', 0.02, 'usd'),\n >>> ('CFhf3Pk3T3MhFvAidRZJ9cxkJ8DurLYmo1', 1, 'rub'),\n >>> ]\n >>>\n >>> my_key.send(outputs)\n 'cfecc199a5c6e6bc24610366e8eda36571162e9e3f7c419f0b6095c257acc5fc'\n >>>\n >>> ufobit.network.services.UFO.get_tx('cfecc199a5c6e6bc24610366e8eda36571162e9e3f7c419f0b6095c257acc5fc')\n {\n \"hash\": \"cfecc199a5c6e6bc24610366e8eda36571162e9e3f7c419f0b6095c257acc5fc\",\n \"block\": 1275211,\n \"timestamp\": 1522830963,\n \"confirmations\": 5493,\n \"fees\": 0.01,\n \"total_input\": 378.623,\n \"inputs\": [\n {\n \"addr\": \"CA9GaxxUuhexg2hv14Ws1wkvoxLmfqT7HY\",\n \"amount\": 3.0,\n \"received_from\": {\n \"tx\": \"17290dcbb508f2c69b7ba552c88176e679865297fb090d7ef061cc37c4d9599a\",\n \"n\": 0\n }\n },\n {\n \"addr\": \"CA9GaxxUuhexg2hv14Ws1wkvoxLmfqT7HY\",\n \"amount\": 375.623,\n \"received_from\": {\n \"tx\": \"2334f2259f57207876a2b7364d2f7e306c18f0db2e76c8324f71f69ae587cebc\",\n \"n\": 1\n }\n }\n ],\n \"total_output\": 378.613,\n \"outputs\": [\n {\n \"addr\": \"Bz9rtnrFgjEC6Tv6CWpHz8EYFwJJJnwwjq\",\n \"amount\": 25.0,\n \"script\": \"76a9144d1519b9ab1934c5818239464fb734854c3051b488ac\"\n },\n {\n \"addr\": \"Bu6rsw6ineEDUuH1Ph5CRzVqTt7s3skgDq\",\n \"amount\": 3.56887937,\n \"script\": \"76a91415ab361a5c7df1f1f39f6b72caf81732f80e6aa788ac\"\n },\n {\n \"addr\": \"C5urCiXUyAnsrnKf7RaB2oBpdKxo51Vkpc\",\n \"amount\": 19.45449593,\n \"script\": \"76a9148c3f74782fdc29a214dd1b6168033801e46d146388ac\"\n },\n {\n \"addr\": \"CFhf3Pk3T3MhFvAidRZJ9cxkJ8DurLYmo1\",\n \"amount\": 16.87786971,\n \"script\": \"76a914f7a2679c125ae6d90da693dc5fb2b818f213116c88ac\"\n },\n {\n \"addr\": \"CA9GaxxUuhexg2hv14Ws1wkvoxLmfqT7HY\",\n \"amount\": 313.71175499,\n \"script\": \"76a914baa9b852078d0528379e97798693d2a71676c8c088ac\"\n }\n ]\n }\n\nHere is the transaction ``_.\n\nFeatures\n--------\n\n- Python's fastest available implementation (100x faster than closest library)\n- Seamless integration with existing server setups\n- Supports keys in cold storage\n- Fully supports 25 different currencies\n- First class support for storing data in the blockchain\n- Deterministic signatures via RFC 6979\n- Access to the blockchain through multiple APIs for redundancy\n- Exchange rate API, with optional caching\n- Optimal transaction fee API, with optional caching\n- Compressed public keys by default\n- Multiple representations of private keys; WIF, PEM, DER, etc.\n- Standard P2PKH transactions\n\nIf you are intrigued, continue reading. If not, continue all the same!\n\nInstallation\n------------\n\nBit is distributed on `PyPI`_ as a universal wheel and is available on Linux/macOS\nand Windows and supports Python 3.5+ and PyPy3.5-v5.7.1+. ``pip`` >= 8.1.2 is required.\n\n.. code-block:: bash\n\n $ pip install ufobit\n\nDocumentation\n-------------\n\nDocs are `hosted by Github Pages`_ and are automatically built and published\nby Travis after every successful commit to UFOBit's ``master`` branch.\n\nCredits\n-------\n\n- Logo courtesy of ``_\n- `Gregory Maxwell`_ (Bitcoin core dev) for teaching me a bit of `ECC`_ math\n- `arubi`_ in #bitcoin for helping me understand transaction gotchas\n- `fuzeman`_ for bestowing me the name ``bit`` on the `Python Package Index`_\n\n.. _PyPI: https://pypi.org/project/ufobit\n.. _hosted by Github Pages: https://ofek.github.io/bit\n.. _Gregory Maxwell: https://github.com/gmaxwell\n.. _ECC: https://en.wikipedia.org/wiki/Elliptic_curve_cryptography\n.. _arubi: https://github.com/fivepiece\n.. _fuzeman: https://github.com/fuzeman\n.. _Python Package Index: https://pypi.org", "description_content_type": "", "docs_url": null, "download_url": "https://github.com/ofek/bit", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/ofek/bit", "keywords": "ufo,bitcoin,cryptocurrency,payments,tools,wallet", "license": "MIT", "maintainer": "", "maintainer_email": "", "name": "ufobit", "package_url": "https://pypi.org/project/ufobit/", "platform": "", "project_url": "https://pypi.org/project/ufobit/", "project_urls": { "Download": "https://github.com/ofek/bit", "Homepage": "https://github.com/ofek/bit" }, "release_url": "https://pypi.org/project/ufobit/0.8.2/", "requires_dist": null, "requires_python": "", "summary": "UFO made easy.", "version": "0.8.2" }, "last_serial": 4304336, "releases": { "0.4.3": [ { "comment_text": "", "digests": { "md5": "28221b74c4def9d16214ebe5e71e5a75", "sha256": "99032f2548868c0bd7825f2eed98f0dc702be72f7b0273d7bd29b71d76ccc3e4" }, "downloads": -1, "filename": "ufobit-0.4.3.tar.gz", "has_sig": false, "md5_digest": "28221b74c4def9d16214ebe5e71e5a75", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 27089, "upload_time": "2018-04-04T07:44:58", "url": "https://files.pythonhosted.org/packages/a0/f1/31d43c7028a28661165ee190f365078f2ddb2d3a235ffdec8cd63af7bebe/ufobit-0.4.3.tar.gz" } ], "0.4.4": [ { "comment_text": "", "digests": { "md5": "f43b0fcefa9b1e0d36d73b106afd9360", "sha256": "427c0f9591729e79f35e44ee949285bf8c6c213389ece9e53cccf2664a0a274a" }, "downloads": -1, "filename": "ufobit-0.4.4.tar.gz", "has_sig": false, "md5_digest": "f43b0fcefa9b1e0d36d73b106afd9360", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 26906, "upload_time": "2018-04-04T08:43:10", "url": "https://files.pythonhosted.org/packages/eb/fd/e7b78915bccbfbee4cdf6c3a41575c76db709aa74a3b88daefd2930c7496/ufobit-0.4.4.tar.gz" } ], "0.4.5": [ { "comment_text": "", "digests": { "md5": "78faa81518300692ce9f123d910e4ead", "sha256": "25c4457171bee6452f475469e32c42ba201c7db4c608aa9da9d61abc17f57ef1" }, "downloads": -1, "filename": "ufobit-0.4.5.tar.gz", "has_sig": false, "md5_digest": "78faa81518300692ce9f123d910e4ead", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 28317, "upload_time": "2018-04-10T10:32:43", "url": "https://files.pythonhosted.org/packages/8d/c9/117de6cab4dbc7125640bef7c8518d9fa2d83f7209149bd6932107aa504f/ufobit-0.4.5.tar.gz" } ], "0.6": [ { "comment_text": "", "digests": { "md5": "35666aab9f064dc4b6c1e06ac88192e0", "sha256": "9787f8dc453cdb44ba5549711753f41fa35ebe5d76fd2f5cbf23b0dab08d3013" }, "downloads": -1, "filename": "ufobit-0.6.tar.gz", "has_sig": false, "md5_digest": "35666aab9f064dc4b6c1e06ac88192e0", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 34817, "upload_time": "2018-09-24T10:22:10", "url": "https://files.pythonhosted.org/packages/c9/6e/d15699fc2a47df70ae1c84f6919fc9d073787032b8981813f4578ff9d74a/ufobit-0.6.tar.gz" } ], "0.6.1": [ { "comment_text": "", "digests": { "md5": "7a69e04b6ea8a3bfb67e9eed6d926605", "sha256": "4098d300263269cc2453ecf8d7804f1e8a9a5afc459b381b130d993f3be8803d" }, "downloads": -1, "filename": "ufobit-0.6.1.tar.gz", "has_sig": false, "md5_digest": "7a69e04b6ea8a3bfb67e9eed6d926605", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 34814, "upload_time": "2018-09-24T10:29:49", "url": "https://files.pythonhosted.org/packages/e9/35/698a5860dc50725ff1e094c68462a4cd42ba6fbb8286b4cd383d60710807/ufobit-0.6.1.tar.gz" } ], "0.7": [ { "comment_text": "", "digests": { "md5": "5b05f4491754b65e2985c3ba9d2e5f1e", "sha256": "93d96a51f06ea267a675983482242ff1d833d30ed4d82691c034b25e04c43f9d" }, "downloads": -1, "filename": "ufobit-0.7.tar.gz", "has_sig": false, "md5_digest": "5b05f4491754b65e2985c3ba9d2e5f1e", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 34808, "upload_time": "2018-09-24T10:51:38", "url": "https://files.pythonhosted.org/packages/9f/b7/cc0da48c2e99cc35442b59476e9b78215cdc7952f0c490b93cb24efa2422/ufobit-0.7.tar.gz" } ], "0.8": [ { "comment_text": "", "digests": { "md5": "50c82e206d13d33c243de64a9bf201d8", "sha256": "429489d377fe544c8fa5ac6210a2e3965470acb00cd1c2b1da35ea9e88bc752c" }, "downloads": -1, "filename": "ufobit-0.8.tar.gz", "has_sig": false, "md5_digest": "50c82e206d13d33c243de64a9bf201d8", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 34787, "upload_time": "2018-09-24T10:55:07", "url": "https://files.pythonhosted.org/packages/3d/87/92bb96e48197a7b1811bffdb9e23972250ad5039f39a282c007aab210958/ufobit-0.8.tar.gz" } ], "0.8.1": [ { "comment_text": "", "digests": { "md5": "0dabef692d42872b5ed6d142d712f955", "sha256": "796fc30822a07a173a976940ad245dd2ca48af45758a47616ae2ae65215fbac4" }, "downloads": -1, "filename": "ufobit-0.8.1.tar.gz", "has_sig": false, "md5_digest": "0dabef692d42872b5ed6d142d712f955", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 34796, "upload_time": "2018-09-24T11:04:33", "url": "https://files.pythonhosted.org/packages/e0/ac/6a2d51038aa9cebb4876160f9e9db97a2c6c7cf39e5de0ce57b833994fc3/ufobit-0.8.1.tar.gz" } ], "0.8.2": [ { "comment_text": "", "digests": { "md5": "55578129fe99936489149491e7f054e4", "sha256": "0bf3e7bcaa94aa6a1d67d6b82f8386733b4c3ee6eca40d2e59a45ff8cea423dc" }, "downloads": -1, "filename": "ufobit-0.8.2.tar.gz", "has_sig": false, "md5_digest": "55578129fe99936489149491e7f054e4", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 34685, "upload_time": "2018-09-24T11:15:05", "url": "https://files.pythonhosted.org/packages/b3/c5/a04ab23d155739cd048c17ad831ac73bc8cfa0ebb34cfa621e15d10e35b1/ufobit-0.8.2.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "55578129fe99936489149491e7f054e4", "sha256": "0bf3e7bcaa94aa6a1d67d6b82f8386733b4c3ee6eca40d2e59a45ff8cea423dc" }, "downloads": -1, "filename": "ufobit-0.8.2.tar.gz", "has_sig": false, "md5_digest": "55578129fe99936489149491e7f054e4", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 34685, "upload_time": "2018-09-24T11:15:05", "url": "https://files.pythonhosted.org/packages/b3/c5/a04ab23d155739cd048c17ad831ac73bc8cfa0ebb34cfa621e15d10e35b1/ufobit-0.8.2.tar.gz" } ] }