[Python-ideas] Add a __cite__ method for scientific packages
Wes Turner
wes.turner at gmail.com
Wed Jul 4 21:05:33 EDT 2018
https://schema.org/CreativeWork
https://schema.org/Code
https://schema.org/SoftwareApplication
CreativeWork has a https://schema.org/citation field with a range of
{CreativeWork, Text}
There's also a https://schema.org/funder attribute with a domain of
CreativeWork and a range of {Organization, Person}
- BibTeX is actually somewhat ill-specified, TBH.
- There is a repository of CSL styles at https://citationstyles.org .
- CSL is sponsored by both Zotero and Mendeley.
- A number of search engines support schema.org (and JSONLD)
- The schema.org RDFS vocabulary is designed to describe a graph of
resources (CreativeWork, Code, SoftwareApplication, ScholarlyArticle,
MedicalScholarlyArticle).
__citation__ = [{}, ]
__citation__ = {
'@type': ['schema:ScholarlyArticle'],
'schema:name': '',
'schema:author': [{
'@type': 'schema:Person',
'...': '...'}]
}
JSONLD is ideal for describing a graph of resources with varied types.
If the overhead of __citation__ for every import is unjustified,
a lookup of methods with dotted names that finds entries for root modules
as well would be great:
>>> citations('json.loads')
>>> citations('list.sort')
A tracing debugger could lookup each and every package, module, function,
and method each ScholarlyArticle SoftwareApplication executes (from a
registry in e.g. a _citations_.py or a _citations_.jsonld.json).
It'd be a shame to need to manually format citations for a particular
Journal's CSL bibliographic metadata template preference.
sphinxcontrib-bibtex is a Sphinx extension for BibTeX support (with a
bibliography directive and a cite role)
- Src: https://github.com/mcmtroffaes/sphinxcontrib-bibtex
Jupyter notebooks support document-level metadata (in JSON that's currently
only similar to schema.org JSONLD).
https://schema.org/ScholarlyArticle is search engine indexable.
On Wednesday, July 4, 2018, Alexander Belopolsky <
alexander.belopolsky at gmail.com> wrote:
>
>
> On Sun, Jul 1, 2018 at 9:45 AM David Mertz <mertz at gnosis.cx> wrote:
>
>> ..
>> There's absolutely nothing in the idea that requires a change in Python,
>> and Python developers or users are not, as such, the relevant experts.
>>
>
> This is not entirely true. If some variant of __citation__ is endorsed by
> the community, I would expect that pydoc would extract this information to
> fill an appropriate section in the documentation page. Note that pydoc
> already treats a number of dunder variables specially: '__author__', '__credits__',
> and '__version__' are a few that come to mind, so I don't think the
> threshold for adding one more should be too high. On the other hand,
> maybe '__author__', '__credits__', and '__citation__' should be merged
> in one structured variable (a dict?) with format designed with some
> extendability in mind.
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.python.org/pipermail/python-ideas/attachments/20180704/410dd07f/attachment-0001.html>
More information about the Python-ideas
mailing list