{"id":13879800,"url":"https://github.com/piotrmurach/coinpare","last_synced_at":"2025-06-12T13:09:26.057Z","repository":{"id":47218742,"uuid":"131523582","full_name":"piotrmurach/coinpare","owner":"piotrmurach","description":"Compare cryptocurrency trading data across multiple exchanges and blockchains in the comfort of your terminal","archived":false,"fork":false,"pushed_at":"2023-09-24T21:22:18.000Z","size":510,"stargazers_count":115,"open_issues_count":1,"forks_count":4,"subscribers_count":6,"default_branch":"master","last_synced_at":"2025-05-27T00:34:08.136Z","etag":null,"topics":["bitcoin","blockchain","cryptocurrency","ruby","terminal"],"latest_commit_sha":null,"homepage":"","language":"Ruby","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"agpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/piotrmurach.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":".github/FUNDING.yml","license":"LICENSE.txt","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null},"funding":{"github":"piotrmurach"}},"created_at":"2018-04-29T19:32:51.000Z","updated_at":"2025-02-22T15:34:24.000Z","dependencies_parsed_at":"2024-11-19T02:15:14.137Z","dependency_job_id":null,"html_url":"https://github.com/piotrmurach/coinpare","commit_stats":{"total_commits":168,"total_committers":1,"mean_commits":168.0,"dds":0.0,"last_synced_commit":"4565bafe6e4b4d427e8069c3cb0d43aca88a7cd9"},"previous_names":[],"tags_count":3,"template":false,"template_full_name":null,"purl":"pkg:github/piotrmurach/coinpare","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/piotrmurach%2Fcoinpare","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/piotrmurach%2Fcoinpare/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/piotrmurach%2Fcoinpare/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/piotrmurach%2Fcoinpare/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/piotrmurach","download_url":"https://codeload.github.com/piotrmurach/coinpare/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/piotrmurach%2Fcoinpare/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":259470951,"owners_count":22862999,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["bitcoin","blockchain","cryptocurrency","ruby","terminal"],"created_at":"2024-08-06T08:02:33.856Z","updated_at":"2025-06-12T13:09:26.032Z","avatar_url":"https://github.com/piotrmurach.png","language":"Ruby","funding_links":["https://github.com/sponsors/piotrmurach"],"categories":["Ruby"],"sub_categories":[],"readme":"\u003cdiv align=\"center\"\u003e\n  \u003cimg width=\"207\" src=\"https://github.com/piotrmurach/coinpare/raw/master/assets/coinpare_logo_stacked.png\" alt=\"coinpare logo\" /\u003e\n\u003c/div\u003e\n\u003cbr/\u003e\n\n# Coinpare [![Gitter](https://badges.gitter.im/Join%20Chat.svg)][gitter]\n\n[![Gem Version](https://badge.fury.io/rb/coinpare.svg)][gem]\n[![Actions CI](https://github.com/piotrmurach/coinpare/workflows/CI/badge.svg?branch=master)][gh_actions_ci]\n[![Build status](https://ci.appveyor.com/api/projects/status/dsd3cone86it12pi?svg=true)][appveyor]\n[![Maintainability](https://api.codeclimate.com/v1/badges/1072406ba7e951e355e4/maintainability)][codeclimate]\n[![Coverage Status](https://coveralls.io/repos/github/piotrmurach/coinpare/badge.svg)][coverage]\n[![Inline docs](http://inch-ci.org/github/piotrmurach/coinpare.svg?branch=master)][inchpages]\n\n[gitter]: https://gitter.im/piotrmurach/coinpare\n[gem]: http://badge.fury.io/rb/coinpare\n[gh_actions_ci]: https://github.com/piotrmurach/coinpare/actions?query=workflow%3ACI\n[travis]: http://travis-ci.org/piotrmurach/coinpare\n[appveyor]: https://ci.appveyor.com/project/piotrmurach/coinpare\n[codeclimate]: https://codeclimate.com/github/piotrmurach/coinpare/maintainability\n[coverage]: https://coveralls.io/github/piotrmurach/coinpare\n[inchpages]: http://inch-ci.org/github/piotrmurach/coinpare\n\n\u003e Compare cryptocurrency trading data across multiple exchanges and blockchains in the comfort of your terminal\n\nA screenshot is worth a thousand words:\n\n![CoinsView](https://github.com/piotrmurach/coinpare/raw/master/assets/coinpare_coins.png)\n\n## Installation\n\nThis project uses Ruby, before installing the `coinpare` tool, you'll need to ensure Ruby is installed on your machine.\n\nIn your terminal execute `ruby` command with `-v` option:\n\n```\n$ ruby -v\n```\n\nIf you have version of Ruby greater than `2.0.0` then you're good to go.\n\nOtherwise, please follow [Installing Ruby](https://www.ruby-lang.org/en/documentation/installation/#apt) to pick best installation method for your operating system.\n\nOnce Ruby is installed, install the `coinpare` gem:\n\n```\n$ gem install coinpare\n```\n\nAnd then execute `coinpare` to see all available options:\n\n```\n$ coinpare\n```\n\n## Features\n\n* Compare purchased or top coins trading info(price, vol, open, high, low etc)\n* Compare top markets by a trading coin pair\n* Create custom portfolio and track your holdings\n* Display portfolio in a table or pie chart\n* Auto refresh cryptocurrencies info with a configurable time interval\n\n## Contents\n\n* [1. Usage](#1-usage)\n* [2. View coins](#2-view-coins)\n* [3. View markets](#3-view-markets)\n* [4. Create portfolio](#4-create-portfolio)\n  * [4.1 Edit coins](#41-edit-coins)\n  * [4.2 Add/remove coins](#42-addremove-coins)\n  * [4.3 Pie charts](#43-pie-charts)\n\n## 1. Usage\n\nTo use all available commands, run the following in your terminal:\n\n```bash\n$ coinpare\n```\n\nYou will be presented with the following interface:\n\n![Interface](https://github.com/piotrmurach/coinpare/raw/master/assets/coinpare_interface.png)\n\n## 2. View coins\n\nYou can see top 10 trading info (price, volume, open, high, low etc) of any cyptocurrency in any other currency by executing the following in your terminal:\n\n```bash\n$ coinpare coins\n```\n\nBy default, `USD` is used as the base currency price conversion. You can change this by passing `--base` or `-b` flag:\n\n```bash\n$ coinpare coins --base BTC\n```\n\nIf you wish to see more currencies use `--top` flag:\n\n```bash\n$ coinpare coins --top 30\n```\n\nAlternatively, you can specify exactly the coins you're interested in by naming them separated by space:\n\n```bash\n$ coinpare coins ETH BCH LTC --base btc\n```\n\nYou can also change the default exchange `CCCAGG` using the `--exchange` or `-e` flag:\n\n```bash\n$ coinpare coins BTC ETH --exchange coinbase\n```\n\nSee [view markets](#3-view-markets) for more information on available exchanges.\n\nFinally, if you want to auto refresh data use `--watch` or `-w` flag:\n\n```bash\n$ coinpare coins --watch\n$ coinpare coins -w\n```\n\nYou can watch for changes on your preferred cryptocurrencies:\n\n```bash\n$ coinpare coins BTC ETH LTC ZEC --watch\n```\n\nBy default 5 seconds interval is used which you can change by providing a new value after `--watch` flag:\n\n```bash\n$ coinpare coins --watch 20   # every 20 seconds\n```\n\nTo finish watching for changes hold down `Ctrl+C` key combination.\n\n## 3. View markets\n\nYou can get top markets by volume for any currency pair. By default 10 top exchanges for the BTC and USD pair by their total volume across all markets in the last 24 hours are displayed.\n\n```bash\n$ coinpare markets\n```\n\nis equivalent to:\n\n```bash\n$ coinpare markets BTC --base USD\n```\n\nAn example output:\n\n![MarketsView](https://github.com/piotrmurach/coinpare/raw/master/assets/coinpare_markets.png)\n\nTo change the pair do:\n\n```bash\n$ coinpare markets ETH -b BTC\n```\n\nYou can specify the number of displayed exchanges with `--top` or `-t` flag:\n\n```bash\n$ coinpare markets --top 30\n```\n\nTo watch for changes use the `--watch` or `-w` flag:\n\n```bash\n$ coinpare markets --watch\n$ coinpare markets -w\n```\n\nTo finish watching for changes hold down `Ctrl+C` key combination.\n\n## 4. Create portfolio\n\nThere is an easy way for you to keep track of all your investments using the `holdings` command.\nWhen run for the first time, you will be presented with a prompt that will guide you through the portfolio setup and allow you to add as many holdings as you wish.\n\n```bash\n$ coinpare holdings\n```\n\nThe prompt may look:\n\n![CreateHoldings](https://github.com/piotrmurach/coinpare/raw/master/assets/coinpare_create_holdings.png)\n\n### 4.1 Edit coins\n\nAll your holdings information will be persisted in your user home directory in a file called `coinpare.toml`. You can edit this file directly using your configured editor by passing the `--edit` flag:\n\n```bash\n$ coinpare holdings --edit\n```\n\nAn example configuration file may look:\n\n```\n[[holdings]]\namount = 1.0\nname = \"BTC\"\nprice = 9000.0\n\n[[holdings]]\namount = 5.0\nname = \"LTC\"\nprice = 100.0\n\n[[holdings]]\namount = 2.3\nname = \"BTC\"\nprice = 5000.0\n\n[[holdings]]\namount = 1000.0\nname = \"TRX\"\nprice = 2.0\n\n[settings]\nbase = \"USD\"\ncolor = true\nexchange = \"CCCAGG\"\n```\n\nOnce configured, any subsequent execution of `holdings` command will display current prices and totals. For example, the before mentioned configuration file may produce the following result:\n\n![ViewHoldings](https://github.com/piotrmurach/coinpare/raw/master/assets/coinpare_holdings.png)\n\nSimilar to other commands, if you want to auto refresh data use `--watch` or `-w` flag:\n\n```bash\n$ coinpare holdings --watch\n$ coinpare holdings -w\n```\n\nTo finish watching for changes hold down `Ctrl+C` key combination.\n\n### 4.2 Add/remove coins\n\n**Coinpare** allows you to easily add and remove individual coins to and from your holdings portfolio.\n\nTo add a coin to your current portfolio use `--add` flag\n\n```bash\n$ coinpare holdings --add\n```\n\nFor example, the following screenshot shows adding an `ETH` coin:\n\n![AddHoldings](https://github.com/piotrmurach/coinpare/raw/master/assets/coinpare_holdings_add.png)\n\nTo remove one or more coins from your current portfolio use `--remove` flag:\n\n```bash\n$ coinpare holdings --remove\n```\n\nYou will be presented with a multi select menu that contains all current holdings similar to the one below:\n\n![RemoveHoldings](https://github.com/piotrmurach/coinpare/raw/master/assets/coinpare_holdings_remove.png)\n\nFinally, if you wish to clear all your holdings and start again use `--clear` flag:\n\n```bash\n$ coinpare holdings --clear\n```\n\n### 4.3 Pie charts\n\nBy default holdings are displayed in a table format. Alternatively, you can view your portfolio in a pie chart\nusing the `--pie` or `-p` option which optionally accepts pie chart radius value:\n\n```bash\n$ coinpare holdings --pie\n```\n\nAn example output:\n\n![HoldingsAsPieChart](https://github.com/piotrmurach/coinpare/raw/master/assets/coinpare_holdings_pie_charts.png)\n\n## Development\n\nAfter checking out the repo, run `bin/setup` to install dependencies. Then, run `rake spec` to run the tests. You can also run `bin/console` for an interactive prompt that will allow you to experiment.\n\nTo install this gem onto your local machine, run `bundle exec rake install`. To release a new version, update the version number in `version.rb`, and then run `bundle exec rake release`, which will create a git tag for the version, push git commits and tags, and push the `.gem` file to [rubygems.org](https://rubygems.org).\n\n## Contributing\n\nBug reports and pull requests are welcome on GitHub at https://github.com/piotrmurach/coinpare. This project is intended to be a safe, welcoming space for collaboration, and contributors are expected to adhere to the [Contributor Covenant](http://contributor-covenant.org) code of conduct.\n\n## Code of Conduct\n\nEveryone interacting in the Coinpare project’s codebases, issue trackers, chat rooms and mailing lists is expected to follow the [code of conduct](https://github.com/piotrmurach/coinpare/blob/master/CODE_OF_CONDUCT.md).\n\n## Credits\n\nAll the data is obtained from [CryptoCompare](https://www.cryptocompare.com/api).\n\n## Copyright\n\nCopyright (c) 2018 Piotr Murach. See [GNU Affero General Public License v3.0](LICENSE.txt) for further details.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpiotrmurach%2Fcoinpare","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fpiotrmurach%2Fcoinpare","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpiotrmurach%2Fcoinpare/lists"}