Skip to main content

Validate planar GIS data with 24 typed constraints powered by 38 native Rust rules.

uv add 'topology-checker[geopandas]'
import geopandas as gpd
from topology_checker import Rule, Topology

roads_gdf = gpd.read_file("roads.gpkg")
topology = Topology(tolerance=0.001)
topology.add_rule(Rule.MUST_NOT_HAVE_DANGLES, roads_gdf)
buildings_gdf = gpd.read_file("buildings.gpkg")
topology.add_rule(Rule.MUST_NOT_OVERLAP, roads_gdf, other=buildings_gdf)
report = topology.validate()
errors = report.to_geodataframe()
from shapely.geometry import Point, box
from topology_checker import GeometryKind, Rule, Topology

topology = Topology()
points = topology.add_layer([Point(0.5, 0.5)], fids=[42], crs="EPSG:28992")
areas = topology.add_layer([box(0, 0, 1, 1)], name="parcels", crs="EPSG:28992")
topology.add_rule(Rule.MUST_BE_INSIDE, points, other=areas)
report = topology.validate()
print(report.is_valid, report.error_count, report.warnings)
print(report.to_dict())
print(topology.layer(points).name)
print(report.rules[0].resolved_rule.description)
empty_lines = topology.add_layer([], kind=GeometryKind.LINE)
topology.add_rule(Rule.MUST_NOT_HAVE_DANGLES, empty_lines)
from shapely.geometry import LineString
from topology_checker import explode_lines, merge_lines

lines = [LineString([(0, 0), (1, 0)]), LineString([(1, 0), (2, 0)])]
merged = merge_lines(lines, tolerance=0.001)
segments = explode_lines(merged)

Metadata

Release files for topology-checker 0.1.0

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

Source distribution (sdist)

Source distribution for topology-checker 0.1.0
File Size Uploaded
topology_checker-0.1.0.tar.gz 127.3 kB Details

Built distributions (wheels)

Table of built distributions (wheels) for topology-checker 0.1.0
File
topology_checker-0.1.0-cp310-abi3-win_amd64.whl CPython 3.10 abi3 Windows x86-64 Details
topology_checker-0.1.0-cp310-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl CPython 3.10 abi3 Linux glibc 2.17+ x86-64 Details
topology_checker-0.1.0-cp310-abi3-macosx_11_0_arm64.whl CPython 3.10 abi3 macOS 11.0+ ARM64 Details
topology_checker-0.1.0-cp310-abi3-macosx_10_12_x86_64.whl CPython 3.10 abi3 macOS 10.12+ x86-64 Details

Total release size: 4.4 MB

Release files / topology_checker-0.1.0.tar.gz

Download URL topology_checker-0.1.0.tar.gz
Size 127.3 kB
Tags Source
SHA-256 checksum
How to use checksums
1b0b95ce6e8031b967ab48c06e69c10d9401056f2589a78c19b23f5634df9902
BLAKE2b-256 checksum
How to use checksums
45d018bd0bd828616e7411337014e88454c1df7ff310541b4ffaab464739580e
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 11, 2026.

Transparency log

Release files / topology_checker-0.1.0-cp310-abi3-win_amd64.whl

Download URL topology_checker-0.1.0-cp310-abi3-win_amd64.whl
Size 936.4 kB
Tags CPython 3.10 Windows x86-64 abi3
SHA-256 checksum
How to use checksums
7c96fa153a00272275a3af0b6918f5c8fa1f95a2c0707478b52fd5f422f974ac
BLAKE2b-256 checksum
How to use checksums
099786e780a654e60942440c577cf7fa675e737868ea0f7b39c29082f24d2cf4
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 11, 2026.

Transparency log

Release files / topology_checker-0.1.0-cp310-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl

Download URL topology_checker-0.1.0-cp310-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Size 1.2 MB
Tags CPython 3.10 Linux glibc 2.17+ x86-64 abi3
SHA-256 checksum
How to use checksums
78ff1b13ba87a56eabeb84a80307c440b2f951d2313763bc1f0ad8f3daae7e8c
BLAKE2b-256 checksum
How to use checksums
016fa26e5b4938dc077ff2829d4112efc784dbf909a3faade089f83693aa4a4f
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 11, 2026.

Transparency log

Release files / topology_checker-0.1.0-cp310-abi3-macosx_11_0_arm64.whl

Download URL topology_checker-0.1.0-cp310-abi3-macosx_11_0_arm64.whl
Size 1.0 MB
Tags CPython 3.10 abi3 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
00ea07434a03de228ef87299b361c2b4de183e0bb03803bad5519e47a1cf111d
BLAKE2b-256 checksum
How to use checksums
be7f024e3ceeed17575a9a087eae1287ddfd93a1c06790419f36292c03d57a67
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 11, 2026.

Transparency log

Release files / topology_checker-0.1.0-cp310-abi3-macosx_10_12_x86_64.whl

Download URL topology_checker-0.1.0-cp310-abi3-macosx_10_12_x86_64.whl
Size 1.1 MB
Tags CPython 3.10 abi3 macOS 10.12+ x86-64
SHA-256 checksum
How to use checksums
31872cef51fba179835150e5a3cdf23cf5f2709c290e1c24f8456037e9204002
BLAKE2b-256 checksum
How to use checksums
9d7ce2997c0f6031fc063c4c8f8083657a7afe43f080727a29fd04256d27f1fd
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 11, 2026.

Transparency log

Release history Release notifications | RSS feed

This release

0.1.0 This release

5 release files

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