{"id":16531064,"url":"https://github.com/koushikphy/kbib","last_synced_at":"2025-07-02T04:32:49.277Z","repository":{"id":63791254,"uuid":"569968113","full_name":"Koushikphy/kbib","owner":"Koushikphy","description":"A tool to get bibtex entries from DOIs or PDFs.","archived":false,"fork":false,"pushed_at":"2024-07-30T15:34:59.000Z","size":82,"stargazers_count":5,"open_issues_count":2,"forks_count":1,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-04-03T19:23:14.580Z","etag":null,"topics":["article","bibliography","bibtex","bibtex-entry","bibtex-parser","bibtex-references","bibtexparser","crossref","crossref-api","journal","pdf","python","research-paper","research-tool"],"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/Koushikphy.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":"2022-11-24T03:06:10.000Z","updated_at":"2025-01-24T14:18:22.000Z","dependencies_parsed_at":"2024-04-19T11:28:15.676Z","dependency_job_id":"fca575ca-d5ce-4846-b8b2-87ace303138c","html_url":"https://github.com/Koushikphy/kbib","commit_stats":null,"previous_names":[],"tags_count":12,"template":false,"template_full_name":null,"purl":"pkg:github/Koushikphy/kbib","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Koushikphy%2Fkbib","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Koushikphy%2Fkbib/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Koushikphy%2Fkbib/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Koushikphy%2Fkbib/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Koushikphy","download_url":"https://codeload.github.com/Koushikphy/kbib/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Koushikphy%2Fkbib/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":263074950,"owners_count":23409846,"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":["article","bibliography","bibtex","bibtex-entry","bibtex-parser","bibtex-references","bibtexparser","crossref","crossref-api","journal","pdf","python","research-paper","research-tool"],"created_at":"2024-10-11T18:07:49.494Z","updated_at":"2025-07-02T04:32:48.930Z","avatar_url":"https://github.com/Koushikphy.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"## `kbib`: A tool to get bibtex entries from DOIs or PDFs.\n[![Alt text](https://img.shields.io/pypi/v/kbib.svg?logo=pypi)](https://pypi.org/project/kbib/)\n[![Alt text](https://img.shields.io/pypi/pyversions/kbib.svg?logo=python)](https://pypi.org/project/kbib/)\n[![Alt text](https://img.shields.io/pypi/dm/kbib.svg)](https://pypistats.org/packages/kbib)\n[![Alt text](https://img.shields.io/pypi/l/kbib.svg)](https://pypi.org/project/kbib/)\n[![Alt text](https://img.shields.io/pypi/status/kbib.svg)](https://pypi.org/project/kbib/)\n[![Alt text](https://github.com/koushikphy/kbib/actions/workflows/python-publish.yml/badge.svg)](https://github.com/Koushikphy/kbib/releases/latest)\n\nWhen writing a research article, managing a large number of references to other articles, books, and other sources can be a challenging task. It involves tasks such as copying citations from journal pages, ensuring accuracy and correctness, and avoiding repetitions. This process can be time-consuming and prone to errors.\n\nTo address these challenges, I have developed a command-line utility called **`kbib`**. This tool is designed to help researchers manage their references easily and efficiently. With **`kbib`**, you can streamline the process of organizing and formatting citations, saving you valuable time and effort.\n\n\n\n### ⚡ Features\n1. Get bibtex information from DOI.\n2. Get bibtex information from article pdf.\n3. Get full list of references of an article as a .bib file.\n4. Directly rename pdf files with bibtex information.\n5. Find duplicate bib entries in Tex/Bib files.\n\n### 🛠️ Installation\nDownload and install the latest package from the [release section](https://github.com/Koushikphy/kbib/releases/latest) or directly by pip\n```bash\npip install kbib\n```\nFor parsing bibtex information from PDF files, optional dependencies need to be installed\n\n```bash\npip install kbib['pdf']\n```\n\n\n### 🚀 Usage \n\n\n\n\n\nhttps://github.com/Koushikphy/kbib/assets/43264301/50bbcf78-e426-4937-8ebd-a58e424f61bd\n\n\n\n\n\nUse the command line tool `kbib` as \n```bash\nkbib [-h] [-bib DOI] [-ref DOI] [-pdf [PDF [PDF ...]]] [-ren [PDF [PDF ...]]] [-dup [BIB [BIB ...]]] [-o DOI]\n```\n\n| Argument    |  Description|\n| ----------- | ----------- \n|    `-bib`    | DOI to get bibtex entry |\n|    `-ref`    | DOI to get bibtex entries for all the references | \n|    `-pdf`    | PDF file name(s) to get bibtex info | \n|    `-ren`    | PDF file name(s) to rename with bibtex info | \n|    `-dup`    | Bib/Tex file name(s) to find duplicates. | \n|    `-o`      | Output bib file | \n\n#### Use cases\n* Get bibtex from a DOI\n    ```bash\n    kbib -bib https://doi.org/10xxxxxx\n    ```\n* Get bibtex from a DOI and store in a file 'ref.bib'\n    ```bash\n    kbib -bib https://doi.org/10xxxxxx -o ref.bib\n    ```\n* Get the full reference list of an article as bibtex entries and save as ref.bib\n    ```bash\n    kbib -ref https://doi.org/10xxxxxx -o ref.bib\n    ```\n* Get bibtex from a PDF named article.pdf\n    ```bash\n    kbib -pdf article.pdf\n    ```\n* Get bibtex from all pdfs in the current folder\n    ```bash\n    kbib -pdf *.pdf\n    ```\n* Rename pdf files with bibtex information\n    ```bash\n    kbib -ren article.pdf\n    # or\n    kbib -ren *.pdf\n    ```\n* Find duplicate bib entries in bibtex files.\n    ```bash\n    kbib -dup article_1.bib article_2.bib\n    ```\n\n* If a .tex file is provided, it will find the duplicates that are cited in the tex file\n    ```bash\n    kbib -dup article.tex article_1.bib article_2.bib\n    ```\n\n\n\n\n#### ⚓Limitation:\n- `kbib` parses DOI information from [Crossref API](https://github.com/CrossRef/rest-api-doc). So if the article is not indexed in Crossref database this tool will fail to get the necessary information. Also the API may temporarily block requests from an IP if a large number of queries are made within a short period of time.\n- Special/Latex characters in the title may gets messed up during the API call. One needs to be careful using title field for the bibtex created by `kbib`.\n- For bibtex keys and renaming files, `kbib` uses format as `\u003cShort Journal Name\u003e_\u003cVolume\u003e_\u003cYear\u003e_\u003cLast name of first author\u003e`, which is presently hardcoded in the tool. Therefore, one can not use any desired format through the command line.\n\n\n#### ⏳ Work-in-Progress:\n- Concurrent/Parallel API calls for faster parsing of bibtex information.\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkoushikphy%2Fkbib","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fkoushikphy%2Fkbib","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkoushikphy%2Fkbib/lists"}