How do I reference the Python programming language in a thesis or a paper?

In order to cite a programming language, a possible way is to cite the reference manual, including the version of the language you use (your approach might no longer work with the version of Python available in 20 years ...).

For instance, you can have a citation like:

Python Software Foundation. Python Language Reference, version 2.7. Available at http://www.python.org

According to this thread, you can also cite the original CWI TR:

"G. van Rossum, Python tutorial, Technical Report CS-R9526, Centrum voor Wiskunde en Informatica (CWI), Amsterdam, May 1995."


A common choice I have seen is to cite the software by name and give a link to the website or name the company (for proprietary software) or both. For MATLAB, a mathematical programming language, I have often seen:

...for the simulations we used Matlab (The MathWorks, Inc., Natick, Massachusetts, United States)....

Likewise in citation lists and also in text, you often see something like:

MATLAB and Signal Processing Toolbox Release 2012b, The MathWorks, Inc., Natick, Massachusetts, United States. http://www.mathworks.com/

Note that it is often good to include libraries or toolboxes as well as the languages used. Most computer languages used in academic research are not used alone but depend heavily on add-on components. For these, there may be explicitly given papers to cite or the authors may provide preferred citation rules. The most important component of citing a software package is the website, especially if it is open-source, as that allows others to dig into the details of your work but actually using the same tools!

For open-source software like Python, you could name the organization or give the website:

...for the simulations we used the Python programming language (Python Software Foundation, https://www.python.org/).

Obviously, check your schools formatting demands for dissertations/theses, and note that most style guides have explicit rules for software, and those would apply to computer languages as well.


I think it should be standard to cite programming language and used libraries. To cite Python you can use this citation:

@book{van1995python, 
  title={Python tutorial}, 
  author={Van Rossum, Guido and Drake Jr, Fred L}, 
  year={1995}, 
  publisher={Centrum voor Wiskunde en Informatica Amsterdam, The Netherlands} 
}

This citation can be found also here http://www.citebay.com/how-to-cite/python/. At this website there are citations for many Python libraries, that are widely used (numpy, scipy, etc.).