TailorDev Biblio Bibliography management with Django.

django, biblio, bibliography, bibtex, publication, python, science
pip install django-tailordev-biblio==2.0.0


Django TailorDev Biblio

Bibliography management with Django.

Coverage Status


Since the 1.0.0 release, we have added full support for recent python and Django releases:

Django 1.8 Django 1.9 Django 1.10 Django 1.11 Django 2.0 Django 2.1
Python 2.7 ✔️ ✔️ ✔️ ✔️
Python 3.4 ✔️ ✔️ ✔️ ✔️ ✔️
Python 3.5 ✔️ ✔️ ✔️ ✔️ ✔️ ✔️
Python 3.6 ✔️ ✔️ ✔️ ✔️ ✔️ ✔️

Please note that for older Python and/or Django versions, you can still use the 0.3 release.


Click on the screenshot below to browse the sandbox deployed on Heroku:

Django TailorDev Biblio Screenshot

Nota bene: to test references importation from PMIDs or DOIs, you will need to login with these credentials:

login: rosalind
password: idiscovereddnastructurefirst


Install td_biblio

The easiest way to go is to use pip:

$ pip install -U django-tailordev-biblio

Configure td_biblio

Add td_biblio to your INSTALLED_APPS in django settings:

# foo_project/

    # other apps…

Add td_biblio urls your project url patterns:

# foo_project/

urlpatterns = [
    # other urls…
    url(r'^bibliography/', include('td_biblio.urls', namespace='td_biblio')),

And finally migrate your database from your project root path:

$ python migrate td_biblio

Add a base template

In order to use td_biblio templates, you will need to create a base template to inherit from. This base template should be visible as _layouts/base.html and contains at least the following blocks:

    <title>Publication list</title>
    {% block content %}{% endblock content %} {% block javascripts %}{% endblock
    javascripts %}

As you might have guessed, the content block is the base block where we render the bibliography list and item details, while the javascripts block contains eponym front-end dependencies. You will find an example base layout template at: td_biblio/templates/_layouts/base.html

Import bibliography

Once td_biblio is installed and configured, you may want to import your references stored in a BibTeX file. Hopefully, there is a command for that:

$ python bibtex_import my_bibliography.bib

Alternatively, you can browse to the /import/ view with a superuser account to fetch references from their DOIs or PMIDs.


Development installation

If you intend to work on the code, clone this repository and install all dependencies in a virtual environment via:

$ make bootstrap

And then start the development server via:

$ make dev

Running the Tests

You can run the tests with via:

$ make test

Deploy to Heroku

To start playing with an Heroku instance, we suppose you have:

  • an Heroku account;
  • a functional SSH key imported for this account;
  • installed the heroku client.
# Log in to heroku
$ heroku login

# Configure current repository as a registered heroku app
$ heroku git:remote -a tailordev-biblio

# Push your code
$ git push heroku master

# Perform database migrations
$ heroku run python sandbox/ migrate

Upload a new release to PyPI

$ python sdist bdist_wheel
$ twine upload dist/*


django-tailordev-biblio is released under the MIT License. See the bundled LICENSE file for details.