Package: belvo-python
Belvo Python SDK🚨 Limited maintenance until 31.12.2023Please be advised that this SDK has transitioned to limited maintenance mode and will no longer receive updates for new features. Essential security updates will continue to be provided untilDecember 31, 2023.After this date, the SDK will be archived and no further updates will be released. While you are welcome to continue using the code please note that you will be solely responsible for managing and implementing any required security patches or updates.📕 DocumentationHow to usebelvo-python:https://belvo-finance.github.io/belvo-python/If you want to check the full documentation about Belvo API:https://developers.belvo.comOr if you want to more information about:Getting Belvo API keysUsing Connect WidgetTesting in sandboxUsing webhooks and recurrent links📋 RequirementsPython 3.6+🚀 Getting startedInstall usingpip:$ pip install belvo-pythonUsage (create link via widget)When your user successfully links their account using theConnect Widget, your implemented callback funciton will return thelink_idrequired to make further API to retrieve information.frompprintimportpprintfrombelvo.clientimportClientfrombelvo.enumsimportAccessMode# Login to Belvo APIclient=Client("your-secret-key-id","your-secret-key","sandbox")# Get the link_id from the result of your widget callback functionlink_id=result_from_callback_function.id# Get all accountsclient.Accounts.create(link=link_id)# Pretty print all checking accountsforaccountinclient.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 theConnect Widgetto create the link and follow theUsage (create link via widget)example.frompprintimportpprintfrombelvo.clientimportClientfrombelvo.enumsimportAccessMode# Login to Belvo APIclient=Client("your-secret-key-id","your-secret-key","sandbox")# Register a linklink=client.Links.create(institution="erebor_mx_retail",username="johndoe",password="supersecret",access_mode=AccessMode.SINGLE)# Get all accountsclient.Accounts.create(link=link["id"])# Pretty print all checking accountsforaccountinclient.Accounts.list(type="checking"):pprint(account)Errors and exceptionsBy default, when you use our SDK, we automatically return theerror. However, if you prefer to receive the exception, you need to set theraise_exceptionoptional parameter toTrue.frompprintimportpprintfrombelvo.clientimportClientfrombelvo.enumsimportAccessModefrombelvo.exceptionsimportRequestError# Login to Belvo APIclient=Client("my-secret-key-id","my-secret-key","sandbox")try:# Register a linklink=client.Links.create(access_mode=AccessMode.SINGLE,institution="erebor_mx_retail",username="<username>",password="<pass>",raise_exception=True,# Set this optional paramter)exceptRequestErrorase:# do something with the errorpprint(e)else:# do something with the linkpprint(link)🐍 DevelopmentTo release a new version of the SDK to PyPI:Create a new branch from master.Usemake new-version major|minor|patchto bump a new version.Create a new pull request for the new version.Once the new version is merged inmaster, create atagmatching the new version.👥 ContributingAnyonecan do something to makebelvo-pythonbetter, 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 executedThe 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 labeledThere is a ticket associated to each PR.For more details about contributing to this project, please take a look to ourguidelines.