Skip to main content

House Price Indices in Python.

Project description

hpiPy

PyPI - Version License GitHub Actions Codecov Code Style black

hpiPy simplifies and standardizes the creation of house price indices in Python.

The package provides tools to evaluate index quality through predictive accuracy, volatility, and revision metrics—enabling meaningful comparisons across different methods and estimators. It focuses on the most widely used approaches: repeat sales and hedonic pricing models, with support for base, robust, and weighted estimators where applicable. It also includes a random forest–based method paired with partial dependence plots to derive index components, as well as a neural network approach that separates property-specific and market-level effects to jointly estimate quality and index components from property-level data. Based on hpiR.

Quick Start

To install hpiPy from PyPI using pip:

pip install hpipy

Example

A basic example of creating a house price index:

import altair as alt
from hpipy.datasets import load_seattle_sales
from hpipy.price_index import RepeatTransactionIndex
from hpipy.utils.plotting import plot_index

# Load prepared data.
df = load_seattle_sales()

# Create an index.
hpi = RepeatTransactionIndex.create_index(
    trans_data=df,
    prop_id="pinx",
    trans_id="sale_id",
    price="sale_price",
    date="sale_date",
    periodicity="M",
    estimator="robust",
    log_dep=True,
    smooth=True,
)

# Visualize the index.
with alt.renderers.enable("browser"):
    plot_index(hpi, smooth=True).properties(title="Example Index", width=600).show()

Example Index Visualization

Documentation

An installation guide, API documentation, and examples can be found in the documentation.

Running the Tests

  1. Create a virtual environment (we recommend uv):
uv venv
  1. Install base and development dependencies:
uv pip install --requirements pyproject.toml --extra dev
  1. Run the test suite:
pytest

Acknowledgements

Based on the hpiR package.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

hpipy-0.1.3.tar.gz (1.7 MB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

hpipy-0.1.3-py3-none-any.whl (1.7 MB view details)

Uploaded Python 3

File details

Details for the file hpipy-0.1.3.tar.gz.

File metadata

  • Download URL: hpipy-0.1.3.tar.gz
  • Upload date:
  • Size: 1.7 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.12.8

File hashes

Hashes for hpipy-0.1.3.tar.gz
Algorithm Hash digest
SHA256 2486b5065fec04a1682e9c42e97855fc6e974e705e28919cc202194722610446
MD5 94596ee288047d991c3feaea3aedfef3
BLAKE2b-256 33386d3e809aacd7f2c5506580b53d24e385686b3f549afd3dd0054822e04f33

See more details on using hashes here.

Provenance

The following attestation bundles were made for hpipy-0.1.3.tar.gz:

Publisher: publish.yml on reidjohnson/hpipy

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file hpipy-0.1.3-py3-none-any.whl.

File metadata

  • Download URL: hpipy-0.1.3-py3-none-any.whl
  • Upload date:
  • Size: 1.7 MB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.12.8

File hashes

Hashes for hpipy-0.1.3-py3-none-any.whl
Algorithm Hash digest
SHA256 9cb8c322ad38a4f9f99f7c7948464203128aed5d5da0fd66c805f42b38d5acf7
MD5 511c377b7e8ef7986ecabbad09942624
BLAKE2b-256 f5a2582e1d1b9cfbd5cbc4f5188d4e6f2e9c8419af94005b23c9735c20542ca8

See more details on using hashes here.

Provenance

The following attestation bundles were made for hpipy-0.1.3-py3-none-any.whl:

Publisher: publish.yml on reidjohnson/hpipy

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page