Contribute
This page details the workflow to contribute to the fair-test
library.
📥 Install for development
Clone the repository and go in the project folder:
To install the project for development you can either use venv
to create a virtual environment yourself, or use hatch
to automatically handle virtual environments for you.
Install Hatch, this will automatically handle virtual environments and make sure all dependencies are installed when you run a script in the project:
Optionally you can improve hatch
terminal completion
See the official documentation for more details. For ZSH you can run these commands:
Create the virtual environment in the project folder :
Activate the virtual environment:
Install all dependencies required for development:
You can also enable automated formatting of the code at each commit:
🧑💻 Development workflow
Deploy the FAIR test API defined in the example
folder to test your changes:
The code will be automatically formatted when you commit your changes using pre-commit
. But you can also run the script to format the code yourself:
Or check the code for errors:
Deploy the FAIR test API defined in the example
folder to test your changes:
The code will be automatically formatted when you commit your changes using pre-commit
. But you can also run the script to format the code yourself:
Or check the code for errors:
✅ Run the tests
Tests are automatically run by a GitHub Actions workflow when new code is pushed to the GitHub repository. The subject URLs to test and their expected score are retrieved from the test_test
attribute for each metric test.??? success “Install pytest for testing”
If not already done, define the 2 files required to run the tests
It will test all cases defined in your FAIR metrics tests test_test
attributes:
def pytest_addoption(parser):
parser.addoption("--metric", action="store", default=None)
and:
📖 Generate docs
The documentation (this website) is automatically generated from the markdown files in the docs
folder and python docstring comments, and published by a GitHub Actions workflow.
Serve the docs on http://localhost:8008
🏷️ Publish a new release
- Increment the
__version__
infair_test/__init__.py
- Push to GitHub
- Create a new release on GitHub
- A GitHub Action workflow will automatically publish the new version to PyPI