fairtool - Computational Materials Data Processing made FAIR
FAIR Tool is a command-line interface for processing, analyzing, and visualizing computational materials data. It is designed to work with various calculation output files and provides a streamlined workflow.
Project Lead: Dr. Ravindra Shinde
Email : r.l.shinde@utwente.nl
Contributor: Konstantinos Kontogiannis
Email : k.kontogiannis@student.utwente.nl
Funding: 4TU Research Data Fund 4th Edition
Installing fairtool with uv
This guide explains how to install the fairtool package and its dependencies using uv, a fast Python package installer and resolver.
Prerequisites
- Python 3.11 – 3.14 (Note: Python <= 3.10 is unsupported because modern upstream scientific dependencies such as
pymatgen(2026+) andnumpyrequire Python 3.11 or newer) - libmagic, a system library that
fair parseuses to detect file types: - uv installed (see below)
- Git (optional, for cloning the repository)
1. Clone the Repository (if needed)
git clone https://github.com/neelravi/fairtool.git
cd fairtool
2. Install uv
If you don't have uv installed, run:
curl -Ls https://astral.sh/uv/install.sh | sh
This will install uv to ~/.local/bin/uv by default. Make sure this directory is in your PATH.
You may install Python using uv quickly with:
uv python install 3.11
3. Create a Virtual Environment with uv
It's recommended to use a virtual environment. You can create one using uv:
uv venv .venv
source .venv/bin/activate
4. Install Dependencies with uv
From the project root directory, run:
uv pip install -r requirements.txt
This will install all required dependencies quickly using uv's resolver.
5. Install fairtool (Editable/Development Mode)
To install the package in editable mode (recommended for development):
uv pip install -e .
6. Run the CLI
You can now run the CLI using:
fair
Verification & Testing
Verify that your installation, test suite, and site generation pass:
1. Run the Test Suite with Coverage
# Run pytest with code coverage breakdown
pytest --cov=fairtool --cov-report=term-missing
2. Verify Code Quality with Ruff
# Check linting and formatting
ruff check fairtool tests
ruff format --check fairtool tests
3. Verify Static Documentation Build
# Test site build without launching dev server
fair visualize tests/VASP/ --build
Troubleshooting
- Ensure you are using Python 3.11+ for best compatibility.
- If
fair parsefails withImportError: failed to find libmagic, install libmagic (see Prerequisites). - If you see
ModuleNotFoundError: No module named 'fairtool', make sure yourPYTHONPATHincludes the project root. - If
uvis not found, ensure~/.local/binis in yourPATH.
References
Release files for fairtool 1.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 | |
|---|---|---|---|
| fairtool-1.1.0.tar.gz | 6.7 MB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| fairtool-1.1.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 13.5 MB
Release files / fairtool-1.1.0.tar.gz
| Download URL | fairtool-1.1.0.tar.gz |
|---|---|
| Size | 6.7 MB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
83b3340def73221d074397a01947aa68ea99289f7747f6c5a9a0ff3df26e7b00
|
|
BLAKE2b-256 checksum How to use checksums |
3227776fec7ed29ffa451b1f08ff7132f487572859ac07ee03ad21257a2aa7ae
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
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.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Sep 25, 2026.
Transparency logRelease files / fairtool-1.1.0-py3-none-any.whl
| Download URL | fairtool-1.1.0-py3-none-any.whl |
|---|---|
| Size | 6.7 MB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
c30630854a7cc18acd276ffb74384cb855a4e6b85055e281223d2759ff563a81
|
|
BLAKE2b-256 checksum How to use checksums |
9aa6289330c6aadc2729bf28b495dde2d9b559c7a0a421a6d689d6ba2ec4ea9c
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
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.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Sep 25, 2026.
Transparency log