give tribute to your repository contributors.
Project description
tributors
What is tributors?
Tributors is a Python library and GitHub action that helps you to pay tribute to your contributors. Tribute interacts with several well-known repository metadata files:
- all-contributors
- Zenodo
- CodeMeta under development
Each of the services above allows you to generate some kind of metadata file
that has one or more repository contributors. This file typically needs to be
generated and updated manually, and this is where tributors comes in to help!
Tributors will allow you to programatically create and update these files.
By way of using a shared cache, a .tributors
file that can store common
identifiers, it becomes easy to update several of these metadata files at once.
You can set criteria such as a threshold for contributions to add a contributor,
export an Orcid ID token to ensure that you have Orcid Ids where needed,
or use an interactive mode to make decisions as you go.
How does it work?
Tributors uses the following sources of information to update your contributor files.
GitHub API
Since these files are served in GitHub repositories, it's fairly easy to retrieve repository contributors using the GitHub API in both cases.
Orcid
Given that you provide an Orcid token, we can find Orcid records based on email addresses.
Zenodo
Zenodo also has a rest API that can be used to create an initial .zenodo.json
for a repository.
The GitHub Action details are included below. See the docs for more detailed usage, both on your local machine, and via a Docker container.
GitHub Action
Since all-contributors requires node, you might find it easiest to interact with the tool via a GitHub action. You can see examples in the examples folder.
Inputs
name | description | required | default |
---|---|---|---|
zenodo_file | .zenodo.json to update. If does not exist, must define zenodo_doi | false | .zenodo.json |
zenodo_doi | Zenodo DOI needed for init. Leave unset to skip init. | false | unset |
log_level | Log level to use, one of INFO, DEBUG, CRITICAL, ERROR, WARNING, FATAL (default INFO) | false | INFO |
threshold | the minimum number of contributions required to add a user | false | 1 |
force | if files exist, force overwrit | false | false |
ctype | Contribution type, which defaults to "code" if not set. | false | code |
skip_generate | skip running all-contributors generate | false | false |
If you aren't familiar with all-contributors, you'll need to add some commenting in your repository README so the client knows where to write.
Contributors
@vsoch TODO
- GitHub action needs to be refactored for new client
- Docker image build example needs refactor too
- Orcid API needs to be added to get ORCIDids based on emails
- an example should be added to push to a repository / open PR
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
File details
Details for the file tributors-0.0.0.tar.gz
.
File metadata
- Download URL: tributors-0.0.0.tar.gz
- Upload date:
- Size: 18.2 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.23.0 setuptools/46.4.0.post20200518 requests-toolbelt/0.9.1 tqdm/4.46.0 CPython/3.7.4
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 040193021ef87cc91025a53c48147c1e0beec2c3a1eb8ef0c0a4c7aa046a6b79 |
|
MD5 | 8b8d13ab92f780e54a587ccafe444041 |
|
BLAKE2b-256 | 57e65cabd7a3af09f99697b30dcca29b2bd12ed4d85e91b5f3f6a491e16e7ab6 |