Skip to main content
Pre-release

This release is a pre-release and may not be stable for production use.

FuelLib

PyPI - Version PyPI - Status PyPI - Python Version

GitHub Release CI Documentation

DOI Badge GitHub License

Overview

FuelLib (SWR-25-26) utilizes the tables and functions of the Group Contribution Method (GCM) as proposed by Constantinou and Gani (1994) and Constantinou, Gani and O'Connel (1995), with additional physical properties discussed in Govindaraju & Ihme (2016). The code is based on Pavan B. Govindaraju's Matlab implementation of the GCM, and has been expanded to include additional thermodynamic properties and mixture properties. The fuel library contains gas chromatography (GC x GC) data for a variety of fuels ranging from simple single component fuels to complex jet fuels. The GC x GC data for POSF jet fuels comes from Edwards (2020).

Citing this Work

If you use FuelLib in your research, please cite the following software record:

Montgomery, David, Appukuttan, Sreejith, Yellapantula, Shashank, Perry, Bruce, and Binswanger, Adam. FuelLib (Fuel Library) [SWR-25-26]. Computer Software. https://github.com/NatLabRockies/FuelLib. USDOE Office of Energy Efficiency and Renewable Energy (EERE), Office of Sustainable Transportation. Vehicle Technologies Office (VTO). 27 Feb. 2025. Web. doi:10.11578/dc.20250317.1.

Installation

The easiest way to install FuelLib is via pip from pypi.org/project/fuellib:

pip install fuellib

For better dependency isolation, it is recommended to create a conda environment. For example:

Using Conda

conda create --name fuellib-env python
conda activate fuellib-env
pip install fuellib

Option 2: Development Installation (For Contributors)

Clone the repository and install in editable mode:

git clone https://github.com/NatLabRockies/FuelLib.git
cd FuelLib

uv is the recommended way to set up a FuelLib development environment: it creates and manages a virtual environment for you and installs dependencies much faster than pip.

uv venv
uv pip install -e '.[dev]'  # Install with development tools (docs, testing, formatting)

Run uv lock to regenerate uv.lock after changing dependencies in pyproject.toml, keeping installs reproducible across machines.

Install Development Dependencies (Conda)

conda create --name fuellib-dev-env python
conda activate fuellib-dev-env
conda install -c conda-forge rust
pip install -e '.[dev]'  # Install with development tools (docs, testing, formatting)

Note: Building grimp (a dependency of import-linter) requires a Rust toolchain. On macOS you may need to run brew install rust.

See the Contributing page for more detailed setup instructions and contribution guidelines.

Library Usage

This repository includes tutorials of ways to use FuelLib. We recommend starting with the basic tutorial, tutorials/basic.py, which is documented at natlabrockies.github.io/FuelLib/tutorials-basic.html.

Command-Line Tools

After installing FuelLib using one of the methods above, you have access to several command-line tools for plotting, unit conversion, and exporting fuel data. A comprehensive list is provided in the documentation at https://natlabrockies.github.io/FuelLib/tutorials-cli.html.

Contributing

New contributions are always welcome! For detailed contribution guidelines, installation instructions, and development setup, see the Contributing page in the documentation.

Quick start:

  1. Fork the main repository
  2. Create a newFeature branch that contains your changes
  3. Update the sphinx documentation in newFeature
  4. Install development dependencies: uv venv && uv pip install -e '.[dev]' (or pip install -e '.[dev]')
  5. Format the source code files using the provided CLI command: fl-format
  6. Run tests and build documentation locally to verify your changes
  7. Open a Pull Request (PR) from newFeature on your fork to branch main FuelLib repository.

Sphinx Documentation

This repository uses Sphinx to generate documentation.

To build the documentation, first install FuelLib with development support:

pip install -e ".[dev]"

Then use the provided CLI command:

fl-build-docs

The HTML documentation will be generated in docs/_build/html/. Open docs/_build/html/index.html in your web browser to view it.

Metadata

Release files for fuellib 3.0.8a1

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

Source distribution (sdist)

Source distribution for fuellib 3.0.8a1
File Size Uploaded Provenance
fuellib-3.0.8a1.tar.gz 89.7 kB With provenance Details

Built distribution (wheel)

Table of built distributions (wheels) for fuellib 3.0.8a1
File Interpreter ABI Platform
fuellib-3.0.8a1-py3-none-any.whl Python 3 none any Details

Total release size: 182.8 kB

Release files / fuellib-3.0.8a1.tar.gz

Download URL fuellib-3.0.8a1.tar.gz
Size 89.7 kB
Tags Source
SHA-256 checksum
How to use checksums
4a91b67e47ed6252c83526d815cadc7ebe4ae14d867f55716d58bf10803eb384
BLAKE2b-256 checksum
How to use checksums
73418deeee347a95835b974a0766f25a6f6b64878752553e8cf6dbfabe10d177
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 Oct 15, 2026.

Transparency log

Release files / fuellib-3.0.8a1-py3-none-any.whl

Download URL fuellib-3.0.8a1-py3-none-any.whl
Size 93.1 kB
Tags Python 3
SHA-256 checksum
How to use checksums
03e0064b417c8e9eecc5baa4ffa19b4d7e643870da91eb112c1b3e92cd29a209
BLAKE2b-256 checksum
How to use checksums
458a988df64705f20e8c3c72e1a5e29b8d6897344fd8ff71caa0a76ec04708b9
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 Oct 15, 2026.

Transparency log

Security for fuellib 3.0.8a1

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.

Full provenance

All 2 files in this release have been uploaded with provenance metadata.

Select from 2 files

Attestation for fuellib-3.0.8a1.tar.gz

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 Oct 15, 2026.

Transparency log

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.

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