Finary API client and command line tool to interact with your Finary account.
Project description
Finary Unofficial API wrapper
A simple command line tool to interact with your Finary account.
Finary is a real time portfolio & stocks tracker. It supports precious metal, cryptos, stocks and a lot more. If you don't already have an account, here is a referral link to sign up: https://finary.com/referral/7a49bf74c6d9cb3fca2a
:warning: Use at your own risk. I'm not responsible if you trash your account. :warning:
Project goals
- Provide a command line tool to do a large part of what you can do on Finary website
- Automate some requested features not yet implemented by finary like CSV import/export
Quick start
- Install requirements.
pip install finary_uapi
. - Copy paste the
credentials.json.tpl
file tocredentials.json
and file your username and password. - Run
python -m finary_uapi signin
- You are good to go and can explore the API. Run
python -m finary_uapi
for available commands. - Try
python -m finary_uapi me
orpython -m finary_uapi investments
. - If you get errors about being unauthorized, you need to signin again.
Usage
Run ``python -m finary_uapi` for an up to date version.
Usage:
finary_uapi signin
finary_uapi me
finary_uapi institution_connections
finary_uapi dashboard net [all | 1w | 1m | ytd | 1y]
finary_uapi dashboard gross [all | 1w | 1m | ytd | 1y]
finary_uapi dashboard finary [all | 1w | 1m | ytd | 1y]
finary_uapi portfolio [all | 1w | 1m | ytd | 1y]
finary_uapi commodities [all | 1w | 1m | ytd | 1y]
finary_uapi checking_accounts [all | 1w | 1m | ytd | 1y]
finary_uapi fonds_euro [all | 1w | 1m | ytd | 1y]
finary_uapi other_assets [all | 1w | 1m | ytd | 1y]
finary_uapi saving_accounts [all | 1w | 1m | ytd | 1y]
finary_uapi real_estates [all | 1w | 1m | ytd | 1y]
finary_uapi startups
finary_uapi investments
finary_uapi cryptos
finary_uapi cryptos add <code> <quantity> <price> <account_id>
finary_uapi cryptos update <code> <quantity> <price> <account_id>
finary_uapi cryptos delete <code> <account_id>
finary_uapi precious_metals search QUERY
finary_uapi precious_metals
finary_uapi precious_metals add <name> <quantity> <price>
finary_uapi precious_metals delete <commodity_id>
finary_uapi holdings_accounts [crypto | stocks | <account_name>]
finary_uapi holdings_accounts add (crypto | stocks) <account_name>
finary_uapi holdings_accounts add (checking | saving) <account_name> <bank_name> <account_type> <balance>
finary_uapi holdings_accounts delete <account_id>
finary_uapi holdings_accounts update <account_id> <account_name> [<account_balance>]
finary_uapi generic_asset_categories
finary_uapi generic_assets
finary_uapi generic_assets add <name> <category> <quantity> <buying_price> <current_price>
finary_uapi generic_assets update <asset_id> <name> <category> <quantity> <buying_price> <current_price>
finary_uapi generic_assets delete <asset_id>
finary_uapi crypto_currency search QUERY
finary_uapi fiat_currency search QUERY
finary_uapi institutions search QUERY
finary_uapi securities search QUERY
finary_uapi securities
finary_uapi securities add <code> <quantity> <price> <account_id>
finary_uapi securities delete <security_id>
finary_uapi import cryptocom FILENAME [(--new=NAME | --edit=account_id | --add=account_id)]
finary_uapi import crypto_csv FILENAME [(--new=NAME | --edit=account_id | --add=account_id)]
finary_uapi import stocks_csv FILENAME [(--new=NAME | --edit=account_id | --add=account_id)]
finary_uapi import stocks_json FILENAME [(--new=NAME | --edit=account_id | --add=account_id)]
Examples
- List crypto accounts, and display id and name
python -m finary_uapi holdings_accounts crypto | jq '.result[] | {id: .id, name: .name}'
- List investment accounts, and display id and name
python -m finary_uapi holdings_accounts stocks | jq '.result[] | {id: .id, name: .name}'
- Import a CSV file from crypto.com in a new crypto account on Finary. Replace the filename and the account name
python -m finary_uapi import cryptocom crypto_transactions_record.csv --new Crypto.com
- Import a generic CSV file (see tests directory for a sample) in a new crypto account on Finary. Replace the filename and the account name.
python -m finary_uapi import crypto_csv cryptodump.csv --new MyLovelyExchange
- Create a "Compte d'épargne' with a 1000€ balance at BNP Paribas
python -m finary_uapi holdings_accounts add checking testchecking "BNP Paribas" "Compte d'épargne" 1000
- Print gross wealth
python -m finary_uapi dashboard gross all | jq '.result["total"]["amount"]'
TODO
- See Issues
- Tests :smile:
- More typing hints
- CSV export. Use pandas ?
- Write, update, delete for Loans, Real estates, SCPIs are entirely TODO
- Precious metal update
- Interactive command line (it would make automation less fun, but manual use easier)
Remarks for finary devs
- Delete responses should be normalized, sometimes we get json back sometimes nothing but the 204 HTTP code.
Contributors ✨
Thanks go to these people (emoji key):
Nicolas Froment 📆 📣 💻 🐛 🤔 📖 |
Victor Quach 💻 |
NickFR 💻 |
This project follows the all-contributors specification. Contributions of any kind welcome!
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
File details
Details for the file finary_uapi-0.2.0.tar.gz
.
File metadata
- Download URL: finary_uapi-0.2.0.tar.gz
- Upload date:
- Size: 21.2 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/1.7.1 CPython/3.12.1 Darwin/23.2.0
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 51944d24fbadb2e96b032bc92add69debb9dc0b7752f8e1ed768d1cb737900ad |
|
MD5 | 03bdd223d08fef50ece52cb59f4f3128 |
|
BLAKE2b-256 | d1361485d600886c4f4a196af9d6221050049b078210ad72d36c0604245ffad2 |
File details
Details for the file finary_uapi-0.2.0-py3-none-any.whl
.
File metadata
- Download URL: finary_uapi-0.2.0-py3-none-any.whl
- Upload date:
- Size: 30.7 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/1.7.1 CPython/3.12.1 Darwin/23.2.0
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 6f116663e69a862ca87925207562586a7ce9429a970d9ec03a5de2d275b315fc |
|
MD5 | 8914a56228135219a99251d7604d593a |
|
BLAKE2b-256 | 27ab17f1b5e7f5a64a74ca2eadafd1c6e940f4bd128729d3feac84be0bce5f9d |