You're reading an old version of this documentation. For up-to-date information, please have a look at v0.2.

bibrecord documentation

Welcome! This is the documentation for bibrecord, a Python package for handling bibliographic records within source code.

Did you ever feel the need of adding a reference to the literature to your code, e.g. to an article describing the algorithm you just (re)implemented? Are you somewhat familiar with how bibliographic records look like, e.g. from using BibTeX in conjunction with the TeX/LaTeX typesetting system? Then bibrecord may be the tool of choice for you.

Suppose you have implemented power-law noise and want to refer to the literature to give credit to those guys whose algorithm you’ve implemented. In this case, you could add the following record as an attribute to your class:

reference = bibrecord.Article(
    author=['J. Timmer', 'M. König'],
    title="On generating power law noise",
    journal="Astronomy and Astrophysics",

If you would like to output the reference as plain text, this would be as simple as:


The result:

  1. Timmer, M. König: On generating power law noise. Astronomy and Astrophysics 300:707–710, 1995.

For everything else, have a look at the use cases section or jump straight into the API documentation. If you’re unsure whether this package is something for you, you may as well read about who is the target audience.


A list of features:

  • Support for (a growing list of) different types of bibliographic records (articles, books).

  • Straight-forward definition of bibliographic records, similar to BibTeX.

  • Easy integration of a bibliographic record into your existing code base.

  • Simple, yet powerful ways of creating a string representation or a BibTeX record from each bibliographic record.

And to make it even more convenient for users and future-proof:

  • Open source project written in Python (>= 3.7)

  • Developed fully test-driven

  • Extensive user and API documentation


bibrecord is currently under active development and still considered in Beta development state. Therefore, expect frequent changes in features and public APIs that may break your own code. Nevertheless, feedback as well as feature requests are highly welcome.


To install the bibrecord package on your computer (sensibly within a Python virtual environment), open a terminal (activate your virtual environment), and type in the following:

pip install bibrecord


This program is free software: you can redistribute it and/or modify it under the terms of the BSD License.