<h1 align="center">Belvo Python SDK</h1>
<p align="center">
<a href="https://pypi.org/project/belvo-python/"><img alt="PyPI" src="https://img.shields.io/pypi/v/belvo-python?style=for-the-badge"></a>
<a href="https://pypistats.org/packages/belvo-python"><img alt="PyPI - Downloads" src="https://img.shields.io/pypi/dm/belvo-python?style=for-the-badge"></a>
<a href="https://app.circleci.com/pipelines/github/belvo-finance/belvo-python"><img alt="CircleCI (.com)" src="https://img.shields.io/travis/com/belvo-finance/belvo-python/master?style=for-the-badge"></a>
<a href="https://coveralls.io/github/belvo-finance/belvo-python"><img alt="Coveralls github" src="https://img.shields.io/coveralls/github/belvo-finance/belvo-python?style=for-the-badge"></a>
<a href="https://github.com/psf/black"><img alt="Coveralls github" src="https://img.shields.io/badge/code%20style-black-000000.svg?style=for-the-badge"></a>
</p>
## 📕 Documentation
How to use `belvo-python`: https://belvo-finance.github.io/belvo-python/
If you want to check the full documentation about Belvo API: https://developers.belvo.com
Or if you want to more information about:
* [Getting Belvo API keys](https://developers.belvo.com/docs/get-started-in-5-minutes#get-your-belvo-api-keys)
* [Using Connect Widget](https://developers.belvo.com/docs/connect-widget)
* [Testing in sandbox](https://developers.belvo.com/docs/test-in-sandbox)
* [Using webhooks and recurrent links](https://developers.belvo.com/docs/webhooks)
## 📋 Requirements
* Python 3.6+
## 🚀 Getting started
Install using `pip`:
```
$ pip install belvo-python
```
## Usage (create link via widget)
When your user successfully links their account using the [Connect Widget](https://developers.belvo.com/docs/connect-widget), your implemented callback funciton will return the `link_id` required to make further API to retrieve information.
```python
from pprint import pprint
from belvo.client import Client
from belvo.enums import AccessMode
# Login to Belvo API
client = Client("your-secret-key-id", "your-secret-key", "sandbox")
# Get the link_id from the result of your widget callback function
link_id = result_from_callback_function.id
# Get all accounts
client.Accounts.create(link=link_id)
# Pretty print all checking accounts
for account in client.Accounts.list(type="checking"):
pprint(account)
```
## Usage (create link via SDK)
You can also manually create the link using the SDK. However, for security purposes, we highly recommend, that you use the [Connect Widget](https://developers.belvo.com/docs/connect-widget) to create the link and follow the **Usage (create link via widget)** example.
```python
from pprint import pprint
from belvo.client import Client
from belvo.enums import AccessMode
# Login to Belvo API
client = Client("your-secret-key-id", "your-secret-key", "sandbox")
# Register a link
link = client.Links.create(
institution="erebor_mx_retail",
username="johndoe",
password="supersecret",
access_mode=AccessMode.SINGLE
)
# Get all accounts
client.Accounts.create(link=link["id"])
# Pretty print all checking accounts
for account in client.Accounts.list(type="checking"):
pprint(account)
```
## Errors and exceptions
By default, when you use our SDK, we automatically return the [error](https://developers.belvo.com/docs/integration-overview#error-handling). However, if you prefer to receive the exception, you need to set the `raise_exception` optional parameter to `True`.
```python
from pprint import pprint
from belvo.client import Client
from belvo.enums import AccessMode
from belvo.exceptions import RequestError
# Login to Belvo API
client = Client("my-secret-key-id", "my-secret-key", "sandbox")
try:
# Register a link
link = client.Links.create(
access_mode=AccessMode.SINGLE,
institution="erebor_mx_retail",
username="<username>",
password="<pass>",
raise_exception=True, # Set this optional paramter
)
except RequestError as e:
# do something with the error
pprint(e)
else:
# do something with the link
pprint(link)
```
## 🐍 Development
To release a new version of the SDK to PyPI:
- Create a new branch from master.
- Use `make new-version major|minor|patch` to bump a new version.
- Create a new pull request for the new version.
- Once the new version is merged in `master`, create a `tag` matching the new version.
## 👥 Contributing
**Anyone** can do something to make `belvo-python` better, so contributors are always welcome!
If you wish to submit a pull request, please be sure check the items on this list:
- [ ] Tests related to the changed code were executed
- [ ] The source code has been coded following the OWASP security best practices (https://owasp.org/www-pdf-archive/OWASP_SCP_Quick_Reference_Guide_v2.pdf).
- [ ] Commit message properly labeled
- [ ] There is a ticket associated to each PR.
For more details about contributing to this project, please take a look to our [guidelines](CONTRIBUTING.md).
Raw data
{
"_id": null,
"home_page": "https://github.com/belvo-finance/belvo-python",
"name": "belvo-python",
"maintainer": "",
"docs_url": null,
"requires_python": ">=3.6, <4",
"maintainer_email": "",
"keywords": "api,belvo,sdk,finances,openbanking",
"author": "Belvo Finance, S.L.",
"author_email": "hello@belvo.com",
"download_url": "https://files.pythonhosted.org/packages/45/fb/f4cc5cb0b9c162d9d8cb24ac9922e3451764118c69d742c2176710e8c75e/belvo-python-0.38.0.tar.gz",
"platform": null,
"description": "<h1 align=\"center\">Belvo Python SDK</h1>\n<p align=\"center\">\n <a href=\"https://pypi.org/project/belvo-python/\"><img alt=\"PyPI\" src=\"https://img.shields.io/pypi/v/belvo-python?style=for-the-badge\"></a>\n <a href=\"https://pypistats.org/packages/belvo-python\"><img alt=\"PyPI - Downloads\" src=\"https://img.shields.io/pypi/dm/belvo-python?style=for-the-badge\"></a>\n <a href=\"https://app.circleci.com/pipelines/github/belvo-finance/belvo-python\"><img alt=\"CircleCI (.com)\" src=\"https://img.shields.io/travis/com/belvo-finance/belvo-python/master?style=for-the-badge\"></a>\n <a href=\"https://coveralls.io/github/belvo-finance/belvo-python\"><img alt=\"Coveralls github\" src=\"https://img.shields.io/coveralls/github/belvo-finance/belvo-python?style=for-the-badge\"></a>\n <a href=\"https://github.com/psf/black\"><img alt=\"Coveralls github\" src=\"https://img.shields.io/badge/code%20style-black-000000.svg?style=for-the-badge\"></a>\n</p>\n\n## \ud83d\udcd5 Documentation\nHow to use `belvo-python`: https://belvo-finance.github.io/belvo-python/\n\nIf you want to check the full documentation about Belvo API: https://developers.belvo.com\n\nOr if you want to more information about:\n* [Getting Belvo API keys](https://developers.belvo.com/docs/get-started-in-5-minutes#get-your-belvo-api-keys)\n* [Using Connect Widget](https://developers.belvo.com/docs/connect-widget)\n* [Testing in sandbox](https://developers.belvo.com/docs/test-in-sandbox)\n* [Using webhooks and recurrent links](https://developers.belvo.com/docs/webhooks)\n\n\n## \ud83d\udccb Requirements\n* Python 3.6+\n\n## \ud83d\ude80 Getting started\n\nInstall using `pip`:\n```\n$ pip install belvo-python\n```\n\n## Usage (create link via widget)\n\nWhen your user successfully links their account using the [Connect Widget](https://developers.belvo.com/docs/connect-widget), your implemented callback funciton will return the `link_id` required to make further API to retrieve information.\n\n```python\n\nfrom pprint import pprint\n\nfrom belvo.client import Client\nfrom belvo.enums import AccessMode\n\n# Login to Belvo API\nclient = Client(\"your-secret-key-id\", \"your-secret-key\", \"sandbox\")\n\n# Get the link_id from the result of your widget callback function\nlink_id = result_from_callback_function.id\n\n# Get all accounts\nclient.Accounts.create(link=link_id)\n\n# Pretty print all checking accounts\nfor account in client.Accounts.list(type=\"checking\"):\n pprint(account)\n```\n\n\n## Usage (create link via SDK)\n\nYou can also manually create the link using the SDK. However, for security purposes, we highly recommend, that you use the [Connect Widget](https://developers.belvo.com/docs/connect-widget) to create the link and follow the **Usage (create link via widget)** example.\n\n\n```python\n\nfrom pprint import pprint\n\nfrom belvo.client import Client\nfrom belvo.enums import AccessMode\n\n# Login to Belvo API\nclient = Client(\"your-secret-key-id\", \"your-secret-key\", \"sandbox\")\n\n# Register a link \nlink = client.Links.create(\n institution=\"erebor_mx_retail\",\n username=\"johndoe\",\n password=\"supersecret\",\n access_mode=AccessMode.SINGLE\n)\n\n# Get all accounts\nclient.Accounts.create(link=link[\"id\"])\n\n# Pretty print all checking accounts\nfor account in client.Accounts.list(type=\"checking\"):\n pprint(account)\n```\n\n## Errors and exceptions\n\nBy default, when you use our SDK, we automatically return the [error](https://developers.belvo.com/docs/integration-overview#error-handling). However, if you prefer to receive the exception, you need to set the `raise_exception` optional parameter to `True`.\n\n\n\n```python\nfrom pprint import pprint\nfrom belvo.client import Client\nfrom belvo.enums import AccessMode\nfrom belvo.exceptions import RequestError\n\n# Login to Belvo API\nclient = Client(\"my-secret-key-id\", \"my-secret-key\", \"sandbox\")\n\ntry:\n # Register a link\n link = client.Links.create(\n access_mode=AccessMode.SINGLE,\n institution=\"erebor_mx_retail\",\n username=\"<username>\",\n password=\"<pass>\",\n raise_exception=True, # Set this optional paramter\n )\nexcept RequestError as e:\n # do something with the error\n pprint(e)\nelse:\n # do something with the link\n pprint(link)\n\n```\n\n## \ud83d\udc0d Development\n\nTo release a new version of the SDK to PyPI:\n- Create a new branch from master.\n- Use `make new-version major|minor|patch` to bump a new version.\n- Create a new pull request for the new version.\n- Once the new version is merged in `master`, create a `tag` matching the new version.\n\n## \ud83d\udc65 Contributing\n**Anyone** can do something to make `belvo-python` better, so contributors are always welcome!\nIf you wish to submit a pull request, please be sure check the items on this list:\n- [ ] Tests related to the changed code were executed\n- [ ] The source code has been coded following the OWASP security best practices (https://owasp.org/www-pdf-archive/OWASP_SCP_Quick_Reference_Guide_v2.pdf).\n- [ ] Commit message properly labeled\n- [ ] There is a ticket associated to each PR. \n\nFor more details about contributing to this project, please take a look to our [guidelines](CONTRIBUTING.md). \n",
"bugtrack_url": null,
"license": "",
"summary": "Belvo Python SDK",
"version": "0.38.0",
"project_urls": {
"Download": "https://github.com/belvo-finance/belvo-python/tarball/master",
"Homepage": "https://github.com/belvo-finance/belvo-python"
},
"split_keywords": [
"api",
"belvo",
"sdk",
"finances",
"openbanking"
],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "5b2af5dddf4833315c28b7511a2962054ccb74ab3891b6a2e05ce92dcc431c16",
"md5": "b52a5a8d55e4084f129b7f6b28d68d16",
"sha256": "bf3bc09796dca2f0fd642bd82205dc4941b07a1480cca33258bd8d68cfebb8c7"
},
"downloads": -1,
"filename": "belvo_python-0.38.0-py2.py3-none-any.whl",
"has_sig": false,
"md5_digest": "b52a5a8d55e4084f129b7f6b28d68d16",
"packagetype": "bdist_wheel",
"python_version": "py2.py3",
"requires_python": ">=3.6, <4",
"size": 30977,
"upload_time": "2023-06-12T11:31:22",
"upload_time_iso_8601": "2023-06-12T11:31:22.738995Z",
"url": "https://files.pythonhosted.org/packages/5b/2a/f5dddf4833315c28b7511a2962054ccb74ab3891b6a2e05ce92dcc431c16/belvo_python-0.38.0-py2.py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "45fbf4cc5cb0b9c162d9d8cb24ac9922e3451764118c69d742c2176710e8c75e",
"md5": "5f7ecfd554c9d0df0adacaa583a3e4c8",
"sha256": "c4701feec18c39120324aa019fb943c19027c76109975ac1e008fd3daa81c4d3"
},
"downloads": -1,
"filename": "belvo-python-0.38.0.tar.gz",
"has_sig": false,
"md5_digest": "5f7ecfd554c9d0df0adacaa583a3e4c8",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.6, <4",
"size": 17838,
"upload_time": "2023-06-12T11:31:23",
"upload_time_iso_8601": "2023-06-12T11:31:23.936455Z",
"url": "https://files.pythonhosted.org/packages/45/fb/f4cc5cb0b9c162d9d8cb24ac9922e3451764118c69d742c2176710e8c75e/belvo-python-0.38.0.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2023-06-12 11:31:23",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "belvo-finance",
"github_project": "belvo-python",
"travis_ci": false,
"coveralls": false,
"github_actions": true,
"circle": true,
"tox": true,
"lcname": "belvo-python"
}