{"id":16587725,"url":"https://github.com/meanderingprogrammer/pass-yank","last_synced_at":"2026-05-26T20:31:59.401Z","repository":{"id":221487798,"uuid":"754358251","full_name":"MeanderingProgrammer/pass-yank","owner":"MeanderingProgrammer","description":"A pass extension that lets you copy metadata associated with passwords","archived":false,"fork":false,"pushed_at":"2024-05-17T08:42:24.000Z","size":17,"stargazers_count":2,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-03-06T09:38:02.334Z","etag":null,"topics":["metadata","pass","pass-extension","password-store","password-store-extension"],"latest_commit_sha":null,"homepage":"","language":"Python","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/MeanderingProgrammer.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-02-07T22:16:59.000Z","updated_at":"2025-01-21T08:31:18.000Z","dependencies_parsed_at":"2024-04-21T22:46:59.363Z","dependency_job_id":"826ce1e1-ed7a-4b6a-8a77-152a2c22239f","html_url":"https://github.com/MeanderingProgrammer/pass-yank","commit_stats":null,"previous_names":["meanderingprogrammer/pass-yank"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/MeanderingProgrammer/pass-yank","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/MeanderingProgrammer%2Fpass-yank","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/MeanderingProgrammer%2Fpass-yank/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/MeanderingProgrammer%2Fpass-yank/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/MeanderingProgrammer%2Fpass-yank/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/MeanderingProgrammer","download_url":"https://codeload.github.com/MeanderingProgrammer/pass-yank/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/MeanderingProgrammer%2Fpass-yank/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":33538659,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"ssl_error","status_checked_at":"2026-05-26T15:22:15.568Z","response_time":63,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5: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":["metadata","pass","pass-extension","password-store","password-store-extension"],"created_at":"2024-10-11T22:54:54.703Z","updated_at":"2026-05-26T20:31:59.385Z","avatar_url":"https://github.com/MeanderingProgrammer.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# pass-yank\n\nA [pass](https://www.passwordstore.org/) extension that lets you copy metadata associated\nwith passwords.\n\n# Installation\n\n## Requirements\n\n- `pass` \u003e= 1.7.0: extension support\n- `Python` \u003e= 3.8: `@cached_property` feature\n- [pyperclip](https://pypi.org/project/pyperclip/): copying to clipboard\n\n### Build Requirements\n\n- Everything in `Requirements` section\n- [just](https://github.com/casey/just): to run recipes (similar to `make`)\n- [pytest](https://pypi.org/project/pytest/) \u003e= 8.0.0: for unit testing\n\n## Enable Extensions\n\n```bash\nexport PASSWORD_STORE_ENABLE_EXTENSIONS=true\n```\n\n## Run Install\n\n```bash\njust install\n```\n\n# Usage\n\n```bash\npass yank --show? \u003cname\u003e \u003cpattern\u003e*\n```\n\n| Variable Name | Alt        | Description                                                | Default                  | Example    |\n| ------------- | ---------- | ---------------------------------------------------------- | ------------------------ | ---------- |\n| `show`        | `-s`       | Show value rather than copying to clipboard                | `False`                  | `-s`       |\n| `name`        | Positional | Password file to fetch metadata from                       | None                     | `amazon`   |\n| `pattern`     | Positional | Regex patterns to fetch from metadata, first match is used | `\"^user.*$\" \"^email.*$\"` | `username` |\n\n# Format\n\nThe term metadata means all the lines in a `pass` file that are not the\npassword itself.\n\nEach line is a potential metadata entry, in order to be picked up by the\nextension it must nhave a `:` separator.\n\nKeys are normalized before checking if the regex matches, normalization involves stripping\nany spaces around the key, converting to lowercase, and replacing spaces with `_`.\n\n## Example\n\nLets say we had the following file for `amazon`:\n\n```\nsuper-secret-password\nUsername: user@example.com\nUser Id: my-user-id\nURL: *.amazon.com/*\nurl: https://amazon.com/some-url\n```\n\nIf we provided no custom patterns and simply ran: `pass yank amazon`\n\nThe `Username` field would be matched and the extension would copy `user@example.com` into\nthe clipboard. The `UserId` field also matches but since it occurs later in the file it\nends up being ignored.\n\nIf we provided `url` as the pattern: `pass yank amazon url`\n\nThe `URL` field would be matched and the extension would copy `*.amazon.com/*` into the\nclipboard. This is a consequence of the implementation, since we process the file top to\nbottom only the normalized keys that occur earlier are kept.\n\nIn its current state there is no way to get the second `url` field.\n\n# Related Projects\n\n- [pass-extension-meta](https://github.com/rjekker/pass-extension-meta): Basically exactly\n  the same thing with some implementation detail differences\n- [pass-cl](https://github.com/elcorto/pass-cl): Similar but focusses on copying multiple\n  values to different X selections\n\n# Todo\n\n- Add completions similar to [update](https://github.com/roddhjav/pass-update/tree/master)\n  though copying their approach does not work for me.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmeanderingprogrammer%2Fpass-yank","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmeanderingprogrammer%2Fpass-yank","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmeanderingprogrammer%2Fpass-yank/lists"}