Package: coinwatch
coinwatchUsage|Screenshots|Features|Columns|Configuration|Options|API|Requirements|LicenseCoinwatch is a low-dependency python-based console client client to keep track of your crypto trades and easily let's you see if you are winning or losing.All you have to do is enter all of your purchases:When,How manycoins andprice per coin. Then each time you launchcoinwatch, it will show your current status and will make you happy or sad.Usage# Default runcoinwatch# Specify different profile/configcoinwatch-c~/path/to/conf.yml# Different columns and ordercoinwatch-r"name buyprice nowprice wealth invest profit"coinwatch-r"name date nowprice wealth profit percent"# Specify sort and ordercoinwatch-sprofit-odesc# Sort and group by namecoinwatch-sname-gname# Disable colorized outputcoinwatch-n# Different table bordercoinwatch-tascii
coinwatch-tthin
coinwatch-tthick# Alternative number formatcoinwatch-h# Text output wrapped in watchwatch--interval=10'coinwatch -n'ScreenshotsThe example shows the usage of an alternative configuration file.The example shows an alternative number formatThe example shows how it looks in text modeThe example shows coinwatch wrapped intowatchand refresh every 10 seconds.FeaturesKeep track of all of your tradesTrades are grouped by each crypto currencyDifferent trading profiles can be used by specifying different configuration filesPure text-based output is available for further processing in other toolsColumnscoinwatchoffers many columns that can be displayed in any order. A sane limited default is set in the configuration file which does not display all columns. You are free to alter that and adjustcoinwatchto your needs directly in the configuration file (seeConfiguration) or quickly enabled/disable columns via command arguments (-r). Sorting, ordering and grouping will also work on columns that are not being displayed. Have a look at the following table which shows you all available columns:Column nameDefault displayDescriptionnamenoName of the cryptocurrency.symbolyesAbbreviation name of the cryptocurrency.buypriceyesPrice in USD at which the currency was bought.diffpriceyesPrice difference in USD between buy time and now.nowpriceyesCurrent price in USD of the currency.amountyesTotal number of coins you have bought.investyesTotal amount in USD you have invested for all coins bought.wealthyesCurrent amount in USD your coins are worth now.profityesHow much profit in USD did you make on that currency.percentyesPercent of profit between buy time and now.percent1hnoPercent of price change in the last hour of that currency.percent24hnoPercent of price change in the last 24 hours of that currency.percent7dnoPercent of price change in the last 7 days of that currency.vol_24hnoVolume in USD in the last 24 hours.marketcapnoMarket capacity in USD.supply_anoCurrently available supply of coins.supply_tnoTotal supply of coins.supply_mnoMaximum supply of coins.cust1noCustom field (seeConfiguration)cust2noCustom field (seeConfiguration)cust3noCustom field (seeConfiguration)Note about custom fields:Headline and column width of custom fields can be set in the configuration file. The values itself can be added to your trade array and can contain any information you wish to display for a given trade. As an example they could contain information such as:At what date did you buy that currencyAt what market did you buy that currencyThe wallet address where the coins areAre the coins still online or already downloaded to a cold walletConfigurationWhen startingcoinwatchfor the first time, it will create a default configuration file in~/.config/coinwatch/config.ymlwith no trades to watch. To get a quick overview, have a look at theexample config.Configuration is done in yaml format. If you have never heard about yaml before, have a look at its official example:http://yaml.org/start.htmlStructureThe configuration file is build up like this:# Configure coinwatch
config:
  # Specify the default column to sort this table by or leave empty for unsorted.
  # Overwrite via -s <column>
  sort:
  # Specify the sort order (asc or desc)
  # Overwrite via -o desc
  order: asc
  # Configure what columns to display and in what order.
  # To see all available columns view help: $ coinwatch --help
  # Columns specified via command line (-r) take precedence
  #
  # There are also three other columns which are off by default: 'cust1', 'cust2' and 'cust3'.
  # Enable them here or via (-r).
  # Those three columns can be added to your trades in order to display custom information,
  # such as which market they were bought from or on what date they were bought.
  columns: name symbol date buyprice diffprice nowprice amount invest wealth profit percent
  # Define your custom columns here.
  # Set column headline and width.
  cust:
    cust1:
      headline: BUY DATE
      width: 10
    cust2:
      headline: MARKET
      width: 10
    cust3:
      headline: EXAMPLE
      width: 10
  # Specify your table border style
  # Available values: thin, thick and ascii
  # Use ascii if you want to further process the output of this application
  table: thin

# Configure your purchases
trades:
  # CURRENCY_ID is found by looking up the 'id' key from
  # https://api.coinmarketcap.com/v1/ticker/?limit=0
  CURRENCY_ID:  # <-- [array]       Each currency will hold a list of trades
    - amount:   # <-- [decimal]     [1] How many coins for that currency were bought
      invest:   # <-- [decimal]     [1] How much money in total was invested
      price:    # <-- [decimal]     [1] Price for 1 coin of that currency
      cust1:    # <-- [string]      Custom column
      cust2:    # <-- [string]      Custom column
      cust3:    # <-- [string]      Custom column[1]amount,investandpriceat the same time? Yes that's right there is duplication, however only always two of those three can be specified at the same time. This gives the possibility to record you trades in three different ways:Option-1: amount and investHow many coins did you buy and how much money in total did you spent on that?This option is most useful when having done a real purchase. Enter the total money spent and the coins received. That way you don't have to calculate any market fees or transaction fees yourself.# Bought 0.4 coins
# Total cost of that: 3742.35 $
trades:
  bitcoin:
    - amount: 0.4
      invest: 3742.35Option-2: amount and priceHow many coins did you buy and how much did one coin cost?This option is most useful when doint dry-run trades -What would have happened if. Enter how many coins you had bought at what price per coin.# Bought 0.4 coins
# 1 Bitcoin had a price of: 9355.875 $
trades:
  bitcoin:
    - amount: 0.4
      price:  9355.875Option-3: invest and priceHow much money in total did you spend and how much did one coin cost?This option is most useful when doint dry-run trades -What would have happened if. Enter how much money you would have spent and what the price per coin was.# Total cost of that: 3742.35 $
# 1 Bitcoin had a price of: 9355.875 $
trades:
  bitcoin:
    - invest: 3742.35
      price:  9355.875Get currency namesWhen adding new cryptocurrencies, you need to make sure that you use the correct name to add to the configuration file. Names can be retrieved fromhttps://api.coinmarketcap.com/v1/ticker/?limit=0.ScreenshotExplanationWhen visiting the coinmarketcap API page, look for theidfield of a currency and use its value to add to the configuration file.In case you wanted to add Ethereum and Bitcoin as seen in the example screenshot, you would useethereumandbitcoinas names to put into your configuration file.ExampleAn example file could look like this. It shows three bitcoin trades (with each different option to specify your purchases), one ethereum trade and an empty place holder for iota. When specifying an empty array, it serves only as a reminder for you to fill that out later and will not be shown in the stats.Additionally two custom fields have been configured to add more information to each trade. It is used to display the buy date as well as the market where it was bought from. Then in order to actually show those columns, thecolumnsconfiguration has been changed to also add these two fields.config:
  columns: name symbol cust1 cust2 buyprice diffprice nowprice amount invest wealth profit percent
  cust:
    cust1:
      headline: BUY DATE
      width: 01
    cust2:
      headline: MARKET
      width: 10

trades:
  bitcoin:
    # Option-1: Invested 500.00$ and got 0.0425 coins
    - amount: 0.4
      invest: 3742.35
      cust1:  2017-12-03
      cust2:  binance
    # Option-2: bought at 10,010.50 and bought 0.5 coins
    - amount: 0.4
      price:  9355.875
      cust1:  2017-12-04
      cust2:  binance
    # Option-3: invested 500.00$ at 11,043.12 price/coin
    - invest: 3742.35
      price:  9355.875
      cust1:  2017-12-05
      cust2:  binance
  ethereum:
    - amount: 20
      price:  1070
      date:   2017-12-05
  # Note in this case 'iota' is defined as an empty array
  # and will not be shown in the stats.
  iota: []The following does not show any trades, it might however serve as a reminder for you to actually trade later and already have that info present:trades:
  bitcoin: []
  ripple:  []
  cardano: []
  iota:    []
  qtum:    []
  omisego: []OptionsThis shows the output ofcoinwawtch --help.Usage:coinwatch[-crtnhv]coinwatch[--help]coinwatch[--version]coinwatchisalow-dependencypython[23]clienttokeeptrackofyourcryptotrades
andeasilyletsyouseeifyouarewinningorlosing.

OPTIONS:-c,--configSpecifypathofanalternativeconfigurationfile.Examples:-cpath/to/conf.yml-r,--rowSpecifytheorderandcolumnstouseinarow.Incaseyoudontneedallcolumnstobeshownorwantadifferentorderofcolumns,usethisargumenttospecifyit.Examples:-r"name date profit percent"-r"name buyprice nowprice amount wealth"Default:-r"name symbol date buyprice nowprice amount invest wealth profit percent"-s,--sortSpecifythecolumnnametosortthistable.Seeaboveforavailablecolumns.Thetablecanalsobesortedagainstcolumnsthatarenotdisplayed.Thedefaultisunsorted.-o,--orderSpecifythesortingorder.Validorders:'asc'and'desc'.Thedefaultorderis'asc'.-g,--groupGroupbycolumnname(visually).Groupingisappliedaftersortingandonlyequalverticalrowsofthespecifiedgroupcolumnaregrouped.-t,--tableSpecifydifferenttableborder.Availablevalues:'thin','thick'and'ascii'.Thedefaultis'thin'.Incaseyouneedtoprocesstheoutputofthistooluse'ascii'.Examples:-tthin-tthick-tascii-n,--nocolorDisableshellcolors.Thisisusefulifyouwanttofurtherprocesstheoutputofthisprogram.-h,--humanAlternativehumanreadablenumberformat.-v,--verboseBeverbose.

NOTE:Nofinancialaid,supportoranyotherrecommendationisprovided.Tradeatyourownrisk!Andonlyinvestwhatyoucanefforttolose.

API:CurrentlysupportedremotepriceandcoinAPIsare:-coinmarketcap

CONFIGURATION:Whenstartingcoinwatchforthefirsttimeabaseconfigurationfilewillbecreatedin~/.config/coinwatch/config.yml.Youshouldeditthisfileandaddyourtrades:-Whatcurrency-Whenbought-Howmuchbought-Pricefor1coinofcurrencyatthatdateAPICurrently supported remote API's are:coinmarketcapRequirementscoinwatchitself requiresPyYaml. Apart fromt that, only one of the following Python versions is required:Python 2.7 (requiresfuturefor Python 3 compat)Python 3.2Python 3.3Python 3.4Python 3.5Python 3.6LicenseMIT LicenseCopyright (c) 2018cytopia