kbib


Namekbib JSON
Version 0.2.0 PyPI version JSON
download
home_pageNone
SummaryA command line tool to get bibtex information from DOIs and PDFs
upload_time2024-07-30 15:35:03
maintainerNone
docs_urlNone
authorKoushik Naskar
requires_python>=3.6
licenseMIT
keywords bibtex references doi crossref
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            ## `kbib`: A tool to get bibtex entries from DOIs or PDFs.
[![Alt text](https://img.shields.io/pypi/v/kbib.svg?logo=pypi)](https://pypi.org/project/kbib/)
[![Alt text](https://img.shields.io/pypi/pyversions/kbib.svg?logo=python)](https://pypi.org/project/kbib/)
[![Alt text](https://img.shields.io/pypi/dm/kbib.svg)](https://pypistats.org/packages/kbib)
[![Alt text](https://img.shields.io/pypi/l/kbib.svg)](https://pypi.org/project/kbib/)
[![Alt text](https://img.shields.io/pypi/status/kbib.svg)](https://pypi.org/project/kbib/)
[![Alt text](https://github.com/koushikphy/kbib/actions/workflows/python-publish.yml/badge.svg)](https://github.com/Koushikphy/kbib/releases/latest)

When 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.

To 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.



### ⚡ Features
1. Get bibtex information from DOI.
2. Get bibtex information from article pdf.
3. Get full list of references of an article as a .bib file.
4. Directly rename pdf files with bibtex information.
5. Find duplicate bib entries in Tex/Bib files.

### 🛠️ Installation
Download and install the latest package from the [release section](https://github.com/Koushikphy/kbib/releases/latest) or directly by pip
```bash
pip install kbib
```
For parsing bibtex information from PDF files, optional dependencies need to be installed

```bash
pip install kbib['pdf']
```


### 🚀 Usage 





https://github.com/Koushikphy/kbib/assets/43264301/50bbcf78-e426-4937-8ebd-a58e424f61bd





Use the command line tool `kbib` as 
```bash
kbib [-h] [-bib DOI] [-ref DOI] [-pdf [PDF [PDF ...]]] [-ren [PDF [PDF ...]]] [-dup [BIB [BIB ...]]] [-o DOI]
```

| Argument    |  Description|
| ----------- | ----------- 
|    `-bib`    | DOI to get bibtex entry |
|    `-ref`    | DOI to get bibtex entries for all the references | 
|    `-pdf`    | PDF file name(s) to get bibtex info | 
|    `-ren`    | PDF file name(s) to rename with bibtex info | 
|    `-dup`    | Bib/Tex file name(s) to find duplicates. | 
|    `-o`      | Output bib file | 

#### Use cases
* Get bibtex from a DOI
    ```bash
    kbib -bib https://doi.org/10xxxxxx
    ```
* Get bibtex from a DOI and store in a file 'ref.bib'
    ```bash
    kbib -bib https://doi.org/10xxxxxx -o ref.bib
    ```
* Get the full reference list of an article as bibtex entries and save as ref.bib
    ```bash
    kbib -ref https://doi.org/10xxxxxx -o ref.bib
    ```
* Get bibtex from a PDF named article.pdf
    ```bash
    kbib -pdf article.pdf
    ```
* Get bibtex from all pdfs in the current folder
    ```bash
    kbib -pdf *.pdf
    ```
* Rename pdf files with bibtex information
    ```bash
    kbib -ren article.pdf
    # or
    kbib -ren *.pdf
    ```
* Find duplicate bib entries in bibtex files.
    ```bash
    kbib -dup article_1.bib article_2.bib
    ```

* If a .tex file is provided, it will find the duplicates that are cited in the tex file
    ```bash
    kbib -dup article.tex article_1.bib article_2.bib
    ```




#### ⚓Limitation:
- `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.
- 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`.
- For bibtex keys and renaming files, `kbib` uses format as `<Short Journal Name>_<Volume>_<Year>_<Last name of first author>`, which is presently hardcoded in the tool. Therefore, one can not use any desired format through the command line.


#### ⏳ Work-in-Progress:
- Concurrent/Parallel API calls for faster parsing of bibtex information.


            

Raw data

            {
    "_id": null,
    "home_page": null,
    "name": "kbib",
    "maintainer": null,
    "docs_url": null,
    "requires_python": ">=3.6",
    "maintainer_email": null,
    "keywords": "bibtex references doi crossref",
    "author": "Koushik Naskar",
    "author_email": "koushik.naskar9@gmail.com",
    "download_url": "https://files.pythonhosted.org/packages/12/81/7b0090b99c19e382932f3b8a6f0517fed3044eacf9c418ca799af8717749/kbib-0.2.0.tar.gz",
    "platform": null,
    "description": "## `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### \u26a1 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### \ud83d\udee0\ufe0f 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### \ud83d\ude80 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#### \u2693Limitation:\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 `<Short Journal Name>_<Volume>_<Year>_<Last name of first author>`, which is presently hardcoded in the tool. Therefore, one can not use any desired format through the command line.\n\n\n#### \u23f3 Work-in-Progress:\n- Concurrent/Parallel API calls for faster parsing of bibtex information.\n\n",
    "bugtrack_url": null,
    "license": "MIT",
    "summary": "A command line tool to get bibtex information from DOIs and PDFs",
    "version": "0.2.0",
    "project_urls": {
        "Source Code": "https://github.com/Koushikphy/kbib"
    },
    "split_keywords": [
        "bibtex",
        "references",
        "doi",
        "crossref"
    ],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "9883a129237216e0454a95635aef7bc786db9a5299159631c1fd2b313daff2d0",
                "md5": "ae1f9e85aca42eb10843bea577b69b9d",
                "sha256": "a89b9ae4681444a5a0cae1184075b7530c67059183fae561057c9fb814e0d8d5"
            },
            "downloads": -1,
            "filename": "kbib-0.2.0-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "ae1f9e85aca42eb10843bea577b69b9d",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": ">=3.6",
            "size": 10229,
            "upload_time": "2024-07-30T15:35:01",
            "upload_time_iso_8601": "2024-07-30T15:35:01.389145Z",
            "url": "https://files.pythonhosted.org/packages/98/83/a129237216e0454a95635aef7bc786db9a5299159631c1fd2b313daff2d0/kbib-0.2.0-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "12817b0090b99c19e382932f3b8a6f0517fed3044eacf9c418ca799af8717749",
                "md5": "664fdd36cb1873722fff9e63cffc9820",
                "sha256": "42825604de7a0355abd2aae64907f30975f7655bfaf56160910e39636729a562"
            },
            "downloads": -1,
            "filename": "kbib-0.2.0.tar.gz",
            "has_sig": false,
            "md5_digest": "664fdd36cb1873722fff9e63cffc9820",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.6",
            "size": 9813,
            "upload_time": "2024-07-30T15:35:03",
            "upload_time_iso_8601": "2024-07-30T15:35:03.513727Z",
            "url": "https://files.pythonhosted.org/packages/12/81/7b0090b99c19e382932f3b8a6f0517fed3044eacf9c418ca799af8717749/kbib-0.2.0.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2024-07-30 15:35:03",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "Koushikphy",
    "github_project": "kbib",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": true,
    "lcname": "kbib"
}
        
Elapsed time: 1.33258s