{ "info": { "author": "Vitaliy Kucheryaviy", "author_email": "ppr.vitaly@gmail.com", "bugtrack_url": null, "classifiers": [ "Programming Language :: Python :: 3", "Programming Language :: Python :: 3.6", "Programming Language :: Python :: 3.7" ], "description": "# python-monobank\n\n![GitHub-issues](https://img.shields.io/github/issues/vitalik/python-monobank)\n\n![python-monobank](https://raw.githubusercontent.com/vitalik/python-monobank/master/docs/logo.png)\n\nPython client for Monobank API (https://api.monobank.ua/docs/)\n\n## Installation\n\n```\npip install monobank\n```\n\n\n# Usage\n\n## Personal api\n\n1) Request your token at https://api.monobank.ua/\n\n2) Use that token to initialize client:\n\n```python\n import monobank\n token = 'xxxxxxxxxxxxxxx'\n\n mono = monobank.Client(token)\n user_info = mono.get_client_info()\n print(user_info)\n```\n\n### Methods\n\nGet currencies\n\n```python\n>>> mono.get_currency()\n[\n {'currencyCodeA': 840,\n 'currencyCodeB': 980,\n 'date': 1561686005,\n 'rateBuy': 25.911,\n 'rateSell': 26.2357},\n {'currencyCodeA': 978,\n 'currencyCodeB': 980,\n 'date': 1561686005,\n 'rateBuy': 29.111,\n 'rateSell': 29.7513},\n ...\n```\n\nGet client info\n\n```python\n>>> mono.get_client_info()\n{\n 'name': 'Dmitriy Dubilet'\n 'accounts': [\n {\n 'id': 'accidxxxxx'\n 'balance': 100000000,\n 'cashbackType': 'UAH',\n 'creditLimit': 100000000,\n 'currencyCode': 980,\n }\n ],\n}\n\n```\n\n\nGet statements\n```python\n>>> mono.get_statements('accidxxxxx', date(2019,1,1), date(2019,1,30))\n[\n {\n 'id': 'iZDPhf8v32Qass',\n 'amount': -127603,\n 'balance': 99872397,\n 'cashbackAmount': 2552,\n 'commissionRate': 0,\n 'currencyCode': 978,\n 'description': 'Smartass club',\n 'hold': True,\n 'mcc': 5411,\n 'operationAmount': 4289,\n 'time': 1561658263\n },\n ...\n]\n```\n\nYou can as well pass datetime objects\n```python\n>>> mono.get_statements('accidxxxxx', datetime(2019,1,1,11,15), datetime(2019,1,2,11,15))\n```\n\n\nCreate a Webhook\n```python\n>>> mono.create_webhook('https://myserver.com/hookpath')\n```\n\n\n\n## Corporatre API\n\nDocumentation is here - https://api.monobank.ua/docs/corporate.html\n\nCorporate API have the same methods as Public API, but it does not have rate limitation, and it is a recomended way if you are handling data for commercial use (or just storing lot of personal data).\n\n### Getting access\n\n#### 1) Generate private key\n\n```\nopenssl ecparam -genkey -name secp256k1 -rand /dev/urandom -out priv.key\n```\n\nThis will output file **priv.key** \n\n**Warning**: do not share it with anyone, do not store it in public git repositories\n\n#### 2) Generate public key\n\n```\nopenssl ec -in priv.key -pubout -out pub.key\n```\n\nThis will output file **pub.key** \n\n#### 3) Request API access \nSend an email to api@monobank.ua - describe your project, and attach **pub.key** (!!! NOT priv.key !!!)\n\n\n### Requesting permission from monobank user\n\nOnce your app got approved by Monobank team you can start using corporate API:\n\n\n#### 1) Create monobank user access request\n\n```python\nprivate_key = '/path/to/your/priv.key'\nrequest = monobank.access_request('ps', private_key)\n```\nIf all fine you should recive the following:\n```python\nprint(request)\n{'tokenRequestId': 'abcdefg_Wg', 'acceptUrl': 'https://mbnk.app/auth/abcdefg_Wg'}\n```\n\nYou should save tokenRequestId to database, and then give user the link acceptUrl\n\nNote: To be notified about user acceptance you can use web callback:\n\n```python\nmonobank.access_request('ps', private_key, callback_url='https://yourserver.com/callback/')\n```\n\n#### 2) Check if user accepted\n\nYou can check if user accepted access request like this:\n\n\n```python\nrequest_token = 'abcdefg_Wg' # the token from access_request result\nprivate_key = '/path/to/your/priv.key'\n\nmono = monobank.CorporateClient(request_token, private_key)\n\n\nmono.check() # returns True if user accepted, False if not\n\n```\n\n\n#### 3) Use methods\n\nOnce user accepts your access-request, you can start using all the methods same ways as Public API\n\n```python\nmono.get_statements(....)\n```\n\n## Handling Errors\n\nIf you use Personal API you may encounter \"Too Many Requests\" error. To properly catch it and retry - use *monobank.TooManyRequests* exception\n\n```python\ntry:\n mono.get_statements(....)\nexcept monobank.TooManyRequests:\n time.sleep(1)\n # try again:\n mono.get_statements(....)\n```\n\nYou can use ratelimiter library (like https://pypi.org/project/ratelimiter/ ) to download all transactions\n", "description_content_type": "text/markdown", "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/vitalik/python-monobank", "keywords": "", "license": "", "maintainer": "Vitaliy Kucheryaviy", "maintainer_email": "ppr.vitaly@gmail.com", "name": "monobank", "package_url": "https://pypi.org/project/monobank/", "platform": "", "project_url": "https://pypi.org/project/monobank/", "project_urls": { "Homepage": "https://github.com/vitalik/python-monobank" }, "release_url": "https://pypi.org/project/monobank/0.4.3/", "requires_dist": [ "requests (>=2.22,<3.0)", "ecdsa (>=0.13.2,<0.14.0)" ], "requires_python": ">=3.6,<4.0", "summary": "Monobank.ua API implementation", "version": "0.4.3" }, "last_serial": 5819548, "releases": { "0.1.0": [ { "comment_text": "", "digests": { "md5": "7cbd77bbdb38c3730ced25ba112fab14", "sha256": "f24a175e30ab6427a7668a89c8f431a0fd80851cd5fdaef62c4770be7b8271d0" }, "downloads": -1, "filename": "monobank-0.1.0-py3-none-any.whl", "has_sig": false, "md5_digest": "7cbd77bbdb38c3730ced25ba112fab14", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.6,<4.0", "size": 1705, "upload_time": "2019-06-25T11:00:14", "url": "https://files.pythonhosted.org/packages/ed/73/6e648f86bc8029e2d3e03c7d2c9047d422d61a53332c06d27e53bc9071de/monobank-0.1.0-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "b90de8443e9762beb4e10d58f599faa4", "sha256": "0d424a07efdd019850c455b330be72259ceb59babe982ab1cbac73389005009c" }, "downloads": -1, "filename": "monobank-0.1.0.tar.gz", "has_sig": false, "md5_digest": "b90de8443e9762beb4e10d58f599faa4", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6,<4.0", "size": 1337, "upload_time": "2019-06-25T11:00:17", "url": "https://files.pythonhosted.org/packages/66/ed/7f1e19bac24f644808cc0f6abd4279524d54841b18d8d7a198c02f3434a3/monobank-0.1.0.tar.gz" } ], "0.2.0": [ { "comment_text": "", "digests": { "md5": "6b086828d2100654048a2f0e2c31e997", "sha256": "3d0972a568f5dcb2689714e03a4c4b5e4524bbb12e11221141c57eee9f39433e" }, "downloads": -1, "filename": "monobank-0.2.0-py3-none-any.whl", "has_sig": false, "md5_digest": "6b086828d2100654048a2f0e2c31e997", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.6,<4.0", "size": 2051, "upload_time": "2019-06-28T19:57:45", "url": "https://files.pythonhosted.org/packages/85/3a/85b9e2a66f52243e4297d44fee208f82cb90c4c09792bce85e523c2f1ce1/monobank-0.2.0-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "72e97cbb22ff626ec15d38fb1ff719c4", "sha256": "9ffc3a944562599f72e61b4a9a9640eecec5e5230403d8600a01a3598e18cc82" }, "downloads": -1, "filename": "monobank-0.2.0.tar.gz", "has_sig": false, "md5_digest": "72e97cbb22ff626ec15d38fb1ff719c4", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6,<4.0", "size": 1521, "upload_time": "2019-06-28T19:57:47", "url": "https://files.pythonhosted.org/packages/58/3e/13ef217af573be0f8902177c2e678477951aac246cae31348968bab6961c/monobank-0.2.0.tar.gz" } ], "0.2.1": [ { "comment_text": "", "digests": { "md5": "4c847fe8f1a318cf8688a8d4684217d3", "sha256": "eb5a08b091322f0856351e635aa3b58510670a8690dd4ccf91c8a8618b503abb" }, "downloads": -1, "filename": "monobank-0.2.1-py3-none-any.whl", "has_sig": false, "md5_digest": "4c847fe8f1a318cf8688a8d4684217d3", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.6,<4.0", "size": 2050, "upload_time": "2019-06-28T20:03:31", "url": "https://files.pythonhosted.org/packages/58/a8/d13ad8395fa1aab06b3d2e591a7954e57a7ff6b17f9c16173970bf0ace90/monobank-0.2.1-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "37310a4d43570a31ec384c638b1d9eae", "sha256": "3c82f82bef0469a4e83678fa9c263c39e9a747ed216017235c9bd3f73aaf750c" }, "downloads": -1, "filename": "monobank-0.2.1.tar.gz", "has_sig": false, "md5_digest": "37310a4d43570a31ec384c638b1d9eae", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6,<4.0", "size": 1521, "upload_time": "2019-06-28T20:03:36", "url": "https://files.pythonhosted.org/packages/33/0f/440a8804197caf0bce2f182818f14b2f6185ef5a5b6ce72743cdb8f0d42e/monobank-0.2.1.tar.gz" } ], "0.2.2": [ { "comment_text": "", "digests": { "md5": "400c1a04c09d1bcff47d471d7d056b20", "sha256": "ccb73fcf6ce4cd3f0d77dc4a6b25c9230663cf943b0b239ced96532d6a4d4d6e" }, "downloads": -1, "filename": "monobank-0.2.2-py3-none-any.whl", "has_sig": false, "md5_digest": "400c1a04c09d1bcff47d471d7d056b20", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.6,<4.0", "size": 2707, "upload_time": "2019-06-29T16:13:40", "url": "https://files.pythonhosted.org/packages/3f/68/d5c8020cc0545450e84afb8a78a131844f1f158c0339e3c203b374103837/monobank-0.2.2-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "8dd1ed9c7aaabcd7934e479497d68015", "sha256": "69baf23ff7c04ad6d3f1d60159a2833f8a7847f663b0bbdf843b2f8ee2a5efba" }, "downloads": -1, "filename": "monobank-0.2.2.tar.gz", "has_sig": false, "md5_digest": "8dd1ed9c7aaabcd7934e479497d68015", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6,<4.0", "size": 2460, "upload_time": "2019-06-29T16:13:42", "url": "https://files.pythonhosted.org/packages/02/5d/eb3e30ca2617cc9f99a2afa85c4b7ad0cea56f5e64ee71a2239f8e84be01/monobank-0.2.2.tar.gz" } ], "0.3.0": [ { "comment_text": "", "digests": { "md5": "603ec486176dd9dd3e5949f3370df2f1", "sha256": "907a897fc6a1402f6a9ebf4501c3bda1d870b79e15447f55d598f4e120f4a86c" }, "downloads": -1, "filename": "monobank-0.3.0-py3-none-any.whl", "has_sig": false, "md5_digest": "603ec486176dd9dd3e5949f3370df2f1", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.6,<4.0", "size": 3275, "upload_time": "2019-06-29T19:11:49", "url": "https://files.pythonhosted.org/packages/cb/22/17cccf232e83e359ad68cdf1b3df4eb28bd374508a23478f2931a761e8e4/monobank-0.3.0-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "612f57aea23d3f0d97e4e0abedd0992e", "sha256": "591497cf9742977f36cfa92e9ae9e9861b8e03835466781a24a3df9e940afc20" }, "downloads": -1, "filename": "monobank-0.3.0.tar.gz", "has_sig": false, "md5_digest": "612f57aea23d3f0d97e4e0abedd0992e", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6,<4.0", "size": 2846, "upload_time": "2019-06-29T19:11:51", "url": "https://files.pythonhosted.org/packages/20/35/fe35e2ea55255d4591fd191d81617965a9c2c12bf07be8b30da31e20deac/monobank-0.3.0.tar.gz" } ], "0.4.0": [ { "comment_text": "", "digests": { "md5": "ae4f068b9422cc3c38082e010268ecce", "sha256": "ef2768a3258e5881ae44e6f2f751c7dcc6f0bfbde7001b103d23d26cb0f59e99" }, "downloads": -1, "filename": "monobank-0.4.0-py3-none-any.whl", "has_sig": false, "md5_digest": "ae4f068b9422cc3c38082e010268ecce", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.6,<4.0", "size": 5594, "upload_time": "2019-07-02T12:15:40", "url": "https://files.pythonhosted.org/packages/fb/ac/a25d47d919059dc97e4091b420fcf725fed44bc6acc832cba97336296a88/monobank-0.4.0-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "d19152c3f5d5f084bbb53df338c97db6", "sha256": "af8dd101d13879eadf0d9e421cd3dbf5d4e718d4435880c87b8c7bb79ccce1c2" }, "downloads": -1, "filename": "monobank-0.4.0.tar.gz", "has_sig": false, "md5_digest": "d19152c3f5d5f084bbb53df338c97db6", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6,<4.0", "size": 5102, "upload_time": "2019-07-02T12:15:42", "url": "https://files.pythonhosted.org/packages/c1/21/f9657bbfa639d3935c6c8d763443062a32305a6fe4cc6dee0847e104d1b8/monobank-0.4.0.tar.gz" } ], "0.4.1": [ { "comment_text": "", "digests": { "md5": "86f4a1eb7fb53368711375f3dbf08110", "sha256": "26b695e2878e6f7c8862871b694b8ccf41a94209a41b7830bca5f655448f67f3" }, "downloads": -1, "filename": "monobank-0.4.1-py3-none-any.whl", "has_sig": false, "md5_digest": "86f4a1eb7fb53368711375f3dbf08110", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.6,<4.0", "size": 5599, "upload_time": "2019-07-02T12:18:20", "url": "https://files.pythonhosted.org/packages/40/c2/5feea1c3fa89810a39d57f5c1b763eaacfa5d2ca51fbb210176211f2cab0/monobank-0.4.1-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "4b69ec34b54fd8de28793d6f799daa3a", "sha256": "221e4a96f273a686cd9f47d8dbdded9e6bfc43272a590c2944913f4c3a65ae0e" }, "downloads": -1, "filename": "monobank-0.4.1.tar.gz", "has_sig": false, "md5_digest": "4b69ec34b54fd8de28793d6f799daa3a", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6,<4.0", "size": 5102, "upload_time": "2019-07-02T12:18:22", "url": "https://files.pythonhosted.org/packages/4a/09/6c7469b7fb6eabf538ecd196b8f3a6c8dcc4f702805fa0d1f467cf8c20e1/monobank-0.4.1.tar.gz" } ], "0.4.2": [ { "comment_text": "", "digests": { "md5": "6d177285510eed0780a1f73e8fca5d26", "sha256": "d5fda88656f77777bfa8b9af48776aab60e88ec686c175e1d531debc7920b62f" }, "downloads": -1, "filename": "monobank-0.4.2-py3-none-any.whl", "has_sig": false, "md5_digest": "6d177285510eed0780a1f73e8fca5d26", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.6,<4.0", "size": 5714, "upload_time": "2019-07-05T15:00:39", "url": "https://files.pythonhosted.org/packages/2a/5f/72420ca9961066591966899b670798e632a4097c39028de849eb593ce0c3/monobank-0.4.2-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "38899dbac2f5b8f09f23de850c94079b", "sha256": "cedd090e287a997185b5d093daec79f49cc4dfd3b5e1020e0e8bd7b7d04d4a09" }, "downloads": -1, "filename": "monobank-0.4.2.tar.gz", "has_sig": false, "md5_digest": "38899dbac2f5b8f09f23de850c94079b", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6,<4.0", "size": 5179, "upload_time": "2019-07-05T15:00:41", "url": "https://files.pythonhosted.org/packages/15/bb/5bbf3c0a2dc235db324b7b4f4904ba89b431821b55a161bac4fcc07ad076/monobank-0.4.2.tar.gz" } ], "0.4.3": [ { "comment_text": "", "digests": { "md5": "9bc1be67518c6262c074dca6f192b5fa", "sha256": "68b917a23dc3dd7a52d48d61c447faa651905342823750d2bea6b9622a8a81c0" }, "downloads": -1, "filename": "monobank-0.4.3-py3-none-any.whl", "has_sig": false, "md5_digest": "9bc1be67518c6262c074dca6f192b5fa", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.6,<4.0", "size": 5778, "upload_time": "2019-09-12T10:06:53", "url": "https://files.pythonhosted.org/packages/e8/a1/74270f1ae7bd046f88211a962da385b025d2ad63e8ed4905e8566194b2a8/monobank-0.4.3-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "2aed2b949673748a85bb03a5c5e8cebb", "sha256": "d056a585521c9f44a2e9103c8300b5fedb0d80521c531125e1b9a725cd3a07a1" }, "downloads": -1, "filename": "monobank-0.4.3.tar.gz", "has_sig": false, "md5_digest": "2aed2b949673748a85bb03a5c5e8cebb", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6,<4.0", "size": 5257, "upload_time": "2019-09-12T10:06:55", "url": "https://files.pythonhosted.org/packages/79/d9/e852a726a85147f08b41f74a292407eb6368a679065de02402320a3925d5/monobank-0.4.3.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "9bc1be67518c6262c074dca6f192b5fa", "sha256": "68b917a23dc3dd7a52d48d61c447faa651905342823750d2bea6b9622a8a81c0" }, "downloads": -1, "filename": "monobank-0.4.3-py3-none-any.whl", "has_sig": false, "md5_digest": "9bc1be67518c6262c074dca6f192b5fa", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.6,<4.0", "size": 5778, "upload_time": "2019-09-12T10:06:53", "url": "https://files.pythonhosted.org/packages/e8/a1/74270f1ae7bd046f88211a962da385b025d2ad63e8ed4905e8566194b2a8/monobank-0.4.3-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "2aed2b949673748a85bb03a5c5e8cebb", "sha256": "d056a585521c9f44a2e9103c8300b5fedb0d80521c531125e1b9a725cd3a07a1" }, "downloads": -1, "filename": "monobank-0.4.3.tar.gz", "has_sig": false, "md5_digest": "2aed2b949673748a85bb03a5c5e8cebb", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6,<4.0", "size": 5257, "upload_time": "2019-09-12T10:06:55", "url": "https://files.pythonhosted.org/packages/79/d9/e852a726a85147f08b41f74a292407eb6368a679065de02402320a3925d5/monobank-0.4.3.tar.gz" } ] }