Skip to main content

Python client library for the Fakturownia API

Project description

Python client library for the Fakturownia API

https://img.shields.io/pypi/v/fakturownia.svg https://img.shields.io/travis/wooyek/fakturownia-python.svg Documentation Status Coveralls.io coverage CodeCov coverage Maintainability License Tweet about this project https://img.shields.io/badge/Say%20Thanks-!-1EAEDB.svg

Features

  • ☑ Invoice CRUD plus send_by_email and ‘mark_paid`

  • ☑ ApiClient CRUD

  • ☐ Products CRUD

  • ☐ Warehouse documents CRUD

  • ☐ Accounts management

Please refer to the fakturownia APIs for full API features

Quickstart

Install Fakturownia

pip install fakturownia python

Play with fakturownia APIs in python interpreter:

>>> import os
>>> os.environ.get('FAKTUROWNIA_API_TOKEN', 'Missing key')
'...'
>>> from fakturownia import get_api_client
>>> api = get_api_client()
>>> invoice = api.invoices.create(
...     seller_name='Kabaret Starszych Panów',
...     buyer_name='Odrażający drab',
...     positions=[{
...         'name': 'Smolna szczapa',
...         'quantity': 5,
...         'total_price_gross': 7.33,
...     }],
... )

This instance is only partially updated as create returns only subset of data properties, to get all we need to update our instance.

This shows payment_url but only if you have payments enabled:

>>> invoice.get()
<fakturownia.endpoints.Invoice object at 0x...>
>>> invoice.payment_url  # doctest: +SKIP
'...'

We can mark this invoice as paid:

>>> invoice.mark_paid()
<fakturownia.endpoints.Invoice object at 0x...>

You can chain your calls:

>>> invoice.put(buyer_email='kominek@niepodam.pl').send_by_email()
<fakturownia.endpoints.Invoice object at 0x...>

Running Tests

Does the code actually work?

pipenv install --dev
pipenv shell
tox

We recommend using pipenv but a legacy approach to creating virtualenv and installing requirements should also work. Please install requirements/base.txt and requirements/development.txt to setup virtual env for testing and development.

Help wanted

This library is not yet complete i does what was needed by up to date contributors but more can be done. You can implement new api endpoints and write test for them, it’s actually straightforward and new classes are will be simple, but test are need some effort. We are lazy test writers and because we don’t want to compromise coverage so we postponed new apis until someone would want to write test.

For more If want to help please refer to the contributing section in the docs

Credits

This package was created with Cookiecutter and the wooyek/cookiecutter-pylib project template.

History

0.1.0 (2018-01-03)

  • First release on PyPI.

0.1.2 (2018-01-10)

  • endpoints indexing

  • Robust testing with mocked and real interchangeable backeds .

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

fakturownia-0.1.3.tar.gz (59.9 kB view hashes)

Uploaded Source

Built Distribution

fakturownia-0.1.3-py2.py3-none-any.whl (13.1 kB view hashes)

Uploaded Python 2 Python 3

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