Skip to main content

fairtally

Python application to analyze multiple GitHub and GitLab repositories compliance with the fair-software.eu recommendations.

fair-software.nl recommendations

Badges

1. Code repository

GitHub Badge

2. License

License Badge

3. Community Registry

PyPI Badge Research Software Directory Badge

4. Enable Citation

Zenodo Badge

5. Checklist

CII Best Practices Badge

Other best practices

Continuous integration

Python Build PyPI Publish

DockerHub

Docker Pulls

Installation

To install fairtally, do:

pip3 install --user fairtally

Usage

To 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/howfairis

This command will generate a html report called tally.html which will contain the results of the checks for each repository.

Then open the analysis in a web-browser, for example Firefox:

firefox tally.html

The report will look similar to the example below:

docs/_static/fairtally_example.png

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. See howfairis docs how setup environment variables to increase the rate limit.

Using Docker image

You can run fairtally Docker image using the command below.

docker pull fairsoftware/fairtally

You can run fairtally Docker image using the command below.

docker run --rm fairsoftware/fairtally --help

–rm argument will remove Docker container after execution.

To tally 2 URLs and save the report as tally.html in 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.html

See developer documentation to learn how to modify the Docker image.

Research Software Directory

To FAIR tally the software listed on the Research Software Directory of the Netherlands eScience Center.

First download a list of software by calling RSD API

curl https://research-software.nl/api/software > software.json

Next, extract the repository URLs with jq.

cat software.json | jq -r '[.[].repositoryURLs.github] | flatten | .[]' > urls.txt

Finally run fairtally to generate a report.

fairtally --output-file report.html --input-file urls.txt

Documentation

Command line interface help can be retrieved with

fairtally --help

The 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.

Contributing

If you want to contribute to the development of fairtally, have a look at the contribution guidelines.

License

Copyright (c) 2021, Netherlands eScience Center

Licensed 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 at

http://www.apache.org/licenses/LICENSE-2.0

Unless 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.

Credits

This package was created with Cookiecutter and the NLeSC/python-template.

Instructions for developers

The developer documentation can be found in README.dev.rst.

Metadata

Release files for fairtally 0.1.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for fairtally 0.1.0
File Size Uploaded Provenance Actions
fairtally-0.1.0.tar.gz 13.6 kB Without provenance Details for fairtally-0.1.0.tar.gz

Built distribution (wheel)

Table of built distributions (wheels) for fairtally 0.1.0
File Interpreter ABI Platform Actions
fairtally-0.1.0-py3-none-any.whl Python 3 none any Details for fairtally-0.1.0-py3-none-any.whl

Total release size: 27.9 kB

Release files / fairtally-0.1.0.tar.gz

Download URL fairtally-0.1.0.tar.gz
Size 13.6 kB
Tags Source
SHA-256 checksum
How to use checksums
351be6554f04681c8b50a1a5a786c6ac002b982d76d16f428991f1fe3ebde153
BLAKE2b-256 checksum
How to use checksums
8766a4b531ffa2b4c9da7687046f66f6b451a75e611bd7cddba57cff2b7f6a66
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/3.3.0 pkginfo/1.7.0 requests/2.25.1 setuptools/40.8.0 requests-toolbelt/0.9.1 tqdm/4.59.0 CPython/3.7.3

Release files / fairtally-0.1.0-py3-none-any.whl

Download URL fairtally-0.1.0-py3-none-any.whl
Size 14.3 kB
Tags Python 3
SHA-256 checksum
How to use checksums
7366d38b77692dc658a42dc6dbd351a0f9c187b74feaa081d0625f54be890210
BLAKE2b-256 checksum
How to use checksums
521efdfda96ba96fdc9de7600b5a3ed49df20e880f67eb364a32d2e0195a5e90
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/3.3.0 pkginfo/1.7.0 requests/2.25.1 setuptools/40.8.0 requests-toolbelt/0.9.1 tqdm/4.59.0 CPython/3.7.3

Security for fairtally 0.1.0

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Release history Release notifications | RSS feed

This release

0.1.0 This release

2 release files No provenance

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page