WazirX Portfolio Tracker on your Terminal!

Overview

WazirX Portfolio Tracker on your Terminal!

If you have been investing in cryptocurrencies in India, there is a very good chance that you have been using WazirX. If that's the case then you must have also realized that WazirX does not have P&L stats, total gains, which token is doing the best and so on for your portfolio! You can get comprehensive trading reports but then you would have to open the Excel sheets and study those to get your basic stats!

Get all the stats right on your Terminal!

Features

  1. Using the public WazirX API for exact prices
  2. Get all the current holdings gains/losses
  3. Overall gains/losses for your current portfolio of tokens and deposits
  4. Real time data (updated every 10 seconds)
  5. Multithreading for API Calls (10-15x performance gains)
  6. High precision calculations using Decimal library
  7. All the stats right on your Terminal with one single command

Installation and Usage

  1. Clone the repo and install the dependencies from requirements.txt
  2. Download your Trading Report
  3. On your Terminal: export TRADING_REPORT_PATH='YOUR_TRADING_REPORT_ABSOLUTE_PATH'
  4. On your Terminal: alias crypto="your_python_path absolute_path_of_repo/main.py"
  5. Enjoy real-time stats with just on single command on your Terminal: crypto

TODO (TO THE MOON!)

  1. Currently only supports transactions/exchanges from Token/INR or token/USDT; Add support for all exchanges
  2. Add CL arguments to sort according to different metrics
  3. Automate the addition of all your Trading Reports in one file
  4. Add alerts for different price points; leading to actionable results such as buying/selling on targets
  5. Improvements to the UI
You might also like...
Display Images in your terminal with python
Display Images in your terminal with python

A python library to display images in the terminal

Easy-to-use terminal program that can compile your code.

Description Easy-to-use terminal program that can compile your code. Installition 1. Cloning repository $ git clone https://github.com/DarkJoij/Compil

Display Images in your terminal with python
Display Images in your terminal with python

Term-Img Display Images in your terminal with python NOTE: This project is a work in progress and not everything on here has actually been implemented

A minimal todo list for your terminal.

todo A minimal todo list for your terminal. Installation Run the following command. pip install git+https://github.com/piero-vic/todo.git Usage todo

A dashboard for your Terminal written in the Python 3 language,

termDash is a handy little program, written in the Python 3 language, and is a small little dashboard for your terminal, designed to be a utility to help people, as well as helping new users get used to the terminal.

Stream comments, submissions from subreddits and users across reddit right in your terminal

reddit_from_terminal stream comments, submissions from subreddits and users across reddit right in your terminal Alert! : Can't watch media contents(p

An interactive aquarium for your terminal.
An interactive aquarium for your terminal.

sipedon An interactive aquarium for your terminal, written using pytermgui. The project got its name from the Common Watersnake, also known as Nerodia

 GoSearch for anything from your terminal
GoSearch for anything from your terminal

GoSearch for anything from your terminal Requirements pip install beautifulsoup4

Generate your name in Ascii modular type art through the terminal
Generate your name in Ascii modular type art through the terminal

ASCII Name Generator Designed and developed by Eduardo Aire The ASCII Art Name Generator is a simple program that helps you to have a practical Shell/

Comments
  • KeyError while launching

    KeyError while launching

    Hi,

    I am getting following error while running the tracker. I am using python 3.9.2 on Windows.

    Traceback (most recent call last): File "C:\Users\maths\Desktop\WazirX-Portfolio-Tracker-main\main.py", line 207, in main() File "C:\Users\maths\Desktop\WazirX-Portfolio-Tracker-main\main.py", line 199, in main token_info = get_token_info(payloads, trading_report) File "C:\Users\maths\Desktop\WazirX-Portfolio-Tracker-main\main.py", line 57, in get_token_info token_info = { File "C:\Users\maths\Desktop\WazirX-Portfolio-Tracker-main\main.py", line 59, in TYPE: payloads[ticker].get(), KeyError: 'WRX'

    Thanks, Santosh

    opened by santoshbmath 11
  • Bump numpy from 1.21.2 to 1.22.0

    Bump numpy from 1.21.2 to 1.22.0

    Bumps numpy from 1.21.2 to 1.22.0.

    Release notes

    Sourced from numpy's releases.

    v1.22.0

    NumPy 1.22.0 Release Notes

    NumPy 1.22.0 is a big release featuring the work of 153 contributors spread over 609 pull requests. There have been many improvements, highlights are:

    • Annotations of the main namespace are essentially complete. Upstream is a moving target, so there will likely be further improvements, but the major work is done. This is probably the most user visible enhancement in this release.
    • A preliminary version of the proposed Array-API is provided. This is a step in creating a standard collection of functions that can be used across application such as CuPy and JAX.
    • NumPy now has a DLPack backend. DLPack provides a common interchange format for array (tensor) data.
    • New methods for quantile, percentile, and related functions. The new methods provide a complete set of the methods commonly found in the literature.
    • A new configurable allocator for use by downstream projects.

    These are in addition to the ongoing work to provide SIMD support for commonly used functions, improvements to F2PY, and better documentation.

    The Python versions supported in this release are 3.8-3.10, Python 3.7 has been dropped. Note that 32 bit wheels are only provided for Python 3.8 and 3.9 on Windows, all other wheels are 64 bits on account of Ubuntu, Fedora, and other Linux distributions dropping 32 bit support. All 64 bit wheels are also linked with 64 bit integer OpenBLAS, which should fix the occasional problems encountered by folks using truly huge arrays.

    Expired deprecations

    Deprecated numeric style dtype strings have been removed

    Using the strings "Bytes0", "Datetime64", "Str0", "Uint32", and "Uint64" as a dtype will now raise a TypeError.

    (gh-19539)

    Expired deprecations for loads, ndfromtxt, and mafromtxt in npyio

    numpy.loads was deprecated in v1.15, with the recommendation that users use pickle.loads instead. ndfromtxt and mafromtxt were both deprecated in v1.17 - users should use numpy.genfromtxt instead with the appropriate value for the usemask parameter.

    (gh-19615)

    ... (truncated)

    Commits

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    • @dependabot use these labels will set the current labels as the default for future PRs for this repo and language
    • @dependabot use these reviewers will set the current reviewers as the default for future PRs for this repo and language
    • @dependabot use these assignees will set the current assignees as the default for future PRs for this repo and language
    • @dependabot use this milestone will set the current milestone as the default for future PRs for this repo and language

    You can disable automated security fix PRs for this repo from the Security Alerts page.

    dependencies 
    opened by dependabot[bot] 0
  • KeyError: 'usdt'

    KeyError: 'usdt'

    I am getting this error, I am running this on a windows machine with python 3.8

    Traceback (most recent call last): File "main.py", line 179, in main trading_report = TradingReport(trading_report_path, Decimal(payloads[USDT][TYPE])) KeyError: 'usdt'

    During handling of the above exception, another exception occurred:

    Traceback (most recent call last): File "main.py", line 205, in main() File "main.py", line 181, in main trading_report = TradingReport(trading_report_path, Decimal('78.2')) File "C:\Downloads\Compressed\WazirX-Portfolio-Tracker-main\WazirX-Portfolio-Tracker-main\trading_report_analysis.py", line 8, in init self.trading_report: dict = self.read_excel(trading_report_path) File "C:\Downloads\Compressed\WazirX-Portfolio-Tracker-main\WazirX-Portfolio-Tracker-main\trading_report_analysis.py", line 32, in read_excel return pd.read_excel(path, sheet_name=None) File "C:\Users\eagrawal\AppData\Local\Programs\Python\Python38\lib\site-packages\pandas\util_decorators.py", line 311, in wrapper return func(*args, **kwargs) File "C:\Users\eagrawal\AppData\Local\Programs\Python\Python38\lib\site-packages\pandas\io\excel_base.py", line 364, in read_excel io = ExcelFile(io, storage_options=storage_options, engine=engine) File "C:\Users\eagrawal\AppData\Local\Programs\Python\Python38\lib\site-packages\pandas\io\excel_base.py", line 1191, in init ext = inspect_excel_format( File "C:\Users\eagrawal\AppData\Local\Programs\Python\Python38\lib\site-packages\pandas\io\excel_base.py", line 1070, in inspect_excel_format with get_handle( File "C:\Users\eagrawal\AppData\Local\Programs\Python\Python38\lib\site-packages\pandas\io\common.py", line 711, in get_handle handle = open(handle, ioargs.mode) OSError: [Errno 22] Invalid argument: "'C:\Downloads\Compressed\WazirX-Portfolio-Tracker-main\WazirX-Portfolio-Tracker-main\WazirX_TradeReport_FY2021.xlsx'"

    opened by ekaanshagrawal 0
  • [Errno 2] No such file or directory: '/Previous Prices\\payloads.pkl'

    [Errno 2] No such file or directory: '/Previous Prices\\payloads.pkl'

    I tried running on windows OS | python 3.8 got this, let me know if I can help with any more details

    (crypto_wazirx_portfolio) C:\Windows\system32>python L:\Crypto\WazirX-Portfolio-Tracker-main\WazirX-Portfolio-Tracker-main\main.py
    'clear' is not recognized as an internal or external command,
    operable program or batch file.
                                        WAZIRX PORTFOLIO TRACKER
    
                                        SERVERS NOT RESPONDING!
    
    Traceback (most recent call last):RYING THE SERVERS IN: 00 SECONDS
      File "L:\Crypto\WazirX-Portfolio-Tracker-main\WazirX-Portfolio-Tracker-main\main.py", line 205, in <module>
        main()
      File "L:\Crypto\WazirX-Portfolio-Tracker-main\WazirX-Portfolio-Tracker-main\main.py", line 196, in main
        payloads = load_from_pickle()
      File "L:\Crypto\WazirX-Portfolio-Tracker-main\WazirX-Portfolio-Tracker-main\utils.py", line 13, in load_from_pickle
        with open(os.path.join(curr_dir, 'Previous Prices', filename), 'rb') as f:
    FileNotFoundError: [Errno 2] No such file or directory: '/Previous Prices\\payloads.pkl'
    
    opened by CHAITU241 0
Owner
Raunit
IT | NSIT, Delhi | Sprinklr | IISc (VAL)
Raunit
Gamestonk Terminal is an awesome stock and crypto market terminal

Gamestonk Terminal is an awesome stock and crypto market terminal. A FOSS alternative to Bloomberg Terminal.

Gamestonk Terminal 18.6k Jan 3, 2023
Quickly open any path on your terminal window in your $EDITOR of choice!

Tmux fpp Plugin wrapper around Facebook PathPicker. Quickly open any path on your terminal window in your $EDITOR of choice! Demo Dependencies fpp - F

null 257 Dec 28, 2022
TerminalGV is a very simple client to display stats about your SNCF TGV/TER train in your terminal.

TerminalGV So I got bored in the train, TerminalGV is a very simple client to display stats about your SNCF TGV/TER train in your terminal. The "on-tr

Samuel 8 Dec 15, 2022
A command line utility for tracking a stock market portfolio. Primarily featuring high resolution braille graphs.

A command line stock market / portfolio tracker originally insipred by Ericm's Stonks program, featuring unicode for incredibly high detailed graphs even in a terminal.

Conrad Selig 51 Nov 29, 2022
Open a file in your locally running Visual Studio Code instance from arbitrary terminal connections.

code-connect Open a file in your locally running Visual Studio Code instance from arbitrary terminal connections. Motivation VS Code supports opening

Christian Volkmann 56 Nov 19, 2022
Darkdump - Search The Deep Web Straight From Your Terminal

Darkdump - Search The Deep Web Straight From Your Terminal About Darkdump Darkdump is a simple script written in Python3.9 in which it allows users to

Josh Schiavone 264 Dec 30, 2022
uploadgram uses your Telegram account to upload files up to 2GiB, from the Terminal.

uploadgram uploadgram uses your Telegram account to upload files up to 2GiB, from the Terminal. Heavily inspired by the telegram-upload Installing: pi

Shrimadhav U K 97 Jan 6, 2023
This a simple tool to query the awesome ippsec.rocks website from your terminal

ippsec-cli This a simple tool to query the awesome ippsec.rocks website from your terminal Installation and usage cd /opt git clone https://github.com

stark0de 5 Nov 26, 2022
💥 Share files easily over your local network from the terminal!

Fileshare ?? Share files easily over your local network from the terminal! ?? Installation # clone the repo $ git clone https://github.com/dopevog/fil

Dopevog 11 Sep 10, 2021
👻 Ghoul is an easy to use information service, allowing you to get/add information on someone or something directly from your terminal.

?? Ghoul is an easy to use information service, allowing you to get/add information on someone or something directly from your terminal. It c

Billy 11 Nov 10, 2021