[Python-ideas] Add a __cite__ method for scientific packages

Antoine Pitrou solipsis at pitrou.net
Thu Jun 28 04:03:41 EDT 2018


On Wed, 27 Jun 2018 17:19:35 -0700
Nathaniel Smith <njs at pobox.com> wrote:
> On Wed, Jun 27, 2018 at 2:20 PM, Andrei Kucharavy
> <andrei.kucharavy at gmail.com> wrote:
> > To remediate to that situation, I suggest a __citation__ method associated
> > to each package installation and import. Called from the __main__,
> > __citation__() would scan __citation__ of all imported packages and return
> > the list of all relevant top-level citations associated to the packages.
> >
> > As a scientific package developer working in academia, the problem is quite
> > serious, and the solution seems relatively straightforward.
> >
> > What does Python core team think about addition and long-term maintenance of
> > such a feature to the import and setup mechanisms? What do other users and
> > scientific package developers think of such a mechanism for citations
> > retrieval?  
> 
> This is indeed a serious problem. I suspect python-ideas isn't the
> best venue for addressing it though – there's nothing here that needs
> changes to the Python interpreter itself (I think), and the people who
> understand this problem the best and who are most affected by it,
> mostly aren't here.
> 
> You'll want to check out the duecredit project:
> https://github.com/duecredit/duecredit
> One of the things they've thought about is the ability to track
> citation information at a more fine-grained way than per-package – for
> example, there might be a paper that should be cited by anyone who
> calls a particular method (or even passes a specific argument to some
> specific method, when that turns on some fancy algorithm).
> 
> The R world also has some prior art -- in particular I know they have
> citations as part of the standard metadata in every package.
> 
> I'd actually like to see a more general solution that isn't restricted
> to any one language, because multi-language analysis pipelines are
> very common.

Perhaps a dedicated CPU instruction?

Regards

Antoine.




More information about the Python-ideas mailing list