Skip to main content
pyFIA downloads FIA data directly from the FIA DataMart — the Python equivalent of rFIA’s getFIA(). Data is converted to a fast DuckDB database and cached locally.

Quick start

Choosing what to download

By default pyFIA downloads the ~20 tables required by the estimation functions (common=True). Pass common=False to fetch every available table (a much larger download).

Caching

Downloads are cached, so repeated calls are instant:
Force a fresh copy with force=True:

Managing the cache

Download and open in one step

The FIA class can download and connect together:
Or combine with a context manager:

What gets downloaded

With common=True (the default), pyFIA fetches the tables the estimators need, including:
Download times and disk space vary by state size:
  • Small states (RI, DE): ~1-2 min, ~50-200 MB
  • Medium states (GA, NC): ~5-10 min, ~0.5-1 GB
  • Large states (CA, TX): ~15-30 min, 2-5 GB

Coming from rFIA

Troubleshooting

Use the lower-level client with a longer timeout and more retries:
Re-download to get a fresh copy:
Or clear the cached state first:

Reference

See the Data Download API for the full download() signature and cache functions.