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
pip install pyfia
# With spatial support
pip install pyfia[spatial] 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.