A library to handle BibTeX bibliographic data.
Project description
biblib is a (pure) python library that provides several useful classes, methods and functions to work with BibTeX bibliographic data within your python scripts.
The idea is to enabling you to prepare your own tools, which are specifically tailored to your own literature investigation scheme, comfortably.
Usage example
The following code will read the file into a db, fetch an entry by its DOI and save the db to a new file:
import biblib
# open file as filedb in read only mode
fileDb = biblib.FileBibDB('bibtex.bib', mode='r')
# open file as db read/write mode,
# no LaTeX encoding of unicode character
newFileDb = biblib.FileBibDB('new.bib', encode=False)
# add fileDb entries to newFileDb
newFileDb.merge_bibdb(fileDb)
# access an entry object refered by its cite-key
entry = newFileDb['JCP-127-234509']
entry.get_tag('year')
> 2007
# init doi db
doiDb = biblib.DoiBibDB()
# retrieve bibliographic meta data by DOI
entry = doiDb['10.1088/0959-5309/43/5/301']
# add new entries to database
newFileDb.add_entry(entry)
# or this way to set a specific cite-key
# newFileDb['MY_CITE_KEY'] = entry1
If you don’t use biblib in a bigger context (i.e. from the command line) you can use the helper functions for the fast and easy way:
from biblib import db_from_file, entry_from_doi, db_to_file
db = db_from_file('bibtex.bib')
entry = entry_from_doi('10.1088/0959-5309/43/5/301')
db.add_entry(entry)
db_to_file(db, 'new.bib', encode=False)
Requirements
Python 2.7, 3.3+
pybtex for BibTeX parsing
isbnlib for retrieving citation entries via ISBN number
python-magic for detecting character encoding
unidecode for robust generation of citation-keys
Installation
You can install the latest version from the Python package index. From the command line, enter (in some cases you have to precede the command with sudo):
$ pip install biblib
More information about the usage and how to get and install pip you find in the PIP documentation.
To install it manual, download the archive, unpack it, and type (in some cases you have to precede the command with sudo):
$ python setup.py install
Documentation
Documentation including installation procedure, tutorial and API: http://pythonhosted.org/biblib/
Thanks
Thanks to Jackalope for his support while planing and designing biblib, and for his contribution of the Storage concept.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.