{"id":13437157,"url":"https://github.com/aperezdc/notmuch-addrlookup-c","last_synced_at":"2025-10-11T00:05:13.903Z","repository":{"id":13715624,"uuid":"16409681","full_name":"aperezdc/notmuch-addrlookup-c","owner":"aperezdc","description":"Address lookup tool for Notmuch in C using GLib and libnotmuch","archived":false,"fork":false,"pushed_at":"2022-10-13T15:01:50.000Z","size":53,"stargazers_count":51,"open_issues_count":7,"forks_count":18,"subscribers_count":7,"default_branch":"master","last_synced_at":"2025-06-26T16:06:49.224Z","etag":null,"topics":["address-lookup","mutt","notmuch"],"latest_commit_sha":null,"homepage":null,"language":"C","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/aperezdc.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}},"created_at":"2014-01-31T14:10:32.000Z","updated_at":"2025-02-10T23:19:58.000Z","dependencies_parsed_at":"2023-01-11T18:38:51.615Z","dependency_job_id":null,"html_url":"https://github.com/aperezdc/notmuch-addrlookup-c","commit_stats":null,"previous_names":[],"tags_count":10,"template":false,"template_full_name":null,"purl":"pkg:github/aperezdc/notmuch-addrlookup-c","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/aperezdc%2Fnotmuch-addrlookup-c","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/aperezdc%2Fnotmuch-addrlookup-c/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/aperezdc%2Fnotmuch-addrlookup-c/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/aperezdc%2Fnotmuch-addrlookup-c/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/aperezdc","download_url":"https://codeload.github.com/aperezdc/notmuch-addrlookup-c/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/aperezdc%2Fnotmuch-addrlookup-c/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":279005647,"owners_count":26083940,"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","status":"online","status_checked_at":"2025-10-10T02:00:06.843Z","response_time":62,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"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":["address-lookup","mutt","notmuch"],"created_at":"2024-07-31T03:00:54.721Z","updated_at":"2025-10-11T00:05:13.888Z","avatar_url":"https://github.com/aperezdc.png","language":"C","funding_links":[],"categories":["C"],"sub_categories":[],"readme":"# Notmuch Address Lookup tool — in C\n\nThis is an address lookup tool similar to the `addrlookup` one found\nin the (apparently unmaintained) [Vala Notmuch\nbinding](https://github.com/spaetz/vala-notmuch), using the\n[Notmuch](http://notmuchmail.org) database as source.\n\nThe one and only feature is accepting a string as first argument, and it\nwill use the Notmuch database to output the names and e-mail addresses of\nthe people you have exchanged e-mails with, most used ones first. This\nworks neatly as [address completer for the Notmuch Emacs\ninterface](http://notmuchmail.org/emacstips/#index15h2).\n\nOne more thing: I plan to keep the tool up-to-date when new Notmuch\nreleases change the API of the library. Precisely the reasons why\nthis small project was started are:\n\n* The [Go](http://golang.org) implementation included with Notmuch\n  insists in outputting all the text in lowercase. Plus, requires\n  a working Go development setup to build it.\n- There used to be similar tools included with Notmuch, written in Vala\n  and Python, but they have been removed due to lack of maintenance.\n\n\n## `notmuch address`\n\nStarting with version 0.19 a new `notmuch address` subcommand is available,\nwhich can be used to search for e-mail addresses as well. While similar,\n`notmuch-addrlookup-c` may still be preferred because:\n\n- The output format can be set to Mutt-compatible, which many existing tools\n  know how to handle.\n\n- The output can also be set to aerc compatible.\n\n- It automatically searches for addresses in the `To:`, `Cc:`, `Bcc:`, and\n  `From:` message headers, and sorts them out by most frequently seen.\n  This usually renders more relevant results.\n\n\n## Building\n\nMake sure you have the following installed, plus their development\npackages:\n\n* `libnotmuch` — Included with Notmuch.\n* GLib — It is a dependency of Notmuch as well.\n* `pkg-config`\n* GNU Make and a working C compiler.\n\nThen just build and install it:\n```sh\nmake\nsudo cp notmuch-addrlookup /usr/local/bin\n```\n\n## Using\n\nYou can check that the program works by invoking from a shell. The\nonly argument it takes is a string, which is searched for in the\ne-mail addresses contained in the headers of the messages indexed\nby Notmuch. Example output (names and addresses are not real):\n\n```\n% notmuch-addrlookup peter\nPeter Jones \u003cpeter@jonesfamily.com\u003e\nJohn Peters \u003cjohn.peters@gmail.com\u003e\nPeter Tosh \u003cgimmesome@reggaemusic.net\u003e\nNoren Petersen \u003cnorenp@no.se\u003e\n%\n```\n\n### Vim\n\nThe plug-in [vim-notmuch-addrlookup](https://github.com/Konfekt/vim-notmuch-addrlookup) adds completion of e-mail addresses via `notmuch-addrlookup-c` (by default by hitting `\u003cCtrl-X\u003e\u003cCtrl-O\u003e`) when composing an e-mail.\n\n### Emacs UI\n\nThe Emacs Notmuch UI\n[can be configured](http://notmuchmail.org/emacstips/#index13h2)\nto use the tool for completing addresses when composing.\n\n### Mutt\n\nThe [Mutt UA](http://www.mutt.org/) can be configured to use\n`notmuch-addrlookup` by setting the following options:\n\n```\nset query_command=\"notmuch-addrlookup --format=mutt '%s'\"\n```\n\n### aerc\n\nThe [aerc](https://aerc-mail.org/) can be configured to use\n`notmuch-addrlookup` by setting the following options:\n\n```\naddress-book-cmd=notmuch-addrlookup --format=aerc %s\n\n```\n\n### alot\n\nThe [alot](https://github.com/pazz/alot) MUA can be configured to use\n`notmuch-addrlookup`, using an `[accounts]` section in the configuration\nfile similar to this:\n\n```\n[accounts]\n  [[youraccountname]]\n    realname = Your Name\n    address = your@address.com\n    ...\n    [[[abook]]]\n      type = shellcommand\n      regexp = '^(?P\u003cemail\u003e[^@]+@[^\\t]+)\\t+(?P\u003cname\u003e[^\\t]+)'\n      command = notmuch-addrlookup --format=mutt\n      ignorecase = True\n```\n\n\n## License\n\nThis software is distributed under the terms of the [MIT\nlicense](http://opensource.org/licenses/MIT):\n\n```\nCopyright (c) 2014 Adrian Perez de Castro \u003caperez@igalia.com\u003e\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in\nall copies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\nTHE SOFTWARE.\n\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Faperezdc%2Fnotmuch-addrlookup-c","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Faperezdc%2Fnotmuch-addrlookup-c","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Faperezdc%2Fnotmuch-addrlookup-c/lists"}