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, 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


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.0.tar.gz (18.2 kB view details)

Uploaded Source

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

Hashes for tributors-0.0.0.tar.gz
Algorithm Hash digest
SHA256 040193021ef87cc91025a53c48147c1e0beec2c3a1eb8ef0c0a4c7aa046a6b79
MD5 8b8d13ab92f780e54a587ccafe444041
BLAKE2b-256 57e65cabd7a3af09f99697b30dcca29b2bd12ed4d85e91b5f3f6a491e16e7ab6

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