Skip to main content

The official Python client for the Fintoc API.

Project description

Fintoc meets :snake:

fintoc-com PyPI

You have just found the Python-flavored client of Fintoc.

Why?

You can think of Fintoc API as a piscola. And the key ingredient to a properly made piscola are the ice cubes.
Sure, you can still have a piscola without ice cubes. But hey… that’s not enjoyable -- why would you do that?
Do yourself a favor: go grab some ice cubes by installing this refreshing library.


Table of contents

How to install

Install it with Poetry, the modern package manager.

$ poetry add fintoc

Don’t worry: if poetry is not your thing, you can also use pip.

$ pip install fintoc

Note: This client requires Python 3.6+.

Quickstart

  1. Get your API key and link your bank account using the Fintoc dashboard.
  2. Open your command-line interface.
  3. Write a few lines of Python to see your bank movements.
>>> from fintoc import Client
>>> client = Client("your_api_key")
>>> link = client.get_link("your_link_token")
>>> account = link.find(type_="checking_account")
>>> account.get_movements(since='2020-01-01')

And that’s it!

Documentation

This client supports all Fintoc API endpoints. For complete information about the API, head to the docs.

Examples

Get accounts

from fintoc import Client

client = Client("your_api_key")
link = client.get_link("your_link_token")

for account in link:
    print(account.name)

# Or... you can pretty print all the accounts in a Link
link.show_accounts()

If you want to find a specific account in a link, you can use find. You can search by any account field:

account = link.find(type_="checking_account")
account = link.find(number="1111111")
account = link.find(id_="sdfsdf234")

You can also search for multiple accounts matching a specific criteria with find_all:

clp_accounts = link.find_all(currency="CLP")

To update the account balance you can use update_balance:

account.update_balance()
print(account.balance.available)

Get movements

from datetime import date, timedelta
from fintoc import Client

client = Client("your_api_key")
link = client.get_link("your_link_token")
account = link.find(type_="checking_account")

# You can get the account movements since a specific datetime
yesterday = date.today() - timedelta(days=1)
movements = account.get_movements(since=yesterday)

# Or... you can use an ISO 8601 formatted string representation of the datetime
movements = account.get_movements(since='2020-01-01')

Calling get_movements without arguments gets the last 30 movements of the account.

Dependencies

This project relies on these useful libraries.

  • httpx -- a next-generation HTTP client
  • tabulate -- pretty-print tabular data
  • python-dateutil -- useful extensions to the standard Python datetime features

How to test…

The web API

That’s a 🍰.

  1. Log in into your bank account and send me some money.
  2. Use this library to check if the movement is correct.
  3. You’re welcome.

The library

You can run all the discoverable tests.

$ python -m unittest

Roadmap

  • Add more docstrings
  • Add more unit tests
  • Add more type hints

Acknowledgements

This library was initially designed and handcrafted by @nebil, ad piscolem.
He built it with the help of Gianni Roberto’s Picchi 2.

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

fintoc-0.3.1.tar.gz (10.7 kB view hashes)

Uploaded Source

Built Distribution

fintoc-0.3.1-py3-none-any.whl (9.8 kB view hashes)

Uploaded 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