Skip to main content

A thin python wrapper for the fastbill API

Project description

Super thin Python wrapper for Fastbill’s HTTP API developed by STYLIGHT.

https://travis-ci.org/stylight/python-fastbill.svg?branch=master https://img.shields.io/pypi/pyversions/fastbill.svg https://img.shields.io/pypi/dm/fastbill.svg

Latest release:

fastbill 0.7.3

  • Bugfix release. In the case of an successful HTTP response without a valid JSON structure the wrapper would crash.

  • Tests which would catch this bug were not run due to test misconfiguration. This is fixed as well.

fastbill 0.7.2

  • Add configurable timeout to all API calls. The default timeout is 1 minute. This could lead to unexpected timeout exceptions, you’ll need to handle.

fastbill 0.7.1

  • Bugfix release for name parameter.

fastbill 0.7.0

  • Warning: This release has a bug. The ‘name’ parameter will break on str types on Python2. Use 0.7.1 instead.

  • Potentially breaking change: Restructure fastbill module into package with each component having it’s own module. Your imports may break.

fastbill 0.6.1

  • Added mock library to setup.py

fastbill 0.6.0

  • Breaking change: Don’t throw a KeyError, but rather an AttributeError on FastbillResponse.currency property

  • Add pre- and post-request callbacks

fastbill 0.5.2

  • Added NOK to CURRENCIES dict.

fastbill 0.5.1

  • Support pickling of FastbillResponse objects. The link to the API connection will not be pickled though. API credentials will also not be pickled.

fastbill 0.5.0

  • Introduce name parameter to better distinguish FastbillWrapper instances.

fastbill 0.4.3

  • Bugfix release.

  • Calls to potential special methods like __unicode__ would lead to an erroneous Fastbill API call.

fastbill 0.4.2

  • Improved debug logging.

  • Deprecated `FastbillHttpError` Execption. Now only FastbillResponseError will be raised. FastbillResponseError will inherit from FastbillHttpError for the time being, but catching FastbillHttpError is deprecated. Use FastbillResponseError instead.

  • Improved testcase to check for failing API calls as well.

fastbill 0.4.1

  • Experimental: Improved FastbillResponse to allow ORM like object traversals. Use with caution.

  • Added property currency which looks up the proper ISO 4217 currency abbreviation when a CURRENCY_CODE integer is present in the response. An AttributeError will be raised when it’s not present.

Limitations:

  • only supports JSON payloads

  • doesn’t (overly) check for consistency of responses

  • doesn’t convert date strings to datetime objects

Dependencies:

  • requests

  • six (for Python 2/3 compatibility)

Installation:

pip install fastbill

Usage:

from fastbill import FastbillWrapper

# Construct the api client for Fastbill's automatic API

client = FastbillWrapper('fastbill_user', 'fastbill_key')

# You can also specify a service_url, in case you need Fastbill's core API instead:

core_client = FastbillWrapper('fastbill_user', 'fastbill_key', service_url='endpoint_url')

# Make requests, e.g. service customer.create

client.customer_create(data={})

# Search for customer, subscriptions, etc...

for customer in client.customer_get(filter={'city': 'Munich'}):
    print customer

# But you can also see the full result

result = client.customer_get(filter={'city': 'Munich'})
print result.keys()

# Will give you 'CUSTOMERS'

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

fastbill-0.7.3.tar.gz (7.2 kB view hashes)

Uploaded Source

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page