Science Score: 23.0%
This score indicates how likely this project is to be science-related based on various indicators:
-
○CITATION.cff file
-
○codemeta.json file
-
○.zenodo.json file
-
✓DOI references
Found 2 DOI reference(s) in README -
○Academic publication links
-
✓Committers with academic emails
1 of 8 committers (12.5%) from academic institutions -
○Institutional organization owner
-
○JOSS paper metadata
-
○Scientific vocabulary similarity
Low similarity (16.8%) to scientific vocabulary
Keywords from Contributors
Repository
Research References Tracking Tool
Basic Info
Statistics
- Stars: 15
- Watchers: 3
- Forks: 151
- Open Issues: 27
- Releases: 0
Metadata Files
README.md
R2T2 - Research References Tracking Tool
<!-- ALL-CONTRIBUTORS-BADGE:START - Do not remove or modify this section -->
<!-- ALL-CONTRIBUTORS-BADGE:END -->
The Research References Tracking Tool (R2T2) aims to fill the last remaining gap into the circle of open research, enabling not just publications to cite data or software (still a work in progress), but also the latter to cite the research articles containing the theory it codes, or the datasets it uses.
Some of the benefits of using R2T2 in your project are:
- Facilitate giving credit to all the works software is based on.
- Promote those works’ visibility and impact.
- Promote the transparency of the code: bi-directional link between theory and the specific code that implements it.
- Facilitate code maintenance and improve its sustainability.
Further information is available in our documentation and examples.
Installation
R2T2 is available in PyPI, so to install it just run:
bash
pip install R2T2
How it works
R2T2 works by decorating those functions, classes or methods where particular algorithms described in a paper are implemented or data stored in a repository is used. General execution of code silently passes these decorators, but remembers how and where they were called. The decorators include a short description of the thing being reference, and the reference itself in any sensible format.
python
from r2t2 import add_reference
...
@add_reference(short_purpose="Original implementation of R2T2",
reference="Diego Alonso-Álvarez, et al."
"(2018, February 27). Solcore (Version 5.1.0). Zenodo."
"http://doi.org/10.5281/zenodo.1185316")
def my_great_function():
pass
Several references can be added by stacking multiple @add_reference
decorators.
python
@add_reference(short_purpose="some comment", reference="Reference 1")
@add_reference(short_purpose="another comment", reference="Reference 2")
def my_great_function():
pass
There are two methods of using this information:
Runtime tracker
Which markers were passed when running a particular script my_script.py can be recalled with:
bash
python -m r2t2 run my_script.py
This prints a list of markers passed in the script run and recursively in any dependency used by the program. Input arguments needed by the script can be added after its name.
bash
python -m r2t2 run my_script.py -- arg1 arg2
Static tracker
Alternatively, R2T2 can be used to provide a list of all references that a
given package is based on (i.e. ALL the add_reference decorators it contains
) and not just those crossed by a particular run of a script using the package.
For using this method, simply run in the terminal:
bash
python -m r2t2 static .
which will scan all the python files recursively starting in the current
directory. By default, it prints the results in the terminal. To analyse a single file, use the flag -s (from "static") to prevent r2t2 to treat it as a script to run:
bash
python -m r2t2 static my_script.py
To have more control on what is scanned, the format of the output and where the output is written:
bash
python -m r2t2 static -f markdown -o docs/list_of_references.md some/subdirectory
The contents of the output will be organised by decorated object in the order they were encountered and contain the line where the decorator was found, a link to that location, and the list of the short purposes and the references itself:
```markdown
Referenced in: roasted_chicken
Source: tests/test_r2t2.py
Line: 7
[1] Roasted chicken recipe - Great British Roasts, 2019
```
Prior art
R2T2 is based in part on work done by Markus Führer at Imperial College London, as part of the Solcore project.
Contributors ✨
Thanks goes to these wonderful people (emoji key):
Diego 💻 📖 ⚠️ 🤔 🚇 📆 👀 |
Mark Woodbridge 🚇 |
Chas Nelson 👀 🤔 💻 |
Jez Cope ⚠️ 👀 🤔 🐛 📖 🚇 |
Valentin Sulzer 👀 🐛 🤔 💻 🚇 💡 |
Daniel Ecer 💻 ⚠️ 🐛 👀 💡 |
Raniere Silva 📖 💡 |
William F. Broderick 🤔 🐛 💻 👀 |
This project follows the all-contributors specification. Contributions of any kind welcome!
Owner
- Name: Imperial College London
- Login: ImperialCollegeLondon
- Kind: organization
- Email: icgithub-support@imperial.ac.uk
- Location: Imperial College London
- Repositories: 311
- Profile: https://github.com/ImperialCollegeLondon
Imperial College main code repository
GitHub Events
Total
- Watch event: 1
- Issue comment event: 3
- Pull request event: 3
Last Year
- Watch event: 1
- Issue comment event: 3
- Pull request event: 3
Committers
Last synced: almost 3 years ago
Top Committers
| Name | Commits | |
|---|---|---|
| Diego | d****z@i****k | 47 |
| Daniel Ecer | d****e | 43 |
| allcontributors[bot] | 4****] | 36 |
| Jez Cope | j****e@e****k | 34 |
| Raniere Silva | r****e@r****m | 17 |
| William F. Broderick | b****d@g****m | 12 |
| Mark Woodbridge | 1****i | 1 |
| Valentin Sulzer | v****r@h****m | 1 |
Committer Domains (Top 20 + Academic)
Issues and Pull Requests
Last synced: 12 months ago
All Time
- Total issues: 35
- Total pull requests: 51
- Average time to close issues: 4 days
- Average time to close pull requests: 4 months
- Total issue authors: 6
- Total pull request authors: 16
- Average comments per issue: 2.17
- Average comments per pull request: 2.0
- Merged pull requests: 36
- Bot issues: 0
- Bot pull requests: 15
Past Year
- Issues: 0
- Pull requests: 0
- Average time to close issues: N/A
- Average time to close pull requests: N/A
- Issue authors: 0
- Pull request authors: 0
- Average comments per issue: 0
- Average comments per pull request: 0
- Merged pull requests: 0
- Bot issues: 0
- Bot pull requests: 0
Top Authors
Issue Authors
- tinosulzer (12)
- de-code (8)
- dalonsoa (7)
- jezcope (6)
- rgaiacs (1)
- billbrod (1)
Pull Request Authors
- dalonsoa (16)
- allcontributors[bot] (13)
- jezcope (5)
- de-code (5)
- ChasNelson1990 (2)
- dependabot[bot] (2)
- tinosulzer (2)
- rgaiacs (1)
- billbrod (1)
- dd119-ic (1)
- mn936148 (1)
- TitianChen (1)
- lsq425481 (1)
- mwoodbri (1)
- alex-3c (1)
Top Labels
Issue Labels
Pull Request Labels
Packages
- Total packages: 1
-
Total downloads:
- pypi 5 last-month
- Total dependent packages: 0
- Total dependent repositories: 1
- Total versions: 6
- Total maintainers: 1
pypi.org: r2t2
Research references tracking tool
- Homepage: https://github.com/ImperialCollegeLondon/R2T2
- Documentation: https://r2t2.readthedocs.io/
- License: MIT
-
Latest release: 0.3.1
published over 6 years ago
Rankings
Maintainers (1)
Dependencies
- atomicwrites 1.4.0 develop
- attrs 20.1.0 develop
- bump2version 1.0.0 develop
- certifi 2020.6.20 develop
- chardet 3.0.4 develop
- codecov 2.1.9 develop
- colorama 0.4.3 develop
- coverage 5.2.1 develop
- filelock 3.0.12 develop
- flake8 3.8.3 develop
- idna 2.10 develop
- importlib-metadata 1.7.0 develop
- iniconfig 1.0.1 develop
- mccabe 0.6.1 develop
- more-itertools 8.5.0 develop
- mypy 0.782 develop
- mypy-extensions 0.4.3 develop
- packaging 20.4 develop
- pluggy 0.13.1 develop
- py 1.9.0 develop
- pycodestyle 2.6.0 develop
- pyflakes 2.2.0 develop
- pyparsing 2.4.7 develop
- pytest 6.0.1 develop
- pytest-cov 2.10.1 develop
- pytest-flake8 1.0.6 develop
- pytest-mypy 0.7.0 develop
- requests 2.24.0 develop
- six 1.15.0 develop
- toml 0.10.1 develop
- typed-ast 1.4.1 develop
- typing-extensions 3.7.4.3 develop
- urllib3 1.25.10 develop
- zipp 3.1.0 develop
- wrapt 1.12.1
- bump2version ^1.0.0 develop
- codecov ^2.1.9 develop
- coverage ^5.2.1 develop
- pytest ^6.0.1 develop
- pytest-cov ^2.10.1 develop
- pytest-flake8 ^1.0.6 develop
- pytest-mypy ^0.7.0 develop
- python ^3.6
- wrapt ^1.12.0
- abatilo/actions-poetry v2.0.0 composite
- actions/checkout v2 composite
- actions/setup-python v2 composite
- actions/checkout v2 composite
- actions/setup-python v2 composite