<commit_before><!--
Copyright (c) The SimpleFIN Team
See LICENSE for details.
-->

This repository contains a collection of scripts that can be used to
programmatically get bank transaction information.  The scripts herein:

1. Are read-only (they do not mutate the financial state of a bank).

2. Provide a consistent interface (see below).


In this document, the following terms are used interchangeably:

- financial institution
- bank
- credit union



# Goal #

The goal of this repository is to eventually not exist.  These scripts exist
as a bridge from banks which don't implement SimpleFIN to tools which
expect SimpleFIN.  It is our hope that eventually, all banks will implement
SimpleFIN, which will render this repository useless.

Please contribute a script for your banks!

And let your bank know that you want them to implement SimpleFIN!



# Script API #


The structure of this repository is as follows:

    util/
    inst/
        bankA/
            _identity
            list-accounts
        bankB/
            ...


- `util/` contains utility scripts that might be shared among bank access
  scripts such as scripts that connect to OFX servers.

- `inst/` contains a directory per known financial institution (bank,
  credit union, etc...)

- `inst/*/_identity` is an Identity File for the bank directory it lives in
  (see below).

- `inst/*/list-account` is a List Accounts Bank Access script (see below).

<commit_msg>Add How to use this repo section<commit_after><!--
Copyright (c) The SimpleFIN Team
See LICENSE for details.
-->

This repository contains a collection of scripts that can be used to
programmatically get bank transaction information.  The scripts herein:

1. Are read-only (they do not mutate the financial state of a bank).

2. Provide a consistent interface (see below).


In this document, the following terms are used interchangeably:

- financial institution
- bank
- credit union



# Goal #

The goal of this repository is to eventually not exist.  These scripts exist
as a bridge from banks which don't implement SimpleFIN to tools which
expect SimpleFIN.  It is our hope that eventually, all banks will implement
SimpleFIN, which will render this repository useless.

Please contribute a script for your banks!

And let your bank know that you want them to implement SimpleFIN!



# How to use this repo #

## If you see your bank listed ##

If you see your bank listed in the `inst` directory, clone this repo,
install any dependencies then run the script like this:

    PATH=util/:$PATH bash inst/bankA.com/list-accounts 3>&2


## If you don't see your bank listed ##

If you don't see your bank listed in the `inst` directory, clone this repo,
make a directory for your institution, then write a script that will connect
to your bank.  The rest of this document describes how to do that.


# Script API #


The structure of this repository is as follows:

    util/
    inst/
        bankA.com/
            _identity
            list-accounts
        bankB.com/
            ...


- `util/` contains utility scripts that might be shared among bank access
  scripts such as scripts that connect to OFX servers.

- `inst/` contains a directory per known financial institution (bank,
  credit union, etc...).  Please use the domain name of the institution for
  the directory name where possible.

- `inst/*/_identity` is an Identity File for the bank directory it lives in
  (see below).

- `inst/*/list-account` is a List Accounts Bank Access script (see below).


{'fraction_non_alphanumeric': 0.059074126668560066, 'fraction_numerical': 0.0017040613462084636, 'mean_word_length': 3.223021582733813, 'pattern_counts': {'":': 0, '<': 5, '<?xml version=': 0, '>': 6, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '547292', 'n_tokens_mistral': 917, 'n_tokens_neox': 881, 'n_words': 504}