Back to Tools
Open Source Python MIT License

pyFIA

High-performance Python library for Forest Inventory and Analysis data

What It Does

pyFIA is a high-performance Python library for analyzing USDA Forest Inventory and Analysis data. Built on DuckDB and Polars for speed, it delivers 10-100x faster results than EVALIDator while matching its statistical methods exactly.

The FIA program is the nation's continuous forest census. pyFIA replaces the web-based EVALIDator interface with a code-first Python API, enabling reproducible workflows and unlimited custom analysis -- from trees per acre to carbon accounting.

Key Features

10-100x Faster

Built on DuckDB and Polars for blazing performance. Run analyses in seconds that take minutes in EVALIDator.

EVALIDator-Exact

Design-based estimation that matches EVALIDator reference standards exactly. Statistical validity you can trust.

Multiple Estimators

Supports temporal, annual, SMA, LMA, and EMA estimation methods for flexible temporal analysis of forest trends.

Reproducible Workflows

Code-first Python API replaces point-and-click web interfaces. Version control your analysis, share it, and repeat it.

Quick Start

Installation
pip install pyfia

# With spatial support
pip install pyfia[spatial]
Basic Usage
from pyfia import FIA, biomass, tpa, volume, area

with FIA("path/to/FIA_database.duckdb") as db:
    db.clip_by_state(37)  # North Carolina
    db.clip_most_recent(eval_type="EXPVOL")

    # Trees per acre
    trees = tpa(db, tree_domain="STATUSCD == 1")

    # Biomass by species
    carbon = biomass(db, by_species=True)

Use Cases

  • Forest carbon accounting and biomass estimation
  • Timber volume and merchantable wood calculations
  • Species composition and forest health monitoring
  • Forest land area assessment and site productivity indexing
  • Mortality rate and net growth estimation over time

Get Started

Check out the documentation for tutorials, API reference, and examples.