{"id":16483481,"url":"https://github.com/dbohdan/redfish","last_synced_at":"2026-04-12T16:02:34.656Z","repository":{"id":224171136,"uuid":"749453786","full_name":"dbohdan/redfish","owner":"dbohdan","description":"Use Redis/Valkey/KeyDB/etc. from the fish shell","archived":false,"fork":false,"pushed_at":"2024-03-28T21:47:13.000Z","size":22,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-06-02T08:44:22.308Z","etag":null,"topics":["fish","fish-shell","redis","redis-client","valkey","valkey-client"],"latest_commit_sha":null,"homepage":"","language":"Shell","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/dbohdan.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"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,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2024-01-28T16:26:08.000Z","updated_at":"2024-03-29T11:29:11.000Z","dependencies_parsed_at":"2024-02-24T09:23:58.230Z","dependency_job_id":"b55f7472-086b-4ba6-9eeb-8aa9bb5bf4e8","html_url":"https://github.com/dbohdan/redfish","commit_stats":{"total_commits":38,"total_committers":1,"mean_commits":38.0,"dds":0.0,"last_synced_commit":"311fd9f6b3c997917393375e70fe66dd9ec32c98"},"previous_names":["dbohdan/redfish"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/dbohdan/redfish","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dbohdan%2Fredfish","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dbohdan%2Fredfish/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dbohdan%2Fredfish/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dbohdan%2Fredfish/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/dbohdan","download_url":"https://codeload.github.com/dbohdan/redfish/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dbohdan%2Fredfish/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":281386589,"owners_count":26492014,"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","status":"online","status_checked_at":"2025-10-28T02:00:06.022Z","response_time":60,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"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":["fish","fish-shell","redis","redis-client","valkey","valkey-client"],"created_at":"2024-10-11T13:14:10.633Z","updated_at":"2025-10-28T05:07:03.539Z","avatar_url":"https://github.com/dbohdan.png","language":"Shell","funding_links":[],"categories":[],"sub_categories":[],"readme":"# redfish\n\n**redfish** lets you use\n[Redis](https://redis.io/),\n[Valkey](https://valkey.io/)\n(an open-source fork of Redis),\n[KeyDB](https://github.com/Snapchat/KeyDB),\nand other compatible databases\nfrom the\n[fish shell](https://fishshell.com/).\n\nredfish is a wrapper around `redis-cli` and compatible clients.\nIt acts as a partial general-purpose Redis/Valkey/KeyDB/etc. client library.\nThe use of a `*-cli` binary imposes limitations\non what data redfish can store.\nLine feeds are not allowed in values.\nIt can load and store simple values\nand also fish lists as database lists.\n\n## Contents\n\n- [Requirements](#requirements)\n- [Usage](#usage)\n- [Installation](#installation)\n- [Motivation](#motivation)\n- [Problems with complex scripting in fish](#problems-with-complex-scripting-in-fish)\n- [License](#license)\n\n## Requirements\n\n- fish 3.4 or later.\n  Earlier versions will not work.\n- redis-cli(1), valkey-cli(1), keydb-cli(1), or another compatible client.\n- A Redis, Valkey, KeyDB, or another server compatible with the client\n  (the default local server by default).\n\n## Usage\n\n```none\nusage: redfish command [ARG ...]\n       redfish del [-v|--verbose] KEY [KEY ...]\n       redfish exists KEY\n       redfish get [-r|--raw] KEY\n       redfish get-list VAR KEY\n       redfish incr KEY [INCREMENT]\n       redfish keys PATTERN\n       redfish set KEY VALUE\n       redfish set-list KEY [VALUE ...]\n```\n\nSee\n[`example.fish`](example.fish)\nfor an example of how you can use redfish.\n\nOptionally,\nset the variable `__redfish_client_command` in your shell\nto use a different client than `redis-cli`\nor to pass arguments to the client.\n\n## Installation\n\n### Using Fisher\n\nTo install redfish with [Fisher](https://github.com/jorgebucaran/fisher),\nrun the command:\n\n```fish\nfisher install dbohdan/redfish\n```\n\n### Manual\n\n1. Clone the repository\n   or download and extract a source archive.\n2. Run `install.fish`.\n\n## Motivation\n\nI wrote redfish as another way to have\n[associative arrays](https://github.com/fish-shell/fish-shell/issues/390)\nor dictionaries in fish.\nUsing redfish requires you to keep its limitations in mind.\nShelling out to `*-cli` makes data access slow.\nA fun aspect of using a networked data store is that\nit essentially gives you universal variables,\nonly available over the network and not just to fish.\nIf you don't need this aspect,\nanother dictionary implementation is probably better.\n\n## Problems with complex scripting in fish\n\nWhen writing redfish and [`example.fish`](example.fish),\nI discovered that several aspects of the language design\ninvited bugs and made development distinctly less fun for me.\nMy experience has lead me to believe that you shouldn't write complex scripts in fish.\nMake no mistake:\nI still very much like fish as an interactive shell.\nI have written about\n[my problems with the language](https://dbohdan.com/fish-scripting).\n\n## License\n\nMIT.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdbohdan%2Fredfish","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdbohdan%2Fredfish","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdbohdan%2Fredfish/lists"}