Skip to content

fylein/fyle-bank-feed-parser-sdk-py

Repository files navigation

fyle-bank-feed-parser-sdk-py

test pythonpublish

Bank feeds parsers collection.

Usage

To use the VCF parser, use the VCFParser class:

from card_data_parsers import VCFParser, ParserError

try:
  with open(dir + '/input.vcf') as input_file:
    result = VCFParser.parse(
      file_obj=input_file,
      account_number_mask_begin=4,
      account_number_mask_end=4
    )
  print(result)
except ParserError as e:
  print(f'Omg! error {e}')

Similarly, you can use AmexParser, CDFParser, S3DFParser and HappayParser for the right file types.

Development

pip install -r requirements.txt

Check implemented parsers for examples.

Run tests

chmod +x test.sh

./test.sh

Releasing a new version

To release new version to Pypi:

  • Create a new release here. OR
  • Create a git tag and push that tag(after merge) with version number like:
    git tag v0.1.0
    git push origin v0.1.0
    

Versioning semantics

The parse method is supposed to return a list of transactions. This is a list of python dict objects that looks like this:

[{"bank_name": "Test BANK", "vendor": "Test", "sync_type": "BANK FEED - VCF", "transaction_type": "debit", "currency": "EUR", "amount": "124.74", "transaction_date": "2018-11-30T10:00:00.000000Z", "account_number": "4142********6333", "transaction_dt": "2018-11-30T10:00:00.000000Z", "external_id": "b2a242d1d9814394b594044b77f36f2f"}]

If there is any non-backward compatible change to this structure e.g. a key is deleted, then bump up major number. Otherwise, bump up minor number.