{"id":19706233,"url":"https://github.com/clap-rs/clap-permission-flag","last_synced_at":"2025-12-12T12:49:46.225Z","repository":{"id":57604465,"uuid":"143773976","full_name":"clap-rs/clap-permission-flag","owner":"clap-rs","description":"Easily add permission flags to CLIs using Clap","archived":false,"fork":false,"pushed_at":"2023-12-07T08:18:23.000Z","size":59,"stargazers_count":9,"open_issues_count":2,"forks_count":2,"subscribers_count":8,"default_branch":"master","last_synced_at":"2025-04-19T15:24:15.109Z","etag":null,"topics":["clap","cli","rust"],"latest_commit_sha":null,"homepage":"","language":"Rust","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/clap-rs.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":".github/CONTRIBUTING.md","funding":null,"license":"LICENSE-APACHE","code_of_conduct":".github/CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null}},"created_at":"2018-08-06T19:33:17.000Z","updated_at":"2024-02-22T23:34:56.000Z","dependencies_parsed_at":"2023-12-26T12:09:10.822Z","dependency_job_id":"5eedc24e-41f9-4000-bf70-b567014c6c6f","html_url":"https://github.com/clap-rs/clap-permission-flag","commit_stats":{"total_commits":33,"total_committers":4,"mean_commits":8.25,"dds":"0.21212121212121215","last_synced_commit":"ff80f5a02e9930a7aa670ce36fda846397aa1b85"},"previous_names":["rust-clique/clap-permission-flag"],"tags_count":2,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/clap-rs%2Fclap-permission-flag","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/clap-rs%2Fclap-permission-flag/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/clap-rs%2Fclap-permission-flag/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/clap-rs%2Fclap-permission-flag/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/clap-rs","download_url":"https://codeload.github.com/clap-rs/clap-permission-flag/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":251255426,"owners_count":21560010,"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","cli","rust"],"created_at":"2024-11-11T21:34:42.285Z","updated_at":"2025-12-12T12:49:46.184Z","avatar_url":"https://github.com/clap-rs.png","language":"Rust","funding_links":[],"categories":[],"sub_categories":[],"readme":"# clap-permission-flag\n\n[![crates.io version][1]][2] [![build status][3]][4]\n[![downloads][5]][6] [![docs.rs docs][7]][8]\n\nDrop permissions of a CLI using structopt.\n\n- [Documentation][8]\n- [Crates.io][2]\n\n## Usage\n\n```rust,no_run\nuse clap::Parser;\n\n#[derive(Debug, Parser)]\nstruct Cli {\n    #[clap(flatten)]\n    permission: clap_permission_flag::Permission,\n}\n\nfn main() -\u003e Result\u003c(), Box\u003cdyn std::error::Error\u003e\u003e {\n    let args = Cli::parse();\n    args.permission.drop()?;\n    Ok(())\n}\n```\n\nThis crate depends on Unix features - on other platforms a stub implementation\nwhich has no flags and always succeeds if used.\n\n### Example Output\n\n```txt\nclap-permission-flag 0.3.0\nYoshua Wuyts \u003cyoshuawuyts@gmail.com\u003e\nDrop permissions of a CLI using structopt\n\nUSAGE:\n    main [OPTIONS]\n\nFLAGS:\n    -h, --help       Prints help information\n    -V, --version    Prints version information\n\nOPTIONS:\n        --chroot \u003cchroot\u003e    Change the process root directory\n    -g, --group \u003cgroup\u003e      Change the process group\n    -u, --user \u003cuser\u003e        Change the process user\n```\n\n## Installation\n\n```sh\n$ cargo add clap-permission-flag\n```\n\nSince `--chroot` may not be suitable for all applications, it is behind the\n`chroot` feature and must be enabled explicitly:\n\n```toml\n[dependencies.clap-permission-flag]\nversion = \"0.3\"\nfeatures = [\"chroot\"]\n```\n\n## See Also\n\n- https://github.com/jedisct1/rust-privdrop\n\n## License\n\n[MIT](./LICENSE-MIT) OR [Apache-2.0](./LICENSE-APACHE)\n\n[1]: https://img.shields.io/crates/v/clap-permission-flag.svg?style=flat-square\n[2]: https://crates.io/crates/clap-permission-flag\n[3]: https://img.shields.io/travis/rust-clique/clap-permission-flag.svg?style=flat-square\n[4]: https://travis-ci.org/rust-clique/clap-permission-flag\n[5]: https://img.shields.io/crates/d/clap-permission-flag.svg?style=flat-square\n[6]: https://crates.io/crates/clap-permission-flag\n[7]: https://img.shields.io/badge/docs-latest-blue.svg?style=flat-square\n[8]: https://docs.rs/clap-permission-flag\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fclap-rs%2Fclap-permission-flag","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fclap-rs%2Fclap-permission-flag","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fclap-rs%2Fclap-permission-flag/lists"}