# 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": "",
"docs_url": null,
"requires_python": "",
"maintainer_email": "",
"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/b3/06/a1ede0d30bfd05dfa4df700562c69dc7b04da31b6161bcc250cd368d25af/card_data_parsers-0.15.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.15.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": "1f2c0e3b0ff580d2bf16ce95ae7e2b9e7bf6e25bd74902151920d5153fd0ebfe",
"md5": "8b51abaa401f093b700a2afc4b630376",
"sha256": "c60aecf455d760957a33df17762e905a34d96a3561eaafe3dac41e69f7672af1"
},
"downloads": -1,
"filename": "card_data_parsers-0.15.0-py3-none-any.whl",
"has_sig": false,
"md5_digest": "8b51abaa401f093b700a2afc4b630376",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": null,
"size": 20651,
"upload_time": "2023-08-03T12:32:42",
"upload_time_iso_8601": "2023-08-03T12:32:42.677047Z",
"url": "https://files.pythonhosted.org/packages/1f/2c/0e3b0ff580d2bf16ce95ae7e2b9e7bf6e25bd74902151920d5153fd0ebfe/card_data_parsers-0.15.0-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "b306a1ede0d30bfd05dfa4df700562c69dc7b04da31b6161bcc250cd368d25af",
"md5": "428fba56b7c9cc5ba7d394d8ff70b248",
"sha256": "edae5391b8d9e75bae45c6306b64eada02b34866d5d143c032c0248edda068fc"
},
"downloads": -1,
"filename": "card_data_parsers-0.15.0.tar.gz",
"has_sig": false,
"md5_digest": "428fba56b7c9cc5ba7d394d8ff70b248",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 15248,
"upload_time": "2023-08-03T12:32:43",
"upload_time_iso_8601": "2023-08-03T12:32:43.890421Z",
"url": "https://files.pythonhosted.org/packages/b3/06/a1ede0d30bfd05dfa4df700562c69dc7b04da31b6161bcc250cd368d25af/card_data_parsers-0.15.0.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2023-08-03 12:32:43",
"github": false,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"lcname": "card-data-parsers"
}