fastbill api的瘦python包装器
fastbill的Python项目详细描述
用于fastbill的http api的超薄python包装器,由STYLIGHT开发。
最新版本:
- 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.
- 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.
- Bugfix release for name parameter.
- 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.
- Added mock library to setup.py
- Breaking change: Don’t throw a KeyError, but rather an AttributeError on FastbillResponse.currency property
- Add pre- and post-request callbacks
- Added NOK to CURRENCIES dict.
- Support pickling of FastbillResponse objects. The link to the API connection will not be pickled though. API credentials will also not be pickled.
- Introduce name parameter to better distinguish FastbillWrapper instances.
- Bugfix release.
- Calls to potential special methods like __unicode__ would lead to an erroneous Fastbill API call.
- 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.
- 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.
限制:
- 仅支持JSON有效负载
- 不会(过度)检查响应的一致性
- 不将日期字符串转换为日期时间对象
依赖关系:
- 请求
- 六个(用于python 2/3兼容性)
安装:
pip install fastbill
用法:
fromfastbillimportFastbillWrapper# Construct the api client for Fastbill's automatic APIclient=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.createclient.customer_create(data={})# Search for customer, subscriptions, etc...forcustomerinclient.customer_get(filter={'city':'Munich'}):printcustomer# But you can also see the full resultresult=client.customer_get(filter={'city':'Munich'})printresult.keys()# Will give you 'CUSTOMERS'