makecite icon indicating copy to clipboard operation
makecite copied to clipboard

Integrate with citeas

Open ngoldbaum opened this issue 7 years ago • 7 comments

If you're not aware http://citeas.org/ lets you enter some sort of metadata (a DOI, various kinds or other URLs) and it returns the preferred citation method. It supports lots of different standards for specifying preferred citation methods. Using it would avoid needing to add __citation__ attributes to the whole ecosystem.

ngoldbaum avatar Aug 10 '18 15:08 ngoldbaum

@ngoldbaum - Thanks for pointing that out, indeed we could use their API (I'm not sure any of us run into that page, so it hasn't come up). Yet, I see value in having the citation information available in the installed package, it seems more convenient than going to 3rd party webpages etc.

bsipocz avatar Aug 10 '18 20:08 bsipocz

Agreed, more suggesting as an (optional) fallback.

ngoldbaum avatar Aug 10 '18 21:08 ngoldbaum

or source for inspiration / wholesale copying

ngoldbaum avatar Aug 10 '18 21:08 ngoldbaum

Yes, I think having the citation data with the package makes a ton of sense. All CiteAs needs to help is to know where to look, once it find a repository on the web. In the R ecosystem their citation command reads metadata from the DESCRIPTION file. Since it's easy for us to look for the DESCRIPTION file in the repositories, it's easy for us to reuse that infrastructure. With the package.citation approach would we have to install the packages to find the requests?

jameshowison avatar Sep 27 '18 21:09 jameshowison

Oh, I think about these two approaches as being complementary to each other. makecite assumes that packages that are used in a stack is in fact installed for that given stack. But, it can fall back to a more holistic database or use the CiteAs API if the package is either not installed, or the citation info is not found within the installed version.

I don't know much about CiteAs, so this may be super naive. Either it could also keep a local database that a cron job on travis tries to keep up-to-date (or whenever users use the API).

But if there is no database, then presumably one way with python packages to get the most up-to-date info is to look into the source distro on pypi then as the last resort the github/etc repository.

bsipocz avatar Sep 27 '18 21:09 bsipocz

That makes sense. I'm involved with CiteAs, could you guide me a little more on what "look into the source distro on pypi" looks like? And if we were looking in github, is there a consistent place that one would look to find the citation call? Sorry, I don't know much about the details of python packaging!

jameshowison avatar Sep 27 '18 21:09 jameshowison

Are you coming to the URSSI meeting next months? It would be a great opportunity to work on citation tools, or at least hash out a roadmap of concrete steps needs to be implemented as I may very well say nonsenses above (as hasn't followed what the current guidelines prefer beyond having a CITATION file).

The source distro is basically a tarball, so a CITATION file can be found in it. Check for __citation__ attributes is also possible from the source, but I'm not sure it's the safest option rather than installing the package.

bsipocz avatar Sep 27 '18 21:09 bsipocz