{"id":13479117,"url":"https://github.com/getezy/ezy","last_synced_at":"2025-07-11T23:02:31.025Z","repository":{"id":56760020,"uuid":"486252545","full_name":"getezy/ezy","owner":"getezy","description":"🔥 GUI client for gRPC/gRPC-Web","archived":false,"fork":false,"pushed_at":"2024-05-26T11:37:45.000Z","size":44778,"stargazers_count":1017,"open_issues_count":22,"forks_count":20,"subscribers_count":7,"default_branch":"master","last_synced_at":"2025-06-09T05:46:03.359Z","etag":null,"topics":["api","api-testing","developer-tools","grpc","grpc-client","grpc-gui","grpc-web","testing","testing-tools"],"latest_commit_sha":null,"homepage":"https://getezy.dev","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mpl-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/getezy.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","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":"2022-04-27T15:37:24.000Z","updated_at":"2025-05-30T21:50:45.000Z","dependencies_parsed_at":"2024-10-30T12:44:29.504Z","dependency_job_id":null,"html_url":"https://github.com/getezy/ezy","commit_stats":null,"previous_names":[],"tags_count":16,"template":false,"template_full_name":null,"purl":"pkg:github/getezy/ezy","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/getezy%2Fezy","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/getezy%2Fezy/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/getezy%2Fezy/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/getezy%2Fezy/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/getezy","download_url":"https://codeload.github.com/getezy/ezy/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/getezy%2Fezy/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":264910656,"owners_count":23682116,"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":["api","api-testing","developer-tools","grpc","grpc-client","grpc-gui","grpc-web","testing","testing-tools"],"created_at":"2024-07-31T16:02:09.815Z","updated_at":"2025-07-11T23:02:30.960Z","avatar_url":"https://github.com/getezy.png","language":"TypeScript","readme":"\u003cbr /\u003e\n\u003cdiv align=\"center\"\u003e\n  \u003cpicture\u003e\n  \u003cimg src=\"docs/logo.png\" align=\"center\"\u003e\n  \u003c/picture\u003e\n\u003c/div\u003e\n\u003cdiv align=\"center\"\u003e\n\u003cbr /\u003e\n\n  [![Release](https://img.shields.io/github/package-json/v/getezy/ezy?color=success)](https://github.com/getezy/ezy/releases/latest)\n  ![Downloads](https://img.shields.io/github/downloads/getezy/ezy/total)\n  [![Codacy Badge](https://app.codacy.com/project/badge/Grade/cbb93d09f233416cac9faa326a883a44)](https://www.codacy.com/gh/getezy/ezy/dashboard?utm_source=github.com\u0026amp;utm_medium=referral\u0026amp;utm_content=getezy/ezy\u0026amp;utm_campaign=Badge_Grade)\n\n  [![Discord](https://img.shields.io/badge/Discord-7289DA?style=flat\u0026logo=discord\u0026logoColor=white)](https://discord.gg/r26ETPgj6R)\n\n\u003c/div\u003e\n\nFully-featured desktop [gRPC/gRPC-Web](https://grpc.io/) client.\n\n\u003cdiv align=\"center\"\u003e\n  \u003cimg src=\"docs/preview.gif\" align=\"center\"\u003e\n\u003c/div\u003e\n\u003cbr /\u003e\n\n🚧 This project is in beta phase and can get breaking changes at any time until it goes to v1.\n\n## Features\n✅ Tabs  \n✅ Shortcuts  \n✅ Environments  \n✅ Persisted collections  \n\n|                                                           \t| gRPC \t|                            gRPC-Web                   |\n|-----------------------------------------------------------\t|:----:\t|:-------------------------------------------------------------:\t  |\n| Unary Calls                                               \t|   ✅  \t|                               ✅                               \t|\n| Server Streaming                                          \t|   ✅  \t|                               ✅                               \t|\n| Client Streaming                                          \t|   ✅  \t| ❌ [read](https://github.com/grpc/grpc-web/blob/master/doc/streaming-roadmap.md#client-streaming-and-half-duplex-streaming) \t  |\n| Bi-directional Streaming                                  \t|   ✅  \t| ❌ [read](https://github.com/grpc/grpc-web/blob/master/doc/streaming-roadmap.md#full-duplex-streaming-over-http) \t  |\n| Stream cancelation                                        \t|   ✅  \t|                               ✅                               \t|\n| Metadata                                                  \t|   ✅  \t|                       ✅ Browser Headers                       \t|\n| TLS (Server-side/Mutual) with CA/Self-Signed certificates \t|   ✅  \t|                               ✅                               \t|\n\n## Getting started\nInstall the latest version for your OS from [release page](https://github.com/getezy/ezy/releases/latest).\n\nToday you can update only by manually downloading new app version and reinstalling it. I'm working on automatic updates.\n\n## Shortcuts\n\nUse `⌘+K` (macOS) or `Ctrl+K`(Windows/Linux). Just try it.\n\n## Working with 64-bit integers\nIf you want to send 64-bit integers (`int64`, `uint64`, `sint64`, `fixed64`, `sfixed64`) just wrap values in quotes.\n\n```json\n{\n  \"int64\": \"9223372036854775807\",\n  \"uint64\": \"18446744073709551615\",\n  \"sint64\": \"-9223372036854775807\",\n  \"fixed64\": \"18446744073709551615\",\n  \"sfixed64\": \"-9223372036854775807\"\n}\n```\n\n## Build from source\n\n```bash\n  $ npm ci\n  $ npm run make\n```\n\n## Roadmap\n\nActual roadmap available [here](https://github.com/orgs/getezy/projects/1/views/1).\n\n## Sponsorship\n\nIf you are interested in sponsorship of this project - shoot me an [email](mailto:vasyukov.alexey.v@gmail.com). I have great ideas on how we can improve gRPC (and not only!) development experience. I'll be glad to talk about it.\n\n## License\nMozilla Public License Version 2.0\n","funding_links":[],"categories":["TypeScript","Tools"],"sub_categories":["GUI"],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgetezy%2Fezy","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fgetezy%2Fezy","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgetezy%2Fezy/lists"}