Skip to main content

pyFIA

The Python API for forest inventory data

PyPI PyPI Downloads Documentation License: MIT Python 3.11+


A high-performance Python library for analyzing USDA Forest Inventory and Analysis (FIA) data. Built on DuckDB and Polars for speed, with statistical methods that match EVALIDator exactly.

Why pyFIA?

Feature pyFIA EVALIDator
Speed 10-100x faster Baseline
Interface Python API Web UI
Reproducibility Code-based Manual
Custom analysis Unlimited Limited options
Statistical validity ✓ Exact match ✓ Reference

Quick Start

pip install pyfia
from pyfia import FIA, 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="VOL")

    # Core estimates
    trees = tpa(db, tree_domain="STATUSCD == 1")
    timber = volume(db, land_type="timber")
    forest = area(db, land_type="forest")

Core Functions

Function Description Example
tpa() Trees per acre tpa(db, tree_domain="DIA >= 5.0")
biomass() Above/belowground biomass biomass(db, by_species=True)
volume() Merchantable volume (ft³) volume(db, land_type="timber")
area() Forest land area area(db, grp_by="FORTYPCD")
site_index() Site productivity index site_index(db, grp_by="COUNTYCD")
mortality() Annual mortality rates mortality(db)
growth() Net growth estimation growth(db)

Statistical Methods

pyFIA implements design-based estimation following Bechtold & Patterson (2005):

  • Post-stratified estimation with proper variance calculation
  • Ratio-of-means estimators for per-acre values
  • EVALID-based filtering for statistically valid estimates
  • Temporal methods: TI, annual, SMA, LMA, EMA

Installation

# Recommended: use uv for fast, reliable installs
uv pip install pyfia

# Or with pip
pip install pyfia

# With spatial support (polygon clipping, spatial joins)
uv pip install pyfia[spatial]

Tip: Always use a virtual environment (uv venv or python -m venv .venv).

For development setup, see the Getting Started guide.

Documentation

Full documentation: pyfia.mintlify.app

Citation

@software{pyfia2025,
  title = {pyFIA: A Python Library for Forest Inventory Applications},
  author = {Mihiar, Christopher},
  year = {2025},
  url = {https://github.com/mihiarc/pyfia}
}

Affiliation

Developed in collaboration with USDA Forest Service Research & Development. pyFIA provides programmatic access to Forest Inventory and Analysis (FIA) data but is not part of the official FIA Program.


Built by Chris Mihiar

Metadata

Release files for pyfia 1.6.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 pyfia 1.6.0
File Size Uploaded
pyfia-1.6.0.tar.gz 343.2 kB Details

Built distribution (wheel)

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

Total release size: 736.3 kB

Release files / pyfia-1.6.0.tar.gz

Download URL pyfia-1.6.0.tar.gz
Size 343.2 kB
Tags Source
SHA-256 checksum
How to use checksums
85ef7332790794da4f7ff12f58bc0a5e2d81335ff446094841760e783986fa4b
BLAKE2b-256 checksum
How to use checksums
27aa9e64808309191e2facc93aa50f54f317cada8a3c674b25b2c953c1bc96e4
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 27, 2026.

Transparency log

Release files / pyfia-1.6.0-py3-none-any.whl

Download URL pyfia-1.6.0-py3-none-any.whl
Size 393.1 kB
Tags Python 3
SHA-256 checksum
How to use checksums
83dbb247e686845c907f7b6ebf48dc36a9be8258c3087910a0159d98d13d2001
BLAKE2b-256 checksum
How to use checksums
9fe341087216ed86066bca713b9b3c090d7647573e019622ee2838f92fa8ac42
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 27, 2026.

Transparency log
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