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'

Download files

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

Filename, size & hash SHA256 hash help File type Python version Upload date
fastbill-0.7.3.tar.gz (7.2 kB) Copy SHA256 hash SHA256 Source None

Supported by

Elastic Elastic Search Pingdom Pingdom Monitoring Google Google BigQuery Sentry Sentry Error logging AWS AWS Cloud computing DataDog DataDog Monitoring Fastly Fastly CDN SignalFx SignalFx Supporter DigiCert DigiCert EV certificate StatusPage StatusPage Status page