# fyle-bank-feed-parser-sdk-py
[![test](https://github.com/fylein/fyle-bank-feed-parser-sdk-py/actions/workflows/test.yml/badge.svg)](https://github.com/fylein/fyle-bank-feed-parser-sdk-py/actions/workflows/test.yml) [![pythonpublish](https://github.com/fylein/fyle-bank-feed-parser-sdk-py/actions/workflows/pythonpublish.yml/badge.svg)](https://github.com/fylein/fyle-bank-feed-parser-sdk-py/actions/workflows/pythonpublish.yml)
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](https://github.com/fylein/fyle-bank-feed-parser-sdk-py/releases/new).
<center>OR</center>
- 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.
Raw data
{
"_id": null,
"home_page": "https://www.fylehq.com",
"name": "card-data-parsers",
"maintainer": null,
"docs_url": null,
"requires_python": null,
"maintainer_email": null,
"keywords": "fyle, api, python, sdk, cards, parsers, amex, visa, cdf, vcf, s3df, happay, mastercard, diners club",
"author": "Siva Narayanan",
"author_email": "siva@fyle.in",
"download_url": "https://files.pythonhosted.org/packages/4d/1c/13886f9a1e923a65050b6bce550f1d96ce2f95650ce90887b888b573a37b/card_data_parsers-0.17.0.tar.gz",
"platform": null,
"description": "# fyle-bank-feed-parser-sdk-py\n\n[![test](https://github.com/fylein/fyle-bank-feed-parser-sdk-py/actions/workflows/test.yml/badge.svg)](https://github.com/fylein/fyle-bank-feed-parser-sdk-py/actions/workflows/test.yml) [![pythonpublish](https://github.com/fylein/fyle-bank-feed-parser-sdk-py/actions/workflows/pythonpublish.yml/badge.svg)](https://github.com/fylein/fyle-bank-feed-parser-sdk-py/actions/workflows/pythonpublish.yml)\n\nBank feeds parsers collection.\n\n\n## Usage\n\nTo use the VCF parser, use the VCFParser class:\n\n```\nfrom card_data_parsers import VCFParser, ParserError\n\ntry:\n with open(dir + '/input.vcf') as input_file:\n result = VCFParser.parse(\n file_obj=input_file,\n account_number_mask_begin=4,\n account_number_mask_end=4\n )\n print(result)\nexcept ParserError as e:\n print(f'Omg! error {e}')\n```\n\nSimilarly, you can use AmexParser, CDFParser, S3DFParser and HappayParser for the right file types.\n\n\n## Development\n\n```\npip install -r requirements.txt\n```\nCheck implemented parsers for examples.\n\n\n### Run tests\n\n```\nchmod +x test.sh\n\n./test.sh\n```\n\n\n## Releasing a new version\n\nTo release new version to Pypi:\n- Create a new release [here](https://github.com/fylein/fyle-bank-feed-parser-sdk-py/releases/new).\n <center>OR</center>\n- Create a git tag and push that tag(after merge) with version number like: \n ```\n git tag v0.1.0\n git push origin v0.1.0\n ```\n\n\n\n## Versioning semantics\n\nThe parse method is supposed to return a list of transactions. This is a list of python dict objects that looks like this:\n\n```\n[{\"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\"}]\n```\n\nIf 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.\n",
"bugtrack_url": null,
"license": "MIT",
"summary": "Parsing bank feed data files",
"version": "0.17.0",
"project_urls": {
"Homepage": "https://www.fylehq.com"
},
"split_keywords": [
"fyle",
" api",
" python",
" sdk",
" cards",
" parsers",
" amex",
" visa",
" cdf",
" vcf",
" s3df",
" happay",
" mastercard",
" diners club"
],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "b5d270ae719cde5fda93ab996c88d8e26a3411005fec7be4a3a0b8495e76a017",
"md5": "cd35ded107a225f82d70aaac3692f394",
"sha256": "4eea08a0fc47d2efc29e95fe529ae1944046e9e5751cc7470dc64820cc8bdbaa"
},
"downloads": -1,
"filename": "card_data_parsers-0.17.0-py3-none-any.whl",
"has_sig": false,
"md5_digest": "cd35ded107a225f82d70aaac3692f394",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": null,
"size": 20710,
"upload_time": "2024-11-26T13:36:04",
"upload_time_iso_8601": "2024-11-26T13:36:04.233914Z",
"url": "https://files.pythonhosted.org/packages/b5/d2/70ae719cde5fda93ab996c88d8e26a3411005fec7be4a3a0b8495e76a017/card_data_parsers-0.17.0-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "4d1c13886f9a1e923a65050b6bce550f1d96ce2f95650ce90887b888b573a37b",
"md5": "b2ccee8df19a3e18c2f90aaed172f215",
"sha256": "1a6ee5066f93ffafcf2e66466efead2eb87e2251ecf16fff04e599afe87fbad2"
},
"downloads": -1,
"filename": "card_data_parsers-0.17.0.tar.gz",
"has_sig": false,
"md5_digest": "b2ccee8df19a3e18c2f90aaed172f215",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 15405,
"upload_time": "2024-11-26T13:36:05",
"upload_time_iso_8601": "2024-11-26T13:36:05.763733Z",
"url": "https://files.pythonhosted.org/packages/4d/1c/13886f9a1e923a65050b6bce550f1d96ce2f95650ce90887b888b573a37b/card_data_parsers-0.17.0.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2024-11-26 13:36:05",
"github": false,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"lcname": "card-data-parsers"
}