Skip to main content

Cython wrapper for the C++ translation of the Angus Johnson's Clipper library (ver. 6.4.2)

Project description

About

https://badge.fury.io/py/pyclipper.svg https://github.com/fonttools/pyclipper/workflows/Build%20+%20Deploy/badge.svg

Pyclipper is a Cython wrapper exposing public functions and classes of the C++ translation of the Angus Johnson’s Clipper library (ver. 6.4.2).

Pyclipper releases were tested with Python 2.7 and 3.4 on Linux (Ubuntu 14.04, x64) and Windows (8.1, x64).

Source code is available on GitHub. The package is published on PyPI.

About Clipper

Clipper - an open source freeware library for clipping and offsetting lines and polygons.

The Clipper library performs line & polygon clipping - intersection, union, difference & exclusive-or, and line & polygon offsetting. The library is based on Vatti’s clipping algorithm.

Angus Johnson’s Clipper library

Install

Dependencies

Cython dependency is optional. Cpp sources generated with Cython are available in releases.

Note on using the setup.py:

setup.py operates in 2 modes that are based on the presence of the dev file in the root of the project.

  • When dev is present, Cython will be used to compile the .pyx sources. This is the development mode (as you get it in the git repository).

  • When dev is absent, C/C++ compiler will be used to compile the .cpp sources (that were prepared in in the development mode). This is the distribution mode (as you get it on PyPI).

This way the package can be used without or with an incompatible version of Cython.

The idea comes from Matt Shannon’s bandmat library.

From PyPI

Cython not required.

pip install pyclipper

From source

Cython required.

Clone the repository:

git clone git@github.com:fonttools/pyclipper.git

Install:

python setup.py install

After every modification of .pyx files compile with Cython:

python setup.py build_ext --inplace

Clippers’ preprocessor directives

Clipper can be compiled with the following preprocessor directives: use_int32, use_xyz, use_lines and use_deprecated. Among these the use_int32 and use_lines can be used with Pyclipper.

  • use_int32 - when enabled 32bit ints are used instead of 64bit ints. This improve performance but coordinate values are limited to the range +/- 46340. In Pyclipper this directive is disabled by default.

  • use_lines - enables line clipping. Adds a very minor cost to performance. In Pyclipper this directive is enabled by default (since version 0.9.2b0).

In case you would want to change these settings, clone this repository and change the define_macros collection (setup.py, pyclipper extension definition). Add a set like ('use_int32', 1) to enable the directive, or remove the set to disable it. After that you need to rebuild the package.

How to use

This wrapper library tries to follow naming conventions of the original library.

  • ClipperLib namespace is represented by the pyclipper module,

  • classes Clipper and ClipperOffset -> Pyclipper and PyclipperOffset,

  • when Clipper is overloading functions with different number of parameters or different types (eg. Clipper.Execute, one function fills a list of paths the other PolyTree) that becomes Pyclipper.Execute and Pyclipper.Execute2.

Basic clipping example (based on Angus Johnson’s Clipper library):

import pyclipper

subj = (
    ((180, 200), (260, 200), (260, 150), (180, 150)),
    ((215, 160), (230, 190), (200, 190))
)
clip = ((190, 210), (240, 210), (240, 130), (190, 130))

pc = pyclipper.Pyclipper()
pc.AddPath(clip, pyclipper.PT_CLIP, True)
pc.AddPaths(subj, pyclipper.PT_SUBJECT, True)

solution = pc.Execute(pyclipper.CT_INTERSECTION, pyclipper.PFT_EVENODD, pyclipper.PFT_EVENODD)

# solution (a list of paths): [[[240, 200], [190, 200], [190, 150], [240, 150]], [[200, 190], [230, 190], [215, 160]]]

Basic offset example:

import pyclipper

subj = ((180, 200), (260, 200), (260, 150), (180, 150))

pco = pyclipper.PyclipperOffset()
pco.AddPath(subj, pyclipper.JT_ROUND, pyclipper.ET_CLOSEDPOLYGON)

solution = pco.Execute(-7.0)

# solution (a list of paths): [[[253, 193], [187, 193], [187, 157], [253, 157]]]

The Clipper library uses integers instead of floating point values to preserve numerical robustness. If you need to scale coordinates of your polygons, this library provides helper functions scale_to_clipper() and scale_from_clipper() to achieve that.

Migrating from Pyclipper 0.9.3b0

In previous version of Pyclipper (0.9.3b0) polygons could be automatically scaled using the SCALING_FACTOR variable. This was removed in version 1.0.0 due to inexact conversions related to floating point operations. This way the library now provides the original numerical robustness of the base library.

The SCALING_FACTOR removal breaks backward compatibility. For an explanation and help with migration, see https://github.com/fonttools/pyclipper/wiki/Deprecating-SCALING_FACTOR.

Authors

  • The Clipper library is written by Angus Johnson,

  • This wrapper was initially written by Maxime Chalton,

  • Adaptions to make it work with version 5 written by Lukas Treyer,

  • Adaptions to make it work with version 6.2.1 and PyPI package written by Gregor Ratajc,

  • SCALING_FACTOR removal and additions to documentation by Michael Schwarz (@Feuermurmel),

  • Bug fix sympy.Zero is not a collection by Jamie Bull (@jamiebull1),

  • Travis CI and Appveyor CI integration for continuous builds of wheel packages by Cosimo Lupo (@anthrotype).

The package is maintained by Cosimo Lupo (@anthrotype).

License

  • Pyclipper is available under MIT license.

  • The core Clipper library is available under Boost Software License. Freeware for both open source and commercial applications.

Changelog

1.1.0

  • Updated embedded Clipper library to version 6.4.2.

1.0.6

  • Added support for Python 3.6.

1.0.3

  • added Travis CI and Appveyor CI to build wheel packages (thanks to @anthrotype)

1.0.2

  • bug fix: sympy.Zero recognized as a collection (thanks to @jamiebull1)

1.0.0

  • (breaks backwards compatibility) removes SCALING_FACTOR (thanks to @Feuermurmel)

0.9.3b0

  • Applied SCALING_FACTOR to the relevant function parameters and class properties

  • Refactored tests

0.9.2b1

  • bug fix: Fix setting of the PyPolyNode.IsHole property

0.9.2b0

  • enable preprocessor directive use_lines by default,

  • bug fix: PyPolyNode.Contour that is now one path and not a list of paths as it was previously.

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

pyclipper-1.3.0.post5.tar.gz (164.7 kB view details)

Uploaded Source

Built Distributions

pyclipper-1.3.0.post5-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (135.2 kB view details)

Uploaded PyPy manylinux: glibc 2.17+ x86-64

pyclipper-1.3.0.post5-pp38-pypy38_pp73-manylinux_2_12_x86_64.manylinux2010_x86_64.whl (138.0 kB view details)

Uploaded PyPy manylinux: glibc 2.12+ x86-64

pyclipper-1.3.0.post5-pp37-pypy37_pp73-manylinux_2_12_x86_64.manylinux2010_x86_64.whl (138.0 kB view details)

Uploaded PyPy manylinux: glibc 2.12+ x86-64

pyclipper-1.3.0.post5-cp312-cp312-win_amd64.whl (108.2 kB view details)

Uploaded CPython 3.12 Windows x86-64

pyclipper-1.3.0.post5-cp312-cp312-win32.whl (98.8 kB view details)

Uploaded CPython 3.12 Windows x86

pyclipper-1.3.0.post5-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (966.6 kB view details)

Uploaded CPython 3.12 manylinux: glibc 2.17+ x86-64

pyclipper-1.3.0.post5-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (947.2 kB view details)

Uploaded CPython 3.12 manylinux: glibc 2.17+ ARM64

pyclipper-1.3.0.post5-cp312-cp312-macosx_10_9_x86_64.whl (145.9 kB view details)

Uploaded CPython 3.12 macOS 10.9+ x86-64

pyclipper-1.3.0.post5-cp312-cp312-macosx_10_9_universal2.whl (278.1 kB view details)

Uploaded CPython 3.12 macOS 10.9+ universal2 (ARM64, x86-64)

pyclipper-1.3.0.post5-cp311-cp311-win_amd64.whl (108.3 kB view details)

Uploaded CPython 3.11 Windows x86-64

pyclipper-1.3.0.post5-cp311-cp311-win32.whl (99.4 kB view details)

Uploaded CPython 3.11 Windows x86

pyclipper-1.3.0.post5-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (971.5 kB view details)

Uploaded CPython 3.11 manylinux: glibc 2.17+ x86-64

pyclipper-1.3.0.post5-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (952.6 kB view details)

Uploaded CPython 3.11 manylinux: glibc 2.17+ ARM64

pyclipper-1.3.0.post5-cp311-cp311-macosx_10_9_x86_64.whl (146.9 kB view details)

Uploaded CPython 3.11 macOS 10.9+ x86-64

pyclipper-1.3.0.post5-cp311-cp311-macosx_10_9_universal2.whl (279.2 kB view details)

Uploaded CPython 3.11 macOS 10.9+ universal2 (ARM64, x86-64)

pyclipper-1.3.0.post5-cp310-cp310-win_amd64.whl (108.2 kB view details)

Uploaded CPython 3.10 Windows x86-64

pyclipper-1.3.0.post5-cp310-cp310-win32.whl (99.2 kB view details)

Uploaded CPython 3.10 Windows x86

pyclipper-1.3.0.post5-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (926.7 kB view details)

Uploaded CPython 3.10 manylinux: glibc 2.17+ ARM64

pyclipper-1.3.0.post5-cp310-cp310-manylinux_2_12_x86_64.manylinux2010_x86_64.whl (908.3 kB view details)

Uploaded CPython 3.10 manylinux: glibc 2.12+ x86-64

pyclipper-1.3.0.post5-cp310-cp310-macosx_10_9_x86_64.whl (145.7 kB view details)

Uploaded CPython 3.10 macOS 10.9+ x86-64

pyclipper-1.3.0.post5-cp310-cp310-macosx_10_9_universal2.whl (277.4 kB view details)

Uploaded CPython 3.10 macOS 10.9+ universal2 (ARM64, x86-64)

pyclipper-1.3.0.post5-cp39-cp39-win_amd64.whl (108.6 kB view details)

Uploaded CPython 3.9 Windows x86-64

pyclipper-1.3.0.post5-cp39-cp39-win32.whl (99.4 kB view details)

Uploaded CPython 3.9 Windows x86

pyclipper-1.3.0.post5-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (925.3 kB view details)

Uploaded CPython 3.9 manylinux: glibc 2.17+ ARM64

pyclipper-1.3.0.post5-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.whl (674.2 kB view details)

Uploaded CPython 3.9 manylinux: glibc 2.5+ x86-64

pyclipper-1.3.0.post5-cp39-cp39-macosx_10_9_x86_64.whl (146.3 kB view details)

Uploaded CPython 3.9 macOS 10.9+ x86-64

pyclipper-1.3.0.post5-cp39-cp39-macosx_10_9_universal2.whl (278.3 kB view details)

Uploaded CPython 3.9 macOS 10.9+ universal2 (ARM64, x86-64)

pyclipper-1.3.0.post5-cp38-cp38-win_amd64.whl (108.7 kB view details)

Uploaded CPython 3.8 Windows x86-64

pyclipper-1.3.0.post5-cp38-cp38-win32.whl (99.5 kB view details)

Uploaded CPython 3.8 Windows x86

pyclipper-1.3.0.post5-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (932.3 kB view details)

Uploaded CPython 3.8 manylinux: glibc 2.17+ ARM64

pyclipper-1.3.0.post5-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.whl (682.3 kB view details)

Uploaded CPython 3.8 manylinux: glibc 2.5+ x86-64

pyclipper-1.3.0.post5-cp38-cp38-macosx_10_9_x86_64.whl (146.9 kB view details)

Uploaded CPython 3.8 macOS 10.9+ x86-64

pyclipper-1.3.0.post5-cp38-cp38-macosx_10_9_universal2.whl (279.5 kB view details)

Uploaded CPython 3.8 macOS 10.9+ universal2 (ARM64, x86-64)

pyclipper-1.3.0.post5-cp37-cp37m-win_amd64.whl (108.7 kB view details)

Uploaded CPython 3.7m Windows x86-64

pyclipper-1.3.0.post5-cp37-cp37m-win32.whl (99.0 kB view details)

Uploaded CPython 3.7m Windows x86

pyclipper-1.3.0.post5-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (912.2 kB view details)

Uploaded CPython 3.7m manylinux: glibc 2.17+ ARM64

pyclipper-1.3.0.post5-cp37-cp37m-manylinux_2_5_x86_64.manylinux1_x86_64.whl (680.9 kB view details)

Uploaded CPython 3.7m manylinux: glibc 2.5+ x86-64

pyclipper-1.3.0.post5-cp37-cp37m-macosx_10_9_x86_64.whl (146.8 kB view details)

Uploaded CPython 3.7m macOS 10.9+ x86-64

pyclipper-1.3.0.post5-cp36-cp36m-win_amd64.whl (120.1 kB view details)

Uploaded CPython 3.6m Windows x86-64

pyclipper-1.3.0.post5-cp36-cp36m-win32.whl (105.6 kB view details)

Uploaded CPython 3.6m Windows x86

pyclipper-1.3.0.post5-cp36-cp36m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (898.8 kB view details)

Uploaded CPython 3.6m manylinux: glibc 2.17+ ARM64

pyclipper-1.3.0.post5-cp36-cp36m-manylinux_2_5_x86_64.manylinux1_x86_64.whl (663.4 kB view details)

Uploaded CPython 3.6m manylinux: glibc 2.5+ x86-64

pyclipper-1.3.0.post5-cp36-cp36m-macosx_10_9_x86_64.whl (142.5 kB view details)

Uploaded CPython 3.6m macOS 10.9+ x86-64

File details

Details for the file pyclipper-1.3.0.post5.tar.gz.

File metadata

  • Download URL: pyclipper-1.3.0.post5.tar.gz
  • Upload date:
  • Size: 164.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.9.18

File hashes

Hashes for pyclipper-1.3.0.post5.tar.gz
Algorithm Hash digest
SHA256 c0239f928e0bf78a3efc2f2f615a10bfcdb9f33012d46d64c8d1225b4bde7096
MD5 c72a9d9c4d20eb8ddc559108ae18d6a6
BLAKE2b-256 1b3de5b5ff36b24f3fc9b962a68ce4f6932ab698b8ba860261f402be37b85d17

See more details on using hashes here.

Provenance

File details

Details for the file pyclipper-1.3.0.post5-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for pyclipper-1.3.0.post5-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 0589b80f2da1ad322345a93c053b5d46dc692def5a188351be01f34bcf041218
MD5 73102e679b9aab00ef23611441ae82cf
BLAKE2b-256 7312937c49d67a4308812e7e3d4ef45084a2b652b10c5564e492f906c2b8e832

See more details on using hashes here.

Provenance

File details

Details for the file pyclipper-1.3.0.post5-pp38-pypy38_pp73-manylinux_2_12_x86_64.manylinux2010_x86_64.whl.

File metadata

File hashes

Hashes for pyclipper-1.3.0.post5-pp38-pypy38_pp73-manylinux_2_12_x86_64.manylinux2010_x86_64.whl
Algorithm Hash digest
SHA256 d8a9e3e46aa50e4c3667db9a816d59ae4f9c62b05f997abb8a9b3f3afe6d94a4
MD5 4924793c7f46acfff247d4458290b2ba
BLAKE2b-256 ad98144381392a7f45306ec131a9714fc032c865be046cf1e3b469c2f19cdb09

See more details on using hashes here.

Provenance

File details

Details for the file pyclipper-1.3.0.post5-pp37-pypy37_pp73-manylinux_2_12_x86_64.manylinux2010_x86_64.whl.

File metadata

File hashes

Hashes for pyclipper-1.3.0.post5-pp37-pypy37_pp73-manylinux_2_12_x86_64.manylinux2010_x86_64.whl
Algorithm Hash digest
SHA256 da30e59c684eea198f6e19244e9a41e855a23a416cc708821fd4eb8f5f18626c
MD5 bc628fd3b3e620195251711a5d862f50
BLAKE2b-256 6c340151a517c4ddc3cf8d2407838507415d38fcd4d6da89385020d56bce02be

See more details on using hashes here.

Provenance

File details

Details for the file pyclipper-1.3.0.post5-cp312-cp312-win_amd64.whl.

File metadata

File hashes

Hashes for pyclipper-1.3.0.post5-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 2ce6e0a6ab32182c26537965cf521822cd11a28a7ffcef48635a94c6ca8559ef
MD5 2ff3b687c8f29efd0ba5bca0f2d35213
BLAKE2b-256 a1f0760e614b84dd4d8f03dd5432dda100d699e23074c263b38b6c117adc8395

See more details on using hashes here.

Provenance

File details

Details for the file pyclipper-1.3.0.post5-cp312-cp312-win32.whl.

File metadata

File hashes

Hashes for pyclipper-1.3.0.post5-cp312-cp312-win32.whl
Algorithm Hash digest
SHA256 bf3a2ccd6e4e078250b0a31a12c519b0be6d1bc160acfceee62407dbd68558f6
MD5 6c2820dff884b6a93e9d9ee493ad790b
BLAKE2b-256 0a671fe463403bbd2ea7ca79f328a118b12fff495d0e83c98bdf5afd187ccccc

See more details on using hashes here.

Provenance

File details

Details for the file pyclipper-1.3.0.post5-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for pyclipper-1.3.0.post5-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 5a041f1a7982b17cf92fd3be349ec41ff1901792149c166bf283f469567b52d6
MD5 cae3e3b6c3c641362b5a1c0ed3d8018e
BLAKE2b-256 22f3c5b39f3515d7af0c96b67f6eb13b62d0cd471f348ebafa106d6fcb8d9d33

See more details on using hashes here.

Provenance

File details

Details for the file pyclipper-1.3.0.post5-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for pyclipper-1.3.0.post5-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 1158a2b13d59bdfab33d1d928f7b72c8c7fb8a76e7d2283839cb45d7c0ff2140
MD5 4d286f38b659a9a14a5a19897362bc15
BLAKE2b-256 b095e0d4c036c1c936b6f7e6265d15f56b5b3ceb4a4d7dcb491cdd2604882f93

See more details on using hashes here.

Provenance

File details

Details for the file pyclipper-1.3.0.post5-cp312-cp312-macosx_10_9_x86_64.whl.

File metadata

File hashes

Hashes for pyclipper-1.3.0.post5-cp312-cp312-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 aca8635573646b65c054399433fb3493637f1445db942de8a52fca9ef493ba3d
MD5 409d099eb9ebc053cea17b5628fa100c
BLAKE2b-256 28301b532eff31728e0233684eada4153773af11a81992bb9791160ed27760af

See more details on using hashes here.

Provenance

File details

Details for the file pyclipper-1.3.0.post5-cp312-cp312-macosx_10_9_universal2.whl.

File metadata

File hashes

Hashes for pyclipper-1.3.0.post5-cp312-cp312-macosx_10_9_universal2.whl
Algorithm Hash digest
SHA256 5237282f906049c307e6c90333c7d56f6b8712bf087ef97b141830c40b09ca0a
MD5 355dde9288e7660e22621330e6cb886b
BLAKE2b-256 87f02a9dbd3359bd834b24691ba65b1011c1a7a7cafd92691165506ece1eeb3b

See more details on using hashes here.

Provenance

File details

Details for the file pyclipper-1.3.0.post5-cp311-cp311-win_amd64.whl.

File metadata

File hashes

Hashes for pyclipper-1.3.0.post5-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 0f78a1c18ff4f9276f78d9353d6ed4309c3886a9d0172437e48328aef499165e
MD5 25bec48a06ced6797ed6c1cad9488381
BLAKE2b-256 f3ec56da9f2d5d846f144530d5313a05078afb7cfc26ec179be5af35f057d064

See more details on using hashes here.

Provenance

File details

Details for the file pyclipper-1.3.0.post5-cp311-cp311-win32.whl.

File metadata

File hashes

Hashes for pyclipper-1.3.0.post5-cp311-cp311-win32.whl
Algorithm Hash digest
SHA256 d5c77e39ab05a6cf277c819639968b21e6959e996ea1a074afc24236541708ff
MD5 4dc9ab0675fd973ba385ed3f01ea88d9
BLAKE2b-256 daff29f1fa1473d6c8abaa2f41f60dfeb23e92819ee67f7d9387715e53e2a414

See more details on using hashes here.

Provenance

File details

Details for the file pyclipper-1.3.0.post5-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for pyclipper-1.3.0.post5-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 46499b361ae067662b22578401d83d57716f3cc0071d592feb07d504b439fea7
MD5 0515c9858053acff9553bcd4ced2d513
BLAKE2b-256 43649c8e0c7d96d32c63e38f92da92e4e38685e30773644d9dcb73d2325beb47

See more details on using hashes here.

Provenance

File details

Details for the file pyclipper-1.3.0.post5-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for pyclipper-1.3.0.post5-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 e4ea61ca5899d3346c614951342c506f119601ed0a1f4889a9cc236558afec6b
MD5 99318332ebb9da00565a6b004e8235e1
BLAKE2b-256 ed7964cfb4bf0338c3dcd4ef4b819f0fb48a65bc9a9b5b2644cf21a665d08ae8

See more details on using hashes here.

Provenance

File details

Details for the file pyclipper-1.3.0.post5-cp311-cp311-macosx_10_9_x86_64.whl.

File metadata

File hashes

Hashes for pyclipper-1.3.0.post5-cp311-cp311-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 d8760075c395b924f894aa16ee06e8c040c6f9b63e0903e49de3cc8d82d9e637
MD5 5ee544dc442a1c3a42d6c56791996ef5
BLAKE2b-256 05f03e4ca96c1adb32f254ba0ba3a5a4cf4bd6794c285177f10357f3574d11d5

See more details on using hashes here.

Provenance

File details

Details for the file pyclipper-1.3.0.post5-cp311-cp311-macosx_10_9_universal2.whl.

File metadata

File hashes

Hashes for pyclipper-1.3.0.post5-cp311-cp311-macosx_10_9_universal2.whl
Algorithm Hash digest
SHA256 b7a983ae019932bfa0a1971a2dc8c856704add5f3d567bed8fac02dbc0e7f0bf
MD5 018313fe3e924ec23f0fc9acfca5ca29
BLAKE2b-256 21479c6a9d2523735d7a5ec2991e6a05370b96e19db26c5628fedd1143dc6e4f

See more details on using hashes here.

Provenance

File details

Details for the file pyclipper-1.3.0.post5-cp310-cp310-win_amd64.whl.

File metadata

File hashes

Hashes for pyclipper-1.3.0.post5-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 847f1e2fc3994bb498fe675f55c98129b95dc26a5c92304ba4cf0ab40721ea3d
MD5 a21abb6497bd91f5963039eb0ed53673
BLAKE2b-256 6061354f484ab7969a601327646bbaeb1b799508b4e81946ea4d52bbf9d779c6

See more details on using hashes here.

Provenance

File details

Details for the file pyclipper-1.3.0.post5-cp310-cp310-win32.whl.

File metadata

File hashes

Hashes for pyclipper-1.3.0.post5-cp310-cp310-win32.whl
Algorithm Hash digest
SHA256 02a98d09af9b60bcf8e9480d153c0839e20b92689f5602f87242a4933842fecd
MD5 bb49aa41bf2e52b5c778c331b65ecad6
BLAKE2b-256 2d85d6c927908ec53303f8e417aefa7b345061389151bdee434fc6fc16e422a7

See more details on using hashes here.

Provenance

File details

Details for the file pyclipper-1.3.0.post5-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for pyclipper-1.3.0.post5-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 a496efa146d2d88b59350021739e4685e439dc569b6654e9e6d5e42e9a0b1666
MD5 3977c1d52e8b57cb65fbb2b667e69002
BLAKE2b-256 bac0adb676ffe4f11d7d2cd2adf847865e419d24380f8de93c5a4cbddf83b23e

See more details on using hashes here.

Provenance

File details

Details for the file pyclipper-1.3.0.post5-cp310-cp310-manylinux_2_12_x86_64.manylinux2010_x86_64.whl.

File metadata

File hashes

Hashes for pyclipper-1.3.0.post5-cp310-cp310-manylinux_2_12_x86_64.manylinux2010_x86_64.whl
Algorithm Hash digest
SHA256 59c8c75661a6d87e98b1655851578a2917d3c8859912c9a4f1956b9830940fd9
MD5 8504515100c90e13ea84d6dccd3d6754
BLAKE2b-256 1c814aa8403e587a4c60e00b479c11254a6e3200f3b985dcf4caecf0d8c21261

See more details on using hashes here.

Provenance

File details

Details for the file pyclipper-1.3.0.post5-cp310-cp310-macosx_10_9_x86_64.whl.

File metadata

File hashes

Hashes for pyclipper-1.3.0.post5-cp310-cp310-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 567ffd419a0bdc3727fa4562cfa1f18484691817a2bc0bc675750aa28ed98bd4
MD5 e8dbfffeda3f0fe2fa8d89defeb0982a
BLAKE2b-256 a62704f7977ac7ad12091d32333dea5dcdf704ed189bfb3f54f460b015b9c6f9

See more details on using hashes here.

Provenance

File details

Details for the file pyclipper-1.3.0.post5-cp310-cp310-macosx_10_9_universal2.whl.

File metadata

File hashes

Hashes for pyclipper-1.3.0.post5-cp310-cp310-macosx_10_9_universal2.whl
Algorithm Hash digest
SHA256 3c45f99b8180dd4df4c86642657ca92b7d5289a5e3724521822e0f9461961fe2
MD5 128a9d3e65105fac5e897021ec0d5c4c
BLAKE2b-256 0038abcb5e560563b54c552b23a128d824230658cf6c28ae2003f89c23691084

See more details on using hashes here.

Provenance

File details

Details for the file pyclipper-1.3.0.post5-cp39-cp39-win_amd64.whl.

File metadata

File hashes

Hashes for pyclipper-1.3.0.post5-cp39-cp39-win_amd64.whl
Algorithm Hash digest
SHA256 85ca06f382f999903d809380e4c01ec127d3eb26431402e9b3f01facaec68b80
MD5 977015977cbfb2e1811efe559cf53d43
BLAKE2b-256 97d778140d011dbe7887a8205222e0ddfc0fc60a2b6223202b4504de2ebda3e1

See more details on using hashes here.

Provenance

File details

Details for the file pyclipper-1.3.0.post5-cp39-cp39-win32.whl.

File metadata

File hashes

Hashes for pyclipper-1.3.0.post5-cp39-cp39-win32.whl
Algorithm Hash digest
SHA256 cfea42972e90954b3c89da9216993373a2270a5103d4916fd543a1109528ed4c
MD5 f14556d767b0887efaf8ecf5899b2907
BLAKE2b-256 372760acf01b2bb77b077806b4bf850d9149ebcbfa6039dbe27fc960e748548b

See more details on using hashes here.

Provenance

File details

Details for the file pyclipper-1.3.0.post5-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for pyclipper-1.3.0.post5-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 e36f018303656ea4a629d2fba0d0d4c74960eacec7119fe2ab3c658ce84c494b
MD5 87a8406b7dda7fb6fd77864aacb6ff09
BLAKE2b-256 0598d92b4cb657aea09b2cfd354aaaff48e3b7f44b57301ddb70648a78032dc3

See more details on using hashes here.

Provenance

File details

Details for the file pyclipper-1.3.0.post5-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.whl.

File metadata

File hashes

Hashes for pyclipper-1.3.0.post5-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.whl
Algorithm Hash digest
SHA256 dd3c4b312a931e668a7a291d4bd5b10bacb0687bd163220a9f0418c7e23169e2
MD5 6b8f396e327b62d161082474259eb80c
BLAKE2b-256 3fe0b7ae6e7697bc87a43a678c8125e378b325b713c3f8275c3fa1996c524738

See more details on using hashes here.

Provenance

File details

Details for the file pyclipper-1.3.0.post5-cp39-cp39-macosx_10_9_x86_64.whl.

File metadata

File hashes

Hashes for pyclipper-1.3.0.post5-cp39-cp39-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 0f516fd69aa61a9698a3ce3ba2f7edda5ac6aafc8d964ee3bc60897906947fcb
MD5 2409659e3f98d297b1ff17873d980dd8
BLAKE2b-256 fa3f680851cf093f1e88c2e563bfc4d9ff5cdd6926578b714e094156d67a95f2

See more details on using hashes here.

Provenance

File details

Details for the file pyclipper-1.3.0.post5-cp39-cp39-macosx_10_9_universal2.whl.

File metadata

File hashes

Hashes for pyclipper-1.3.0.post5-cp39-cp39-macosx_10_9_universal2.whl
Algorithm Hash digest
SHA256 8bb9cd95fd4bd88fb1590d1763a52e3ea6a1095e11b3e885ff164da1313aae79
MD5 f4bbb1a088de40085a3c4a1cbcd44cd0
BLAKE2b-256 37bb9e3c9f4255de75618e37ab045314b3e4283d6255aaeab5e155599979bc08

See more details on using hashes here.

Provenance

File details

Details for the file pyclipper-1.3.0.post5-cp38-cp38-win_amd64.whl.

File metadata

File hashes

Hashes for pyclipper-1.3.0.post5-cp38-cp38-win_amd64.whl
Algorithm Hash digest
SHA256 c9c1fdf4ecae6b55033ede3f4e931156ffc969334300f44f8bf1b356ec0a3d63
MD5 df2c6309f85a8e76783a6ce5f4dc4ce9
BLAKE2b-256 7b45e010d4bc66763f5dda49de4949142d920bb72974bd4a2796c046c82f63ec

See more details on using hashes here.

Provenance

File details

Details for the file pyclipper-1.3.0.post5-cp38-cp38-win32.whl.

File metadata

File hashes

Hashes for pyclipper-1.3.0.post5-cp38-cp38-win32.whl
Algorithm Hash digest
SHA256 36d456fdf32a6410a87bd7af8ebc4c01f19b4e3b839104b3072558cad0d8bf4c
MD5 7dbd7cb5293691298381d862488825e7
BLAKE2b-256 47d490f9566c6212d2c52086366550941e8a31955c3db84843846dce93503127

See more details on using hashes here.

Provenance

File details

Details for the file pyclipper-1.3.0.post5-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for pyclipper-1.3.0.post5-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 bb2fb22927c3ac3191e555efd335c6efa819aa1ff4d0901979673ab5a18eb740
MD5 b2e9c3a6abbbab346aaddf27107e21b8
BLAKE2b-256 80a5acc0e11bf33ff178cc6d97798c15de376af149d6414ee2c5083fb8465fd5

See more details on using hashes here.

Provenance

File details

Details for the file pyclipper-1.3.0.post5-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.whl.

File metadata

File hashes

Hashes for pyclipper-1.3.0.post5-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.whl
Algorithm Hash digest
SHA256 a678999d728023f1f3988a14a2e6d89d6f1ed4d0786d5992c1bffb4c1ab30318
MD5 2463ed6ad8afe77f719010cccdac9ccf
BLAKE2b-256 6d2f18c46f5c8f985426dbb4ffe94901150937986fe779a0eacb81cf4bc397b3

See more details on using hashes here.

Provenance

File details

Details for the file pyclipper-1.3.0.post5-cp38-cp38-macosx_10_9_x86_64.whl.

File metadata

File hashes

Hashes for pyclipper-1.3.0.post5-cp38-cp38-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 e346e7adba43e40f5f5f293b6b6a45de5a6a3bdc74e437dedd948c5d74de9405
MD5 7664fe3a5bf3b3aae247aaabd85b0a71
BLAKE2b-256 efeeb7172d312d0d58ead415242de71aca97ed1371911c87d2e0f1dadb95c000

See more details on using hashes here.

Provenance

File details

Details for the file pyclipper-1.3.0.post5-cp38-cp38-macosx_10_9_universal2.whl.

File metadata

File hashes

Hashes for pyclipper-1.3.0.post5-cp38-cp38-macosx_10_9_universal2.whl
Algorithm Hash digest
SHA256 39ccd920b192a4f8096589a2a1f8faaf6aaaadb7a163b5ce913d03faac2449bb
MD5 2ff91deba94af5bf802e73ff9023d0d6
BLAKE2b-256 fe302804eaa22b18e5efbc0d6def70ac7a04d850ccbdbb49393c1ad28be436e4

See more details on using hashes here.

Provenance

File details

Details for the file pyclipper-1.3.0.post5-cp37-cp37m-win_amd64.whl.

File metadata

File hashes

Hashes for pyclipper-1.3.0.post5-cp37-cp37m-win_amd64.whl
Algorithm Hash digest
SHA256 ead0f3ecd1961005f61d50c896e33442138b4e7c9e0c035784d3525068dd2b10
MD5 3e47417915f3cbc4e8ea94a9d8c12aae
BLAKE2b-256 1558894e87e75e5044a889ca76df640eb2cd56d7e9115fd0bc900ab2e52a15a8

See more details on using hashes here.

Provenance

File details

Details for the file pyclipper-1.3.0.post5-cp37-cp37m-win32.whl.

File metadata

File hashes

Hashes for pyclipper-1.3.0.post5-cp37-cp37m-win32.whl
Algorithm Hash digest
SHA256 eb9d1cb2999bc1ea8ad1c3a031ba33b0a89a5ace25d33df7529d3ff18c16604c
MD5 761e7db2c013356b83bf7ac99e8e3dae
BLAKE2b-256 6ccfcab27a9fdd0d094c8ff66c364e23b3ef2366ce9f62c780eae9ae3194a966

See more details on using hashes here.

Provenance

File details

Details for the file pyclipper-1.3.0.post5-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for pyclipper-1.3.0.post5-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 87efec9795744cef786f2f8cab17d6dc07f57dfce5e3b7f3be96eb79a4ce5794
MD5 df1a8c30c3e825797c84a082bb0a1aee
BLAKE2b-256 579b3b8a1eda9f4a0d70f94701dc44f14c1550d9035ec06d9b147e887de99f3c

See more details on using hashes here.

Provenance

File details

Details for the file pyclipper-1.3.0.post5-cp37-cp37m-manylinux_2_5_x86_64.manylinux1_x86_64.whl.

File metadata

File hashes

Hashes for pyclipper-1.3.0.post5-cp37-cp37m-manylinux_2_5_x86_64.manylinux1_x86_64.whl
Algorithm Hash digest
SHA256 5f445a2d03690faa23a1b90e32dfb4352a60b23437323de87388c6c611d3d1e3
MD5 87bac2b0e3d922e5b2805df9bebe4628
BLAKE2b-256 1360a81ead18a183dd19eb01d6cb6c99b16bbfcad9be2535e7b1018612eaad96

See more details on using hashes here.

Provenance

File details

Details for the file pyclipper-1.3.0.post5-cp37-cp37m-macosx_10_9_x86_64.whl.

File metadata

File hashes

Hashes for pyclipper-1.3.0.post5-cp37-cp37m-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 5f3484b4dffa64f0e3a43b63165a5c0f507c5850e70b9cc2eaa82474d7746393
MD5 21ea79faa76e368efc936c143f723d6a
BLAKE2b-256 529c4ab050dd8c39670ee8295dc5cccce50bee8079c78b5de3e79baefa223ee1

See more details on using hashes here.

Provenance

File details

Details for the file pyclipper-1.3.0.post5-cp36-cp36m-win_amd64.whl.

File metadata

File hashes

Hashes for pyclipper-1.3.0.post5-cp36-cp36m-win_amd64.whl
Algorithm Hash digest
SHA256 741910bfd7b0bd40f027869f4bf86bdd9678ae7f74e8dabcf62d170269f6191d
MD5 a9cdc5965dac06a86fdd99d536bbc1bc
BLAKE2b-256 76b6d09c3d379def41789a5fa24494cfac7547e0eabcbd90bbf95b25e73a924f

See more details on using hashes here.

Provenance

File details

Details for the file pyclipper-1.3.0.post5-cp36-cp36m-win32.whl.

File metadata

File hashes

Hashes for pyclipper-1.3.0.post5-cp36-cp36m-win32.whl
Algorithm Hash digest
SHA256 f0b84fcf5230aca2de06ddb7920459daa858853835f8774739ca30dd516e7d37
MD5 14cdfeb1e26a294c5e1a1d9f140670e6
BLAKE2b-256 d56bc0740da657bf397aaeab937475d2af6ee1634b95ae3bcc54e47eafaf0d33

See more details on using hashes here.

Provenance

File details

Details for the file pyclipper-1.3.0.post5-cp36-cp36m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for pyclipper-1.3.0.post5-cp36-cp36m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 ee1c4797b1dc982ae9d60333269536ea03ddc0baa1c3383a6d5b741dbbb12675
MD5 2b0b99694867830db2bc8eabceadaa48
BLAKE2b-256 fa543f2b48e09053918a7ca5b81068d3b0ff4a181c373ade5b0c632311cd96c8

See more details on using hashes here.

Provenance

File details

Details for the file pyclipper-1.3.0.post5-cp36-cp36m-manylinux_2_5_x86_64.manylinux1_x86_64.whl.

File metadata

File hashes

Hashes for pyclipper-1.3.0.post5-cp36-cp36m-manylinux_2_5_x86_64.manylinux1_x86_64.whl
Algorithm Hash digest
SHA256 ba692cf11873886085a0445dcfc362b24ca35bcb997ad9e9b5685854a290d8ff
MD5 98b28e50332fa2b81c1c3ac2c1b17550
BLAKE2b-256 1966bc74511d7c28ae5867870a5a40b7d3f83e9f7d7a7db8552463c2d79a1bad

See more details on using hashes here.

Provenance

File details

Details for the file pyclipper-1.3.0.post5-cp36-cp36m-macosx_10_9_x86_64.whl.

File metadata

File hashes

Hashes for pyclipper-1.3.0.post5-cp36-cp36m-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 010ee13d40d924341cc41b6d9901d763175040c68753939f140bc0cc714f18bb
MD5 36e17e6bb9efe981d47485c1eb2f7050
BLAKE2b-256 ddc52d47d458cb23831fa50ee1d31f2632b602798cd843e8ad936c61f2b530d8

See more details on using hashes here.

Provenance

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page