Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
58 commits
Select commit Hold shift + click to select a range
1547294
Merge pull request #491 from DataverseLabs/main
SimonMolinsky Oct 11, 2025
8906833
[enh] Blocks object may use separate geometry and values as input par…
SimonMolinsky Oct 21, 2025
6047084
updated calculate_semivariance() function
SimonMolinsky Oct 25, 2025
45ff9e8
interpolate_points() - introduction of new parameters
SimonMolinsky Oct 25, 2025
0b0c8ad
interpolate_points() function - basic tests
SimonMolinsky Oct 25, 2025
9f625d2
validate_kriging() function - changed parameters
SimonMolinsky Oct 25, 2025
1a43b5b
validate_kriging - values, geometries, and progress_bar parameters; t…
SimonMolinsky Oct 26, 2025
41c1d18
idw - known_values and known_geometries parameters, tests
SimonMolinsky Oct 26, 2025
1c818c6
IndicatorKriging - new parameters and test
SimonMolinsky Oct 26, 2025
bfdd039
ordinary kriging - tests, new parameters
SimonMolinsky Oct 30, 2025
87e9669
simple kriging - new parameters, new tests
SimonMolinsky Oct 30, 2025
c75dee2
UniversalKriging - new parameters and test
SimonMolinsky Nov 1, 2025
f6d8451
make inblock_semivariance() private function, it should't be called b…
SimonMolinsky Nov 1, 2025
bb2d0e2
DirectionalVariogram - new parameters, new tests
SimonMolinsky Nov 2, 2025
a1714b0
ExperimentalVariogram - new parameters and new tests
SimonMolinsky Nov 2, 2025
b43fa1c
build_experimental_variogram() - new tests, new parameters
SimonMolinsky Nov 2, 2025
b5131bd
VariogramCloud - new parameters and one test
SimonMolinsky Nov 2, 2025
d65961b
[api change] directional_weighted_semivariance is no longer public fu…
SimonMolinsky Nov 2, 2025
55246b1
multiple api changes and tests
SimonMolinsky Nov 3, 2025
8836cb4
code_indicator() function has new parameters and tests
SimonMolinsky Nov 4, 2025
2d0c94d
IndicatorVariogramData and ExperimentalIndicatorVariogram classes hav…
SimonMolinsky Nov 4, 2025
10e655a
interpolate_raster - changed parameters naming and new tests
SimonMolinsky Nov 4, 2025
d29345a
PointSupport - separate geometry and values
SimonMolinsky Nov 6, 2025
790402a
Updated tutorials (up to 3.2) and corrected imports
SimonMolinsky Nov 7, 2025
8e0f5e0
Updated tutorials (to 3.4) and corrected imports
SimonMolinsky Nov 7, 2025
71a2058
tutorials 3-5 and 4-1, updated imports in UniversalKriging
SimonMolinsky Nov 7, 2025
ffa3dca
Updated imports, 4-1, changelog
SimonMolinsky Nov 7, 2025
f9f1d6b
updated docs and imports
SimonMolinsky Nov 8, 2025
3b41733
Merge pull request #500 from DataverseLabs/499-inconsistency-of-api-w…
SimonMolinsky Nov 8, 2025
d02d9c7
Updated coverage.svg
github-actions[bot] Nov 8, 2025
0daba1c
Added supported python version and package version badges
SimonMolinsky Nov 9, 2025
3618512
Merge pull request #501 from DataverseLabs/498-missing-badges
SimonMolinsky Nov 9, 2025
3f19ee5
CITATION.cff, citation section in readme has been moved up, bibtex ci…
SimonMolinsky Nov 9, 2025
e02a7f7
Merge pull request #502 from DataverseLabs/497-citation-information
SimonMolinsky Nov 9, 2025
1cf108a
Corrected broken links to CONTRIBUTING.md file in README and document…
SimonMolinsky Nov 9, 2025
015b0d7
Merge pull request #503 from DataverseLabs/494-link-to-nonexistent-co…
SimonMolinsky Nov 9, 2025
5fd5f16
pyproject toml - updated project.urls
SimonMolinsky Nov 9, 2025
94d9395
Merge pull request #504 from DataverseLabs/495-projecturls-not-in-pyp…
SimonMolinsky Nov 9, 2025
38eeba7
Updated docstring (example) - `PointSupportDistance`
SimonMolinsky Nov 10, 2025
d04efc5
block_filter module - updated examples in docstrings
SimonMolinsky Nov 11, 2025
cd083c6
updated docstrings in interpolate module (examples)
SimonMolinsky Nov 11, 2025
9e7d982
Updated docs in `pyinterpolate.distance.block.calc_block_to_block_dis…
SimonMolinsky Nov 12, 2025
c12cb5b
idw | centroid_poisson_kriging docs examples
SimonMolinsky Nov 13, 2025
156a9ae
Kriging documentation has been updated
SimonMolinsky Nov 15, 2025
71d4d86
updated docs, deviation api changes, deviation tests, new properties
SimonMolinsky Nov 16, 2025
570d1f1
Updated and debugged Deviation class
SimonMolinsky Nov 18, 2025
3da08f5
docstring example for deviation class
SimonMolinsky Nov 18, 2025
4db4790
docstring examples for `AggregatedVariogram` and `regularize()`
SimonMolinsky Nov 18, 2025
65a0862
docstring examples for `ExperimentalVariogram` and `build_experimenta…
SimonMolinsky Nov 18, 2025
a4cc2a4
calculate_semivariance() example
SimonMolinsky Nov 18, 2025
7f3f996
Updated calculate_covariance() docstring
SimonMolinsky Nov 19, 2025
b80949e
Directional variogram example
SimonMolinsky Nov 19, 2025
ca230f4
VariogramCloud example
SimonMolinsky Nov 19, 2025
92e8282
`ExperimentalIndicatorVariogram` and `TheoreticalIndicatorVariogram` …
SimonMolinsky Nov 19, 2025
74a9ad0
`ExperimentalVariogram` class removes lags with NaN values (in covari…
SimonMolinsky Nov 23, 2025
2c94ba7
Merge pull request #506 from DataverseLabs/496-missing-examples
SimonMolinsky Nov 23, 2025
cdd103d
pre-bump version updates
SimonMolinsky Nov 23, 2025
da7f2f3
remove Python 3.14 from supported versions (pyogrio installation prob…
SimonMolinsky Nov 23, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
60 changes: 60 additions & 0 deletions CHANGELOG.rst
Original file line number Diff line number Diff line change
@@ -1,6 +1,66 @@
Changes - from version >= 1.x
=============================

2025-11-23
----------

**version 1.2.0**

* [enhancement] `Blocks` has the new parameters `values` and `geometries`, that might be provided instead of `ds` parameter
* [enhancement] `calculate_semivariance()` function has the new parameters `values` and `geometries`, that might be provided instead of `ds` parameter
* [enhancement] `interpolate_points()` function has the new parameters `known_values` and `known_geometries`, that might be provided instead of the `known_locations` parameter
* [enhancement] `validate_kriging()` function has the new parameters `known_values` and `known_geometries`, that might be provided instead of the `known_locations` parameter
* [enhancement] `validate_kriging()` has new parameter: `progress_bar` that controls `tqdm` progress bar
* [enhancement] `inverse_distance_weighting()` function has the new parameters `known_values` and `known_geometries`, that might be provided instead of the `known_locations` parameter
* [enhancement] `IndicatorKriging` class has the new parameters `known_values` and `known_geometries`, that might be provided instead of the `known_locations` parameter
* [enhancement] `ordinary_kriging()` function has the new parameters `known_values` and `known_geometries`, that might be provided instead of the `known_locations` parameter
* [enhancement] `simple_kriging()` function has the new parameters `known_values` and `known_geometries`, that might be provided instead of the `known_locations` parameter
* [enhancement] `UniversalKriging` class has the new parameters `known_values` and `known_geometries`, that might be provided instead of the `known_locations` parameter
* [api change] `inblock_semivariance()` function is now private: `_inblock_semivariance()`
* [enhancement] `DirectionalVariogram()` class has the new parameters `values` and `geometries`, that might be provided instead of `ds` parameter
* [tests] Added basic tests for `DirectionalVariogram()` class
* [enhancement] `ExperimentalVariogram()` class has the new parameters `values` and `geometries`, that might be provided instead of `ds` parameter
* [tests] Added basic tests for `ExperimentalVariogram()` class
* [enhancement] `build_experimental_variogram()` function has the new parameters `values` and `geometries`, that might be provided instead of `ds` parameter
* [tests] Added basic tests for `build_experimental_variogram()` function
* [enhancement] `VariogramCloud()` class has the new parameters `values` and `geometries`, that might be provided instead of `ds` parameter
* [api change] `directional_weighted_semivariance()` function is now private: `_directional_weighted_semivariance()`
* [api change] `omnidirectional_variogram()` function is now private: `_omnidirectional_variogram()`
* [api change] `omnidirectional_semivariogram_cloud()` function is now private: `_omnidirectional_semivariogram_cloud()`
* [enhancement] `calculate_covariance()` function has the new parameters `values` and `geometries`, that might be provided instead of `ds` parameter
* [api change] `directional_covariance()` function is now private: `_directional_covariance()`
* [api change] `omnidirectional_covariance()` function is now private: `_omnidirectional_covariance()`
* [api change] `directional_semivariance()` function is now private: `_directional_semivariance()`
* [api change] `directional_semivariance_cloud()` function is now private: `_directional_semivariance_cloud()`
* [api change] `omnidirectional_semivariance()` function is now private: `_omnidirectional_semivariance()`
* [enhancement] `point_cloud_semivariance()` function has the new parameters `values` and `geometries`, that might be provided instead of `ds` parameter
* [enhancement] `code_indicator()` function has the new parameters `values` and `geometries`, that might be provided instead of `ds` parameter
* [enhancement] `ExperimentalIndicatorVariogram` and `IndicatorVariogramData` classes have the new parameters `values` and `geometries`, that might be provided instead of `ds` parameter
* [enhancement] `PointSupport` has the new parameters `values` and `geometries`, that might be provided instead of `ds` parameter
* [docs] updated tutorials - new parameters are used in kriging operations, and when experimental variogram is computed
* [docs] added missing badges (Python version and package version)
* [docs] `CITATION.cff`, citation section in readme has been moved up, bibtex citation has been added
* [docs] corrected broken links to `CONTRIBUTING.md` file in readme and docs
* [setup] links to documentation have been added to `pyproject.toml`
* [docs] docstring examples - all user-facing API endpoints have examples in docstrings, using new input types (values | geometries)
* [docs] updated docstrings (examples) in: `PointSupportDistance`, `core.block_filter`, `pipelines.interpolate`, `pyinterpolate.distance.block.calc_block_to_block_distance`, `validate_kriging`, `metrics` module functions, `inverse_distance_weighting`, `centroid_poisson_kriging`, `area_to_area_pk`, `area_to_point_pk`, `area_to_point_pk`, `area_to_point_pk`, `ordinary_kriging`, `simple_kriging`, `IndicatorKriging`, `UniversalKriging`, `Deconvolution`,
* [enhancement] `ExperimentalVariogram` has new property - `lag_semivariance_array` that returns numpy array with lags and semivariances
* [enhancement] `TheoreticalVariogram` has new property - `lag_yhat_array` that returns numpy array with lags and predicted semivariances
* [api change] `Deviation` class parameters have been renamed to clearly point what is passed as the input
* [tests] `Deviation` class tests and debug (method selection)
* [docs] docstring example for `Deviation`
* [docs] docstring example for `AggregatedVariogram` and `regularize()`
* [docs] docstring example for `ExperimentalVariogram` and `build_experimental_variogram()`, `calculate_semivariance()`, used parameters `values` and `geometries`
* [docs] docstring example for `calculate_covariance()`, used parameters `values` and `geometries`
* [docs] docstring example for `DirectionalVariogram`, used parameters `values` and `geometries`
* [docs] docstring example for `VariogramCloud`, used parameters `values` and `geometries`
* [docs] `ExperimentalIndicatorVariogram` and `TheoreticalIndicatorVariogram` - updated examples in docstrings
* [docs] `TheoreticalVariogram`, and `build_theoretical_variogram()` examples
* [docs] `calculate_spatial_dependence_index()` example
* [bug/feature] `ExperimentalVariogram` class removes lags with NaN values (in covariance and semivariance)
* [docs] Example in `interpolate_raster()` function


2025-10-11
----------

Expand Down
23 changes: 23 additions & 0 deletions CITATION.cff
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
cff-version: 1.2.0
message: If you use this software, please cite both the article from preferred-citation and the software itself.
authors:
- family-names: Moliński
given-names: Szymon
title: 'Pyinterpolate: Spatial interpolation in Python for point measurements and aggregated datasets'
version: 1.0.0
url: https://doi.org/10.21105/joss.02869
doi: 10.21105/joss.02869
date-released: '2022-11-09'
preferred-citation:
authors:
- family-names: Moliński
given-names: Szymon
title: 'Pyinterpolate: Spatial interpolation in Python for point measurements and aggregated datasets'
doi: 10.21105/joss.02869
url: https://doi.org/10.21105/joss.02869
type: article-journal
pages: '2869'
year: '2022'
conference: {}
publisher:
name: The Open Journal
39 changes: 27 additions & 12 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,14 +1,13 @@
![JOSS](https://joss.theoj.org/papers/3f87f562264c4e5174d9e6ed6d8812aa/status.svg) [![License](https://img.shields.io/badge/License-BSD_2--Clause-orange.svg)](https://opensource.org/licenses/BSD-2-Clause) ![Documentation Status](https://readthedocs.org/projects/pyinterpolate/badge/?version=latest) [![CodeFactor](https://www.codefactor.io/repository/github/dataverselabs/pyinterpolate/badge)](https://www.codefactor.io/repository/github/dataverselabs/pyinterpolate)

[![Run Unit Test via Pytest](https://github.com/DataverseLabs/pyinterpolate/actions/workflows/python-install-and-test-on-linux-always.yml/badge.svg)](https://github.com/DataverseLabs/pyinterpolate/actions/workflows/python-install-and-test-on-linux-always.yml) [![CodeQL](https://github.com/DataverseLabs/pyinterpolate/actions/workflows/github-code-scanning/codeql/badge.svg)](https://github.com/DataverseLabs/pyinterpolate/actions/workflows/github-code-scanning/codeql) ![Tests Coverage](https://raw.githubusercontent.com/DataverseLabs/pyinterpolate/6a18f86ab3927e48009107e7eda7d6c833a4a610/coverage.svg)


![PyPI - Version](https://img.shields.io/pypi/v/pyinterpolate) ![Conda Version](https://img.shields.io/conda/v/conda-forge/pyinterpolate)
![PyPI - Python Version](https://img.shields.io/pypi/pyversions/pyinterpolate)

![JOSS](https://joss.theoj.org/papers/3f87f562264c4e5174d9e6ed6d8812aa/status.svg) [![License](https://img.shields.io/badge/License-BSD_2--Clause-orange.svg)](https://opensource.org/licenses/BSD-2-Clause) ![Documentation Status](https://readthedocs.org/projects/pyinterpolate/badge/?version=latest) [![CodeFactor](https://www.codefactor.io/repository/github/dataverselabs/pyinterpolate/badge)](https://www.codefactor.io/repository/github/dataverselabs/pyinterpolate)

[![Run Unit Test via Pytest](https://github.com/DataverseLabs/pyinterpolate/actions/workflows/python-install-and-test-on-linux-always.yml/badge.svg)](https://github.com/DataverseLabs/pyinterpolate/actions/workflows/python-install-and-test-on-linux-always.yml) [![CodeQL](https://github.com/DataverseLabs/pyinterpolate/actions/workflows/github-code-scanning/codeql/badge.svg)](https://github.com/DataverseLabs/pyinterpolate/actions/workflows/github-code-scanning/codeql) ![Tests Coverage](https://raw.githubusercontent.com/DataverseLabs/pyinterpolate/6a18f86ab3927e48009107e7eda7d6c833a4a610/coverage.svg)

# Pyinterpolate

**version 1.1.0**
**version 1.2.0**

![Logo](https://raw.githubusercontent.com/DataverseLabs/pyinterpolate/refs/heads/main/pyinterpolate-banner.png)

Expand All @@ -17,6 +16,27 @@
The package was updated to version 1.0 in June 2025. There are breaking API changes, so please, refer to the [CHANGELOG](https://github.com/DataverseLabs/pyinterpolate/blob/main/CHANGELOG.rst) to know more about the changes.
Right now, the package in version 1.0.0 is in the **beta** stage, which means that it is stable but be careful with the production use. There might be some minor bugs, and large swaths of code are not optimized yet. If you find any bugs, please report them in the [issue tracker](https://github.com/DataverseLabs/pyinterpolate/issues).

## Citation

Moliński, S., (2022). Pyinterpolate: Spatial interpolation in Python for point measurements and aggregated datasets. Journal of Open Source Software, 7(70), 2869, https://doi.org/10.21105/joss.02869

### Bibtex

```text
@article{Moliński2022,
doi = {10.21105/joss.02869},
url = {https://doi.org/10.21105/joss.02869},
year = {2022},
publisher = {The Open Journal},
volume = {7},
number = {70},
pages = {2869},
author = {Moliński, Szymon},
title = {Pyinterpolate: Spatial interpolation in Python for point measurements and aggregated datasets},
journal = {Journal of Open Source Software} }

```

## Introduction

Pyinterpolate is the Python library for **spatial statistics**. The package provides access to spatial statistics tools (variogram analysis, Kriging, Poisson Kriging, Indicator Kriging, Inverse Distance Weighting).
Expand Down Expand Up @@ -158,7 +178,7 @@ A world of advice, you should **always** use Virtual Environment for the install

## Tests and contribution

All tests are grouped in the `test` directory. If you would like to contribute, then you won't avoid testing, but it is described step-by-step here: [CONTRIBUTION.md](https://github.com/DataverseLabs/pyinterpolate/blob/main/CONTRIBUTION.md)
All tests are grouped in the `test` directory. If you would like to contribute, then you won't avoid testing, but it is described step-by-step here: [CONTRIBUTING.md](https://github.com/DataverseLabs/pyinterpolate/blob/main/CONTRIBUTING.md)

## Use cases

Expand All @@ -181,11 +201,6 @@ Pyinterpolate was created thanks to many resources and all of them are pointed h

Join our community in Discord: [Discord Server Pyinterpolate](https://discord.gg/3EMuRkj)

## How to cite

Moliński, S., (2022). Pyinterpolate: Spatial interpolation in Python for point measurements and aggregated datasets. Journal of Open Source Software, 7(70), 2869, https://doi.org/10.21105/joss.02869


## Requirements and dependencies (v 1.x)

Core requirements and dependencies are:
Expand Down
4 changes: 2 additions & 2 deletions coverage.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
import numpy as np
from pyinterpolate.semivariogram.experimental.functions.directional import \
directional_weighted_semivariance
_directional_weighted_semivariance


def profile_select_in_ellipse():
Expand All @@ -9,7 +9,7 @@ def profile_select_in_ellipse():
step_size = 0.05
max_range = 0.6

_ = directional_weighted_semivariance(
_ = _directional_weighted_semivariance(
points=points,
lags=np.linspace(step_size, max_range, 10),
custom_weights=weights,
Expand Down
Binary file modified docs/build/doctrees/api/core/core.doctree
Binary file not shown.
Binary file modified docs/build/doctrees/api/core/pipelines.doctree
Binary file not shown.
Binary file modified docs/build/doctrees/api/distance/distance.doctree
Binary file not shown.
Binary file modified docs/build/doctrees/api/evaluate/evaluate.doctree
Binary file not shown.
Binary file modified docs/build/doctrees/api/idw/idw.doctree
Binary file not shown.
Binary file modified docs/build/doctrees/api/kriging/block_kriging.doctree
Binary file not shown.
Binary file modified docs/build/doctrees/api/kriging/point_kriging.doctree
Binary file not shown.
Binary file not shown.
Binary file modified docs/build/doctrees/api/semivariogram/deconvolution.doctree
Binary file not shown.
Binary file modified docs/build/doctrees/api/semivariogram/experimental.doctree
Binary file not shown.
Binary file modified docs/build/doctrees/api/semivariogram/indicator.doctree
Binary file not shown.
Binary file modified docs/build/doctrees/api/semivariogram/theoretical.doctree
Binary file not shown.
Binary file modified docs/build/doctrees/api/viz/raster.doctree
Binary file not shown.
Binary file not shown.
Binary file modified docs/build/doctrees/environment.pickle
Binary file not shown.
Binary file modified docs/build/doctrees/index.doctree
Binary file not shown.

Large diffs are not rendered by default.

Loading
Loading