Python bindings for the Zaim API
Project description
zaim
Python bindings for the Zaim API. This also includes a command-line script (zaim).
How to install
$ pip install zaim
or
$ git clone https://github.com/hiromu2000/zaim
$ python setup.py install
How to use
For functions requiring no authentication
>>> import zaim
>>> api = zaim.Api()
>>> api.default_account()
For functions requiring authentication
>>> import zaim
>>> api = zaim.Api(consumer_key='consumer_key',
consumer_secret='consumer_secret',
access_token='access_token',
access_token_secret='access_token_secret')
>>> api.verify()
>>> response = api.payment(category_id='101',
genre_id='10101',
amount=1,
date='2020-04-01',
comment='comment',
name='name',
place='place',
from_account_id=0)
>>> api.money(mapping=1,
mode='payment',
start_date='2020-04-01',
end_date='2020-04-01')
>>> api.delete(mode='payment',
money_id=response['money']['id'])
For extended functions
>>> import zaim
>>> api = zaim.ExtendedApi(consumer_key='consumer_key',
consumer_secret='consumer_secret',
access_token='access_token',
access_token_secret='access_token_secret')
>>> response = api.payment(category_id='101',
genre_id='10101',
amount=1,
date='2020-04-01',
comment='comment',
name='name',
place='place',
from_account_id=0)
>>> api.search(mapping=1,
mode='payment',
place='place',
name='name',
comment='comment')
>>> api.delete(mode='payment',
money_id=response['money']['id'])
>>> api.search_category(u'食費')
>>> api.search_genre(u'カフェ')
>>> api.search_account(u'銀行')
How to use the command-line script
$ export ZAIM_CONSUMER_KEY="YOUR CONSUMER KEY"
$ export ZAIM_CONSUMER_SECRET="YOUR CONSUMER SECRET"
$ zaim token_get --callback-uri http://example.com
$ export ZAIM_CONSUMER_KEY=consumer_key
$ export ZAIM_CONSUMER_SECRET=consumer_secret
$ export ZAIM_ACCESS_TOKEN=access_token
$ export ZAIM_ACCESS_TOKEN_SECRET=access_token_secret
$ zaim money
$ zaim payment --category-id 101 --genre-id 10101 --amount 1 --place 'place'
--date '2020-04-01' --comment 'comment' --name 'name'
$ zaim delete --mode payment --money-id XXXXXXXXX
How to develop
Test
$ cd /path/to/zaim
$ export PYTHONPATH=$PYTHONPATH:/path/to/zaim/zaim
$ python tests/test_zaim_no_auth.py
$ export ZAIM_CONSUMER_KEY=consumer_key
$ export ZAIM_CONSUMER_SECRET=consumer_secret
$ export ZAIM_ACCESS_TOKEN=access_token
$ export ZAIM_ACCESS_TOKEN_SECRET=access_token_secret
$ python tests/test_api.py
$ python tests/test_extended_api.py
or simply
$ sudo pip install tox
$ cd /path/to/zaim
$ export ZAIM_CONSUMER_KEY=consumer_key
$ export ZAIM_CONSUMER_SECRET=consumer_secret
$ export ZAIM_ACCESS_TOKEN=access_token
$ export ZAIM_ACCESS_TOKEN_SECRET=access_token_secret
$ tox
Build
$ python setup.py sdist
$ python setup.py bdist_wheel --universal
ToDo
Documentation (written in Sphinx (reST) and hosted in readthedocs)
Enrich the command-line script
Argument validation for CLI (e.g., account-id)
Acknowledgements
A part of the codes is originally from here.
CHANGELOG
0.2.3 (2019-03-23)
Support 3.6 & 3.7 and drop 3.4.
0.2.2 (2015-11-15)
New Features
Added Create, Update, and Delete operations to the command-line script (zaim).
Added place to the list of arguments of income.
0.2.1 (2015-10-31)
New Features
Added all READ operations to the command-line script (zaim).
0.2.0 (2015-10-17)
New Features
Added command-line script (zaim). It currently only supports token-get, but will support many functions in the zaim API.
Bugfixes
Fixed a bug that was affecting Python 3.x: extended_api.py can now import api.py
0.1.0 (2015-10-11)
New Features
Added Extended API (search, search_category, search_genre, search_account
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.