$npx skillfedfor your agent

shapely-polyskel

Implementation of the straight skeleton algorithm as described by Felkel and Obdržálek in their 1998 conference paper Straight skeleton implementation.

With conditionsPyPI GISReleased Jan 202573.6K downloads / mocopyleft licensePure Python

Decision gist · record as of 2026-08-14

pure-Python wheel — shapely_polyskel-0.1.2-py3-none-any.whl
v0.1.2 · released 2025-01-05 · Python >=3.10 · 2 runtime deps: euclid3, shapely

Yes, if you need straight skeleton computation for real-world geometric problems like floor plans or building contours and can tolerate the algorithm's known limitations. No, if you require a modern, fully correct implementation—the author recommends Stefan Huber's research for that. The low install friction and lack of security issues make it safe to try, but verify the algorithm's behavior on your specific inputs first.AI-flagged interpretation of the facts on this page — verify before relying

Before you install

  • Requires Python 3.10 or later.
  • Low friction; pure Python wheel with only two runtime dependencies (euclid3 and shapely).
  • Maintenance is aging—last release was 586 days ago and the repository has minimal activity (3 stars), though it remains unarchived and the implementation is acknowledged as dated and imperfect for certain inputs.

License · maintenance · safety

copyleft license (copyleft) — Licensed under LGPLv3 (copyleft). You may use and modify the package freely, but derivative works and combined distributions must also be licensed under compatible terms and include source code availability.

last release 2025-01-05 (586 days) · last repo commit 2025-10-09 · 3 stars

0 known vulnerabilities (OSV.dev, 2026-08-14) · 73,570 downloads/mo, #14,975 on PyPI

Verify before relying

from shapely_polyskel import skeletonize

rectangle = [(40, 40), (40, 310), (520, 310), (520, 40)]
skeleton = skeletonize(polygon=rectangle)
  • Whether the implementation's known limitations (acknowledged as 'a bit crap' and incorrect for certain polygons) affect your specific use case.
  • Performance characteristics and scalability for large or complex polygons.
Same gist for agents: .md · .json

What it is and what it does

shapely-polyskel implements the straight skeleton algorithm, a geometric technique that computes a medial axis—a set of line segments representing the 'skeleton' of a polygon. It is a fork of an earlier implementation and is based on the 1998 Felkel and Obdržálek algorithm. The package works with shapely Polygon objects and accepts polygons with holes, returning skeleton edges, source points, ridges, and sinks.

The algorithm is dated and the implementation does not attempt to fix known correctness issues; it works reasonably well for real-world inputs like country contours and floor plans but may fail on certain edge cases. It depends on shapely for geometry representation and euclid3 for vector math. The package is in beta status with low install friction, though maintenance is aging.

Use it for

  • Generate roof structures from building footprints or floor plans.
  • Compute medial axes for polygon simplification or offset operations.
  • Analyze country or region contours to extract skeleton features.
  • Create layout networks or centerline representations from polygonal shapes.

Worth the install?

AI-flagged interpretation of the facts on this page. Verify before relying on it.

With conditions

Yes, if you need straight skeleton computation for real-world geometric problems like floor plans or building contours and can tolerate the algorithm's known limitations.

No, if you require a modern, fully correct implementation—the author recommends Stefan Huber's research for that. The low install friction and lack of security issues make it safe to try, but verify the algorithm's behavior on your specific inputs first.

Install

shapely-polyskel on PyPI

Before you install

Low friction; pure Python wheel with only two runtime dependencies (euclid3 and shapely). Maintenance is aging—last release was 586 days ago and the repository has minimal activity (3 stars), though it remains unarchived and the implementation is acknowledged as dated and imperfect for certain inputs.

Requires Python 3.10 or later.

License in practice

Licensed under LGPLv3 (copyleft). You may use and modify the package freely, but derivative works and combined distributions must also be licensed under compatible terms and include source code availability.

Quickstart

from shapely_polyskel import skeletonize

rectangle = [(40, 40), (40, 310), (520, 310), (520, 40)]
skeleton = skeletonize(polygon=rectangle)

Verify before relying

  • Whether the implementation's known limitations (acknowledged as 'a bit crap' and incorrect for certain polygons) affect your specific use case.
  • Performance characteristics and scalability for large or complex polygons.

Package facts

Licensecopyleft license copyleft
Python supportSupports the current Python release >=3.10
Install frictionLow. Pure-Python wheel
Runtime dependencies
2 packages
euclid3shapely
MaintenanceAging 586 days since the last release
Last repo commit
First released
Downloads73,570 / month, #14,975 on PyPI 30-day window, as of 2026-08-14
Known vulnerabilitiesNone known OSV.dev, checked 2026-08-14
Classifiers
Development Status :: 4 - BetaIntended Audience :: DevelopersIntended Audience :: Science/ResearchLicense :: OSI Approved :: GNU Lesser General Public License v3 (LGPLv3)Operating System :: MacOSOperating System :: Microsoft :: WindowsOperating System :: UnixProgramming Language :: Python :: 3Programming Language :: Python :: 3.10Programming Language :: Python :: 3.11Programming Language :: Python :: 3.12Topic :: Scientific/Engineering :: GIS

Evidence: shapely_polyskel-0.1.2-py3-none-any.whl

Tags

Capabilities
straight skeleton algorithmpolygon medial axisgeometric skeleton computationfloor plan analysispolygon offset and thinning
Topics
computational-geometrypolygon-processing
PyPI keywords
shapelygeometrypolygonstraight skeleton

Let your AI agent find packages like this

Example. Real query, live index.

You found this page by searching. An agent finds it by wishing: SkillFed indexes 14,416 PyPI packages by what they can do, searchable in plain language.

wish › “straight skeleton algorithm”

  • shapely-polyskelComputes the straight skeleton of a polygon, a geometric medial axis…
  • skanAnalyzes skeleton (thin object) images to extract and characterize…
  • sphinx-basic-ngProvides a modern, minimal Sphinx theme skeleton for building custom…

Give your agent the search over MCP, or paste the wish link into any chat.

More GIS packages

shapely Worth it
PyPI · GIS · released Sep 2025

Shapely provides Python tools for creating, manipulating, and analyzing 2D geometric objects (points, lines, polygons) using the GEOS library, with both scalar and vectorized NumPy-based operations.

BSD-3-Clausecompiled wheel · 3.10+
85.8Mdownloads / mo
pyproj Unrated
PyPI · Scientific/Engineering · released Aug 2025

pyproj provides a Python interface to PROJ, enabling cartographic projections and coordinate system transformations for geospatial applications.

MITcompiled wheel · 3.11+
28.0Mdownloads / mo
geopandas Worth it
PyPI · GIS · released Jun 2026

GeoPandas extends pandas DataFrames to handle geographic data, combining pandas operations with shapely geometry and spatial analysis capabilities that would otherwise require a spatial database.

Install it if you work with geographic data in Python and want to avoid setting up a spatial database or learning a separate GIS tool.

BSD-3-Clausepure Python · 3.10+
24.8Mdownloads / mo
geopy Worth it
PyPI · Python Modules · released Jul 2026

geopy is a Python client for geocoding and distance calculation that converts addresses to coordinates and vice versa using multiple web-based geocoding services, and computes geodesic and great-circle distances between geographic points.

Install it if you need geocoding or distance calculations in your application.

MITpure Python · 3.8+
19.0Mdownloads / mo
pyogrio Worth it
PyPI · GIS · released Jun 2026

Pyogrio provides fast, bulk-oriented read and write access to vector spatial data formats (Shapefile, GeoPackage, GeoJSON, etc.) via GDAL/OGR bindings, typically for use with GeoPandas GeoDataFrames.

MITcompiled wheel · 3.10+
17.2Mdownloads / mo
h3 Worth it
PyPI · GIS · released May 2026

h3 provides Python bindings to Uber's H3 geospatial indexing library, converting geographic coordinates into hierarchical hexagonal grid cells and performing spatial operations on them.

Apache-2.0compiled wheel · 3.10+
12.1Mdownloads / mo

See also descartes · pyclipper · mapbox-earcut · skan · odc-geo · reproj · quadrilateral-fitter · squarify