Metadata-Version: 2.4
Name: openavmkit
Version: 0.6.0
Summary: Open-source automated valuation model (AVM) toolkit
Author-email: "Lars A. Doucet" <lars.doucet+openavmkit@gmail.com>
Project-URL: Homepage, https://www.openavmkit.com/
Project-URL: Source, https://github.com/larsiusprime/openavmkit
Project-URL: Issues, https://github.com/larsiusprime/openavmkit/issues
Project-URL: Changelog, https://github.com/larsiusprime/openavmkit/blob/master/changelog.md
Keywords: avm,mass appraisal,valuation,gis,real estate
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3 :: Only
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Operating System :: OS Independent
Classifier: License :: OSI Approved :: GNU Affero General Public License v3
Classifier: License :: Other/Proprietary License
Classifier: Development Status :: 4 - Beta
Requires-Python: >=3.11
Description-Content-Type: text/markdown
Requires-Dist: azure-storage-blob==12.27.1
Requires-Dist: catboost==1.2.8
Requires-Dist: numpy==2.3.5
Requires-Dist: huggingface-hub==1.17.0
Requires-Dist: lightgbm==4.6.0
Requires-Dist: markdown==3.10.2
Requires-Dist: mgwr==2.2.1
Requires-Dist: optuna==4.6.0
Requires-Dist: osmnx==2.0.7
Requires-Dist: paramiko==4.0.0
Requires-Dist: pdfkit==1.0.0
Requires-Dist: pipreqs==0.5.0
Requires-Dist: polars==1.38.1
Requires-Dist: pyarrow==22.0.0
Requires-Dist: pytest==9.0.2
Requires-Dist: python-dotenv==1.2.1
Requires-Dist: rich==15.0.0
Requires-Dist: seaborn==0.13.2
Requires-Dist: statsmodels==0.14.6
Requires-Dist: xgboost==3.2.0
Requires-Dist: xlsxwriter==3.2.9
Requires-Dist: census==0.8.26
Requires-Dist: layeredcompmodel==0.2.1
Requires-Dist: shap==0.50.0
Requires-Dist: mpld3==0.5.12
Requires-Dist: hilbertcurve==2.0.5
Requires-Dist: optuna-integration==4.6.0
Requires-Dist: tabulate~=0.9.0
Requires-Dist: pygam~=0.12.0
Requires-Dist: pandas~=2.3.3
Requires-Dist: ipython~=8.12.3
Requires-Dist: geopandas~=1.1.2
Requires-Dist: matplotlib~=3.10.9
Requires-Dist: pyproj~=3.7.2
Requires-Dist: shapely~=2.1.2
Requires-Dist: azure-core~=1.38.1
Requires-Dist: requests~=2.32.5
Requires-Dist: joblib~=1.5.3
Requires-Dist: scipy<1.17,>=1.11.4
Requires-Dist: scikit-learn~=1.8.0
Requires-Dist: tqdm~=4.67.3
Requires-Dist: rasterio~=1.4.0
Requires-Dist: seamless-3dep<0.6,>=0.4.1
Provides-Extra: docs
Requires-Dist: mkdocs>=1.6; extra == "docs"
Requires-Dist: mkdocs-material>=9.5; extra == "docs"
Requires-Dist: mkdocstrings[python]>=0.25; extra == "docs"
Provides-Extra: dev
Requires-Dist: pytest; extra == "dev"
Requires-Dist: ruff; extra == "dev"
Dynamic: description
Dynamic: description-content-type

# OpenAVMKit

[![PyPI version](https://img.shields.io/pypi/v/openavmkit?color=blue)](https://pypi.org/project/openavmkit/)
![Python versions](https://img.shields.io/pypi/pyversions/openavmkit.svg)
[![CI](https://github.com/larsiusprime/openavmkit/actions/workflows/ci.yml/badge.svg?branch=master)](https://github.com/larsiusprime/openavmkit/actions/workflows/ci.yml)

OpenAVMKit is a python library for real estate mass appraisal. It includes modules for data cleaning, data enrichment, modeling, and statistical evaluation of predictive models. It also includes Jupyter notebooks that model typical workflows.

See the [Changelog](https://github.com/larsiusprime/openavmkit/blob/master/changelog.md)

# Table of Contents

## 1. Getting started
  - [Install from PyPI](https://github.com/larsiusprime/openavmkit/blob/master/docs/docs/getting_started.md#option-1---install-from-pypi)
  - [Install from Git](https://github.com/larsiusprime/openavmkit/blob/master/docs/docs/getting_started.md#option-2---install-from-git)
  - [Running Tests](https://github.com/larsiusprime/openavmkit/blob/master/docs/docs/getting_started.md#running-tests)
  - [Smoke test with sample data](https://github.com/larsiusprime/openavmkit/blob/master/docs/docs/getting_started.md#smoke-test-with-sample-data)
## 2. Build a jurisdiction from scratch (tutorial)
  - [Smoke test with sample data](https://github.com/larsiusprime/openavmkit/blob/master/docs/docs/tutorial.md#part-a-smoke-test-with-sample-data)
  - [Onboard your own jurisdiction](https://github.com/larsiusprime/openavmkit/blob/master/docs/docs/tutorial.md#part-b-onboard-your-own-jurisdiction)
## 3. The basics
  - [Creating a new locality](https://github.com/larsiusprime/openavmkit/blob/master/docs/docs/the_basics.md#creating-a-new-locality)
  - [Code modules](https://github.com/larsiusprime/openavmkit/blob/master/docs/docs/the_basics.md#code-modules)
  - [Jupyter Notebooks](https://github.com/larsiusprime/openavmkit/blob/master/docs/docs/the_basics.md#using-the-jupyter-notebooks)
  - [Terminology](https://github.com/larsiusprime/openavmkit/blob/master/docs/docs/the_basics.md#terminology)
## 4. Configuration
  - [Cloud storage](https://github.com/larsiusprime/openavmkit/blob/master/docs/docs/config.md#configuring-cloud-storage)
  - [PDF report generation](https://github.com/larsiusprime/openavmkit/blob/master/docs/docs/config.md#configuring-pdf-report-generation)
  - [US Census API](https://github.com/larsiusprime/openavmkit/blob/master/docs/docs/config.md#configuring-census-api-access)
  - [Open Street Map API](https://github.com/larsiusprime/openavmkit/blob/master/docs/docs/config.md#configuring-openstreetmap-enrichment)
## 5. Advanced settings reference
  - [The settings.json preprocessor](https://github.com/larsiusprime/openavmkit/blob/master/docs/docs/advanced_settings.md#1-the-settingsjson-preprocessor) — comments, `$$` references, template merging, `!`/`+` flags
  - [Data load: `data.load.<id>`](https://github.com/larsiusprime/openavmkit/blob/master/docs/docs/advanced_settings.md#2-data-load-dataloadid) — `dupes` rules and per-field aggregation across duplicate rows
  - [Time adjustment overrides](https://github.com/larsiusprime/openavmkit/blob/master/docs/docs/advanced_settings.md#3-time-adjustment)
  - [Data enrichment toggles](https://github.com/larsiusprime/openavmkit/blob/master/docs/docs/advanced_settings.md#4-data-enrichment) — basic geo, spatial joins, Overture, Census, distance & proximity, OSM streets, spatial lag, spatial inference
  - [Data cleaning & validation](https://github.com/larsiusprime/openavmkit/blob/master/docs/docs/advanced_settings.md#5-data-cleaning-validation) — full fill-method reference
  - [Modeling control](https://github.com/larsiusprime/openavmkit/blob/master/docs/docs/advanced_settings.md#6-modeling-control)
  - [Analysis & QA](https://github.com/larsiusprime/openavmkit/blob/master/docs/docs/advanced_settings.md#7-analysis-qa)
  - [Caching & checkpoints](https://github.com/larsiusprime/openavmkit/blob/master/docs/docs/advanced_settings.md#8-caching-checkpoints) — when to nuke the cache
  - [The `calc` expression language](https://github.com/larsiusprime/openavmkit/blob/master/docs/docs/calc_reference.md) — full operator reference for derived columns and filters
  - [Models reference](https://github.com/larsiusprime/openavmkit/blob/master/docs/docs/models_reference.md) — every model engine, name-vs-engine dispatch, multi-variant runs
## 6. Notebooks & API
  - [Pipeline notebooks workflow](https://github.com/larsiusprime/openavmkit/blob/master/notebooks/README.md) — which notebook to run when
  - [Recipe — public functions](https://github.com/larsiusprime/openavmkit/blob/master/docs/docs/recipe.md)
  - [API reference](https://www.openavmkit.com/api/) (auto-generated from docstrings)
## 7. For contributors & coding agents
  - [AGENTS.md](https://github.com/larsiusprime/openavmkit/blob/master/AGENTS.md) — repo conventions, settings preprocessor, gotchas, extending patterns
  - [CONTRIBUTING.md](https://github.com/larsiusprime/openavmkit/blob/master/CONTRIBUTING.md) — PR workflow, style guide
## 8. Legal
  - [License](https://github.com/larsiusprime/openavmkit/blob/master/LICENSE)
  - [License Philosophy](https://github.com/larsiusprime/openavmkit/blob/master/LICENSE-PHILOSOPHY.md)
