{"id":13502936,"url":"https://github.com/MichalGniadek/klask","last_synced_at":"2025-03-29T12:33:18.499Z","repository":{"id":40575453,"uuid":"409791743","full_name":"MichalGniadek/klask","owner":"MichalGniadek","description":"Automatically create GUI applications from clap3 apps","archived":false,"fork":false,"pushed_at":"2023-02-27T09:06:23.000Z","size":383,"stargazers_count":409,"open_issues_count":10,"forks_count":25,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-03-28T08:08:19.466Z","etag":null,"topics":["clap","gui","rust"],"latest_commit_sha":null,"homepage":"","language":"Rust","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/MichalGniadek.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}},"created_at":"2021-09-24T01:15:42.000Z","updated_at":"2025-03-10T01:47:06.000Z","dependencies_parsed_at":"2024-01-14T06:51:22.258Z","dependency_job_id":"a713d02f-f245-40cd-bdfa-8313bfbb960d","html_url":"https://github.com/MichalGniadek/klask","commit_stats":{"total_commits":136,"total_committers":4,"mean_commits":34.0,"dds":0.125,"last_synced_commit":"c8e5e41f4e4af8dd81cd77825184f1ac5afd4f2f"},"previous_names":[],"tags_count":5,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/MichalGniadek%2Fklask","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/MichalGniadek%2Fklask/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/MichalGniadek%2Fklask/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/MichalGniadek%2Fklask/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/MichalGniadek","download_url":"https://codeload.github.com/MichalGniadek/klask/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":246187190,"owners_count":20737459,"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":["clap","gui","rust"],"created_at":"2024-07-31T22:02:30.947Z","updated_at":"2025-03-29T12:33:18.215Z","avatar_url":"https://github.com/MichalGniadek.png","language":"Rust","funding_links":[],"categories":["Rust"],"sub_categories":[],"readme":"[![crates.io](https://img.shields.io/crates/v/klask?style=for-the-badge)](https://crates.io/crates/klask)\n[![license](https://img.shields.io/crates/l/klask?style=for-the-badge)](LICENSE)\n[![docs.rs](https://img.shields.io/docsrs/klask?style=for-the-badge)](https://docs.rs/klask)\n# Klask\nAllows you to create a gui application automatically from clap (v3). Uses egui for graphics. [Changelog](CHANGELOG.md)\n\n## Features\n- Supports optional fields with and without default values\n- Supports flags with multiple occurrences (`-vvv`)\n- Has a native path picker\n- Supports fields with multiple values\n- Output is colored and has clickable links\n- Combo boxes for arguments with only some values allowed\n- Subcommands\n- Optionally allow setting environment variables, stdin and working directory\n- Progress bars\n\nIf you are using this library please contact me, I'm definitely interested!\nCreate an Issue if you find any bugs or would like a feature added!\n\nExample gui:\n![image showcasing the gui](media/showcase-2021-09-25.png)\n\nGenerated from [miniserve](https://github.com/svenstaro/miniserve)'s app:\n![image showcasing the gui](media/miniserve-2021-09-25.png)\n\n## How it works\n\n* The binary runs and there's no `CHILD_APP_ENV_VAR` environment variable ⇾ no user code runs, only the GUI is displayed.\n* The \"Run\" button in the GUI is pressed ⇾ `CHILD_APP_ENV_VAR` is set, the binary is started again. Arguments are passed to `stdin` and `stdout` is intercepted for displaying output.\n* The binary is run with `CHILD_APP_ENV_VAR` ⇾ the user-provided closure is run.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FMichalGniadek%2Fklask","html_url":"https://awesome.ecosyste.ms/projects/github.com%2FMichalGniadek%2Fklask","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FMichalGniadek%2Fklask/lists"}