Simple CLI tool to track your cryptocurrency portfolio in real time.

Overview

CryptoPortfolioTracker

Simple CLI tool to track your cryptocurrency portfolio in real time.

Fun stuff:

  • Python Version: 3.7
  • Supported Operating Systems: Windows 10
  • Supported Coins: ALL binance smart chain coins, ALL ethereum blockchain coins, and most other popular coins
  • Updates prices in real-time (once per second)

To Use:

  • install firefox if not already installed (https://www.mozilla.org/en-US/firefox/new/)
  • pip install -r requirements.txt
  • enter your coins in config.py
  • run cryptoportfoliotracker.py (or edit and run cryptoportfoliotracker.bat)

Warnings:

  • Be sure to press CTRL+C before terminating the command line interface. Reasoning is due to this app using selenium which in turn opens headless background firefox processes that ONLY get terminated if CTRL+C is pressed before closing the app.
  • Pressing CTRL+C to safely terminate this app will close ALL running firefox processes. This includes closing your personal open firefox windows (if firefox is your browser of choice and you have windows open while terminating this app).
  • Use at your own risk. This project was created for educational purposes only. I hereby do not take responsibility for misuse or abuse of this application in any way by those who use, modify, or redistribute it.
You might also like...
AWS Interactive CLI - Allows you to execute a complex AWS commands by chaining one or more other AWS CLI dependency

AWS Interactive CLI - Allows you to execute a complex AWS commands by chaining one or more other AWS CLI dependency

Python-Stock-Info-CLI: Get stock info through CLI by passing stock ticker.
Python-Stock-Info-CLI: Get stock info through CLI by passing stock ticker.

Python-Stock-Info-CLI Get stock info through CLI by passing stock ticker. Installation Use the following command to install the required modules at on

Yts-cli-streamer - A CLI movie streaming client which works on yts.mx API written in python
Yts-cli-streamer - A CLI movie streaming client which works on yts.mx API written in python

YTSP It is a CLI movie streaming client which works on yts.mx API written in pyt

A command line utility for tracking a stock market portfolio. Primarily featuring high resolution braille graphs.
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.

A python-based terminal application that displays current cryptocurrency prices
A python-based terminal application that displays current cryptocurrency prices

CryptoAssetPrices A python-based terminal application that displays current cryptocurrency prices. Covered Cryptocurrencies Bitcoin (BTC) Ethereum (ET

Juniper Command System is a Micro CLI Tool that allows you to manage your files, launch applications, as well as providing extra tools for OS Management.

Juniper Command System is a Micro CLI Tool that allows you to manage your files, launch applications, as well as providing extra tools for OS Management.

A simple CLI application helps you to find giant files that are eating up your system storage
A simple CLI application helps you to find giant files that are eating up your system storage

Large file finder Sometimes it's very hard to find if some giant files are eating up your system storage. We might need to hunt those down. This simpl

A CLI for advanced management of your notes with simple commands

PyNoteManager This is a CLI for advanced management of your notes with simple co

Comments
  • Small change / suggestions

    Small change / suggestions

    Changelog

    Added Poetry

    If you've never used Poetry, think of it as NPM, but for Python. Cross-platform and dead-easy to install. It's also great for packing up your project and distributing it, and it also ensures that each of your Python projects contain their own virtual environment so you don't pollute the global install with dependencies from every single project you work on. It's a really nifty tool and does quite a bit.

    Added Black with 120 LL

    Basically just to keep formatting consistent. You may want to tone down the line length to whatever suits your project as you see it. I would also recommend adding it as a git hook along with flake8 in the future if you plan to develop this further.

    Bumped Python to 3.9.1 for latest feature support and better typing out of the box

    Not much to say here, but you ideally really wanna start with the latest version as it comes with too many goodies and fixes to ignore.

    config.py

    Changed the way you construct config to include typed classes and still be fed by a user-editable object. My argument for this would be simply that it's far harder to introduce a crap value into your config when the linter will pick up a type mismatch, plus you get some level of control by being able to now extend each class with error handling and validation if you wish to do so. For the time being I only added some __repr__ methods for debug purposes.

    coin.py

    The methods you had there, while not exactly a sin, did nothing that coin.param = "someval" would not do, since that was all you did with them, I removed them completely. I also typed all those params for you. Also moved the specificity of coin types out of this class and into the config object.

    cryptoportfoliotracker.py

    • Mainly changed the get_coins method to support the "slimmer" coin class and made the construction of coins less repetitive (one for loop rather than two near-identical ones).
    • Moved the driver value out of the get_driver method and into the config, that way someone can set it as another value and use it on Linux or MacOS as that is really the only thing that dictates which platform it all works on.
    • Typing and formatting changes.

    Misc changes

    • Amended readme to reflect the changes and also added how to install this project via poetry. I have intentionally left the packing bit out for you to decide if you wanna go down that way or if a simple clone>poetry install is sufficient.
    • Changed the .bat file, it's enough to just write the below as it will be executed in the same folder so in that run context, simply saying poetry run.. is enough to fire off your project in Windows.
    poetry run python cryptoportfoliotracker.py
    pause
    
    • cli.py - small changes related to typing and formatting.

    In closing

    I just wanted to contribute some extra stuff here which may get you to pick up some of these tools / work patterns in future python projects. I also tried my best not to remove / rework so much that it no longer looks like your work. In that spirit, I left plenty of things alone which you can yourself choose to change/improve, such as validation, error handling, logging (cough cough Loguru), moving everything into a proper module and so on. I hope you like these changes. But no worries if you choose not to merge this.

    opened by pm5k 0
Owner
Trevor White
B.S. in Computer Science. Experienced software developer with a love for python and a sprinkle of C/C++. Writes software in the autonomous vehicle industry.
Trevor White
CryptoCo-py is a Python CLI application that uses CoinGecko API to allow the user to query cryptocurrency information by typing simple commands.

CryptoCo-py is a Python CLI application that uses CoinGecko API to allow the user to query cryptocurrency information by typing simple com

null 1 Jan 10, 2022
A simple CLI based any Download Tool, that find files and let you stream or download thorugh WebTorrent CLI or Aria or any command tool

Privateer A simple CLI based any Download Tool, that find files and let you stream or download thorugh WebTorrent CLI or Aria or any command tool How

Shreyash Chavan 2 Apr 4, 2022
Sink is a CLI tool that allows users to synchronize their local folders to their Google Drives. It is similar to the Git CLI and allows fast and reliable syncs with the drive.

Sink is a CLI synchronisation tool that enables a user to synchronise local system files and folders with their Google Drives. It follows a git C

Yash Thakre 16 May 29, 2022
[WIP]An ani-cli like cli tool for movies and webseries

mov-cli A cli to browse and watch movies. Installation This project is a work in progress. However, you can try it out python git clone https://github

null 166 Dec 30, 2022
WazirX Portfolio Tracker on your Terminal!

If you have been investing in crypto in India, there is a very good chance that you are using WazirX. If you are using WazirX, then you definitely know that there is no P&L report, no green arrows nor red ones. I have made a portfolio tracker where you can get all of your portfolio details right there on your Terminal/command line!

Raunit 15 Jan 10, 2022
Squirrel - A cli program to track writing progress

Squirrel Very much a WIP project squirrel is a command line program that tracks you writing progress and gives you useful information and cute and pic

null 3 Mar 23, 2022
Command line tool to keep track of your favorite playlists on YouTube and many other places.

Command line tool to keep track of your favorite playlists on YouTube and many other places.

Wolfgang Popp 144 Jan 5, 2023
A super simple wallet application for the NANO cryptocurrency that runs in the terminal

Nano Terminal Wallet A super simple wallet application for the NANO cryptocurrency that runs in the terminal Written in 2021 by NinjaSnail1080 (Discor

null 9 Jul 22, 2022
Limit your docker image size with a simple CLI command. Perfect to be used inside your CI process.

docker-image-size-limit Limit your docker image size with a simple CLI command. Perfect to be used inside your CI process. Read the announcing post. I

wemake.services 102 Dec 14, 2022
flora-dev-cli (fd-cli) is command line interface software to interact with flora blockchain.

Install git clone https://github.com/Flora-Network/fd-cli.git cd fd-cli python3 -m venv venv source venv/bin/activate pip install -e . --extra-index-u

null 14 Sep 11, 2022