{"id":46004959,"url":"https://github.com/jvanbuel/pattrick","last_synced_at":"2026-04-14T08:02:49.333Z","repository":{"id":65396797,"uuid":"546809274","full_name":"jvanbuel/pattrick","owner":"jvanbuel","description":"Pattrick is a command line tool for managing Personal Access Tokens (PAT) in Azure DevOps","archived":false,"fork":false,"pushed_at":"2026-02-16T08:01:47.000Z","size":1548,"stargazers_count":11,"open_issues_count":4,"forks_count":2,"subscribers_count":1,"default_branch":"main","last_synced_at":"2026-02-16T15:37:29.746Z","etag":null,"topics":["azure","cli","devops","rust"],"latest_commit_sha":null,"homepage":"","language":"Rust","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/jvanbuel.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":null,"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,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2022-10-06T17:24:06.000Z","updated_at":"2026-02-16T08:00:45.000Z","dependencies_parsed_at":"2023-12-18T08:31:58.483Z","dependency_job_id":"6053235d-04c4-43b8-8010-b6bba694edc9","html_url":"https://github.com/jvanbuel/pattrick","commit_stats":{"total_commits":90,"total_committers":2,"mean_commits":45.0,"dds":"0.18888888888888888","last_synced_commit":"9ba6640c6cab9cad354e47a6516416199b8f9963"},"previous_names":[],"tags_count":18,"template":false,"template_full_name":null,"purl":"pkg:github/jvanbuel/pattrick","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jvanbuel%2Fpattrick","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jvanbuel%2Fpattrick/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jvanbuel%2Fpattrick/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jvanbuel%2Fpattrick/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/jvanbuel","download_url":"https://codeload.github.com/jvanbuel/pattrick/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jvanbuel%2Fpattrick/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":29954583,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-02-28T22:53:01.873Z","status":"ssl_error","status_checked_at":"2026-02-28T22:52:50.699Z","response_time":90,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.6:443 state=error: 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":["azure","cli","devops","rust"],"created_at":"2026-02-28T23:03:21.304Z","updated_at":"2026-02-28T23:03:24.976Z","avatar_url":"https://github.com/jvanbuel.png","language":"Rust","funding_links":[],"categories":[],"sub_categories":[],"readme":"![1673695104691](image/README/1673695104691.png)\n\n![crates](https://img.shields.io/crates/v/pattrick)\n![build](https://img.shields.io/github/actions/workflow/status/jvanbuel/pattrick/test.yml)\n![docs](https://img.shields.io/docsrs/pattrick)\n![license](https://img.shields.io/crates/l/pattrick)\n\nPattrick is a command line tool for managing Personal Access Tokens (PAT) in Azure DevOps.\n\nIt allows you to:\n\n- 🐣 create\n- 📖 list\n- 🔎 show\n- ⚰️ delete\n\nPATs without having to go to the web interface.\n\n## Installation\n\nOn MacOs, you can install Pattrick with [Homebrew](https://brew.sh/):\n\n```bash\nbrew tap jvanbuel/pattrick\nbrew install pattrick\n```\n\nOn Linux, you can install Pattrick by executing the following commands:\n\n```bash\ncurl -L https://github.com/jvanbuel/pattrick/releases/latest/download/pattrick-x86_64-unknown-linux-gnu.tar.gz | tar xvz\nchmod +x pattrick\nsudo mv pattrick /usr/local/bin/pattrick\n```\n\n## Usage\n\nPattrick looks for Azure CLI credentials to fetch an access token for authentication with Azure DevOps. You can get one locally by logging in to Azure with:\n\n```bash\naz login\n```\n\nIf `pattrick` cannot find a valid access token, it will try to log you in automatically (by using the `az login` command under the hood). It will also try to automatically figure out the DevOps organization to connect to. If you have access to multiple DevOps organization, you can specify the organization you want to manage PAT tokens for via the environment variable `DEVOPS_ORGANIZATION`.\n\nYou can then start using `pattrick` to manage your PAT tokens:\n\n```bash\npattrick create --lifetime 100 --scope packaging\n```\n\nBy default, `pattrick` writes newly created token to stdout. However, you can also tell `pattrick` to write the token to your `.netrc` file (useful for e.g. installing Python packages from Azure DevOps Artifacts), or to a local `.env` file:\n\n```bash\npattrick create --out std-out (default) / dot-netrc / dot-env\n```\n\nTo get an overview of the other commands and options available, run:\n\n```bash\npattrick --help\n```\n\n## Usage as standalone library\n\nYou can also use Pattrick as a standalone library. This is useful if you want to manage PATS programmatically in your own codebase.\n\n```rust\nuse pattrick::{PatTokenManager, PatTokenListRequest, DisplayFilterOption};\nuse pattrick::azure::get_ad_token_for_devops;\n\nlet pat_manager = PatTokenManager::new(get_ad_token_for_devops(1).await?);\n\nlet pat_tokens = pat_manager.list_pat_tokens(\n     PatTokenListRequest {\n        display_filter_option: DisplayFilterOption::All\n     }\n ).await?;\n```\n\nFor more information, check out the `pattrick` documentation at [docs.rs](https://docs.rs/pattrick/latest/pattrick/)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjvanbuel%2Fpattrick","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fjvanbuel%2Fpattrick","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjvanbuel%2Fpattrick/lists"}