Skip to main content

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:

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 and secret to request API tokens, 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
parsers a space separated list of parsers (e.g., "zenodo allcontrib") or just "all" false all
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
allcontrib_file The all contributors file false .all-contributorsrc
allcontrib_type Contribution type, which defaults to "code" if not set. false code
allcontrib_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

  • an example should be added to push to a repository / open PR

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

tributors-0.0.1.tar.gz (19.8 kB view details)

Uploaded Source

File details

Details for the file tributors-0.0.1.tar.gz.

File metadata

  • Download URL: tributors-0.0.1.tar.gz
  • Upload date:
  • Size: 19.8 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

Hashes for tributors-0.0.1.tar.gz
Algorithm Hash digest
SHA256 342acaa4be0544b8bae2dac7df2016230355c7bcf4105d7e7fd62a5ec62d271a
MD5 675ef7571ef4ae5c6aac80e2c53d781c
BLAKE2b-256 9877f12f3db70c6f37aae5dea8190cde2ddc6f300df90c134d3012e22b7135a8

See more details on using hashes here.

Provenance

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page