reference-handler


Namereference-handler JSON
Version 0.9.1 PyPI version JSON
download
home_page
Summary
upload_time2021-05-05 18:44:23
maintainer
docs_urlNone
authorMolSSI
requires_python
licenseBSD-3-Clause
keywords reference_handler
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            reference_handler
==============================
[//]: # (Badges)
[![Travis Build Status](https://travis-ci.org/molssi/reference_handler.png)](https://travis-ci.org/molssi/reference_handler)
[![AppVeyor Build status](https://ci.appveyor.com/api/projects/status/REPLACE_WITH_APPVEYOR_LINK/branch/master?svg=true)](https://ci.appveyor.com/project/molssi/reference_handler/branch/master)
[![codecov](https://codecov.io/gh/molssi/reference_handler/branch/master/graph/badge.svg)](https://codecov.io/gh/molssi/reference_handler/branch/master)
[![Documentation Status](https://readthedocs.org/projects/reference-handler/badge/?version=latest)](https://reference-handler.readthedocs.io/en/latest/?badge=latest)

A Python package that creates a consolidated list of references (BibTex, RIS) of scientific material 
used in a Python package.

### Motivation

Authors of modeling tools (scientific software, method or model
developers) currently find it difficult to get fair attribution to their
software and scientific work. Scientific software developers create
tools that do not always get cited, as a typical citable
scientific article might not exist. Although new mechanisms for more
directly citing software have been recently created (i.e. Zenodo), they have
not gained widespread use in the community of computational
molecular science. 

Method and model developers face a similar problem. Consider for instance 
a molecular dynamics practitioner who needs to develop a new force field using
a specialized quantum mechanical calculation. The practitioner might not be
fully familiar with the correct references to use for the quantum mechanical software
and methods. To correctly
include the references, the model developer might spend a considerable amount of time
finding out which papers to cite. This problem is exponentially exacerbated in work that
involves complex workflows running hundreds of different software
components that might involve different areas of computational science.

## Goal

The goal of the *reference handler* is to provide an easy mechanism for
developers to record the appropriate references so that users of tools can
provide a complete set of citations for a particular run of the software in a
form convenient for the user. 

The output of *reference handler* is a consolidated list of
references (BibTeX, RIS) to go into the paper with as little effort as possible on the users
part.

## Audience

**1. Method and scientific software developers.** 

**2. Computational molecular science practitioners**

## Package overview

The reference handler is comprised of the following: 

**1. Central SQLite3 database.** It contains two tables. 
The first is named *citation* and holds the essential data associated to each unique
citation, such as the raw citation text and its ID number. 
The second is the *context* table. It
contains information about the context in which a given citation was used. For instance, 
the function where the citation was used or the number of times the citation was "mentioned" 
by any function of your Python package.

Each citation can have many contexts, yielding a one-to-many relationship between the two
tables. 

**2. Functions to ease the interaction with central database. ** Examples are a function
to cite a desired reference or a function to dump the contents of the database into a 
.bib file for subsequent compliation using BibTeX.

## Minimal example

```python
import reference_handler

lj_citation = """
@article{lj1924,
author = {J. E. Jones  and Sydney Chapman },
title = {On the determination of molecular fields. \&\#x2014;II. From the equation of state of a gas},
journal = {Proceedings of the Royal Society of London. Series A, Containing Papers of a Mathematical and Physical Character},
volume = {106},
number = {738},
pages = {463-477},
year = {1924},
doi = {10.1098/rspa.1924.0082},
}
"""

def lennard_jones(sigma, epsilon, rij):
    rf.cite(raw=lj_citation, alias='lj_citation', module='lennard_jones',
        level=1, note='The first version of the Lennard-Jones potential')
    sig_by_r6 = (sigma / rij ** 6)
    sig_by_r12 = (sig_by_r6 ** 2)
    return 4.0 * epsilon * (sig_by_r12 - sig_by_r6)

rf = reference_handler.Reference_Handler('database.db')

sigma = 3.54
epsilon = 98.0
rij = 20.0

lj_energy = lennard_jones(sigma, epsilon, rij)

rf.dump(outfile='bibliography.bib')
```

## Installation

## Documentation

## Contribute

## Citation

### Copyright

Copyright (c) 2019, MolSSI

#### Acknowledgements

Project based on the 
[Computational Molecular Science Python Cookiecutter](https://github.com/molssi/cookiecutter-cms) version 1.0.



            

Raw data

            {
    "_id": null,
    "home_page": "",
    "name": "reference-handler",
    "maintainer": "",
    "docs_url": null,
    "requires_python": "",
    "maintainer_email": "",
    "keywords": "reference_handler",
    "author": "MolSSI",
    "author_email": "meliseo@vt.edu",
    "download_url": "https://files.pythonhosted.org/packages/50/fc/669668be86008afab3f43cd637ca92e66e9c74be550883471bb96d058241/reference_handler-0.9.1.tar.gz",
    "platform": "",
    "description": "reference_handler\n==============================\n[//]: # (Badges)\n[![Travis Build Status](https://travis-ci.org/molssi/reference_handler.png)](https://travis-ci.org/molssi/reference_handler)\n[![AppVeyor Build status](https://ci.appveyor.com/api/projects/status/REPLACE_WITH_APPVEYOR_LINK/branch/master?svg=true)](https://ci.appveyor.com/project/molssi/reference_handler/branch/master)\n[![codecov](https://codecov.io/gh/molssi/reference_handler/branch/master/graph/badge.svg)](https://codecov.io/gh/molssi/reference_handler/branch/master)\n[![Documentation Status](https://readthedocs.org/projects/reference-handler/badge/?version=latest)](https://reference-handler.readthedocs.io/en/latest/?badge=latest)\n\nA Python package that creates a consolidated list of references (BibTex, RIS) of scientific material \nused in a Python package.\n\n### Motivation\n\nAuthors of modeling tools (scientific software, method or model\ndevelopers) currently find it difficult to get fair attribution to their\nsoftware and scientific work. Scientific software developers create\ntools that do not always get cited, as a typical citable\nscientific article might not exist. Although new mechanisms for more\ndirectly citing software have been recently created (i.e. Zenodo), they have\nnot gained widespread use in the community of computational\nmolecular science. \n\nMethod and model developers face a similar problem. Consider for instance \na molecular dynamics practitioner who needs to develop a new force field using\na specialized quantum mechanical calculation. The practitioner might not be\nfully familiar with the correct references to use for the quantum mechanical software\nand methods. To correctly\ninclude the references, the model developer might spend a considerable amount of time\nfinding out which papers to cite. This problem is exponentially exacerbated in work that\ninvolves complex workflows running hundreds of different software\ncomponents that might involve different areas of computational science.\n\n## Goal\n\nThe goal of the *reference handler* is to provide an easy mechanism for\ndevelopers to record the appropriate references so that users of tools can\nprovide a complete set of citations for a particular run of the software in a\nform convenient for the user. \n\nThe output of *reference handler* is a consolidated list of\nreferences (BibTeX, RIS) to go into the paper with as little effort as possible on the users\npart.\n\n## Audience\n\n**1. Method and scientific software developers.** \n\n**2. Computational molecular science practitioners**\n\n## Package overview\n\nThe reference handler is comprised of the following: \n\n**1. Central SQLite3 database.** It contains two tables. \nThe first is named *citation* and holds the essential data associated to each unique\ncitation, such as the raw citation text and its ID number. \nThe second is the *context* table. It\ncontains information about the context in which a given citation was used. For instance, \nthe function where the citation was used or the number of times the citation was \"mentioned\" \nby any function of your Python package.\n\nEach citation can have many contexts, yielding a one-to-many relationship between the two\ntables. \n\n**2. Functions to ease the interaction with central database. ** Examples are a function\nto cite a desired reference or a function to dump the contents of the database into a \n.bib file for subsequent compliation using BibTeX.\n\n## Minimal example\n\n```python\nimport reference_handler\n\nlj_citation = \"\"\"\n@article{lj1924,\nauthor = {J. E. Jones  and Sydney Chapman },\ntitle = {On the determination of molecular fields. \\&\\#x2014;II. From the equation of state of a gas},\njournal = {Proceedings of the Royal Society of London. Series A, Containing Papers of a Mathematical and Physical Character},\nvolume = {106},\nnumber = {738},\npages = {463-477},\nyear = {1924},\ndoi = {10.1098/rspa.1924.0082},\n}\n\"\"\"\n\ndef lennard_jones(sigma, epsilon, rij):\n    rf.cite(raw=lj_citation, alias='lj_citation', module='lennard_jones',\n        level=1, note='The first version of the Lennard-Jones potential')\n    sig_by_r6 = (sigma / rij ** 6)\n    sig_by_r12 = (sig_by_r6 ** 2)\n    return 4.0 * epsilon * (sig_by_r12 - sig_by_r6)\n\nrf = reference_handler.Reference_Handler('database.db')\n\nsigma = 3.54\nepsilon = 98.0\nrij = 20.0\n\nlj_energy = lennard_jones(sigma, epsilon, rij)\n\nrf.dump(outfile='bibliography.bib')\n```\n\n## Installation\n\n## Documentation\n\n## Contribute\n\n## Citation\n\n### Copyright\n\nCopyright (c) 2019, MolSSI\n\n#### Acknowledgements\n\nProject based on the \n[Computational Molecular Science Python Cookiecutter](https://github.com/molssi/cookiecutter-cms) version 1.0.\n\n\n",
    "bugtrack_url": null,
    "license": "BSD-3-Clause",
    "summary": "",
    "version": "0.9.1",
    "project_urls": null,
    "split_keywords": [
        "reference_handler"
    ],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "6586473a9e1a93c68b3ba0356193e7a80cda3abc88d9b255df678fe4f1234b51",
                "md5": "7309c4e131d271afa77734fe0f762ec9",
                "sha256": "874f3ed0d328b1fb29ee829b218222117dd6938c6acc29a6df4b42ada963d479"
            },
            "downloads": -1,
            "filename": "reference_handler-0.9.1-py2.py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "7309c4e131d271afa77734fe0f762ec9",
            "packagetype": "bdist_wheel",
            "python_version": "py2.py3",
            "requires_python": null,
            "size": 32608,
            "upload_time": "2021-05-05T18:44:20",
            "upload_time_iso_8601": "2021-05-05T18:44:20.983159Z",
            "url": "https://files.pythonhosted.org/packages/65/86/473a9e1a93c68b3ba0356193e7a80cda3abc88d9b255df678fe4f1234b51/reference_handler-0.9.1-py2.py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "6db16545999635b2af9531e0145725ff5601b806df87c408575850e887b80367",
                "md5": "fd4c9c62939f913ee5e660ca61b61df2",
                "sha256": "6f6e2de82cd8013177b4445f16264e13591e1f3bdc1a15768a4ba094ab7f0a76"
            },
            "downloads": -1,
            "filename": "reference_handler-0.9.1-py3.9.egg",
            "has_sig": false,
            "md5_digest": "fd4c9c62939f913ee5e660ca61b61df2",
            "packagetype": "bdist_egg",
            "python_version": "0.9.1",
            "requires_python": null,
            "size": 59017,
            "upload_time": "2021-05-05T18:44:22",
            "upload_time_iso_8601": "2021-05-05T18:44:22.421653Z",
            "url": "https://files.pythonhosted.org/packages/6d/b1/6545999635b2af9531e0145725ff5601b806df87c408575850e887b80367/reference_handler-0.9.1-py3.9.egg",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "50fc669668be86008afab3f43cd637ca92e66e9c74be550883471bb96d058241",
                "md5": "85d90ac59b02acbfa8a5d00f55f65a71",
                "sha256": "91db08870b6cf37bd9a595046f84b2ed014a948366552d4705288c3da4fffa8f"
            },
            "downloads": -1,
            "filename": "reference_handler-0.9.1.tar.gz",
            "has_sig": false,
            "md5_digest": "85d90ac59b02acbfa8a5d00f55f65a71",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": null,
            "size": 48180,
            "upload_time": "2021-05-05T18:44:23",
            "upload_time_iso_8601": "2021-05-05T18:44:23.693105Z",
            "url": "https://files.pythonhosted.org/packages/50/fc/669668be86008afab3f43cd637ca92e66e9c74be550883471bb96d058241/reference_handler-0.9.1.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2021-05-05 18:44:23",
    "github": false,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "lcname": "reference-handler"
}
        
Elapsed time: 1.87710s