How to cite python software

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.

Well, in principle you could cite the language reference, but to tell the truth it'd be a bit weird to cite the programming language in use as a bibliographical reference. That's just a tool for your thesis or article, not a scientific body of work, and as such is not part of the foundations of your research - therefore there's no need to cite it IMHO. Unless your research happens to be in the general field of programming languages and Python in particular.

answered Nov 24, 2012 at 16:24

How to cite python software

Óscar LópezÓscar López

228k35 gold badges304 silver badges377 bronze badges

Steven D'Aprano steve at pearwood.info
Tue Mar 15 21:50:23 EDT 2016
  • Previous message (by thread): [Tutor] Citing Python
  • Next message (by thread): [Tutor] Best way to install Python 3 onto Windows 10
  • Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]

On Tue, Mar 15, 2016 at 11:45:56AM +0000, Holderness, Ellie wrote:
> Hi,
> 
> How do I cite Python for my dissertation bibliography? I used version 3.5.1.

What a fantastic question! I have no idea!

I googled for "how to cite programming language" and found these:

http://stackoverflow.com/questions/15688758/r-stats-citation-for-a-scientific-paper

http://blog.apastyle.org/apastyle/2015/01/how-to-cite-software-in-apa-style.html


I ran "citation()" in my copy of R and got this:


> citation()

To cite R in publications use:

  R Core Team (2014). R: A language and environment for statistical
  computing. R Foundation for Statistical Computing, Vienna, Austria.
  URL http://www.R-project.org/.

A BibTeX entry for LaTeX users is

  @Manual{,
    title = {R: A Language and Environment for Statistical Computing},
    author = {{R Core Team}},
    organization = {R Foundation for Statistical Computing},
    address = {Vienna, Austria},
    year = {2014},
    url = {http://www.R-project.org/},
  }

We have invested a lot of time and effort in creating R, please cite it
when using it for data analysis. See also ‘citation("pkgname")’ for
citing R packages.




So using this as a template, I would use:

  Python Core Team (2015). Python: A dynamic, open source programming 
  language. Python Software Foundation. URL https://www.python.org/.




-- 
Steve

  • Previous message (by thread): [Tutor] Citing Python
  • Next message (by thread): [Tutor] Best way to install Python 3 onto Windows 10
  • Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]

More information about the Tutor mailing list

Mark Livingstone

unread,

Jun 16, 2012, 11:24:04 AM6/16/12

to

Hello!

I wish to properly cite Python in an academic paper I am writing.

Is there a preferred document etc to cite?

Thanks in advance,

MArkL

Alec Taylor

unread,

Jun 16, 2012, 11:37:51 AM6/16/12

to Mark Livingstone,

Ben Finney

unread,

Jun 16, 2012, 12:13:20 PM6/16/12

to

Mark Livingstone <> writes:

> I wish to properly cite Python in an academic paper I am writing.
>
> Is there a preferred document etc to cite?

I think you're best positioned to answer that. Python isn't a document,
so what specifically are you citing it as?

--
\ “A ‘No’ uttered from deepest conviction is better and greater |
`\ than a ‘Yes’ merely uttered to please, or what is worse, to |
_o__) avoid trouble.” —Mohandas K. Gandhi |
Ben Finney

Olmo Hernández Cuba

unread,

Jun 16, 2012, 6:16:43 PM6/16/12

to

Well, maybe something like:

G. Van Rossum. The Python Language
Reference Manual. Network Theory Ltd., September 2003.

In other languages I use, the proper citation is obtained from the
interpreter itself, and it points you to the language reference.

Hope this helps.

El Sat, 16 Jun 2012 14:18:48 +1000
Alec Taylor <> escribió:
> I think it's more like when you see articles with a passage like:
>
>
> The C programming language[1] or the C++ programming language[2] are
> both
> > examples of...
> >
>
>
> Are both easy to find the proper reference for.
>
> On Sat, Jun 16, 2012 at 2:13 PM, Ben Finney
> <ben+>wrote:

> > --
> > http://mail.python.org/mailman/listinfo/python-list
> >

Mark Lawrence

unread,

Jun 16, 2012, 9:01:12 PM6/16/12

to

The main website www.python.org and possibly the sites for Jython,
IronPython and PyPY?

--
Cheers.

Mark Lawrence.

J. Cliff Dyer

unread,

Jun 16, 2012, 9:15:40 PM6/16/12

to

That's a rather vague question. What do you want to cite about python?
If you're just mentioning python, that shouldn't warrant a citation,
though a parenthetical note linking to python.org might be useful.

The standard documentation should be acceptable, or possibly a link to
the source code at a given revision.

Cheers,
Cliff

Rich Webb

unread,

Jun 16, 2012, 11:45:41 PM6/16/12

to

He's probably looking for an IEC or ANSI standard, like "Information
technology — Programming languages — C INCITS/ISO/IEC 9899-2011[2012]
(ISO/IEC 9899-2011, IDT)". I don't think URLs qualify as standards
documents.

--
Rich Webb Norfolk, VA

Emile van Sebille

unread,

Jun 17, 2012, 12:10:36 AM6/17/12

to

Ben Finney

unread,

Jun 17, 2012, 2:10:49 AM6/17/12

to

Olmo Hernández Cuba <> writes:

> Well, maybe something like:
>
> G. Van Rossum. The Python Language
> Reference Manual. Network Theory Ltd., September 2003.

Are you referencing material from that document? If so, go ahead and
reference that document's URL.

> In other languages I use, the proper citation is obtained from the
> interpreter itself, and it points you to the language reference.

But why cite the language reference, or any document, if you're not
actually referencing material in that document?

I don't see how merely writing programs in a language warrants
bibliographic citation for it. Perhaps just referring to the main URL
for the Python website?

--
\ “What you have become is the price you paid to get what you |
`\ used to want.” —Mignon McLaughlin |
_o__) |
Ben Finney

Terry Reedy

unread,

Jun 17, 2012, 4:44:15 AM6/17/12

to

On 6/15/2012 11:24 PM, Mark Livingstone wrote:
> Hello!
>
> I wish to properly cite Python in an academic paper I am writing.
>
> Is there a preferred document etc to cite?

At present, I would use something like

Rossum, Guido van, et al, *The Python Language Reference*, Python
Software Foundation; http://docs.python.org/py3k/reference/index.html

with punctuation adjusted to your target. That url should continue to
work as new versions are released. If you want to cite a particular
version, http://docs.python.org/release/3.2/reference/index.html with
3.2 replaced by x.y as appropriate.

--
Terry Jan Reedy

Christian Heimes

unread,

Jun 17, 2012, 5:01:22 AM6/17/12

to

Actually it's "van Rossum, Guido", not "Rossum, Guido van". The "van" is
part of the family name, not a middle name. It's like "da Vinci,
Leonardo" or "von Sydow, Max". On one occasion Guido complained that
Americans always get his name wrong.

Christian

Terry Reedy

unread,

Jun 17, 2012, 8:25:29 AM6/17/12

to

Thank you for the correction. I was going by an old book (1996) he
co-wrote that just had 'Rossum' on the spine. I guess that must have
been done without consulting him and must have annoyed him.

--
Terry Jan Reedy

Message has been deleted

Stefan Behnel

unread,

Jun 17, 2012, 5:07:56 PM6/17/12

to

Dennis Lee Bieber, 17.06.2012 02:46:
> On Sat, 16 Jun 2012 20:25:29 -0400, Terry Reedy
> declaimed the following in gmane.comp.python.general:

>
>> Thank you for the correction. I was going by an old book (1996) he
>> co-wrote that just had 'Rossum' on the spine. I guess that must have
>> been done without consulting him and must have annoyed him.
>

> If ALL they had on the spine was "Rossum", that may have been
> correct usage for a surname only reference. The "van", "von", "da"
> prefixes sort of translate to "of the" and for a book spine "of the XYZ"
> may be meaningless unless the given name is included, a la "ABC of the
> XYZ"...

It's a bit like using "New York" as a surname, when you refer to that guy
Jason who was born there, as in "Jason of New York".

Stefan

Curt

unread,

Jun 17, 2012, 11:18:07 PM6/17/12

to

On 2012-06-16, Christian Heimes <> wrote:
>
> Actually it's "van Rossum, Guido", not "Rossum, Guido van". The "van" is
> part of the family name, not a middle name. It's like "da Vinci,
> Leonardo" or "von Sydow, Max". On one occasion Guido complained that
> Americans always get his name wrong.

I've read that now he prefers Guido V. Rossum, Jr.

Ben Finney

unread,

Jun 18, 2012, 8:19:35 AM6/18/12

to

Citation needed.

--
\ “Alternative explanations are always welcome in science, if |
`\ they are better and explain more. Alternative explanations that |
_o__) explain nothing are not welcome.” —Victor J. Stenger, 2001-11-05 |
Ben Finney

Curt

unread,

Jun 18, 2012, 2:20:41 PM6/18/12

to

On 2012-06-18, Ben Finney <ben+> wrote:
>> >
>> > Actually it's "van Rossum, Guido", not "Rossum, Guido van". The
>> > "van" is part of the family name, not a middle name. It's like "da
>> > Vinci, Leonardo" or "von Sydow, Max". On one occasion Guido
>> > complained that Americans always get his name wrong.
>>
>> I've read that now he prefers Guido V. Rossum, Jr.
>
> Citation needed.

Sorry:

;-)

Ethan Furman

unread,

Jun 19, 2012, 1:24:58 AM6/19/12

to

Ben Finney wrote:
> Curt <> writes:
>
>> On 2012-06-16, Christian Heimes <> wrote:
>>> Actually it's "van Rossum, Guido", not "Rossum, Guido van". The
>>> "van" is part of the family name, not a middle name. It's like "da
>>> Vinci, Leonardo" or "von Sydow, Max". On one occasion Guido
>>> complained that Americans always get his name wrong.
>> I've read that now he prefers Guido V. Rossum, Jr.
>
> Citation needed.

But what format should it take?

;)

~Ethan~

How do I reference Python?

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 ...). According to this thread, you can also cite the original CWI TR: "G.

Should I cite programming languages?

A: You don't need to include references for programming languages. But, feel free to discuss them in the text of your paper, if relevant.

How do you cite the Spyder Python?

Citation in APA style Raybaut, P. (2009). Spyder-documentation. Available Online at: Pythonhosted.

Should you cite NumPy?

If NumPy has been significant in your research, and you would like to acknowledge the project in your academic publication, we suggest citing the following paper: Harris, C.R., Millman, K.J., van der Walt, S.J. et al. Array programming with NumPy.