Skip to main content

A library to compute the straight skeleton of a shape.

Project description

proj-polyskel

A packaged and maintained version of polyskel for use in Projected projects.

Credits

proj-polyskel is a redistributed and repackaged version of the polyskel library by Ármin Scipiades (@Bottfy), which is a Python implementation of the straight skeleton algorithm as described by Felkel and Obdržálek in their 1998 conference paper "Straight skeleton implementation."

Key differences from the original:

  • Packaged for PyPI distribution with modern Python packaging (pyproject.toml)
  • Removed test files and development artifacts
  • Added proper dependency management
  • Maintained for compatibility with Projected toolchain

Installation

pip install proj-polyskel

Quick start

Basic Example

from proj_polyskel import skeletonize

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

Polygon with holes

from proj_polyskel import skeletonize

rectangle = [(40, 40), (40, 310), (520, 310), (520, 40)]
holes = [[(100, 100), (200, 100), (200, 150), (100, 150)]]
skeleton = skeletonize(polygon=rectangle, holes=holes)

Support

For issues related to this package, please open an issue on this repository. For questions about the original polyskel implementation, please refer to the original repository.

License

This package contains code from the original polyskel library by Ármin Scipiades, licensed under LGPL v3. Since we are redistributing the original LGPL source code, this entire package is licensed under LGPL v3 (see LICENSE file). Packaging and maintenance by D3Companion GmbH.

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

proj_polyskel-0.1.0.tar.gz (9.6 kB view details)

Uploaded Source

Built Distribution

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

proj_polyskel-0.1.0-py3-none-any.whl (9.9 kB view details)

Uploaded Python 3

File details

Details for the file proj_polyskel-0.1.0.tar.gz.

File metadata

  • Download URL: proj_polyskel-0.1.0.tar.gz
  • Upload date:
  • Size: 9.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.10

File hashes

Hashes for proj_polyskel-0.1.0.tar.gz
Algorithm Hash digest
SHA256 b253b1030d7f460ce6beb8fb57fd72fe3a7ec69615ce75a90eeeb747eea51b1a
MD5 e95a466fae6ef11d4babd45f824fdd1a
BLAKE2b-256 73391175db71afba2c1f22c86473121cb3df061190b3b64126da77c5054eee0e

See more details on using hashes here.

File details

Details for the file proj_polyskel-0.1.0-py3-none-any.whl.

File metadata

  • Download URL: proj_polyskel-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 9.9 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.10

File hashes

Hashes for proj_polyskel-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 61fcb882763d296f906c3431c410fe2c8bc1eace3377e3565a68faeebb50ca02
MD5 4d9c5de3c43a74c5c8688a2f9d1cee90
BLAKE2b-256 e16376b8d7462a5172f63ccd1611ef2f34b15f9e1e3016351fcc0cfde6d074c6

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