{"id":13862658,"url":"https://github.com/vermiculus/ghub-plus","last_synced_at":"2025-05-07T16:53:59.217Z","repository":{"id":148180667,"uuid":"82884749","full_name":"vermiculus/ghub-plus","owner":"vermiculus","description":"Wrappers for GitHub API resources built on ghub","archived":false,"fork":false,"pushed_at":"2019-12-29T17:48:22.000Z","size":103,"stargazers_count":20,"open_issues_count":3,"forks_count":4,"subscribers_count":3,"default_branch":"master","last_synced_at":"2024-08-05T06:06:11.728Z","etag":null,"topics":["api-wrapper","emacs","github"],"latest_commit_sha":null,"homepage":"","language":"Emacs Lisp","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/vermiculus.png","metadata":{"files":{"readme":"README.org","changelog":null,"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}},"created_at":"2017-02-23T04:38:17.000Z","updated_at":"2022-07-09T20:16:08.000Z","dependencies_parsed_at":"2023-05-18T16:00:40.536Z","dependency_job_id":null,"html_url":"https://github.com/vermiculus/ghub-plus","commit_stats":null,"previous_names":[],"tags_count":9,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/vermiculus%2Fghub-plus","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/vermiculus%2Fghub-plus/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/vermiculus%2Fghub-plus/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/vermiculus%2Fghub-plus/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/vermiculus","download_url":"https://codeload.github.com/vermiculus/ghub-plus/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":225097731,"owners_count":17420484,"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":["api-wrapper","emacs","github"],"created_at":"2024-08-05T06:01:49.530Z","updated_at":"2024-11-17T22:19:52.845Z","avatar_url":"https://github.com/vermiculus.png","language":"Emacs Lisp","readme":"#+Title: GHub+  [[https://travis-ci.org/vermiculus/ghub-plus][https://travis-ci.org/vermiculus/ghub-plus.svg?branch=master]] [[https://melpa.org/#/ghub%2B][file:https://melpa.org/packages/ghub+-badge.svg]]\n\nGHub+ is a thick GitHub API client built using =API-Wrap.el= on =ghub=,\n[[https://github.com/tarsius/ghub][the minuscule GitHub API client]].\n\n* Tour by Example\n#+BEGIN_SRC elisp\n  ;;; GET /issues\n  (ghubp-get-issues)\n\n  ;;; GET /issues?state=closed\n  (ghubp-get-issues :state 'closed)\n\n  (let ((repo (ghub-get \"/repos/magit/magit\")))\n    (list\n     ;; Magit's issues\n     ;; GET /repos/magit/magit/issues\n     (ghubp-get-repos-owner-repo-issues repo)\n\n     ;; Magit's closed issues labeled 'easy'\n     ;; GET /repos/magit/magit/issues?state=closed\u0026labels=easy\n     (ghubp-get-repos-owner-repo-issues repo\n       :state 'closed :labels \"easy\")))\n#+END_SRC\n\n* Contributing\n  :PROPERTIES:\n  :ID:       1F4644C5-72AC-49DA-A83C-443AA7F9651E\n  :END:\nContributions should be made via pull-request.  When it makes sense,\nbe sure your addition works when passing around object-alists.\n\n* Introduction\nThis package is a thick client built on =ghub=, the miniscule GitHub\nclient.  Its aim is to provide the common functionality most helpful\nfor application development.\n\nSince =ghub+= is built on =ghub=, any and all features you find lacking in\n=ghub+= can be done with =ghub= without needing to dig into either\npackage's internals.  However, =ghub+= provides some macros you may find\nhelpful in development; see [[id:7208D9BD-1524-4701-A061-70861C5376DA][Extending]] for details.  If you find your\nfunction to be particularly helpful or believe it to be a common use\ncase, please consider [[id:1F4644C5-72AC-49DA-A83C-443AA7F9651E][contributing]] it to the library!\n\n* Extending\n  :PROPERTIES:\n  :ID:       7208D9BD-1524-4701-A061-70861C5376DA\n  :END:\nTo simplify application development, tools have been developed to\nshorten repetitive syntax and provide useful syntax for common\nproblems that might not otherwise have good, succinct solutions.\n\n** ~(ghubp-unpaginate \u0026rest BODY)~\nWraps the form in a let-binding where ~ghub-unpaginate~ is ~t~.  Forms\nexecuted here will continue to poll the API until all output has been\nreceived.\n\n** ~(defapi{get,put,head,post,patch,delete}-ghubp ...)~\nThese wonderful macros super-charge the standard ~ghub-{get,put,...}~\nfunctions into documentation-generating, resource-wrapping machines.\nRefer to their documentation or see [[https://github.com/vermiculus/apiwrap.el#using-the-generated-macros][apiwrap.el]] for a short tutorial in\nusing these macros.\n# Local Variables:\n# org-id-link-to-org-use-id: t\n# End:\n","funding_links":[],"categories":["Emacs Lisp"],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fvermiculus%2Fghub-plus","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fvermiculus%2Fghub-plus","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fvermiculus%2Fghub-plus/lists"}