belvo-python


Namebelvo-python JSON
Version 0.38.0 PyPI version JSON
download
home_pagehttps://github.com/belvo-finance/belvo-python
SummaryBelvo Python SDK
upload_time2023-06-12 11:31:23
maintainer
docs_urlNone
authorBelvo Finance, S.L.
requires_python>=3.6, <4
license
keywords api belvo sdk finances openbanking
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            <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"
}
        
Elapsed time: 0.07960s