Giter VIP home page Giter VIP logo

pyggybank's Introduction

pyggybank

Coverage Status

badges

NOTE: This package is currently a work in progress. It is not currently fit for everyday use.

PLEASE NOTE: Currently it is necessary to have a recent version of gnupg (>=2.1) to be able to encrypt and decrypt accounts configs. At some point, I will add an option to disable encryption for those on older gnupg versions.

Security

Licence

Can pyggybank get transactions from my bank/institution?

Almost certainly, yes! Though it may need a new provider to be added. All of the providers that pyggybank attempts to scrape can be found at pyggybank/providers/. If your provider isn't there, you will need to get a development version of pyggybank setup in order to add it (sorry, we can't do that for you as we don't have the credentials to access accounts with your provider otherwise we would have added it already). A guide to simplify this process will be developed (TODO).

Alternatives

https://plaid.com - Plaid is focused on democratizing financial services through technology.

https://github.com/bunsn/boiler - Scrapes already authenticated banking

https://stackoverflow.com/questions/5576730/how-to-pull-bank-statements-from-websites

https://www.buxfer.com/

https://github.com/tubaman/bankscrape/tree/master/bankscrape/banks

http://www.ofx.net/

https://github.com/euforic/banking.js/

https://www.coshx.com/blog/2012/11/30/casperjs-automation/

https://github.com/egh/ledger-autosync

https://seeker89.github.io/cozy-pfm/ - looks promising. Dead?

pyggybank's People

Contributors

pelson avatar pyup-bot avatar

Watchers

 avatar

pyggybank's Issues

Fetch account transactions

Add the ability to get the transactions from the IB provider's accounts.

Criteria:

  • Must be able to get the transactions for a given account from any browsed location
  • An account must therefore have a UID within the provider, and be able to navigate to that account's transactions
  • Must handle pagination of accounts
  • Each row: datetime*, ref, description, amount* (+/-), new balance ; where * is mandatory.
  • Ability to stop fetching once transactions are N days older than the latest cache
  • Validate the cache where overlap occurs (balance $$$ may be variant without warning due to new transactions being added that predate existing cached transactions)

Testable account details

Pages that contains wacky and weird authentication, balances and transactions that can be relied upon for testing

Criteria:

  • Transactions paginated through javascript
  • Possibility for multiple authentication pages to get to the same balances/transactions
  • Variety of CSS techniques, including randomly named elements, javascript obfuscated details etc.
  • A guarantee that the pages will never be modified, only deleted (when no viable existing version is using it) or extended

Documentation and shiny homepage

A shiny homepage + some documentation on usage

Criteria:

  • Hosted on pyggybank.github.io
  • An awesome logo
  • A clearly written purpose
  • A prominent description on the terms of use

Cache results

To save on accessing the IB resources too frequently, cache the results in an intermediate form.

Criteria:

  • File based, plaintext (JSON / yaml)
  • Doesn't need to be encrypted
  • Needs to be configurable as to whether it happens at all
  • Needs to be globally configurable as to how long a cache should remain in place (default an "1hr")
  • Needs to be account-wise configurable as to how long a cache should remain in place
  • CLI should be able to override cache length with --max-cache-age argument
  • Cache age should be determined based on modification date

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.