Skip to main content

Python wrapper around GeoDiff library

Project description

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 chat
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

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

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

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')

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

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

pygeodiff-2.3.0.tar.gz (2.5 MB view details)

Uploaded Source

Built Distributions

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

pygeodiff-2.3.0-cp314-cp314t-win_amd64.whl (1.1 MB view details)

Uploaded CPython 3.14tWindows x86-64

pygeodiff-2.3.0-cp314-cp314t-musllinux_1_2_x86_64.whl (2.2 MB view details)

Uploaded CPython 3.14tmusllinux: musl 1.2+ x86-64

pygeodiff-2.3.0-cp314-cp314t-manylinux_2_28_x86_64.whl (900.7 kB view details)

Uploaded CPython 3.14tmanylinux: glibc 2.28+ x86-64

pygeodiff-2.3.0-cp314-cp314t-macosx_14_0_arm64.whl (1.1 MB view details)

Uploaded CPython 3.14tmacOS 14.0+ ARM64

pygeodiff-2.3.0-cp314-cp314t-macosx_10_15_x86_64.whl (1.2 MB view details)

Uploaded CPython 3.14tmacOS 10.15+ x86-64

pygeodiff-2.3.0-cp314-cp314-win_amd64.whl (1.1 MB view details)

Uploaded CPython 3.14Windows x86-64

pygeodiff-2.3.0-cp314-cp314-musllinux_1_2_x86_64.whl (2.2 MB view details)

Uploaded CPython 3.14musllinux: musl 1.2+ x86-64

pygeodiff-2.3.0-cp314-cp314-manylinux_2_28_x86_64.whl (900.7 kB view details)

Uploaded CPython 3.14manylinux: glibc 2.28+ x86-64

pygeodiff-2.3.0-cp314-cp314-macosx_14_0_arm64.whl (1.1 MB view details)

Uploaded CPython 3.14macOS 14.0+ ARM64

pygeodiff-2.3.0-cp314-cp314-macosx_10_15_x86_64.whl (1.2 MB view details)

Uploaded CPython 3.14macOS 10.15+ x86-64

pygeodiff-2.3.0-cp313-cp313-win_amd64.whl (1.1 MB view details)

Uploaded CPython 3.13Windows x86-64

pygeodiff-2.3.0-cp313-cp313-musllinux_1_2_x86_64.whl (2.2 MB view details)

Uploaded CPython 3.13musllinux: musl 1.2+ x86-64

pygeodiff-2.3.0-cp313-cp313-manylinux_2_28_x86_64.whl (900.7 kB view details)

Uploaded CPython 3.13manylinux: glibc 2.28+ x86-64

pygeodiff-2.3.0-cp313-cp313-macosx_14_0_arm64.whl (1.1 MB view details)

Uploaded CPython 3.13macOS 14.0+ ARM64

pygeodiff-2.3.0-cp313-cp313-macosx_10_13_x86_64.whl (1.2 MB view details)

Uploaded CPython 3.13macOS 10.13+ x86-64

pygeodiff-2.3.0-cp312-cp312-win_amd64.whl (1.1 MB view details)

Uploaded CPython 3.12Windows x86-64

pygeodiff-2.3.0-cp312-cp312-musllinux_1_2_x86_64.whl (2.2 MB view details)

Uploaded CPython 3.12musllinux: musl 1.2+ x86-64

pygeodiff-2.3.0-cp312-cp312-manylinux_2_28_x86_64.whl (900.7 kB view details)

Uploaded CPython 3.12manylinux: glibc 2.28+ x86-64

pygeodiff-2.3.0-cp312-cp312-macosx_14_0_arm64.whl (1.1 MB view details)

Uploaded CPython 3.12macOS 14.0+ ARM64

pygeodiff-2.3.0-cp312-cp312-macosx_10_13_x86_64.whl (1.2 MB view details)

Uploaded CPython 3.12macOS 10.13+ x86-64

pygeodiff-2.3.0-cp311-cp311-win_amd64.whl (1.1 MB view details)

Uploaded CPython 3.11Windows x86-64

pygeodiff-2.3.0-cp311-cp311-musllinux_1_2_x86_64.whl (2.2 MB view details)

Uploaded CPython 3.11musllinux: musl 1.2+ x86-64

pygeodiff-2.3.0-cp311-cp311-manylinux_2_28_x86_64.whl (900.7 kB view details)

Uploaded CPython 3.11manylinux: glibc 2.28+ x86-64

pygeodiff-2.3.0-cp311-cp311-macosx_14_0_arm64.whl (1.1 MB view details)

Uploaded CPython 3.11macOS 14.0+ ARM64

pygeodiff-2.3.0-cp311-cp311-macosx_10_9_x86_64.whl (1.2 MB view details)

Uploaded CPython 3.11macOS 10.9+ x86-64

pygeodiff-2.3.0-cp310-cp310-win_amd64.whl (1.1 MB view details)

Uploaded CPython 3.10Windows x86-64

pygeodiff-2.3.0-cp310-cp310-musllinux_1_2_x86_64.whl (2.2 MB view details)

Uploaded CPython 3.10musllinux: musl 1.2+ x86-64

pygeodiff-2.3.0-cp310-cp310-manylinux_2_28_x86_64.whl (900.7 kB view details)

Uploaded CPython 3.10manylinux: glibc 2.28+ x86-64

pygeodiff-2.3.0-cp310-cp310-macosx_14_0_arm64.whl (1.1 MB view details)

Uploaded CPython 3.10macOS 14.0+ ARM64

pygeodiff-2.3.0-cp310-cp310-macosx_10_9_x86_64.whl (1.2 MB view details)

Uploaded CPython 3.10macOS 10.9+ x86-64

pygeodiff-2.3.0-cp39-cp39-win_amd64.whl (1.1 MB view details)

Uploaded CPython 3.9Windows x86-64

pygeodiff-2.3.0-cp39-cp39-musllinux_1_2_x86_64.whl (2.2 MB view details)

Uploaded CPython 3.9musllinux: musl 1.2+ x86-64

pygeodiff-2.3.0-cp39-cp39-manylinux_2_28_x86_64.whl (900.7 kB view details)

Uploaded CPython 3.9manylinux: glibc 2.28+ x86-64

pygeodiff-2.3.0-cp39-cp39-macosx_14_0_arm64.whl (1.1 MB view details)

Uploaded CPython 3.9macOS 14.0+ ARM64

pygeodiff-2.3.0-cp39-cp39-macosx_10_9_x86_64.whl (1.2 MB view details)

Uploaded CPython 3.9macOS 10.9+ x86-64

pygeodiff-2.3.0-cp38-cp38-win_amd64.whl (1.2 MB view details)

Uploaded CPython 3.8Windows x86-64

pygeodiff-2.3.0-cp38-cp38-musllinux_1_2_x86_64.whl (2.2 MB view details)

Uploaded CPython 3.8musllinux: musl 1.2+ x86-64

pygeodiff-2.3.0-cp38-cp38-manylinux_2_28_x86_64.whl (900.7 kB view details)

Uploaded CPython 3.8manylinux: glibc 2.28+ x86-64

pygeodiff-2.3.0-cp38-cp38-macosx_14_0_arm64.whl (1.1 MB view details)

Uploaded CPython 3.8macOS 14.0+ ARM64

pygeodiff-2.3.0-cp38-cp38-macosx_10_9_x86_64.whl (1.2 MB view details)

Uploaded CPython 3.8macOS 10.9+ x86-64

File details

Details for the file pygeodiff-2.3.0.tar.gz.

File metadata

  • Download URL: pygeodiff-2.3.0.tar.gz
  • Upload date:
  • Size: 2.5 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for pygeodiff-2.3.0.tar.gz
Algorithm Hash digest
SHA256 78949bf8f249446d3ff036c26e9b40f8fab67751b97b0d153a73f51d778eadf3
MD5 a07532657dbb1a254e087cb4edfb8a2c
BLAKE2b-256 cf4d625c6cdf47e31024aa267f007449ab2f3b137b01632df21175eb75a4511e

See more details on using hashes here.

File details

Details for the file pygeodiff-2.3.0-cp314-cp314t-win_amd64.whl.

File metadata

  • Download URL: pygeodiff-2.3.0-cp314-cp314t-win_amd64.whl
  • Upload date:
  • Size: 1.1 MB
  • Tags: CPython 3.14t, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for pygeodiff-2.3.0-cp314-cp314t-win_amd64.whl
Algorithm Hash digest
SHA256 2139d3d2ae15f02bdc106a6365961a1ac083a8bcaae3deb3d9464bec6fc3713c
MD5 37efda070624bc53c87673b7f8a4b92c
BLAKE2b-256 60e7e8ac1ccbabd786c9fc1affd683361c8ddd0aa741bb2c3c424b5c470c6acf

See more details on using hashes here.

File details

Details for the file pygeodiff-2.3.0-cp314-cp314t-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for pygeodiff-2.3.0-cp314-cp314t-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 edf340e91f36e9e6b734ab8818deb7ba200ce572ff8960276b926fa6cf7448b2
MD5 5a1b87dd36d23bed816bc107a42a739d
BLAKE2b-256 4585c61c0a72aa281111061975e2c99c2387bfc70e73e911d8f4991d17df7707

See more details on using hashes here.

File details

Details for the file pygeodiff-2.3.0-cp314-cp314t-manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for pygeodiff-2.3.0-cp314-cp314t-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 f6182006fa671210a3398daf2bca9ee0e0653fe3ccfc191c1f4af40a691e7719
MD5 6fe040a4bd27099519eac91262d5bb73
BLAKE2b-256 221ff6062b597b569db6023ecc8d4a6dc30df5bfb8a335ce8367bd46876fd220

See more details on using hashes here.

File details

Details for the file pygeodiff-2.3.0-cp314-cp314t-macosx_14_0_arm64.whl.

File metadata

File hashes

Hashes for pygeodiff-2.3.0-cp314-cp314t-macosx_14_0_arm64.whl
Algorithm Hash digest
SHA256 282b77f2561925c41a846a926e3bbabf1b319ccf015f960c67ad1c2c0fd7960b
MD5 62c92474ee4621f8e3113cdfecb89a6c
BLAKE2b-256 a44d0fa79833127b413ddc74025df0daeb46ce3dfe2b2e422297dfbcdf1df63b

See more details on using hashes here.

File details

Details for the file pygeodiff-2.3.0-cp314-cp314t-macosx_10_15_x86_64.whl.

File metadata

File hashes

Hashes for pygeodiff-2.3.0-cp314-cp314t-macosx_10_15_x86_64.whl
Algorithm Hash digest
SHA256 33ab1fac43d725f9139ef80538259866b75bf2d0a14f594d64c7e74c322b2042
MD5 842f1d8c36249705505b4b284e25bbca
BLAKE2b-256 52de16a276b7c846e42894016e821b49c6bd7098931471e8477fb0bf12f28306

See more details on using hashes here.

File details

Details for the file pygeodiff-2.3.0-cp314-cp314-win_amd64.whl.

File metadata

  • Download URL: pygeodiff-2.3.0-cp314-cp314-win_amd64.whl
  • Upload date:
  • Size: 1.1 MB
  • Tags: CPython 3.14, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for pygeodiff-2.3.0-cp314-cp314-win_amd64.whl
Algorithm Hash digest
SHA256 7d71663d73aafe614b492b3387798c2c55899b391b43371b2005706225407e23
MD5 ac0460f3ae832dce076f2db4313da386
BLAKE2b-256 80c9831f3d3e806bfed5094c1f737d8fdfb036927126938f6dba446f56715bfd

See more details on using hashes here.

File details

Details for the file pygeodiff-2.3.0-cp314-cp314-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for pygeodiff-2.3.0-cp314-cp314-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 96638bb628ec56f54eea38d35891336a923e8476276ce1f7a146c3a75a370599
MD5 68e0823797f0c3d05a8d4af787628dc5
BLAKE2b-256 843c53746f874b975ed7e9141d3bae112c8ec98c24362f92203bf2163e3f5a09

See more details on using hashes here.

File details

Details for the file pygeodiff-2.3.0-cp314-cp314-manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for pygeodiff-2.3.0-cp314-cp314-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 e8425353670b50b6240e28010683390061c015127a0dc404deab4cabdad6ad42
MD5 2e3308340bb5b1c5e83ae30621a15f2f
BLAKE2b-256 e762029b302203764145a7e1e5b3a3b0427769b75494980c7d301a6b6bf259d7

See more details on using hashes here.

File details

Details for the file pygeodiff-2.3.0-cp314-cp314-macosx_14_0_arm64.whl.

File metadata

File hashes

Hashes for pygeodiff-2.3.0-cp314-cp314-macosx_14_0_arm64.whl
Algorithm Hash digest
SHA256 66f969e993a425f330461a9bf22fa8b6f2fa55093faeb529d9e568c4bc3bf211
MD5 8b419655a210494eceefe9a72bc8e6ba
BLAKE2b-256 0cab8d671003528bc16d4a585b8e533258e4cb924d813261db6f85e1c6cb7cb3

See more details on using hashes here.

File details

Details for the file pygeodiff-2.3.0-cp314-cp314-macosx_10_15_x86_64.whl.

File metadata

File hashes

Hashes for pygeodiff-2.3.0-cp314-cp314-macosx_10_15_x86_64.whl
Algorithm Hash digest
SHA256 57b0358ab67c32567bc944bbfe42f3445625398b30a51053d4f4dfe62b2f45ed
MD5 55ad3a61a816599afcbea7ab3d15721e
BLAKE2b-256 2d4f47f8974482b9f2b3f97caf57ddb50add24e0852f8b4c6a876a407bff8c03

See more details on using hashes here.

File details

Details for the file pygeodiff-2.3.0-cp313-cp313-win_amd64.whl.

File metadata

  • Download URL: pygeodiff-2.3.0-cp313-cp313-win_amd64.whl
  • Upload date:
  • Size: 1.1 MB
  • Tags: CPython 3.13, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for pygeodiff-2.3.0-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 ed75866d96a4a69dc25bef0d1fb0a92db6a79fa7d1a016215192f9bf4e1346b5
MD5 887b9715bcdf17929283ad9a38b35f45
BLAKE2b-256 cac33e12cfa1cc45bbec7c409c39d2aa43ee029de66bec41a15255bac49a1f14

See more details on using hashes here.

File details

Details for the file pygeodiff-2.3.0-cp313-cp313-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for pygeodiff-2.3.0-cp313-cp313-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 38c155d4605d1eab6bc98c50798b414554387a7cbf5c1dc235c7d0fc3d588b16
MD5 fdc25162a13926bf0a6f27dab9ef9d19
BLAKE2b-256 289219b8e3c95a8b03760594a0d1e52abe80d10cc6c3489585fd5ddf1b69f310

See more details on using hashes here.

File details

Details for the file pygeodiff-2.3.0-cp313-cp313-manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for pygeodiff-2.3.0-cp313-cp313-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 f17b2fb94ad0d01821a8f1ba8f28d1b879d51448ba529f784587bf3b882c94af
MD5 5a8d0b9ca00811478a5db009c8aa9503
BLAKE2b-256 475705ad0a680e82ac615b2553bc2fd43068ffa081e2cf93b5f8f4126422b31b

See more details on using hashes here.

File details

Details for the file pygeodiff-2.3.0-cp313-cp313-macosx_14_0_arm64.whl.

File metadata

File hashes

Hashes for pygeodiff-2.3.0-cp313-cp313-macosx_14_0_arm64.whl
Algorithm Hash digest
SHA256 2dcc683b30ee4cac0a6d9cabddc0d54f3412f7e41ff96417b59519a8e3967f6b
MD5 8b7194009cf5703ed1c04f4eb18aaaf2
BLAKE2b-256 1205ee36054f50f2da5c2c4ba2b5f99ffb4aa2df3a82db33f5bba86faace0ca5

See more details on using hashes here.

File details

Details for the file pygeodiff-2.3.0-cp313-cp313-macosx_10_13_x86_64.whl.

File metadata

File hashes

Hashes for pygeodiff-2.3.0-cp313-cp313-macosx_10_13_x86_64.whl
Algorithm Hash digest
SHA256 13b080867d37eed2b4521a9038bea4ad438b9a601b8eb9b3081c1408158dd408
MD5 6ab0bd8616b55a0bff44129d6d5d7795
BLAKE2b-256 672ed0f4e221723de6e70c7fe43bf9688175d30bfae5b6ff923e5cea5a72078f

See more details on using hashes here.

File details

Details for the file pygeodiff-2.3.0-cp312-cp312-win_amd64.whl.

File metadata

  • Download URL: pygeodiff-2.3.0-cp312-cp312-win_amd64.whl
  • Upload date:
  • Size: 1.1 MB
  • Tags: CPython 3.12, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for pygeodiff-2.3.0-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 a901fecef3baca26658e1dc794611b22cc25877697b43f4ee045734a418e13f1
MD5 dfbadeb73a0a5051ba89fa5147c02dd4
BLAKE2b-256 a2a70ef5e7c26446bc05eec525019b857b751f4acd73ae8369342e4f99915973

See more details on using hashes here.

File details

Details for the file pygeodiff-2.3.0-cp312-cp312-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for pygeodiff-2.3.0-cp312-cp312-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 22c50bd2dc051af34163cca804f8e9ee4dc8fcab12749f8b06a4da7c27c838c5
MD5 c676858ba52364ba5368170163415d5c
BLAKE2b-256 70a0dbd3ee6ee39770b998afe48d71638f5686ebc2efd32223d55e6ab056d6d2

See more details on using hashes here.

File details

Details for the file pygeodiff-2.3.0-cp312-cp312-manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for pygeodiff-2.3.0-cp312-cp312-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 006eca24cde6efa343788d4bbc18f317e6f5c2ea74178d0c0c641a45634a92e3
MD5 05dc272b52928843c18360913ae0dc89
BLAKE2b-256 7916bf469dbfb7ac8c8215d868486103cbff58d96c045b5e718989b35acea410

See more details on using hashes here.

File details

Details for the file pygeodiff-2.3.0-cp312-cp312-macosx_14_0_arm64.whl.

File metadata

File hashes

Hashes for pygeodiff-2.3.0-cp312-cp312-macosx_14_0_arm64.whl
Algorithm Hash digest
SHA256 3bfeaa68db3261ffc7ce3b08d121a4a77d9f059536513d68888be06bd2e488a0
MD5 7f7fe94d3ec71ab1173023d0de3a159d
BLAKE2b-256 de0313532d01557cc8ec802bd80fc8237fabbcefb2812ff4fa3a2baacbf0076e

See more details on using hashes here.

File details

Details for the file pygeodiff-2.3.0-cp312-cp312-macosx_10_13_x86_64.whl.

File metadata

File hashes

Hashes for pygeodiff-2.3.0-cp312-cp312-macosx_10_13_x86_64.whl
Algorithm Hash digest
SHA256 affa97272b1c5c350188f7a7f2faa25baf65713a532c1616e02a6c153a4d8ef4
MD5 be68b07e45fb8d9e53959206ecb06328
BLAKE2b-256 c8c19873d3577e1ca5ba1c65411edcfc2e14ddca88576580a30baf122f3d139e

See more details on using hashes here.

File details

Details for the file pygeodiff-2.3.0-cp311-cp311-win_amd64.whl.

File metadata

  • Download URL: pygeodiff-2.3.0-cp311-cp311-win_amd64.whl
  • Upload date:
  • Size: 1.1 MB
  • Tags: CPython 3.11, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for pygeodiff-2.3.0-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 a51872e24f5fa7db8b943dbd362642c64da8a347a2ffc8dc752e0d154273f726
MD5 9a30d231c6aa09b11382584ca42179aa
BLAKE2b-256 38925f19a5e3f25884d99971602323fe95b21c353fb266c85dddde44187687e5

See more details on using hashes here.

File details

Details for the file pygeodiff-2.3.0-cp311-cp311-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for pygeodiff-2.3.0-cp311-cp311-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 1ff9b9c8f7117b796f1e14e5f2b806769fdf5f83061339e10236d269bba9c308
MD5 b240f0449c8c8ef089495d85d74eaa80
BLAKE2b-256 ef5734a849590eccc3b65b1f15cc701f496d60689bdc4ea4ce0a7646b3f74d65

See more details on using hashes here.

File details

Details for the file pygeodiff-2.3.0-cp311-cp311-manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for pygeodiff-2.3.0-cp311-cp311-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 b3dcb201971ccd335a31d53b97400dd8c9c648f291c7cb9587db04b7c1765a7c
MD5 52ba7d03ee1c90b614dbd1a526835223
BLAKE2b-256 4ae5b5334b487fe1d997f2b7fa3576d20da48de12a26e4671892eeda4d8002f4

See more details on using hashes here.

File details

Details for the file pygeodiff-2.3.0-cp311-cp311-macosx_14_0_arm64.whl.

File metadata

File hashes

Hashes for pygeodiff-2.3.0-cp311-cp311-macosx_14_0_arm64.whl
Algorithm Hash digest
SHA256 bdcbbf88f75c13a660a6e9554a01609dd93781100bb999d2140143fe5216ea18
MD5 e221736fc47881d3175a21af8766fbdd
BLAKE2b-256 4b91f5a972d4b2a6817b12b1a761ca230abc73ef34fb0d71eae0fa97f02f960c

See more details on using hashes here.

File details

Details for the file pygeodiff-2.3.0-cp311-cp311-macosx_10_9_x86_64.whl.

File metadata

File hashes

Hashes for pygeodiff-2.3.0-cp311-cp311-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 1f4925e1f79a434c709b8ad192f9f5fb1ab55ce92d5a9b28a4a7d3aaf9a81696
MD5 a6ab26aaf46adb77b5c842dfddd20cad
BLAKE2b-256 3e086190e792c931f289c988a0645fdfe3ab80fab940ea8b4a4c63e110cdc935

See more details on using hashes here.

File details

Details for the file pygeodiff-2.3.0-cp310-cp310-win_amd64.whl.

File metadata

  • Download URL: pygeodiff-2.3.0-cp310-cp310-win_amd64.whl
  • Upload date:
  • Size: 1.1 MB
  • Tags: CPython 3.10, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for pygeodiff-2.3.0-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 7e9c1cb514bedc00135f703f3c5be7814d4454c8daaa767e79e59fb807f5380a
MD5 9248330f5aeb8ecdaeacd9d9458eb5e5
BLAKE2b-256 8bafe14eaacc3aedc3a3658a045a9c93340ac0e180bd1e2c29e1ddf8d40a9d33

See more details on using hashes here.

File details

Details for the file pygeodiff-2.3.0-cp310-cp310-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for pygeodiff-2.3.0-cp310-cp310-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 9fc0e23db7b5c0c1e464c657fdc7b2c6d4cd0c1ba993c5c3b56f278edbe9c714
MD5 4c58e6fa90c0582bfdeddd5b8012c9cc
BLAKE2b-256 103bf704f878325a114b41c3d851103fdb54f806b5246eee6c1f1d0b5be8b9d4

See more details on using hashes here.

File details

Details for the file pygeodiff-2.3.0-cp310-cp310-manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for pygeodiff-2.3.0-cp310-cp310-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 b067229a055e75134a0299b29c4bb2f56bf0c4600e255ed795580db3ed29bc49
MD5 5bea6762f9385b24d538c38ee5ff22d6
BLAKE2b-256 09a80d64b4686c0a3765af609f1bf4b25e6586224c430d26094248f2b37b9deb

See more details on using hashes here.

File details

Details for the file pygeodiff-2.3.0-cp310-cp310-macosx_14_0_arm64.whl.

File metadata

File hashes

Hashes for pygeodiff-2.3.0-cp310-cp310-macosx_14_0_arm64.whl
Algorithm Hash digest
SHA256 8dd69f95bfe1bbae080113e6fc136a3b8fb103deb4575b50f664151ef6b6c93c
MD5 0ebeebbeb69642d80a173fc911b5878d
BLAKE2b-256 f8923ddd51037fa75cc8991e34e890d62db34b84ebe99fa010cddab2f92e54e3

See more details on using hashes here.

File details

Details for the file pygeodiff-2.3.0-cp310-cp310-macosx_10_9_x86_64.whl.

File metadata

File hashes

Hashes for pygeodiff-2.3.0-cp310-cp310-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 76f22a35a5c290af89427f288526c5c7dec880bb8f6fd99ef9e54537c90a2968
MD5 c5c72b26d8d05ce1f6d7c1a9be28f2dc
BLAKE2b-256 ba8fb8707190a605be6fd4de4164702c46e42fb9244704d46c8ca3d17e43b55d

See more details on using hashes here.

File details

Details for the file pygeodiff-2.3.0-cp39-cp39-win_amd64.whl.

File metadata

  • Download URL: pygeodiff-2.3.0-cp39-cp39-win_amd64.whl
  • Upload date:
  • Size: 1.1 MB
  • Tags: CPython 3.9, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for pygeodiff-2.3.0-cp39-cp39-win_amd64.whl
Algorithm Hash digest
SHA256 11701d3e848b3cb8a274b6ba7740999cfc43381663f6b50007ae05d7dd52ee08
MD5 461f1330bc9427acf7d3ea0a6db67150
BLAKE2b-256 5d092329802883371799254db6410fe86c84bcf61a537a44505c912a703fd400

See more details on using hashes here.

File details

Details for the file pygeodiff-2.3.0-cp39-cp39-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for pygeodiff-2.3.0-cp39-cp39-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 c74f3e3bb70625432a07436134016eb8772f30f92091574bbf6b1914872da4b2
MD5 12365269115d85f4edc02874618adb36
BLAKE2b-256 b87f90171e201b9e56bb66ee864f28f7d36f648251ee361d8e9d67f402f8a87b

See more details on using hashes here.

File details

Details for the file pygeodiff-2.3.0-cp39-cp39-manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for pygeodiff-2.3.0-cp39-cp39-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 2ce18967f51573ce5faa7398cbd30e155c77f2e3d7f6b72f34d80e92bb8a26ce
MD5 0ec807d3dede2b7afc42532d0402b54b
BLAKE2b-256 a6ea2f97d97cf278d206788a5d0eedc5a1bcfcb494256b248c95b198d813203a

See more details on using hashes here.

File details

Details for the file pygeodiff-2.3.0-cp39-cp39-macosx_14_0_arm64.whl.

File metadata

File hashes

Hashes for pygeodiff-2.3.0-cp39-cp39-macosx_14_0_arm64.whl
Algorithm Hash digest
SHA256 8694507b31f7b9e6bbf369030046865348ad4bb1db0779830cbce450e72c9c6c
MD5 1a60964451c6c5cc23663a2a7b4338fa
BLAKE2b-256 2e43a516e58b94656bd6b99edf7fca1727f23063a85b2969e02f2f09aa08e894

See more details on using hashes here.

File details

Details for the file pygeodiff-2.3.0-cp39-cp39-macosx_10_9_x86_64.whl.

File metadata

File hashes

Hashes for pygeodiff-2.3.0-cp39-cp39-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 fba0018061714b1dfb66f0617f7d6427b94bcc6e6a2f478f964b84e7aea89c8c
MD5 94a453b49c40a5ca4ddac5c32fa1d5a1
BLAKE2b-256 fad79a31961451f09206acfdc69a9a49dcdad9ef3feaad6af353afcbdef6fe16

See more details on using hashes here.

File details

Details for the file pygeodiff-2.3.0-cp38-cp38-win_amd64.whl.

File metadata

  • Download URL: pygeodiff-2.3.0-cp38-cp38-win_amd64.whl
  • Upload date:
  • Size: 1.2 MB
  • Tags: CPython 3.8, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for pygeodiff-2.3.0-cp38-cp38-win_amd64.whl
Algorithm Hash digest
SHA256 38b1d501deca4a7ef3c15b0685add981eca124356163eecd6d43e4825c33fa0a
MD5 03fbb9057348de8db2a837bb692c1093
BLAKE2b-256 2aab3075017fce3674118e096894530700988ee82ad59b93b8d66ac09936de98

See more details on using hashes here.

File details

Details for the file pygeodiff-2.3.0-cp38-cp38-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for pygeodiff-2.3.0-cp38-cp38-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 99ba9efbec917f698f21ba1630f3bf1f8bd4ccd3a38a4e562da0efbf3c3af09a
MD5 6c8889b6854ae3a528cf39ea0376126b
BLAKE2b-256 0e872e90a15cb613ec26df15d38075dc7adfdb59737ee0f444ff9dde27d3bf66

See more details on using hashes here.

File details

Details for the file pygeodiff-2.3.0-cp38-cp38-manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for pygeodiff-2.3.0-cp38-cp38-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 c8d47103d56418261e81622cae9ccdb3eaf0670bc24e4ccb3ed9a06abee53c06
MD5 d628b5bcede20657dc89871700b2f2b4
BLAKE2b-256 17bdbdb4909940a8216a04b67b701b04253cc40f2fdd57d2fc64afc89f96e29c

See more details on using hashes here.

File details

Details for the file pygeodiff-2.3.0-cp38-cp38-macosx_14_0_arm64.whl.

File metadata

File hashes

Hashes for pygeodiff-2.3.0-cp38-cp38-macosx_14_0_arm64.whl
Algorithm Hash digest
SHA256 b6032ce8fe3cc3c7c002e672edc989dec3eb7bf610f46e98495a9d7cc054e78e
MD5 c021df838952a60cc8fc0eb6a369dd47
BLAKE2b-256 8eda18359587415f9f0e04391b3efe7f9d72207da586c7ce0cc4e8f511fcf3af

See more details on using hashes here.

File details

Details for the file pygeodiff-2.3.0-cp38-cp38-macosx_10_9_x86_64.whl.

File metadata

File hashes

Hashes for pygeodiff-2.3.0-cp38-cp38-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 bf821f1b1484e1412e87c0cb0f755556aeb80c2fb9794552f2b0042c3f032809
MD5 5ad00172925c0b5d07bf615a007c1d31
BLAKE2b-256 df6d462a55ebc9819f5a00c68187884a26957d96e063f2945f807cb928409bce

See more details on using hashes here.

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