Skip to main content

Coverage Tests MemCheck Tests Code Style Coverage Status PyPI version Build PyPI wheels Various Build Options Windows Tests

geodiff

Library for handling diffs for geospatial data. Works with GeoPackage files and PostGIS databases (as well as with non-spatial SQLite and PostgreSQL databases).

Geodiff library is used by Mergin Maps - a platform for easy sharing of spatial data.

Join our community and ask questions!

Use cases for geodiff

Compare two datasets to get changesets (diffs) & apply changesets

The first use case for geodiff library is to take two datasets with the same structure of tables and compare them - the comparison will create a "diff" file containing entries that were inserted/updated/deleted between the two datasets. A diff file can be applied to an existing dataset (e.g. a GeoPackage) and the dataset will be updated accordingly by applying the differences one by one. If you are familiar with diff and patch tools from UNIX world, this is meant to be an equivalent for spatial data.

Compare datasets to create a diff file

Merge changes from multiple sources

The next use case is to merge changes from different copies of the same dataset that have been modified independently. Generally such changes cannot be applied cleanly. For example, if multiple users changed the same row of a table, or added a new row with the same ID. The library has functionality to "rebase" a diff file on top of another diff file, resolving any conflicts, so that all the changes can be applied cleanly. There still may be conflicts that can't be resolved fully automatically (e.g. if the same value is modified in different copies), these are written to a separate conflict file that can be addressed later (such changes are typically rare).

Rebase changes in order to merge data from multiple sources

Synchronize data across databases

It is possible to apply diffs across different databases supported by geodiff drivers (nowadays supporting SQLite/GeoPackage and PostgreSQL/PostGIS). That means one can seamlessly find out difference between tables of two schemas in a PostGIS database, and apply the changes to a GeoPackage (or vice versa). Thanks to that, it is possible to keep data in sync even if the backends are completely different.

How to use geodiff

There are multiple ways how geodiff can be used:

  • geodiff command line interface (CLI) tool
  • pygeodiff Python module
  • geodiff library using C API

The library nowadays comes with support for two drivers:

  • SQLite / GeoPackage - always available
  • PostgreSQL / PostGIS - optional, needs to be compiled

Using command line interface

GeoPackage

To get changes between two GeoPackage files and write them to a-to-b.diff (a binary diff file):

geodiff diff data-a.gpkg data-b.gpkg a-to-b.diff

To print changes between two GeoPackage files to the standard output:

geodiff diff --json data-a.gpkg data-b.gpkg

To apply changes from a-to-b.diff to data-a.gpkg:

geodiff apply data-a.gpkg a-to-b.diff

To invert a diff file a-to-b.diff and revert data-a.gpkg to the original content:

geodiff invert a-to-b.diff b-to-a.diff
geodiff apply data-a.gpkg b-to-a.diff

PostGIS

The same commands work with PostGIS databases. Instead of file paths, pass schema names and use --driver postgres with a libpq connection string:

geodiff diff --driver postgres "host=localhost dbname=mydb user=myuser password=mypass" schema_a schema_b a-to-b.diff
geodiff diff --json --driver postgres "host=localhost dbname=mydb user=myuser password=mypass" schema_a schema_b
geodiff apply --driver postgres "host=localhost dbname=mydb user=myuser password=mypass" schema_a a-to-b.diff

Both schemas must be in the same database and have identical table structure. You can check which drivers are available with geodiff drivers.

The geodiff tool supports other various commands, use geodiff help for the full list.

Using Python module

Install the module from pip:

pip3 install pygeodiff

If you get error ModuleNotFoundError: No module named 'skbuild' try to update pip with command python -m pip install --upgrade pip

GeoPackage

Sample usage of the Python module:

import pygeodiff

geodiff = pygeodiff.GeoDiff()

# create a diff between two GeoPackage files
geodiff.create_changeset('data-a.gpkg', 'data-b.gpkg', 'a-to-b.diff')

# apply changes from a-to-b.diff to the GeoPackage file data-a.gpkg
geodiff.apply_changeset('data-a.gpkg', 'a-to-b.diff')

# export changes from the binary diff format to JSON
geodiff.list_changes('a-to-b.diff', 'a-to-b.json')

PostGIS

To perform the same actions against a PostGIS database, use the _ex methods with a driver name and connection string. The base and modified arguments are schema names:

import pygeodiff

geodiff = pygeodiff.GeoDiff()
conninfo = "host=localhost dbname=mydb user=myuser password=mypass"

# create a diff between two PostGIS schemas
geodiff.create_changeset_ex(
    driver="postgres",
    driver_info=conninfo,
    base="schema_a",
    modified="schema_b",
    changeset="a-to-b.diff"
)

# apply changes from a-to-b.diff to a PostGIS schema
geodiff.apply_changeset_ex(
    driver="postgres",
    driver_info=conninfo,
    base="schema_a",
    changeset="a-to-b.diff"
)

# export changes from the binary diff format to JSON
geodiff.list_changes('a-to-b.diff', 'a-to-b.json')

If there are any problems, calls will raise pygeodiff.GeoDiffLibError exception.

If you have Mergin plugin for QGIS installed, you can also use pygeodiff from QGIS' Python Console by starting with

import Mergin.mergin.deps.pygeodiff as pygeodiff

Using the library with C API

See geodiff.h header file for the list of API calls and their documentation.

Output messages can be adjusted by GEODIFF_LOGGER_LEVEL environment variable.

Changesets

Changes between datasets are read from and written to a binary changeset format.

Building geodiff

Deps

Install postgresql client and sqlite3 library, e.g. for Linux

sudo apt-get install libsqlite3-dev libpq-dev

alternatively you can build libraries yourself: for sqlite

  ./configure --enable-dynamic-extensions
  make

Compile geodiff:

cd geodiff
mkdir build
cd build

cmake \
  -DWITH_POSTGRESQL=TRUE \
  -DSQLite3_INCLUDE_DIR=../../sqlite-autoconf-3450000 \
  -DSQLite3_LIBRARY=../../sqlite-autoconf-3450000/.libs/libsqlite3.a \
../geodiff

make

if you get error: use of undeclared identifier 'sqlite3_enable_load_extension' make sure you use sqlite with enabled dynamic extension.

Development of geodiff

Running tests

C++ tests: run make test or ctest to run all tests. Alternatively run just a single test, e.g. ./tests/geodiff_changeset_reader_test

Python tests: you need to setup GEODIFFLIB with path to .so/.dylib from build step

GEODIFFLIB=`pwd`/build/libgeodiff.dylib GEODIFFCLI=`pwd`/build/geodiff pytest

Releasing new version

  • run python3 ./scripts/update_version.py --version x.y.z
  • push to GitHub
  • tag the master & create github release - Python wheels will be automatically published to PyPI!

Code style

We use Astyle (C++), Cppcheck(C++) and Black (Python) for formatting

  • run ./scripts/run_astyle.sh
  • run ./scripts/run_cppcheck.sh
  • run ./scripts/run_black.sh

Dependencies & Licensing

Library uses its own copy of

Release files for pygeodiff 2.3.1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for pygeodiff 2.3.1
File Size Uploaded
pygeodiff-2.3.1.tar.gz 2.5 MB Details

Built distributions (wheels)

Table of built distributions (wheels) for pygeodiff 2.3.1
File
pygeodiff-2.3.1-cp314-cp314t-win_amd64.whl CPython 3.14 CPython 3.14 free-threading Windows x86-64 Details
pygeodiff-2.3.1-cp314-cp314t-musllinux_1_2_x86_64.whl CPython 3.14 CPython 3.14 free-threading Linux musl 1.2+ x86-64 Details
pygeodiff-2.3.1-cp314-cp314t-manylinux_2_28_x86_64.whl CPython 3.14 CPython 3.14 free-threading Linux glibc 2.28+ x86-64 Details
pygeodiff-2.3.1-cp314-cp314t-macosx_14_0_arm64.whl CPython 3.14 CPython 3.14 free-threading macOS 14.0+ ARM64 Details
pygeodiff-2.3.1-cp314-cp314t-macosx_10_15_x86_64.whl CPython 3.14 CPython 3.14 free-threading macOS 10.15+ x86-64 Details
pygeodiff-2.3.1-cp314-cp314-win_amd64.whl CPython 3.14 CPython 3.14 Windows x86-64 Details
pygeodiff-2.3.1-cp314-cp314-musllinux_1_2_x86_64.whl CPython 3.14 CPython 3.14 Linux musl 1.2+ x86-64 Details
pygeodiff-2.3.1-cp314-cp314-manylinux_2_28_x86_64.whl CPython 3.14 CPython 3.14 Linux glibc 2.28+ x86-64 Details
pygeodiff-2.3.1-cp314-cp314-macosx_14_0_arm64.whl CPython 3.14 CPython 3.14 macOS 14.0+ ARM64 Details
pygeodiff-2.3.1-cp314-cp314-macosx_10_15_x86_64.whl CPython 3.14 CPython 3.14 macOS 10.15+ x86-64 Details
pygeodiff-2.3.1-cp313-cp313-win_amd64.whl CPython 3.13 CPython 3.13 Windows x86-64 Details
pygeodiff-2.3.1-cp313-cp313-musllinux_1_2_x86_64.whl CPython 3.13 CPython 3.13 Linux musl 1.2+ x86-64 Details
pygeodiff-2.3.1-cp313-cp313-manylinux_2_28_x86_64.whl CPython 3.13 CPython 3.13 Linux glibc 2.28+ x86-64 Details
pygeodiff-2.3.1-cp313-cp313-macosx_14_0_arm64.whl CPython 3.13 CPython 3.13 macOS 14.0+ ARM64 Details
pygeodiff-2.3.1-cp313-cp313-macosx_10_13_x86_64.whl CPython 3.13 CPython 3.13 macOS 10.13+ x86-64 Details
pygeodiff-2.3.1-cp312-cp312-win_amd64.whl CPython 3.12 CPython 3.12 Windows x86-64 Details
pygeodiff-2.3.1-cp312-cp312-musllinux_1_2_x86_64.whl CPython 3.12 CPython 3.12 Linux musl 1.2+ x86-64 Details
pygeodiff-2.3.1-cp312-cp312-manylinux_2_28_x86_64.whl CPython 3.12 CPython 3.12 Linux glibc 2.28+ x86-64 Details
pygeodiff-2.3.1-cp312-cp312-macosx_14_0_arm64.whl CPython 3.12 CPython 3.12 macOS 14.0+ ARM64 Details
pygeodiff-2.3.1-cp312-cp312-macosx_10_13_x86_64.whl CPython 3.12 CPython 3.12 macOS 10.13+ x86-64 Details
pygeodiff-2.3.1-cp311-cp311-win_amd64.whl CPython 3.11 CPython 3.11 Windows x86-64 Details
pygeodiff-2.3.1-cp311-cp311-musllinux_1_2_x86_64.whl CPython 3.11 CPython 3.11 Linux musl 1.2+ x86-64 Details
pygeodiff-2.3.1-cp311-cp311-manylinux_2_28_x86_64.whl CPython 3.11 CPython 3.11 Linux glibc 2.28+ x86-64 Details
pygeodiff-2.3.1-cp311-cp311-macosx_14_0_arm64.whl CPython 3.11 CPython 3.11 macOS 14.0+ ARM64 Details
pygeodiff-2.3.1-cp311-cp311-macosx_10_9_x86_64.whl CPython 3.11 CPython 3.11 macOS 10.9+ x86-64 Details
pygeodiff-2.3.1-cp310-cp310-win_amd64.whl CPython 3.10 CPython 3.10 Windows x86-64 Details
pygeodiff-2.3.1-cp310-cp310-musllinux_1_2_x86_64.whl CPython 3.10 CPython 3.10 Linux musl 1.2+ x86-64 Details
pygeodiff-2.3.1-cp310-cp310-manylinux_2_28_x86_64.whl CPython 3.10 CPython 3.10 Linux glibc 2.28+ x86-64 Details
pygeodiff-2.3.1-cp310-cp310-macosx_14_0_arm64.whl CPython 3.10 CPython 3.10 macOS 14.0+ ARM64 Details
pygeodiff-2.3.1-cp310-cp310-macosx_10_9_x86_64.whl CPython 3.10 CPython 3.10 macOS 10.9+ x86-64 Details
pygeodiff-2.3.1-cp39-cp39-win_amd64.whl CPython 3.9 CPython 3.9 Windows x86-64 Details
pygeodiff-2.3.1-cp39-cp39-musllinux_1_2_x86_64.whl CPython 3.9 CPython 3.9 Linux musl 1.2+ x86-64 Details
pygeodiff-2.3.1-cp39-cp39-manylinux_2_28_x86_64.whl CPython 3.9 CPython 3.9 Linux glibc 2.28+ x86-64 Details
pygeodiff-2.3.1-cp39-cp39-macosx_14_0_arm64.whl CPython 3.9 CPython 3.9 macOS 14.0+ ARM64 Details
pygeodiff-2.3.1-cp39-cp39-macosx_10_9_x86_64.whl CPython 3.9 CPython 3.9 macOS 10.9+ x86-64 Details
pygeodiff-2.3.1-cp38-cp38-win_amd64.whl CPython 3.8 CPython 3.8 Windows x86-64 Details
pygeodiff-2.3.1-cp38-cp38-musllinux_1_2_x86_64.whl CPython 3.8 CPython 3.8 Linux musl 1.2+ x86-64 Details
pygeodiff-2.3.1-cp38-cp38-manylinux_2_28_x86_64.whl CPython 3.8 CPython 3.8 Linux glibc 2.28+ x86-64 Details
pygeodiff-2.3.1-cp38-cp38-macosx_14_0_arm64.whl CPython 3.8 CPython 3.8 macOS 14.0+ ARM64 Details
pygeodiff-2.3.1-cp38-cp38-macosx_10_9_x86_64.whl CPython 3.8 CPython 3.8 macOS 10.9+ x86-64 Details

Total release size: 53.9 MB

Release files / pygeodiff-2.3.1.tar.gz

Download URL pygeodiff-2.3.1.tar.gz
Size 2.5 MB
Tags Source
SHA-256 checksum
How to use checksums
b647cbe829b791720447847505cfc6b5730372c644a398bf89954d311b7de97a
BLAKE2b-256 checksum
How to use checksums
0cf178981a662504575e8e3ad05a3acf49f73a47071cd537339bda0aa8938fb5
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.14

Release files / pygeodiff-2.3.1-cp314-cp314t-win_amd64.whl

Download URL pygeodiff-2.3.1-cp314-cp314t-win_amd64.whl
Size 1.1 MB
Tags CPython 3.14 CPython 3.14 free-threading Windows x86-64
SHA-256 checksum
How to use checksums
beecba1e76a236d7c8e8bf3c51e0d6d5c0b4652c95578dba3dc026936d4473fa
BLAKE2b-256 checksum
How to use checksums
5297890c017859f164e2a1c3f278708194e96dc96d5750bf365f74fddf3a5476
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.14

Release files / pygeodiff-2.3.1-cp314-cp314t-musllinux_1_2_x86_64.whl

Download URL pygeodiff-2.3.1-cp314-cp314t-musllinux_1_2_x86_64.whl
Size 2.2 MB
Tags CPython 3.14 CPython 3.14 free-threading Linux musl 1.2+ x86-64
SHA-256 checksum
How to use checksums
420128fbadf0d79089bed20e1127b8d515cee2bfb89fcdb815a4f99496344ab5
BLAKE2b-256 checksum
How to use checksums
b33e957becc0c8eee6f61db8a5e1342f55c58dfd97b4686fa5b2beaff36f4559
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.14

Release files / pygeodiff-2.3.1-cp314-cp314t-manylinux_2_28_x86_64.whl

Download URL pygeodiff-2.3.1-cp314-cp314t-manylinux_2_28_x86_64.whl
Size 901.0 kB
Tags CPython 3.14 CPython 3.14 free-threading Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
e6ab9c1b7fca2bfafa03467b40b850ed8456ad41dcc0b80f30599a44cb285faf
BLAKE2b-256 checksum
How to use checksums
a2bd4d4a67a9031d1f0a3b964dc541853a402eead6e8cc42230037e45cb324cb
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.14

Release files / pygeodiff-2.3.1-cp314-cp314t-macosx_14_0_arm64.whl

Download URL pygeodiff-2.3.1-cp314-cp314t-macosx_14_0_arm64.whl
Size 1.1 MB
Tags CPython 3.14 CPython 3.14 free-threading macOS 14.0+ ARM64
SHA-256 checksum
How to use checksums
b6dc61a9247fe008849b349315579c98c748be1de9d9b1a19f87fb4ee4f574b9
BLAKE2b-256 checksum
How to use checksums
0fc50314419c4eb6afb96c436dd15c11a3e5693d6efef66e7ba630b3b12d1fec
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.14

Release files / pygeodiff-2.3.1-cp314-cp314t-macosx_10_15_x86_64.whl

Download URL pygeodiff-2.3.1-cp314-cp314t-macosx_10_15_x86_64.whl
Size 1.2 MB
Tags CPython 3.14 CPython 3.14 free-threading macOS 10.15+ x86-64
SHA-256 checksum
How to use checksums
9898b6f2fd4ac0e0127ec2cf8355d943c38d03107fbf3d38a2d877c7042babb4
BLAKE2b-256 checksum
How to use checksums
b901bb7e63d17cdb4d9360dd06942d826306309b5daf79d475018effb1367eb2
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.14

Release files / pygeodiff-2.3.1-cp314-cp314-win_amd64.whl

Download URL pygeodiff-2.3.1-cp314-cp314-win_amd64.whl
Size 1.1 MB
Tags CPython 3.14 Windows x86-64
SHA-256 checksum
How to use checksums
0b62f529fc5bc88233608e0fec78ea86c64c6f1c3ba264be5c162961fe0cbb40
BLAKE2b-256 checksum
How to use checksums
70fc732fae3838b1388c7ffe713d49b00a3ca551e0d6a7355a119e0efc7be65a
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.14

Release files / pygeodiff-2.3.1-cp314-cp314-musllinux_1_2_x86_64.whl

Download URL pygeodiff-2.3.1-cp314-cp314-musllinux_1_2_x86_64.whl
Size 2.2 MB
Tags CPython 3.14 Linux musl 1.2+ x86-64
SHA-256 checksum
How to use checksums
888251df0f22768c854041e9178ddbcce866f4dfd219bf436776841dbd90889b
BLAKE2b-256 checksum
How to use checksums
7648c6fc087848950bd6db217557d757f422833a9f459aa83c79d3497e9aeb6c
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.14

Release files / pygeodiff-2.3.1-cp314-cp314-manylinux_2_28_x86_64.whl

Download URL pygeodiff-2.3.1-cp314-cp314-manylinux_2_28_x86_64.whl
Size 901.0 kB
Tags CPython 3.14 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
7c0465f28e9df9937af7eb357882a9ee2264a1637352e24c436335e5fad8e9d6
BLAKE2b-256 checksum
How to use checksums
0a99f9262fe8238f0e13b7b1c596314043290944918dd5b4ad7b69426f11617f
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.14

Release files / pygeodiff-2.3.1-cp314-cp314-macosx_14_0_arm64.whl

Download URL pygeodiff-2.3.1-cp314-cp314-macosx_14_0_arm64.whl
Size 1.1 MB
Tags CPython 3.14 macOS 14.0+ ARM64
SHA-256 checksum
How to use checksums
0b95d3e010b274d0b8ad407d562799dc1b3310774392ff7762c58a95fad8caf7
BLAKE2b-256 checksum
How to use checksums
c480f1ce92d006a57d5e80a7bb017b2fea69ffa5ff743c734caccc64a9ae59f3
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.14

Release files / pygeodiff-2.3.1-cp314-cp314-macosx_10_15_x86_64.whl

Download URL pygeodiff-2.3.1-cp314-cp314-macosx_10_15_x86_64.whl
Size 1.2 MB
Tags CPython 3.14 macOS 10.15+ x86-64
SHA-256 checksum
How to use checksums
b13007434f32910eb75e1328b1163c6de9e5338dbdc04eff2f696abafa6678f6
BLAKE2b-256 checksum
How to use checksums
84937aec0064a4aae1aa80f88247c5fe8369dce8e40e3d7c6ae732b7e4e33227
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.14

Release files / pygeodiff-2.3.1-cp313-cp313-win_amd64.whl

Download URL pygeodiff-2.3.1-cp313-cp313-win_amd64.whl
Size 1.1 MB
Tags CPython 3.13 Windows x86-64
SHA-256 checksum
How to use checksums
25a623a9f7b34e5e3801f39347bff4e877bfa246ee585fe1e984c703ce754c6e
BLAKE2b-256 checksum
How to use checksums
531212ee1e7cdac33fef46865e8e1457673dcded3b44f1f7ab07c7364a7151f6
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.14

Release files / pygeodiff-2.3.1-cp313-cp313-musllinux_1_2_x86_64.whl

Download URL pygeodiff-2.3.1-cp313-cp313-musllinux_1_2_x86_64.whl
Size 2.2 MB
Tags CPython 3.13 Linux musl 1.2+ x86-64
SHA-256 checksum
How to use checksums
7f7b546b9932bab6b41f80e3ea59ce5496422686890011fc679488eb561fcbec
BLAKE2b-256 checksum
How to use checksums
9eccfa5663b97a65ee8a6df2ed74bb322b1e375b0088a21728df5b27d205e797
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.14

Release files / pygeodiff-2.3.1-cp313-cp313-manylinux_2_28_x86_64.whl

Download URL pygeodiff-2.3.1-cp313-cp313-manylinux_2_28_x86_64.whl
Size 901.0 kB
Tags CPython 3.13 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
9f9fac6c6f0c11c87a9b58263868e54459eab3ec3c5ff5a65fc128d1d814ed24
BLAKE2b-256 checksum
How to use checksums
1f8e3ea8572d70e1335ff8c10de98be75216b5a6f97eb65bc3af281c8fb18ba7
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.14

Release files / pygeodiff-2.3.1-cp313-cp313-macosx_14_0_arm64.whl

Download URL pygeodiff-2.3.1-cp313-cp313-macosx_14_0_arm64.whl
Size 1.1 MB
Tags CPython 3.13 macOS 14.0+ ARM64
SHA-256 checksum
How to use checksums
05adddf155b13b06e6dd69426543e9216df0c6a91a52ca098290f176cddf4700
BLAKE2b-256 checksum
How to use checksums
7b042c77a2d8dc69a624a9f48bb525c53821e665316595a179a2726dd7a6ed72
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.14

Release files / pygeodiff-2.3.1-cp313-cp313-macosx_10_13_x86_64.whl

Download URL pygeodiff-2.3.1-cp313-cp313-macosx_10_13_x86_64.whl
Size 1.2 MB
Tags CPython 3.13 macOS 10.13+ x86-64
SHA-256 checksum
How to use checksums
c6ed8c0df78b67b291a35a4f4665c86043fcf0a069f4775c4bbe39727df1de87
BLAKE2b-256 checksum
How to use checksums
367bcf706bdb8a3527dbf060d86de9e4bb71ea003c28ba5dff0a7acae6320b43
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.14

Release files / pygeodiff-2.3.1-cp312-cp312-win_amd64.whl

Download URL pygeodiff-2.3.1-cp312-cp312-win_amd64.whl
Size 1.1 MB
Tags CPython 3.12 Windows x86-64
SHA-256 checksum
How to use checksums
adda0b6138e2e866fbb52b205ab8777a650cf95e2b9ea6301956f167d5a8cf5a
BLAKE2b-256 checksum
How to use checksums
6a23bd9960fdb78e512094590a45cd44ef25a87d16c55c2aa359f87bfe05b68e
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.14

Release files / pygeodiff-2.3.1-cp312-cp312-musllinux_1_2_x86_64.whl

Download URL pygeodiff-2.3.1-cp312-cp312-musllinux_1_2_x86_64.whl
Size 2.2 MB
Tags CPython 3.12 Linux musl 1.2+ x86-64
SHA-256 checksum
How to use checksums
6cbd181b5163725bc6a55d718b1f1c6ff914a9602efa772dc89612c1abb34a39
BLAKE2b-256 checksum
How to use checksums
79077bc14475186091ea1245c8c332add1aae4f5dd3290849baf1d311a96a03d
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.14

Release files / pygeodiff-2.3.1-cp312-cp312-manylinux_2_28_x86_64.whl

Download URL pygeodiff-2.3.1-cp312-cp312-manylinux_2_28_x86_64.whl
Size 901.0 kB
Tags CPython 3.12 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
17b156f63015f3ffd9a481c27eb7b18aa837f2c8a42b1a6ef22ffcb79a7833be
BLAKE2b-256 checksum
How to use checksums
bdf1bc425b3c2c30a7eadc919be97566c2d7c3a28f8a2a9f386ae8b6301dfaf4
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.14

Release files / pygeodiff-2.3.1-cp312-cp312-macosx_14_0_arm64.whl

Download URL pygeodiff-2.3.1-cp312-cp312-macosx_14_0_arm64.whl
Size 1.1 MB
Tags CPython 3.12 macOS 14.0+ ARM64
SHA-256 checksum
How to use checksums
486b0a7e5575c5a245e0f7443298a374229fe2c3b7ec449a513b57306bc8fedf
BLAKE2b-256 checksum
How to use checksums
ed566f98a22f91a1b26483623898359143ca924238f95dd4ecc460cce03628e6
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.14

Release files / pygeodiff-2.3.1-cp312-cp312-macosx_10_13_x86_64.whl

Download URL pygeodiff-2.3.1-cp312-cp312-macosx_10_13_x86_64.whl
Size 1.2 MB
Tags CPython 3.12 macOS 10.13+ x86-64
SHA-256 checksum
How to use checksums
828b2852b7a99bfa9c616e16470241d648e20c5d9c94af9a582041357a832fc0
BLAKE2b-256 checksum
How to use checksums
b326338f2da9f4027b0023754e7f8f5157accfe392bcb8a97fcc792f58b33b52
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.14

Release files / pygeodiff-2.3.1-cp311-cp311-win_amd64.whl

Download URL pygeodiff-2.3.1-cp311-cp311-win_amd64.whl
Size 1.1 MB
Tags CPython 3.11 Windows x86-64
SHA-256 checksum
How to use checksums
e452ed385e1da6c0ea922b72d51f02702cf5886279080be0eb57ce1c455dbc3f
BLAKE2b-256 checksum
How to use checksums
4e900d8551c11cfb6537a2a2d7383fc1dcc6abb8343b0ef013d5dfc3e761387d
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.14

Release files / pygeodiff-2.3.1-cp311-cp311-musllinux_1_2_x86_64.whl

Download URL pygeodiff-2.3.1-cp311-cp311-musllinux_1_2_x86_64.whl
Size 2.2 MB
Tags CPython 3.11 Linux musl 1.2+ x86-64
SHA-256 checksum
How to use checksums
c642a4612ea190908a4e9ab86ae750c229ae4aa63a6e6755ff6665d52942ef22
BLAKE2b-256 checksum
How to use checksums
038ac703dbd8ae35b33322a626d49146626f1af6090c213d66be08d9a8152ba6
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.14

Release files / pygeodiff-2.3.1-cp311-cp311-manylinux_2_28_x86_64.whl

Download URL pygeodiff-2.3.1-cp311-cp311-manylinux_2_28_x86_64.whl
Size 901.0 kB
Tags CPython 3.11 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
631d34306c1f7544d9a92ae80cbc8a145c722ad5c048825010f965f98a12071a
BLAKE2b-256 checksum
How to use checksums
7c6c1922d9e46c69baec99399e366b61bc0798bf2c30ba277f3613bbe06088c7
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.14

Release files / pygeodiff-2.3.1-cp311-cp311-macosx_14_0_arm64.whl

Download URL pygeodiff-2.3.1-cp311-cp311-macosx_14_0_arm64.whl
Size 1.1 MB
Tags CPython 3.11 macOS 14.0+ ARM64
SHA-256 checksum
How to use checksums
7e730920fa1f66cefd2aa58ae0db210b9ce721222a860935ce367864b5b8cc70
BLAKE2b-256 checksum
How to use checksums
5a521d1a3473dd7b008eedcfcbba6dc64ea88975555c574419fd641f05d69923
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.14

Release files / pygeodiff-2.3.1-cp311-cp311-macosx_10_9_x86_64.whl

Download URL pygeodiff-2.3.1-cp311-cp311-macosx_10_9_x86_64.whl
Size 1.2 MB
Tags CPython 3.11 macOS 10.9+ x86-64
SHA-256 checksum
How to use checksums
3215412491f4c12aefe6c2b9725190edc07a0f8ff27e783616ced0f4f9b051ed
BLAKE2b-256 checksum
How to use checksums
b4e50b794b870f9a91c2d2494149c3a746da9603f69063f16cd6fe31ad99b080
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.14

Release files / pygeodiff-2.3.1-cp310-cp310-win_amd64.whl

Download URL pygeodiff-2.3.1-cp310-cp310-win_amd64.whl
Size 1.1 MB
Tags CPython 3.10 Windows x86-64
SHA-256 checksum
How to use checksums
9fc2cac199d462c09867a4d4cf57c2ef7dfb038fc7f11d2e56a29e61677e0c29
BLAKE2b-256 checksum
How to use checksums
b31c19921513428966b200fe695f9b8e53da847e2af73f835ee06c626dffb7a7
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.14

Release files / pygeodiff-2.3.1-cp310-cp310-musllinux_1_2_x86_64.whl

Download URL pygeodiff-2.3.1-cp310-cp310-musllinux_1_2_x86_64.whl
Size 2.2 MB
Tags CPython 3.10 Linux musl 1.2+ x86-64
SHA-256 checksum
How to use checksums
24df0da15ddf714a8b2e10e24c4812d1e8fd18d442f3207efbdd366c8f7242fe
BLAKE2b-256 checksum
How to use checksums
b8eec6bb6b4c95e8e80da441ce68cffb74af73a31604f0a6a27b8fd4b5c7ab51
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.14

Release files / pygeodiff-2.3.1-cp310-cp310-manylinux_2_28_x86_64.whl

Download URL pygeodiff-2.3.1-cp310-cp310-manylinux_2_28_x86_64.whl
Size 901.0 kB
Tags CPython 3.10 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
6d89e4c0013aa7098bf53b130862c3820aa0eac34856512a36e323831bb41c1b
BLAKE2b-256 checksum
How to use checksums
e3809b4e18c8c3ef6ea0dcae079ce55668ee1f2161c7adb078a061fa5ef54494
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.14

Release files / pygeodiff-2.3.1-cp310-cp310-macosx_14_0_arm64.whl

Download URL pygeodiff-2.3.1-cp310-cp310-macosx_14_0_arm64.whl
Size 1.1 MB
Tags CPython 3.10 macOS 14.0+ ARM64
SHA-256 checksum
How to use checksums
e9f50448dfce8c70677a85556b65095e5a1b7e85a0d0c3134a217bb805d743c8
BLAKE2b-256 checksum
How to use checksums
c628d7eb444edaf48b6d5e40f100228eda1a29d617b86c80e24d61e537f3ea5f
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.14

Release files / pygeodiff-2.3.1-cp310-cp310-macosx_10_9_x86_64.whl

Download URL pygeodiff-2.3.1-cp310-cp310-macosx_10_9_x86_64.whl
Size 1.2 MB
Tags CPython 3.10 macOS 10.9+ x86-64
SHA-256 checksum
How to use checksums
092bdb7e70348ad71ad539298a7c64926d58626be717a89c5fc99992f614a0b2
BLAKE2b-256 checksum
How to use checksums
f03df00df36cca24707a16f03f5c90b80a9965331ebee5a8f367afa5a8b72e12
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.14

Release files / pygeodiff-2.3.1-cp39-cp39-win_amd64.whl

Download URL pygeodiff-2.3.1-cp39-cp39-win_amd64.whl
Size 1.1 MB
Tags CPython 3.9 Windows x86-64
SHA-256 checksum
How to use checksums
461377662265030f01dbb609aad8d5aa44d3ebbadf8c4ee6ff75d02e4121b65e
BLAKE2b-256 checksum
How to use checksums
e83b6cabe02db181824e8a5eb1c9fcf290825cc0ac8a55cba3c942563365ba55
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.14

Release files / pygeodiff-2.3.1-cp39-cp39-musllinux_1_2_x86_64.whl

Download URL pygeodiff-2.3.1-cp39-cp39-musllinux_1_2_x86_64.whl
Size 2.2 MB
Tags CPython 3.9 Linux musl 1.2+ x86-64
SHA-256 checksum
How to use checksums
2c754d65b177fd75c39b76c3fecfc6b5b7cb2b8edd95256fd70975fcc1c9e7f8
BLAKE2b-256 checksum
How to use checksums
3ab14fa39a0d4b3b74f8445337c79ed318a3c411a55e33c307b6a447e21b4ff8
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.14

Release files / pygeodiff-2.3.1-cp39-cp39-manylinux_2_28_x86_64.whl

Download URL pygeodiff-2.3.1-cp39-cp39-manylinux_2_28_x86_64.whl
Size 901.0 kB
Tags CPython 3.9 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
6dec214370af41ee30ec88fd76887e175204c64c893d45965c95b88618d8d3c5
BLAKE2b-256 checksum
How to use checksums
131a642215561a79de821f2326e362a9d5ded9de350875975bac7ed81dbfa19c
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.14

Release files / pygeodiff-2.3.1-cp39-cp39-macosx_14_0_arm64.whl

Download URL pygeodiff-2.3.1-cp39-cp39-macosx_14_0_arm64.whl
Size 1.1 MB
Tags CPython 3.9 macOS 14.0+ ARM64
SHA-256 checksum
How to use checksums
023932a4bf0bda5abab98bebd0b985dec92029889560ba09166f7b733c4a75d5
BLAKE2b-256 checksum
How to use checksums
710cb2105a2b02ab8d7be9b7ebdb06544dd9ce4504927234cd39127bdb22eb3c
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.14

Release files / pygeodiff-2.3.1-cp39-cp39-macosx_10_9_x86_64.whl

Download URL pygeodiff-2.3.1-cp39-cp39-macosx_10_9_x86_64.whl
Size 1.2 MB
Tags CPython 3.9 macOS 10.9+ x86-64
SHA-256 checksum
How to use checksums
46869acbf7ba60fe670a6afefdc7f88cc3d2bf2d256f7f3dac23fea69bc6970d
BLAKE2b-256 checksum
How to use checksums
9f53b71c9b3c5ab9df29db30fc79f2bde74fb8b8b3c25d8f71609ee1d2a05262
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.14

Release files / pygeodiff-2.3.1-cp38-cp38-win_amd64.whl

Download URL pygeodiff-2.3.1-cp38-cp38-win_amd64.whl
Size 1.2 MB
Tags CPython 3.8 Windows x86-64
SHA-256 checksum
How to use checksums
998951c9f17328a158fe4afc6ceb664506e7cc144c8b984d9c9d8c7032ae8300
BLAKE2b-256 checksum
How to use checksums
cdf6651b6712ddd32247f2b8c5b93aff4e351d502c2be136413b93598f669f4d
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.14

Release files / pygeodiff-2.3.1-cp38-cp38-musllinux_1_2_x86_64.whl

Download URL pygeodiff-2.3.1-cp38-cp38-musllinux_1_2_x86_64.whl
Size 2.2 MB
Tags CPython 3.8 Linux musl 1.2+ x86-64
SHA-256 checksum
How to use checksums
8706533ee47d44fed0e404634464fc3f193395617b3b8670950117148b42e02b
BLAKE2b-256 checksum
How to use checksums
6864a80c793a3ebe2110aff20fed72d3696039db3eee88ff2a15fda606e56ec1
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.14

Release files / pygeodiff-2.3.1-cp38-cp38-manylinux_2_28_x86_64.whl

Download URL pygeodiff-2.3.1-cp38-cp38-manylinux_2_28_x86_64.whl
Size 901.0 kB
Tags CPython 3.8 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
bab13b35426df50adfd8288b55287356d1c7194ea94e6b1485418373a9542d6f
BLAKE2b-256 checksum
How to use checksums
b7c419ba1fb7c6243400a202b5c825fac2b104c3a57b1aa33db524a15f61f12a
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.14

Release files / pygeodiff-2.3.1-cp38-cp38-macosx_14_0_arm64.whl

Download URL pygeodiff-2.3.1-cp38-cp38-macosx_14_0_arm64.whl
Size 1.1 MB
Tags CPython 3.8 macOS 14.0+ ARM64
SHA-256 checksum
How to use checksums
24029551094ed55df0c0d4506a8b552d20133b0189c070a558398a284481f95d
BLAKE2b-256 checksum
How to use checksums
8ca8ac157ef505994de5d3f3c0148b1b02147499d1e1b4733919f9c51bd8c25b
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.14

Release files / pygeodiff-2.3.1-cp38-cp38-macosx_10_9_x86_64.whl

Download URL pygeodiff-2.3.1-cp38-cp38-macosx_10_9_x86_64.whl
Size 1.2 MB
Tags CPython 3.8 macOS 10.9+ x86-64
SHA-256 checksum
How to use checksums
de6a6755665623da0839043e76ece72b5af4ba45784bf73816100e2fe62f6206
BLAKE2b-256 checksum
How to use checksums
2a95d0e548922f32adbaa535a0926d44af9c315d1dfab748cdde774e3dc411ef
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.14

Release history Release notifications | RSS feed

This release

2.3.1 This release

41 release files

2.1.2

49 release files

2.1.1

49 release files

2.1.0

49 release files

2.0.4

74 release files

2.0.3

12 release files

2.0.0

41 release files

1.0.5

29 release files

1.0.4

29 release files

1.0.3

31 release files

1.0.2

31 release files

0.8.8

11 release files

0.8.7

11 release files

0.8.6

11 release files

0.8.5

11 release files

0.8.4

11 release files

0.8.3

9 release files

0.8.0

10 release files

0.7.7

10 release files

0.7.6

10 release files

0.7.5

10 release files

0.7.4

10 release files

0.7.3

10 release files

0.7.2

10 release files

0.7.1

10 release files

0.7.0

10 release files

0.6.4

12 release files

0.6.1

8 release files

0.6.0

1 release file

0.5.1

1 release file

0.5.0

1 release file

0.4.0

1 release file

0.3.0

1 release file

0.2.7

1 release file

0.2.6

1 release file

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page