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 |
|
2. License |
|
3. Community Registry |
|
4. Enable Citation |
|
5. Checklist |
|
Other best practices |
|
Continuous integration |
|
DockerHub |
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:
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)
| 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)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| 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.