Skip to content

sirfoga/pyhodl

Repository files navigation

pyhodl | Download, update, analyze and plot your crypto-transactions. Completely off-line and secure (you own your data).

Made with love and crypto money.

Build Status CircleCI
Code Health BCH compliance Codacy Badge Code Climate

pylint Score CII Best Practices Known Vulnerabilities

FOSSA Status Contributions welcome

Table of Contents

Key Features

  • continuous (hourly, daily, you-decide-when) updates from your exchanges
  • completely off-line
  • you own your data
  • analyze profit and ROI of transactions
  • plot charts (buy/sells, prices, market cap ...)
  • stats and trends
  • cross-OS
  • supported exchanges:
    • Binance
    • Bitfinex
    • Coinbase
    • GDAX

Usage

$ pyhodl [options]

To specify your settings, please refer to this. To import your transactions, please refer to the guide.

Supported commands

The following flags are supported:

Flag Description Allowed attributes
-h show this help message and exit None
-m Choose run mode {plotter,stats,download,update}
-p Path to use as input any OS existent path
-t Connect to tor via this password (advanced) any string
-v Increase verbosity nothing, just add -v

Example

A simple run with parameters like

pyhodl -plot "~/.pyhodl/data/BitfinexUpdater.json" -verbose

would result in a plot like this one: Example bitfinex

while if you want to plot your gains against your total spent, just run

-plot -verbose

Example bitfinex

Documentation

If you want to browse the full documentation please go here, or clone the repo and navigate to the index file.

API example

To show how simple it is, take a look at the code on how to produce the chart of the example:

wallets = exchange.build_wallets().values()  # get wallets
plotter = FiatPlotter(wallets)  # setup plot
plotter.plot_buy_sells("XRP")  # plot buy/sells data

Install

Just run ./install.sh and test your installation with pyhodl -h. Should come out

usage: -[mode] -h/--help for full usage

optional arguments:
  -h, --help            show this help message and exit
  -m {plotter,stats,download,update}, --mode {plotter,stats,download,update}
                        Run mode
  -p PATH, --path PATH  Path to use as input
  -t TOR, --tor TOR     Connect to tor via this password (advanced)
  -v, --verbose         Increase verbosity

To run the tests (please do):

python3 setup.py test

Changelog

See CHANGELOG

Contribute

Contributions welcome Open Source Love

  1. Open an issue
  2. fork this repository
  3. create your feature branch (git checkout -b my-new-feature)
  4. commit your changes (git commit -am 'Added my new feature')
  5. publish the branch (git push origin my-new-feature)
  6. open a PR

License

FOSSA Status License MIT License

Links

You may also like...

  • cryptowatch - Uses cryptowat.ch and tradingview.com APIs to display charts side-by-side

About

🐍 Static analysis of your crypto-transactions. Completely off-line and security-oriented

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published