{"id":24733414,"url":"https://github.com/grll/pubmedclient","last_synced_at":"2025-10-10T02:30:17.442Z","repository":{"id":270578265,"uuid":"910805268","full_name":"grll/pubmedclient","owner":"grll","description":"A simple python SDK around PubMed API.","archived":false,"fork":false,"pushed_at":"2025-01-01T14:16:01.000Z","size":127,"stargazers_count":7,"open_issues_count":0,"forks_count":2,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-05-04T09:04:43.985Z","etag":null,"topics":[],"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/grll.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":"2025-01-01T13:39:03.000Z","updated_at":"2025-04-15T08:23:18.000Z","dependencies_parsed_at":"2025-01-01T14:40:25.009Z","dependency_job_id":null,"html_url":"https://github.com/grll/pubmedclient","commit_stats":null,"previous_names":["grll/pubmedsdk"],"tags_count":1,"template":false,"template_full_name":null,"purl":"pkg:github/grll/pubmedclient","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/grll%2Fpubmedclient","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/grll%2Fpubmedclient/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/grll%2Fpubmedclient/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/grll%2Fpubmedclient/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/grll","download_url":"https://codeload.github.com/grll/pubmedclient/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/grll%2Fpubmedclient/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":279002542,"owners_count":26083400,"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":[],"created_at":"2025-01-27T18:15:13.946Z","updated_at":"2025-10-10T02:30:17.157Z","avatar_url":"https://github.com/grll.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# PubMed Client\n\n[PubMed](https://pubmed.ncbi.nlm.nih.gov/) is a database of over 37 million citations for biomedical literature from MEDLINE, life science journals, and online books. Citations may include links to full text content from PubMed Central and publisher web sites.\n\nPubMed Client is a simple open-source Python client for calling the NCBI PubMed API. \n\nAt the moment, the SDK mostly wraps around Entrez 'E-Utilities' API.\n\nSee for more details on the E-Utilities API from PubMed: \n\n* [A General Introduction to the E-utilities](https://www.ncbi.nlm.nih.gov/books/NBK25497/)\n* [The E-utilities In-Depth: Parameters, Syntax and More](https://www.ncbi.nlm.nih.gov/books/NBK25499/)\n\n## Installation\n\n```bash\n# recommended uv, will add pubmesdk to your uv project\nuv add pubmedclient\n\n# or pip\npip install pubmedclient\n```\n\n## Usage\n\nwarning: without api key, you can only make 3 requests per second per IP.\n\n```python\nfrom pubmedclient import pubmedclient_client\n\n# this is a thin wrapper around httpx\n# with a few headers set for Entrez API\nasync with pubmedclient_client() as client:\n\n    # get the name of all available databases via EInfo\n    params = EInfoRequest()\n    response = await einfo(client, params)\n    print(response)\n\n    # get info about pubmed database\n    params = EInfoRequest(db=\"pubmed\")\n    response = await einfo(client, params)\n    print(response)\n\n    # search for articles about asthma in the pubmed database\n    params = ESearchRequest(db=\"pubmed\", term=\"asthma\")\n    response = await esearch(client, params)\n    print(response)\n\n    # fetch the abstract for one of the returned id\n    params = EFetchRequest(db=\"pubmed\", id=\"39737528\", rettype=\"abstract\", retmode=\"text\")\n    response = await efetch(client, params)\n    print(response)\n```\n\n## Development\n\nDuring development, setup the pip package in editable mode to resolve imports from the local package.\n\n```bash\nuv pip install -e .\n\n# or pip\npip install -e .\n```\n\n## Contributing\n\nThe API coverage is far from complete.\n\nWe welcome contributions. Please feel free to open an issue or a PR.\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgrll%2Fpubmedclient","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fgrll%2Fpubmedclient","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgrll%2Fpubmedclient/lists"}