Skip to main content

A command line tool to get bibtex information from DOIs and PDFs

Project description

kbib: A tool to get bibtex entries from DOIs or PDFs.

Alt text Alt text Alt text Alt text Alt text Alt text

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 or directly by pip

pip install kbib

For parsing bibtex information from PDF files, optional dependencies need to be installed

pip install kbib['pdf']

🚀 Usage

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

Use the command line tool kbib as

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

    kbib -bib https://doi.org/10xxxxxx
    
  • Get bibtex from a DOI and store in a file 'ref.bib'

    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

    kbib -ref https://doi.org/10xxxxxx -o ref.bib
    
  • Get bibtex from a PDF named article.pdf

    kbib -pdf article.pdf
    
  • Get bibtex from all pdfs in the current folder

    kbib -pdf *.pdf
    
  • Rename pdf files with bibtex information

    kbib -ren article.pdf
    # or
    kbib -ren *.pdf
    
  • Find duplicate bib entries in bibtex files.

    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

    kbib -dup article.tex article_1.bib article_2.bib
    

⚓Limitation:

  • kbib parses DOI information from Crossref API. 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.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

kbib-0.2.0.tar.gz (9.8 kB view details)

Uploaded Source

Built Distribution

kbib-0.2.0-py3-none-any.whl (10.2 kB view details)

Uploaded Python 3

File details

Details for the file kbib-0.2.0.tar.gz.

File metadata

  • Download URL: kbib-0.2.0.tar.gz
  • Upload date:
  • Size: 9.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.1 CPython/3.8.18

File hashes

Hashes for kbib-0.2.0.tar.gz
Algorithm Hash digest
SHA256 42825604de7a0355abd2aae64907f30975f7655bfaf56160910e39636729a562
MD5 664fdd36cb1873722fff9e63cffc9820
BLAKE2b-256 12817b0090b99c19e382932f3b8a6f0517fed3044eacf9c418ca799af8717749

See more details on using hashes here.

File details

Details for the file kbib-0.2.0-py3-none-any.whl.

File metadata

  • Download URL: kbib-0.2.0-py3-none-any.whl
  • Upload date:
  • Size: 10.2 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.1 CPython/3.8.18

File hashes

Hashes for kbib-0.2.0-py3-none-any.whl
Algorithm Hash digest
SHA256 a89b9ae4681444a5a0cae1184075b7530c67059183fae561057c9fb814e0d8d5
MD5 ae1f9e85aca42eb10843bea577b69b9d
BLAKE2b-256 9883a129237216e0454a95635aef7bc786db9a5299159631c1fd2b313daff2d0

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page