Skip to main content

Unofficial asynchronous API interface to the N26 bank

Project description

# aioN26 Unofficial Asynchronous N26-bank API implementation

based on https://app.swaggerhub.com/apis/Rots/N26/0.2#/transactions/get_smrt_transactions

I will document this better in the future, but here is a working example:

import asyncio
from aioN26.api import Api

from pprint import pprint
import logging

import os
from dotenv import load_dotenv    # pip install python-dotenv

# We load local environment variables from file MYSECRET.env
# The file format is as follows:

# ------------MYSECRET.env-------------
# USERNAME=john.doe@mail.com
# PASSWORD=mysecretpassword
# DEVICE_TOKEN=yourgeneratedtoken
# -------------------------------------

# to generate the DEVICE_TOKEN, run this in a python3 console:
# >>> import uuid ; print(uuid.uuid4())
# and paste the result in the file

load_dotenv('MYSECRET.env')    # directory/file containing the environment variables

logging.basicConfig(level=logging.DEBUG)


async def main():
    async with Api(username=os.getenv('USERNAME'), password=os.getenv('PASSWORD'),
                   device_token=os.getenv('DEVICE_TOKEN')) as api:

        print(api.get_device_token())

        print('\nget_me = \\')
        pprint(await api.get_me())

        print('\nget_me_statuses = \\')
        pprint(await api.get_me_statuses())

        print('\nget_addresses = \\')
        pprint(await api.get_addresses())

        print('\nget_barzahlen_check = \\')
        pprint(await api.get_barzahlen_check())

        print('\nget_spaces = \\')
        pprint(await api.get_spaces())

        print('\nget_accounts = \\')
        pprint(await api.get_accounts())

        print('\nget_settings_account_limits = \\')
        pprint(await api.get_settings_account_limits())

        print('\nset_settings_account_limits = \\')
        pprint(await api.set_settings_account_limits(500, 3000))

        print('\nget_smrt_categories = \\')
        pprint(await api.get_smrt_categories())

        print('\nget_smrt_transactions = \\')
        transactions = await api.get_smrt_transactions(from_time=1636030755256, to_time=1636030755256)
        pprint(transactions)
        print('TOTAL', len(transactions))

asyncio.run(main())

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

aioN26-0.0.6.tar.gz (16.4 kB view details)

Uploaded Source

Built Distribution

aioN26-0.0.6-py3-none-any.whl (12.2 kB view details)

Uploaded Python 3

File details

Details for the file aioN26-0.0.6.tar.gz.

File metadata

  • Download URL: aioN26-0.0.6.tar.gz
  • Upload date:
  • Size: 16.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.6.0 importlib_metadata/4.8.2 pkginfo/1.8.1 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.10.0

File hashes

Hashes for aioN26-0.0.6.tar.gz
Algorithm Hash digest
SHA256 36bfc2754544cbc67c2994c49bd7cb8dbdc9a3aefec56e7072cb5ce686ff17c3
MD5 26ba9a783e9c55eb717d05a5ba5d1a8e
BLAKE2b-256 92a83292c1ff7603ec2c4955f789a9e0c07f5b561b6aac9be461f7aab38dcaeb

See more details on using hashes here.

File details

Details for the file aioN26-0.0.6-py3-none-any.whl.

File metadata

  • Download URL: aioN26-0.0.6-py3-none-any.whl
  • Upload date:
  • Size: 12.2 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.6.0 importlib_metadata/4.8.2 pkginfo/1.8.1 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.10.0

File hashes

Hashes for aioN26-0.0.6-py3-none-any.whl
Algorithm Hash digest
SHA256 15e86b8ed8666ad6f40482c34901328e688b6c4852a56e3805c618b1423a58e1
MD5 200ddb75beb129ec029c0b78ce6abb26
BLAKE2b-256 f1cb760b39982d8016a2cb3efb4c50978b7734cb5701d321bac83cf2078abb54

See more details on using hashes here.

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