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, or to manage dependencies with pixi. For example:

Using Conda

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

Using Pixi

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

Option 2: Development Installation (For Contributors)

Clone the repository and install in editable mode:

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

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)

Install Development Dependencies (Pixi)

pixi install -e dev

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 multiple 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. The script tutorials/mixtureProperties.py calculates a given mixture's density, viscosity and vapor pressure from GC x GC data. The results are plotted against data from NIST and Edwards (2020).

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: pip install -e '.[dev]' or pixi 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.2a1

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.2a1
File Size Uploaded Provenance
fuellib-3.0.2a1.tar.gz 69.8 kB Without provenance Details

Built distribution (wheel)

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

Total release size: 149.9 kB

Release files / fuellib-3.0.2a1.tar.gz

Download URL fuellib-3.0.2a1.tar.gz
Size 69.8 kB
Tags Source
SHA-256 checksum
How to use checksums
a046717d7baea385dd0c00a7d1264c16c2de341146293dac95dfa4d811f68a48
BLAKE2b-256 checksum
How to use checksums
fcc6b6b3308389c04c8fc857957fa7bb1251199ff3ec378a8971fc86291982de
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.14.7

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

Download URL fuellib-3.0.2a1-py3-none-any.whl
Size 80.0 kB
Tags Python 3
SHA-256 checksum
How to use checksums
93d125a3d66bf1b55c6a93169801942f0882a5fbafc6a919ecc5d34ed67ab37f
BLAKE2b-256 checksum
How to use checksums
58bdb7714bf69376711e5f52fc8204de2b3d37c6815c508da01c008a50057716
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.14.7

Security for fuellib 3.0.2a1

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.

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