
Research
SANDWORM_MODE: Shai-Hulud-Style npm Worm Hijacks CI Workflows and Poisons AI Toolchains
An emerging npm supply chain attack that infects repos, steals CI secrets, and targets developer AI toolchains for further compromise.
aiobml
Advanced tools
This is an asynchronous wrapper around Bank of Maldives API.
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.
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
You must have python 3 installed
$ pip install -U aiobml
$ git clone https://github.com/quillfires/aioBML.git
$ cd aioBML
$ python setup.py install
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())
FAQs
Asynchronous Python wrapper around Bank of Maldives (BML) API
We found that aiobml demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Research
An emerging npm supply chain attack that infects repos, steals CI secrets, and targets developer AI toolchains for further compromise.

Company News
Socket is proud to join the OpenJS Foundation as a Silver Member, deepening our commitment to the long-term health and security of the JavaScript ecosystem.

Security News
npm now links to Socket's security analysis on every package page. Here's what you'll find when you click through.