Heimdall is the guardian of the rainbow bridge, which is the onlu way to Asgard (heaven) bouding with Midgard (earth) os nordic mithology, for this project Heimdall is responsible for not letting invalid bank data to be accepted.
Heimdall is a Python package which validates the main brazilian banks: Itaú, Bradesco, Caixa, Banco do Brasil, Citibank, Santander, Banrisul and Nubank. For the remaining ones it is used a default validation:
- Agency is required to have 1 up to 5 digits
- Agency Branch is required to have 0 up to 2 characters
- Account is required to have 1 up to 12 digits
- Account Branch is required to have 0 up to 2 characters
Install with pip:
pip install wheel && pip install heimdall_valid_bank
To validate the entire bank account, follow these steps:
from heimdall_valid_bank.data_bank_validate import DataBankValidate
valid_bank = DataBankValidate(
bank_code='001',
agency='1584',
digit_agency='9',
account='00210169',
digit_account='6'
).start()
if valid_bank == True:
print('Bank Valid')
else:
print('Bank Invalid')
You can also validate in stages, using BankValidate
, AgencyValidate
, AccountValidate
,:
- basic agency validation:
from heimdall_valid_bank.agency_validate import AgencyValidate
valid_bank = AgencyValidate(
bank_code='237',
agency='2377-8'
).start()
if valid_bank == True:
print('Agency Valid')
else:
print('Agency Invalid')
- validation with agency branch
from heimdall_valid_bank.agency_validate import AgencyValidate
valid_bank = AgencyValidate(
bank_code='001',
agency='1584',
digit_agency='9'
).start()
if valid_bank == True:
print('Agency Valid')
else:
print('Agency Invalid')
- agency validation by passing the branch directly at the agency, if you have:
from heimdall_valid_bank.agency_validate import AgencyValidate
valid_bank = AgencyValidate(
bank_code='001',
agency='1584-9'
).start()
if valid_bank == True:
print('Agency Valid')
else:
print('Agency Invalid')
Heimdall is released under the MIT license. See the bundled LICENSE file for details.