Metadata-Version: 2.4
Name: fgmutils
Version: 1.0.0
Summary: Forest Growth Model Utilities
Author: Ana Paula Simiqueli, Gilson Fernandes da Silva, Miqueias Fernandes, Wagner Amorim da Silva Altoe
Author-email: Clayton Vieira Fraga Filho <forestgrowthsoftware@gmail.com>
License: GPL-2
Project-URL: Homepage, https://github.com/forestgrowthsoftware/fgmutils
Project-URL: Issues, https://github.com/forestgrowthsoftware/fgmutils/issues
Keywords: Forest Inventory,Growth Models
Classifier: Development Status :: 2 - Pre-Alpha
Classifier: Intended Audience :: Science/Research
Classifier: Topic :: Scientific/Engineering
Classifier: License :: OSI Approved :: GNU General Public License v2 (GPLv2)
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.9
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Requires-Python: >=3.9
Description-Content-Type: text/markdown
License-File: LICENSE
Requires-Dist: numpy>=1.23
Requires-Dist: pandas>=2.0
Requires-Dist: statsmodels>=0.14
Provides-Extra: dev
Requires-Dist: pytest>=7.4; extra == "dev"
Requires-Dist: pytest-cov>=4.1; extra == "dev"
Requires-Dist: ruff>=0.2; extra == "dev"
Requires-Dist: black>=24.2; extra == "dev"
Dynamic: license-file

# FGMUtils (Python Port)
Version 0.9.6

## Overview
This folder contains the Python implementation of the FGMUtils toolkit. It mirrors the behaviour of the original R package while exposing a modern packaging layout (`src/`, `pyproject.toml`) suitable for publication on PyPI. The modules cover data preparation, prediction, evaluation, statistics, and advanced volume analysis, all validated against fixtures generated by the R tests.

## Objectives
- Provide a faithful port of the R algorithms used for forest growth and production modelling.
- Deliver reusable building blocks (`dataops`, `prediction`, `evaluation`, `metrics`, `volume`) that can be imported in analytical pipelines.
- Ensure numerical parity with the R package through `pytest` suites and R-driven fixtures under `tests/data`.
- Align metadata (name, version, authors, license) with the source R package so that releases stay synchronized.

## Key Modules & Functions
- `dataops`: utilities such as `separa_dados`, `cria_dados_pareados`, and `atualiza_campo_base`.
- `prediction`: resilient `predizer` implementation compatible with statsmodels fits.
- `evaluation`: `avalia_estimativas` and `eval_age_based`, plus ranking helpers.
- `metrics`: MAE, RMSE, corrected RRMSE, CE, bias, `syx`, `mspr`, `r21a`, `r29a`.
- `volume`: `avalia_volume_avancado`, `avalia_volume_age_based`, and `calcula_volume_default`.
- `project`: mirrors `projectBaseOriented` to generate projections by age class.

## Authors
The Python distribution inherits the authorship from the R package:
- Clayton Vieira Fraga Filho (maintainer)
- Ana Paula Simiqueli
- Gilson Fernandes da Silva
- Miqueias Fernandes
- Wagner Amorim da Silva Altoe

## Testing & Publication
- Execute `pytest` from `fgmutils_python/` to run the parity test suite.
- Metadata is synced from `fgmutils_R/DESCRIPTION` via `scripts/sync_metadata.py`; run this script whenever the R package information changes before building wheels (`python -m build`).
