I'm writing a scientific article and a dissertation in biology, for which I used Python for simulations. Some people in our department, especially the "non-computer-people", don't know what Python is, so I want to reference something helpful. Open-Source scientific tools such as CellProfiler usually tell you how to reference them, but Python doesn't.
How is the Python language properly referenced? Are there any articles in journals available I could link to?
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 [1], you can also cite the original CWI TR:
[1] https://web.archive.org/web/20161206043833/http://www.gossamer-threads.com/lists/python/python/105846"G. van Rossum, Python tutorial, Technical Report CS-R9526, Centrum voor Wiskunde en Informatica (CWI), Amsterdam, May 1995."
@Techreport{CS-R9526, title= {Python tutorial}, author = {G. van Rossum}, number={CS-R9526}, institution= {Centrum voor Wiskunde en Informatica (CWI)}, year= {1995}, address={Amsterdam}, month={May} }
and the output is: G. van Rossum. Python tutorial. Technical Report CS-R9526, Centrum voor Wiskunde en Informatica (CWI), Amsterdam, May 1995.
- danieltakeshi
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.
This is probably a late answer but now Python's official FAQ [1] page has information regarding 'Are there any published articles about Python that I can reference?'.
[1] https://docs.python.org/3/faq/general.html#are-there-any-published-articles-about-python-that-i-can-referenceIt’s probably best to cite your favorite book about Python. The very first article about Python was written in 1991 and is now quite outdated.
Guido van Rossum and Jelke de Boer, “Interactively Testing Remote Servers Using the Python Programming Language”, CWI Quarterly, Volume 4, Issue 4 (December 1991), Amsterdam, pp 283–303.
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.).
@Software
field if you are using Latex. You can include the actual versions or module, as well as the license. Highly recommended to cite software (version, module, fragment). - Clément