Skip to main content

fairtool - Computational Materials Data Processing made FAIR

Tests & Coverage codecov Python Lint and Code Quality Code style: ruff License: MIT

Fairtool

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+) and numpy require Python 3.11 or newer)
  • libmagic, a system library that fair parse uses to detect file types:
    • macOS: brew install libmagic (Homebrew), or sudo port install file (MacPorts)
    • Debian/Ubuntu: the libmagic1 package, usually already installed (if not, sudo apt install libmagic1)
  • 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 parse fails with ImportError: failed to find libmagic, install libmagic (see Prerequisites).
  • If you see ModuleNotFoundError: No module named 'fairtool', make sure your PYTHONPATH includes the project root.
  • If uv is not found, ensure ~/.local/bin is in your PATH.

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)

Source distribution for fairtool 1.1.0
File Size Uploaded
fairtool-1.1.0.tar.gz 6.7 MB Details

Built distribution (wheel)

Table of built distributions (wheels) for fairtool 1.1.0
File Interpreter ABI Platform
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 log

Release 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

Release history Release notifications | RSS feed

This release

1.1.0 This release

2 release files

1.0.0

2 release files

0.2.1

2 release files

0.1.0

2 release files

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