Package: fairtally
Python application to analyze multiple GitHub and GitLab repositories compliance with thefair-software.eurecommendations.fair-software.nl recommendationsBadges1. Code repository2. License3. Community Registry4. Enable Citation5. ChecklistOther best practicesContinuous integrationDockerHubInstallationTo install fairtally, do:pip3 install --user fairtallyUsageTo use fairtally to check the compliance of multiple repositories, one can use the command below.fairtally https://github.com/fair-software/fairtally https://github.com/fair-software/howfairisThis command will generate a html report calledtally.htmlwhich will contain the results of the checks for each repository.Then open the analysis in a web-browser, for example Firefox:firefox tally.htmlThe report will look similar to the example below:You can sort the table by clicking on the table headers. The purple plus signs provide access to log messages of each repository.Checking many repositories will quickly exceed the rate limit of the APIs of GitLab and GitHub and resulting in all remaining repositories to be fully non-compliantly.
Seehowfairis docshow setup environment variables to increase the rate limit.Using Docker imageYou can run fairtally Docker image using the command below.docker pull fairsoftware/fairtallyYou can run fairtally Docker image using the command below.docker run --rm fairsoftware/fairtally --help–rmargument will remove Docker container after execution.To tally 2 URLs and save the report astally.htmlin the current working directory you can run the command below.docker run --rm fairsoftware/fairtally -o - https://github.com/fair-software/fairtally https://github.com/fair-software/howfairis > tally.htmlSee developer documentation to learn how to modify the Docker image.Research Software DirectoryTo FAIR tally the software listed on theResearch Software Directory of the Netherlands eScience Center.First download a list of software by callingRSD APIcurl https://research-software.nl/api/software > software.jsonNext, extract the repository URLs withjq.cat software.json | jq -r '[.[].repositoryURLs.github] | flatten | .[]' > urls.txtFinally run fairtally to generate a report.fairtally --output-file report.html --input-file urls.txtDocumentationCommand line interface help can be retrieved withfairtally --helpThe output of the command will be something like:Usage: fairtally [OPTIONS] [URLS]...

Options:
  -o, --output-file TEXT     Filename of where to write the results. Use `-`
                             to write to standard out.  [default: tally.html]

  -i, --input-file FILENAME  Check URLs in file. One URL per line. Use `-` to
                             read from standard input.

  --format [html|json]       Format of output.  [default: html]
  --version                  Show the version and exit.
  --help                     Show this message and exit.ContributingIf you want to contribute to the development of fairtally,
have a look at thecontribution guidelines.LicenseCopyright (c) 2021, Netherlands eScience CenterLicensed under the Apache License, Version 2.0 (the “License”);
you may not use this file except in compliance with the License.
You may obtain a copy of the License athttp://www.apache.org/licenses/LICENSE-2.0Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an “AS IS” BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.CreditsThis package was created withCookiecutterand theNLeSC/python-template.Instructions for developersThe developer documentation can be found inREADME.dev.rst.