Asynchronous Python wrapper around Bank of Maldives (BML) API
Project description
This is an asynchronous wrapper around Bank of Maldives API.
How it works
Currently you can use this library to get the transaction history of all your Bank of Maldives accounts, details of all you BML accounts & contacts and add & remove contacts. If you want to check for new transactions; save the transactions to a db, check, alert and add any transactions that's not currently saved to the db check the basic example below.
Async Bank of Maldives (BML) API
This library is not fully completed yet. As of now it can be used to get the transactions done within the last 24 - 48 hours, get all the information about your Accounts and your contacts and add & remove contacts. scroll to the end to see the to do list of this library
setup
You must have python 3 installed
using PIP
$ pip install -U aiobml
From Source
$ git clone https://github.com/quillfires/aioBML.git
$ cd aioBML
$ python setup.py install
Basic Example
import asyncio
from aiobml import asyncBML
loop = asyncio.get_event_loop()
bank = asyncBML(username="your_user_name",password="your_password")
async def start_bank_client():
await bank.start()
@bank.event('new_transaction')
async def on_new_transaction(transaction):
print(transaction)
# on app reboot, event will trigger for all the transactions within 24 hours
# Use a db to avoid being notified of the same transaction.
# check if transaction is in your db
# if not, save to db and alert about the transaction
async def contacts():
data = await bank.get_contacts()
print(data)
# show all the contacts you have saved
async def accounts():
data = await bank.get_accounts()
print(data)
# show all the accounts you have in Bank of Maldives
async def add_cont(account, name):
added_acc = await bank.add_contact(account, name)
print(added_acc)
# adds the account your contact list
# throws DuplicateContent error if it is already in the contact list
async def delete_cont(account):
await bank.delete_contact(account)
# deletes the first match from your contact list
# account can be the account number or the saved name
if __name__ == '__main__':
try:
loop.run_until_complete(start_bank_client())
except (KeyboardInterrupt, SystemExit):
pass
finally:
loop.run_until_complete(bank.close())
Changlog
Todo
- Get todays history
- Get Account details
- Get contacts
- Add contacts
- Delete contacts
- Get history from a date range
- Make Transfer to a given account number
- Make transfers to contacts.
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.
Source Distribution
Built Distribution
File details
Details for the file aiobml-1.0.4.tar.gz
.
File metadata
- Download URL: aiobml-1.0.4.tar.gz
- Upload date:
- Size: 11.1 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.7.9
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 8bbbe5e24633417d1206453b8def4290702ccf950b230091732f54eb10a8d222 |
|
MD5 | 43428fb096f219227963eb8ed03357bb |
|
BLAKE2b-256 | db06297e0a751229554f05347bddc8f05e0be924f309fb6b5b78b3dd33194871 |
File details
Details for the file aiobml-1.0.4-py3-none-any.whl
.
File metadata
- Download URL: aiobml-1.0.4-py3-none-any.whl
- Upload date:
- Size: 12.5 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.7.9
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | b649027c5b43c052fc295855686ae00fe9b7a459207759d028f38e44c0793746 |
|
MD5 | 22e3e4990084118424b01b8334f2b2e8 |
|
BLAKE2b-256 | 1e76bc86a3b2122b752976e164998c7038e943b9bd62297024cd54db26d4b130 |