semvec/pypi-packages huggingface dataset:
tangerine 0.3.9
API for the Tangerine Bank

```
 _____                           _            
|_   _|_ _ _ __   __ _  ___ _ __(_)_ __   ___ 
  | |/ _` | '_ \ / _` |/ _ \ '__| | '_ \ / _ \
  | | (_| | | | | (_| |  __/ |  | | | | |  __/
  |_|\__,_|_| |_|\__, |\___|_|  |_|_| |_|\___|
                 |___/                        
```


[![Latest PyPI version](https://img.shields.io/pypi/v/tangerine.svg)](https://pypi.python.org/pypi/tangerine)
[![CircleCI](https://circleci.com/gh/kevinjqiu/tangerine.svg?style=svg)](https://circleci.com/gh/kevinjqiu/tangerine)
[![codecov](https://codecov.io/gh/kevinjqiu/tangerine/branch/master/graph/badge.svg)](https://codecov.io/gh/kevinjqiu/tangerine)

API and scraper for the Tangerine Bank (Canada).

Install
=======

    pip install tangerine

Usage
=====

Authentication
--------------

```python
from tangerine import InteractiveSecretProvider, TangerineClient

secret_provider = InteractiveSecretProvider()
client = TangerineClient(secret_provider)

with client.login():
    ...

```

Using `InteractiveSecretProvider` will prompt user for username/account #, security challenge questions and PIN number.

The call to `client.login()` will initiate the login process. After the login is successful, subsequent calls to the API will be authenticated.

If `client.login()` is used as a context manager (i.e., `with client.login():`), logout will be automatically initiated after the code block exits
or any exception is raised.

List accounts
-------------

With an active session, use `client.list_accounts()`:

```python
with client.login():
    accounts = client.list_accounts()
```

List transactions
-----------------

```python
with client.login():
    accounts = client.list_accounts()
    start_date = datetime.date(2017, 10, 1)
    end_date = datetime.date(2017, 11, 1)
    client.list_transactions([acct['number'] for acct in accounts], start_date, end_date)
```

Download statements
-------------------

```python
with client.login():
    accounts = client.list_accounts()
    start_date = datetime.date(2017, 10, 1)
    end_date = datetime.date(2017, 11, 1)
    client.download_ofx(account[0], start_date, end_date)
```


Contribution
============

Requirements:

* Python 3
* [pipenv](https://github.com/kennethreitz/pipenv)
* basic knowledge of Python and git

To contribute to the development, fork this repo to your github account, and clone it.

```
$ git clone https://YOUR-CLONE-URL tangerine
$ cd tangerine
$ pipenv install  # this creates the virtualenv and installs the dependencies
$ pipenv shell    # this activates the virtualenv
$ git checkout -b branch-for-feature-or-bug-fix
HACK...HACK...HACK
$ git commit ...
$ git push
```

and send a PR :)


Licence
=======

MIT

Changelog
=========

See [CHANGELOG.md](CHANGELOG.md)

Authors
=======

tangerine was written by Kevin J. Qiu <kevin@idempotent.ca> with [contributors](https://github.com/kevinjqiu/tangerine/graphs/contributors).