Skip to content

Fernadoteixeira/lago-python-client

 
 

Repository files navigation

Lago Python Client

This is a python wrapper for Lago API

PyPI version License: MIT

Current Releases

Project Release Badge
Lago Lago Release
Lago Python Client Lago Python Client Release

Installation

Install the lago-python-client via pip from PyPI:

$ python -m pip install "lago-python-client"

(Alternative) Install the lago-python-client via poetry from PyPI:

$ poetry add "lago-python-client"

Usage

Check the lago API reference

Development

Install the dependencies

python -m pip install --upgrade pip setuptools wheel
python -m pip install .[test]

Run tests

pytest

Documentation

The Lago documentation is available at doc.getlago.com.

Changelog

  • #55 -- Error handling (LagoApiError)

Example, creating wallet:

try:
    response = client.wallets().create(wallet)
except LagoApiError as error:
    do_something(status=error.status_code)

Available properties:

>>> error.status_code
422

>>> error.detail
'Unprocessable Entity'

>>> error.headers
{'X-Frame-Options': 'SAMEORIGIN', 'X-XSS-Protection': '0', 'X-Content-Type-Options': 'nosniff', 'X-Download-Options': 'noopen', 'X-Permitted-Cross-Domain-Policies': 'none', 'Referrer-Policy': 'strict-origin-when-cross-origin', 'Content-Type': 'application/json; charset=utf-8', 'Cache-Control': 'no-cache', 'X-Request-Id': '613e7542-b29e-4224-bd19-a16dd1bfa62b', 'X-Runtime': '1.024304', 'Vary': 'Origin', 'Transfer-Encoding': 'chunked'}

>>> error.response
{'status': 422, 'error': 'Unprocessable Entity', 'code': 'validation_errors', 'error_details': {'customer': ['wallet_already_exists']}}

>>> error.response['error_details']['customer'][0]
'wallet_already_exists'


>>> error.url
'http://localhost:3000/api/v1/wallets'

Contributing

The contribution documentation is available here

License

Lago Python client is distributed under MIT license.

About

Python wrapper for the Lago Rest API

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Python 100.0%