{"id":15434028,"url":"https://github.com/sebinsua/teller-cli","last_synced_at":"2025-04-19T18:09:18.173Z","repository":{"id":143142262,"uuid":"47139505","full_name":"sebinsua/teller-cli","owner":"sebinsua","description":":bank: Banking for your command line [DEPRECATED]","archived":false,"fork":false,"pushed_at":"2017-03-30T12:28:37.000Z","size":166,"stargazers_count":61,"open_issues_count":9,"forks_count":4,"subscribers_count":6,"default_branch":"master","last_synced_at":"2025-01-07T09:04:45.391Z","etag":null,"topics":["banking","chart","cli","money","notifications","osx-menu","spending","teller","uk"],"latest_commit_sha":null,"homepage":"","language":"Rust","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/sebinsua.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2015-11-30T18:59:35.000Z","updated_at":"2022-09-30T09:08:48.000Z","dependencies_parsed_at":null,"dependency_job_id":"b0c25613-d6fe-48f6-8b96-2d91375d3021","html_url":"https://github.com/sebinsua/teller-cli","commit_stats":{"total_commits":134,"total_committers":1,"mean_commits":134.0,"dds":0.0,"last_synced_commit":"fd9ff05073ba6f6142583ed019aa627624a39bde"},"previous_names":[],"tags_count":8,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sebinsua%2Fteller-cli","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sebinsua%2Fteller-cli/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sebinsua%2Fteller-cli/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sebinsua%2Fteller-cli/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/sebinsua","download_url":"https://codeload.github.com/sebinsua/teller-cli/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":249758754,"owners_count":21321590,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["banking","chart","cli","money","notifications","osx-menu","spending","teller","uk"],"created_at":"2024-10-01T18:36:46.806Z","updated_at":"2025-04-19T18:09:18.153Z","avatar_url":"https://github.com/sebinsua.png","language":"Rust","funding_links":[],"categories":[],"sub_categories":[],"readme":"# teller-cli ![Build Status](https://img.shields.io/travis/sebinsua/teller-cli.svg)\n\u003e Banking for your command line\n\nThis tool provides useful ways of interrogating your bank through your command line, and is not merely meant to be a one-to-one match with underlying APIs.\n\nIt uses [Teller](http://teller.io) behind-the-scenes to interact with your UK bank, so you will need to have an account there.\n\n**:point_up_2: Want an account?** [@stevegraham can hook you up!](https://twitter.com/stevegraham)\n\n## Usage\n\n`teller show balance current` will show you your current account's balance.\n\n`teller --help` for more commands.\n\n*e.g.*\n\n![Instructions](http://i.imgur.com/cvZRwev.png)\n\n## Why?\n\n#### Notifications with [`terminal-notifier`](https://github.com/julienXX/terminal-notifier)\n\n`teller show balance current | terminal-notifier -title \"Current Account Balance\"`\n\n![Notifications](http://i.imgur.com/RxCSig9.png)\n\n#### Alert when :moneybag: low\n\n```sh\n#!/bin/sh\n\nCURRENT_BALANCE=`teller show balance current --hide-currency`;\nMIN_BALANCE=1000.00;\n\nif (( $(bc \u003c\u003c\u003c \"$CURRENT_BALANCE \u003c $MIN_BALANCE\") ))\nthen\n  echo \"Your current balance has fallen below £$MIN_BALANCE\" | terminal-notifier -title \"💰 Alert\" -subtitle \"Current Balance is £$CURRENT_BALANCE\";\nfi\n```\n\n![Alerts](http://i.imgur.com/OXU5uyv.png)\n\n#### :coffee: How much money do I spend at [Nanna's](http://www.nannasn1.com/)?\n\n```\n\u003e teller list transactions current | grep \"NANNA'S\"\n27   2015-11-12  NANNA'S             -2.70\n60   2015-10-28  NANNA'S             -2.40\n68   2015-10-26  NANNA'S             -5.40\n101  2015-10-09  NANNA'S             -2.70\n203  2015-07-17  NANNA'S             -4.60\n206  2015-07-16  NANNA'S             -9.90\n208  2015-07-16  NANNA'S             -9.30\n209  2015-07-16  NANNA'S             -0.10\n```\n\nHopefully Teller will add support for querying transactions soon.\n\n#### Am I saving money with a chart :chart_with_upwards_trend: with [`spark`](https://github.com/holman/spark)\n\n```\n\u003e teller list balances business --interval=monthly --timeframe=year --output=spark | spark\n▁▁▁▂▃▂▃▄▄▅▆█\n```\n\n#### Have I spent more money this month than I normally do?\n\n```sh\n#!/bin/sh\n\nCURRENT_OUTGOING=`teller show outgoing current --hide-currency | sed 's/^-//'`;\nOUTGOINGS=`teller list outgoings current --output=spark`;\nSUM_OUTGOING=`echo \"$OUTGOINGS\" | sed 's/ /+/g' | bc -l | sed 's/^-//'`;\nCOUNT_OUTGOING=`echo \"$OUTGOINGS\" | wc -w | xargs`;\nAVERAGE_OUTGOING=`bc \u003c\u003c\u003c \"scale=2; $SUM_OUTGOING / $COUNT_OUTGOING\"`;\n\nif (( $(bc \u003c\u003c\u003c \"$CURRENT_OUTGOING \u003e $AVERAGE_OUTGOING\") ))\nthen\n  DIFFERENCE_OUTGOING=`bc \u003c\u003c\u003c \"scale=2; $CURRENT_OUTGOING - $AVERAGE_OUTGOING\"`;\n  echo \"You've spent £$DIFFERENCE_OUTGOING more than normal.\" | terminal-notifier -title \"💰 Spending Alert\" -subtitle \"Current Outgoing is £$CURRENT_OUTGOING\";\nfi\n```\n\n#### Keep track of your spending from the OSX Menu Bar with [BitBar](https://github.com/matryer/bitbar)\n\nCreate a [`track-spending.1h.sh`](https://github.com/matryer/bitbar-plugins/blob/master/Finance/teller-track-spending.1h.sh) within your plugins directory:\n```sh\n#!/bin/sh\n#\n# Teller.io Banking via the OSX menu bar\n# Requires:\n# - a Teller.io account\n# - a UK Bank\n# - teller-cli: https://github.com/sebinsua/teller-cli#from-release\n# - pcregrep: `brew install pcre`\n#\n# \u003cbitbar.title\u003eteller-track-spending\u003c/bitbar.title\u003e\n# \u003cbitbar.version\u003ev1.3.1\u003c/bitbar.version\u003e\n# \u003cbitbar.author\u003eSeb Insua\u003c/bitbar.author\u003e\n# \u003cbitbar.author.github\u003esebinsua\u003c/bitbar.author.github\u003e\n# \u003cbitbar.desc\u003eTrack your spending from your menu bar\u003c/bitbar.desc\u003e\n# \u003cbitbar.image\u003ehttps://camo.githubusercontent.com/e0215e6736172334f62effff36ff8df1ab38fed1/687474703a2f2f692e696d6775722e636f6d2f627638545a4c652e706e67\u003c/bitbar.image\u003e\n# \u003cbitbar.dependencies\u003eteller-cli, pcregrep\u003c/bitbar.dependencies\u003e\n# \u003cbitbar.abouturl\u003ehttps://github.com/sebinsua/teller-cli\u003c/bitbar.abouturl\u003e\n\nexport PATH=\"/usr/local/bin:/usr/bin/:$PATH\";\n\nSPENDING_LIMIT='3000.00'; # Change this to a suitable spending limit.\n\nexit_if_zero() {\n  RETURN_CODE=$1;\n  ERROR_MESSAGE=$2;\n  if [ \"$ERROR_MESSAGE\" = \"\" ]; then\n    ERROR_MESSAGE=\"Offline\";\n  fi;\n  if [ \"$RETURN_CODE\" -ne 0 ]; then\n    echo \"$ERROR_MESSAGE|color=#7e7e7e\";\n    exit 1;\n  fi;\n}\n\n# If we're offline we shouldn't output junk in the menu bar.\ncurl --connect-timeout 5 www.google.com \u003e /dev/null 2\u003e /dev/null;\nexit_if_zero $? \"Offline\";\n\nCURRENT_OUTGOING=$(teller show outgoing current --hide-currency);\nexit_if_zero $? \"Error\";\n\nCURRENT_BALANCE=$(teller show balance current --hide-currency);\nexit_if_zero $? \"Error\";\n\nLAST_TRANSACTION=$(teller list transactions | tail -n 1 | pcregrep -o1 \"[0-9]+[ ]+(.*)\");\nexit_if_zero $? \"Error\";\n\nif [ \"$(echo \"$CURRENT_OUTGOING \u003e $SPENDING_LIMIT\" | bc)\" -ne 0 ]; then\n  OVERSPEND=$(echo \"scale=2; $CURRENT_OUTGOING - $SPENDING_LIMIT\" | bc);\n  echo \"🚨 £$OVERSPEND OVERSPENT|color=red\";\nelse\n  UNDERSPEND=$(echo \"scale=2; $SPENDING_LIMIT - $CURRENT_OUTGOING\" | bc);\n  if [ \"$(echo \"$UNDERSPEND \u003e ($SPENDING_LIMIT/2)\" | bc)\" -ne 0 ]; then\n    echo \"🏦 £$UNDERSPEND remaining|color=green\";\n  else\n    echo \"🏦 £$UNDERSPEND remaining|color=#ffbf00\";\n  fi;\nfi;\necho \"---\";\necho \"Current Account: £$CURRENT_BALANCE\";\necho \"Current Outgoing: £$CURRENT_OUTGOING\";\necho \"Last TX: $LAST_TRANSACTION\";\n```\n\n![Tracking spending in the OSX Menu Bar](http://i.imgur.com/bv8TZLe.png)\n\n## Installation\n\n### From release\n\n```\n\u003e curl -L https://github.com/sebinsua/teller-cli/releases/download/v0.0.7/teller \u003e /usr/local/bin/teller \u0026\u0026 chmod +x /usr/local/bin/teller\n```\n\n### From source\n\nFirst `git clone` and then:\n\n```\n\u003e cargo build --release \u0026\u0026 cp ./target/release/teller /usr/local/bin \u0026\u0026 chmod +x /usr/local/bin/teller\n```\n\n## FAQ\n\n#### Compiling gives `openssl/hmac.h` not found error\n\nEnsure that both [Homebrew](https://github.com/Homebrew/homebrew) and `openssl` are installed, and then [try running `brew link --force openssl`](https://github.com/sfackler/rust-openssl/issues/255).\n\nThis relates to the following error:\n\n```\n--- stderr\nsrc/openssl_shim.c:1:10: fatal error: 'openssl/hmac.h' file not found\n#include \u003copenssl/hmac.h\u003e\n```\n\nIf `brew` complains about not being able to force-link `openssl` then you could try building like this:\n\n```sh\nOPENSSL_INCLUDE_DIR=/usr/local/opt/openssl/include DEP_OPENSSL_INCLUDE=/usr/local/opt/openssl/include cargo build\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsebinsua%2Fteller-cli","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsebinsua%2Fteller-cli","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsebinsua%2Fteller-cli/lists"}