{"id":38611273,"url":"https://github.com/rm-dr/daisy","last_synced_at":"2026-01-17T08:44:53.370Z","repository":{"id":165647133,"uuid":"622797501","full_name":"rm-dr/daisy","owner":"rm-dr","description":"A pretty TUI scientific calculator.","archived":false,"fork":false,"pushed_at":"2023-11-27T22:00:55.000Z","size":1437,"stargazers_count":7,"open_issues_count":0,"forks_count":1,"subscribers_count":1,"default_branch":"master","last_synced_at":"2024-01-28T13:12:26.619Z","etag":null,"topics":["calculator","mathematical-expressions","mathematics","parser","physics","quantities","rust","science","scientific-calculator","scientific-computing","terminal","terminal-based","units","web-app","webapp"],"latest_commit_sha":null,"homepage":"https://daisy.betalupi.com","language":"Rust","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/rm-dr.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.MD","funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null}},"created_at":"2023-04-03T04:48:26.000Z","updated_at":"2024-01-12T00:27:49.000Z","dependencies_parsed_at":null,"dependency_job_id":"d10a2416-c3bf-456b-afed-c0540cea720b","html_url":"https://github.com/rm-dr/daisy","commit_stats":{"total_commits":470,"total_committers":3,"mean_commits":"156.66666666666666","dds":0.03829787234042559,"last_synced_commit":"228cbf281f95740cc953b81e9e7a4df33f96e24c"},"previous_names":[],"tags_count":9,"template":false,"template_full_name":null,"purl":"pkg:github/rm-dr/daisy","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rm-dr%2Fdaisy","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rm-dr%2Fdaisy/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rm-dr%2Fdaisy/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rm-dr%2Fdaisy/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/rm-dr","download_url":"https://codeload.github.com/rm-dr/daisy/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rm-dr%2Fdaisy/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28504460,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-17T06:57:29.758Z","status":"ssl_error","status_checked_at":"2026-01-17T06:56:03.931Z","response_time":85,"last_error":"SSL_read: 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":["calculator","mathematical-expressions","mathematics","parser","physics","quantities","rust","science","scientific-calculator","scientific-computing","terminal","terminal-based","units","web-app","webapp"],"created_at":"2026-01-17T08:44:52.862Z","updated_at":"2026-01-17T08:44:53.365Z","avatar_url":"https://github.com/rm-dr.png","language":"Rust","funding_links":[],"categories":[],"sub_categories":[],"readme":"![](./server/site/resources/readme-banner.png)\n\nA pretty, general-purpose scientific calculator with support for units, derivatives, and more.\n\nMany features are missing, this is still under development.\n\n**Web demo: [here](https://daisy.betalupi.com) (won't work on mobile)**\n\n# 📦 Installation\n - **From source:** `cargo build --release`, binary will be at `./target/release/daisy`\n - **Cargo:** `cargo install daisycalc`\n - **Arch:** `yay -S daisy`\n - **Debian:** coming soon\n - **Nix:** Use `default.nix`. Daisy isn't in nixpkgs yet, you'll need to add something like the following to `configuration.nix`:\n\n```nix\nlet\n  daisy = builtins.fetchGit {\n    url = \"https://github.com/rm-dr/daisy.git\";\n    ref = \"master\";\n  } + /default.nix;\nin\n{\n  environment.systemPackages = with pkgs; [\n    (callPackage daisy { })\n  ];\n}\n```\n\n# 📹 Screenshot\n\n![Screenshot](https://github.com/rm-dr/daisy/assets/96270320/cc71887a-0fde-46b2-a13b-96b05098b158)\n\n# 🛠️ Features\n - Open-source\n - Carefully designed and easy-to-read prompt\n - Supports many physical units, with metric and binary prefixes\n - Supports exponential notation\n - Clear syntax, parsed input is always re-printed as a sanity check.\n - Useful, detailed error messages\n\n\n# 📑 Usage\n\nAll documentation is built into the prompt. Use the `help` command to view it.\n\n## Evaluate expressions:\n - Basic math: ``103 / 2 * 43``\n - Functions: ``sqrt(1.4^3 + 4) * sin(pi / 4)``\n - Scientific notation: ``1.2e12 * 1e-5``\n\n## Physical units\n - Unit operations: ``2 day + 1 hour``\n - Unit conversion: ``2 day + 1 hour to minutes``\n - Compound units: ``10 m/s to mph``\n - Conversion errors: ``1 liter to volt``\n\n## Varables\n - Previous answer: `ans + 2`\n - Variable assignment: `a = 143`\n\n\n# 🌹 Additional Notes\n\n## Unit Conversion\n\nThe conversion operator `to` converts its left argument to the *unit* of its right argument, ignoring its value. For example, `5m to mi` and `5m to 10mi` are identical.\n\n\n## Celsius and Fahrenheit\n\nCelsius and Fahrenheit are not supported as first-class units because they require an offset when converting from other temperature units. This leads to ambiguity when adding units, since one temperature must be seen as a *difference* rather than an absolute temperature.\n\nDaisy instead provides four functions (`fromCelsius`, `toCelsius`, `fromFahrenheit`, `toFahrenheit`) which convert between scalars and Kelvin.\n - \"from\" functions take a scalar and return a value in Kelvin: `fromCelsius(0) = 273.15K`\n - \"to\" functions take a value in Kelvin and return a scalar: `toCelsius(273.15 K) = 0`\n\nFunctions `FtoC` and `CtoF` are also provided:\n - `FtoC(x) = toCelsius(fromFahrenheit(x))`\n - `CtoF(x) = toFahrenheit(fromCelsius(x))`\n\n\n## Multiplication Order\n\nImplicit multiplication has a higher priority than division. `pi/2 radians` will parse as `pi/(2 radians)`. Type `(pi/2) radians` or `pi/2 * radians` to get 90 degrees.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frm-dr%2Fdaisy","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Frm-dr%2Fdaisy","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frm-dr%2Fdaisy/lists"}