Skip to main content

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

Project description

kbib: The perfect companion for effortless reference management

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 would like to introduce 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.1.10.tar.gz (9.1 kB view details)

Uploaded Source

Built Distribution

kbib-0.1.10-py3-none-any.whl (9.5 kB view details)

Uploaded Python 3

File details

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

File metadata

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

File hashes

Hashes for kbib-0.1.10.tar.gz
Algorithm Hash digest
SHA256 7667735e839b8874b69b8c6ecf411ff18290b7ae7f5c17eeb334c7b3e4eb6f03
MD5 62f8c740927ed714a6920c9ee1b4091d
BLAKE2b-256 f31d6704057ee3115c72148ea224ed852f1044c4d80cfaca1b03cc9eb79ecc09

See more details on using hashes here.

Provenance

File details

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

File metadata

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

File hashes

Hashes for kbib-0.1.10-py3-none-any.whl
Algorithm Hash digest
SHA256 dfe1719481783b427228d41131c38e54a89acaa44f44cdaa201f7d3419142ff6
MD5 445be91c61c7839bc2e761edc79e49ae
BLAKE2b-256 9e0457bdfd8bbad55b09930bf638e7259e3e49904c3878476d45208afbaa897c

See more details on using hashes here.

Provenance

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