{"id":42833986,"url":"https://github.com/n0rdy/calcli","last_synced_at":"2026-01-30T11:37:57.798Z","repository":{"id":250907463,"uuid":"835817831","full_name":"n0rdy/calcli","owner":"n0rdy","description":"An overengineered (for fun) cross-platform CLI calculator app with the rich set of features","archived":false,"fork":false,"pushed_at":"2025-11-23T10:56:39.000Z","size":991,"stargazers_count":3,"open_issues_count":4,"forks_count":1,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-11-23T12:22:22.978Z","etag":null,"topics":["antlr","antlr4","calculator","calculator-application","cli","cobra-cli","cross-platform","go","golang"],"latest_commit_sha":null,"homepage":"","language":"Go","has_issues":false,"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/n0rdy.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","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,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2024-07-30T15:32:14.000Z","updated_at":"2025-11-23T10:56:41.000Z","dependencies_parsed_at":"2024-08-02T20:05:04.751Z","dependency_job_id":"1f5ebba1-8048-4293-b1ef-0d550321aeb6","html_url":"https://github.com/n0rdy/calcli","commit_stats":null,"previous_names":["n0rdy/calcli"],"tags_count":6,"template":false,"template_full_name":null,"purl":"pkg:github/n0rdy/calcli","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/n0rdy%2Fcalcli","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/n0rdy%2Fcalcli/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/n0rdy%2Fcalcli/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/n0rdy%2Fcalcli/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/n0rdy","download_url":"https://codeload.github.com/n0rdy/calcli/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/n0rdy%2Fcalcli/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28911825,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-30T08:15:08.179Z","status":"ssl_error","status_checked_at":"2026-01-30T08:14:31.507Z","response_time":66,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.6:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"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":["antlr","antlr4","calculator","calculator-application","cli","cobra-cli","cross-platform","go","golang"],"created_at":"2026-01-30T11:37:57.192Z","updated_at":"2026-01-30T11:37:57.787Z","avatar_url":"https://github.com/n0rdy.png","language":"Go","funding_links":[],"categories":[],"sub_categories":[],"readme":"# CalCLI - a CLI calculator\n\nAn overengineered (because it's fun) cross-platform CLI calculator app with a rich set of [features](#features).\n\nIt is handy if you need to do some quick calculations while hacking in the terminal - no need to open a calculator app of any kind.\n\nThe flow of the app is as follows:\n![](https://github.com/n0rdy/calcli/blob/main/docs/flow.gif)\n\n## Table of contents\n* [Installation](#installation)\n  * [Prerequisites](#prerequisites)\n  * [Manual](#manual)\n  * [MacOS](#macos)\n  * [Linux](#macos)\n    * [via APT](#via-apt)\n      * [Prerequisites](#prerequisites-1)\n      * [Installation](#installation-1)\n    * [via YUM](#via-yum)\n      * [Prerequisites](#prerequisites-2)\n      * [Installation](#installation-2)\n* [Usage](#usage)\n* [Features](#features)\n\n## Installation\n### Prerequisites\n- [Go](https://golang.org/doc/install) (version 1.22 or higher) if you want to build the app from the source code.\n\n### Manual\nDownload the latest release for your OS from [GitHub](https://github.com/n0rdy/calcli/releases).\n\n### MacOS\n- via Homebrew:\n```shell\nbrew tap n0rdy/n0rdy\nbrew install calcli\n```\n\n### Linux\n#### via APT\n##### Prerequisites\nTo enable, add the following file /etc/apt/sources.list.d/fury.list:\n```text\ndeb [trusted=yes] https://apt.fury.io/n0rdy/ /\n```\nYou can do this either manually or by running the following command:\n```shell\necho \"deb [trusted=yes] https://apt.fury.io/n0rdy/ /\" \u003e /etc/apt/sources.list.d/fury.list\n```\nIf you experienced this error:\n```text\nbash: /etc/apt/sources.list.d/fury.list: Permission denied\n```\ntry to do the following:\n```shell\nsudo -i\n# enter your password\necho \"deb [trusted=yes] https://apt.fury.io/n0rdy/ /\" \u003e /etc/apt/sources.list.d/fury.list\n# click Ctrl+D to exit\n```\n\n##### Installation\n```shell\nsudo apt update \u0026\u0026 sudo apt install calcli\n```\n\n#### via YUM\n##### Prerequisites\nTo enable, add the following file /etc/yum.repos.d/fury.repo:\n```text\n[fury]\nname=Gemfury n0rdy Private Repo\nbaseurl=https://yum.fury.io/n0rdy/\nenabled=1\ngpgcheck=0\n```\n\n##### Installation\n```shell\nsudo yum install calcli\n```\n\n## Usage\n```shell\ncalcli\n```\n\nThis will start the app in the interactive mode.\nType your expression and press Enter to get the result.\n\nPress `Ctrl+C` or `Esc` to exit the app.\n\nCheck the bottom of the screen for the help message with the list of available commands and hotkeys.\n\n## Features\n- basic arithmetic operations: `+`, `-`, `*`, `/`, `%`, `^`, `!`, as well as parentheses\n- integer and floating-point numbers (`.` as a decimal separator)\n- a set of predefined constants: `pi`, `e`\n- math functions:\n  - `abs(x)` - the absolute value of `x`\n  - `acos(x)` - the arccosine of `x`\n  - `asin(x)` - the arcsine of `x`\n  - `atan(x)` - the arctangent of `x`\n  - `ceil(x)` - the smallest integer value greater than or equal to `x`\n  - `cos(x)` - the cosine of `x`\n  - `exp(x)` - the value of `e^x`\n  - `exp2(x)` - the value of `2^x`\n  - `floor(x)` - the largest integer value less than or equal to `x`\n  - `ln(x)` - the natural logarithm of `x`\n  - `log(x, base)` - the logarithm of `x` to the specified `base`\n  - `log2(x)` - the base-2 logarithm of `x`\n  - `log10(x)` - the base-10 logarithm of `x`\n  - `mod(x, y)` - the remainder of the division of `x` by `y`\n  - `nrt(x, degree)` - the root of `x` of the specified `degree`\n  - `percent(x, y)` - the percentage of `x` from `y`\n  - `round(x)` - the value of `x` rounded to the nearest integer\n  - `sin(x)` - the sine of `x`\n  - `sqrt(x)` - the square root of `x`\n  - `tan(x)` - the tangent of `x`\n- the result of the previous calculation is stored in the variable `$pr` and can be used in further calculations\n- it is possible to persist the result of the calculation or a value in the variable and use it in further calculations `$var = 5 + 5`\n- calling `pmem()` system function will print all the variables stored in memory\n- review the history of calculations by pressing the `Up` and `Down` arrow keys, or switching to the history mode by typing `:h` and pressing `Enter`\n- in history mode, press `/` to search for a specific expression in the history\n\nHave fun! =)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fn0rdy%2Fcalcli","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fn0rdy%2Fcalcli","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fn0rdy%2Fcalcli/lists"}