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.post6.tar.gz (165.9 kB view details)

Uploaded Source

Built Distributions

pyclipper-1.3.0.post6-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (135.3 kB view details)

Uploaded PyPy manylinux: glibc 2.17+ x86-64

pyclipper-1.3.0.post6-pp38-pypy38_pp73-manylinux_2_12_x86_64.manylinux2010_x86_64.whl (138.1 kB view details)

Uploaded PyPy manylinux: glibc 2.12+ x86-64

pyclipper-1.3.0.post6-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.post6-cp313-cp313-win_amd64.whl (109.7 kB view details)

Uploaded CPython 3.13 Windows x86-64

pyclipper-1.3.0.post6-cp313-cp313-win32.whl (98.8 kB view details)

Uploaded CPython 3.13 Windows x86

pyclipper-1.3.0.post6-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (962.5 kB view details)

Uploaded CPython 3.13 manylinux: glibc 2.17+ x86-64

pyclipper-1.3.0.post6-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (943.8 kB view details)

Uploaded CPython 3.13 manylinux: glibc 2.17+ ARM64

pyclipper-1.3.0.post6-cp313-cp313-macosx_10_13_x86_64.whl (142.2 kB view details)

Uploaded CPython 3.13 macOS 10.13+ x86-64

pyclipper-1.3.0.post6-cp313-cp313-macosx_10_13_universal2.whl (268.3 kB view details)

Uploaded CPython 3.13 macOS 10.13+ universal2 (ARM64, x86-64)

pyclipper-1.3.0.post6-cp312-cp312-win_amd64.whl (110.3 kB view details)

Uploaded CPython 3.12 Windows x86-64

pyclipper-1.3.0.post6-cp312-cp312-win32.whl (99.5 kB view details)

Uploaded CPython 3.12 Windows x86

pyclipper-1.3.0.post6-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (963.8 kB view details)

Uploaded CPython 3.12 manylinux: glibc 2.17+ x86-64

pyclipper-1.3.0.post6-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (944.2 kB view details)

Uploaded CPython 3.12 manylinux: glibc 2.17+ ARM64

pyclipper-1.3.0.post6-cp312-cp312-macosx_10_13_x86_64.whl (143.5 kB view details)

Uploaded CPython 3.12 macOS 10.13+ x86-64

pyclipper-1.3.0.post6-cp312-cp312-macosx_10_13_universal2.whl (270.5 kB view details)

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

pyclipper-1.3.0.post6-cp311-cp311-win_amd64.whl (110.4 kB view details)

Uploaded CPython 3.11 Windows x86-64

pyclipper-1.3.0.post6-cp311-cp311-win32.whl (100.2 kB view details)

Uploaded CPython 3.11 Windows x86

pyclipper-1.3.0.post6-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (969.6 kB view details)

Uploaded CPython 3.11 manylinux: glibc 2.17+ x86-64

pyclipper-1.3.0.post6-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (951.8 kB view details)

Uploaded CPython 3.11 manylinux: glibc 2.17+ ARM64

pyclipper-1.3.0.post6-cp311-cp311-macosx_10_9_x86_64.whl (143.4 kB view details)

Uploaded CPython 3.11 macOS 10.9+ x86-64

pyclipper-1.3.0.post6-cp311-cp311-macosx_10_9_universal2.whl (270.9 kB view details)

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

pyclipper-1.3.0.post6-cp310-cp310-win_amd64.whl (110.5 kB view details)

Uploaded CPython 3.10 Windows x86-64

pyclipper-1.3.0.post6-cp310-cp310-win32.whl (100.1 kB view details)

Uploaded CPython 3.10 Windows x86

pyclipper-1.3.0.post6-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (929.5 kB view details)

Uploaded CPython 3.10 manylinux: glibc 2.17+ ARM64

pyclipper-1.3.0.post6-cp310-cp310-manylinux_2_12_x86_64.manylinux2010_x86_64.whl (912.2 kB view details)

Uploaded CPython 3.10 manylinux: glibc 2.12+ x86-64

pyclipper-1.3.0.post6-cp310-cp310-macosx_10_9_x86_64.whl (142.6 kB view details)

Uploaded CPython 3.10 macOS 10.9+ x86-64

pyclipper-1.3.0.post6-cp310-cp310-macosx_10_9_universal2.whl (269.5 kB view details)

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

pyclipper-1.3.0.post6-cp39-cp39-win_amd64.whl (110.8 kB view details)

Uploaded CPython 3.9 Windows x86-64

pyclipper-1.3.0.post6-cp39-cp39-win32.whl (100.4 kB view details)

Uploaded CPython 3.9 Windows x86

pyclipper-1.3.0.post6-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (931.3 kB view details)

Uploaded CPython 3.9 manylinux: glibc 2.17+ ARM64

pyclipper-1.3.0.post6-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.post6-cp39-cp39-macosx_10_9_x86_64.whl (143.1 kB view details)

Uploaded CPython 3.9 macOS 10.9+ x86-64

pyclipper-1.3.0.post6-cp39-cp39-macosx_10_9_universal2.whl (270.6 kB view details)

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

pyclipper-1.3.0.post6-cp38-cp38-win_amd64.whl (111.0 kB view details)

Uploaded CPython 3.8 Windows x86-64

pyclipper-1.3.0.post6-cp38-cp38-win32.whl (100.5 kB view details)

Uploaded CPython 3.8 Windows x86

pyclipper-1.3.0.post6-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (933.3 kB view details)

Uploaded CPython 3.8 manylinux: glibc 2.17+ ARM64

pyclipper-1.3.0.post6-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.whl (687.8 kB view details)

Uploaded CPython 3.8 manylinux: glibc 2.5+ x86-64

pyclipper-1.3.0.post6-cp38-cp38-macosx_10_9_x86_64.whl (143.5 kB view details)

Uploaded CPython 3.8 macOS 10.9+ x86-64

pyclipper-1.3.0.post6-cp38-cp38-macosx_10_9_universal2.whl (271.3 kB view details)

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

pyclipper-1.3.0.post6-cp37-cp37m-win_amd64.whl (110.9 kB view details)

Uploaded CPython 3.7m Windows x86-64

pyclipper-1.3.0.post6-cp37-cp37m-win32.whl (99.9 kB view details)

Uploaded CPython 3.7m Windows x86

pyclipper-1.3.0.post6-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (913.4 kB view details)

Uploaded CPython 3.7m manylinux: glibc 2.17+ ARM64

pyclipper-1.3.0.post6-cp37-cp37m-manylinux_2_5_x86_64.manylinux1_x86_64.whl (686.8 kB view details)

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

pyclipper-1.3.0.post6-cp37-cp37m-macosx_10_9_x86_64.whl (143.4 kB view details)

Uploaded CPython 3.7m macOS 10.9+ x86-64

pyclipper-1.3.0.post6-cp36-cp36m-win_amd64.whl (122.2 kB view details)

Uploaded CPython 3.6m Windows x86-64

pyclipper-1.3.0.post6-cp36-cp36m-win32.whl (106.4 kB view details)

Uploaded CPython 3.6m Windows x86

pyclipper-1.3.0.post6-cp36-cp36m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (900.6 kB view details)

Uploaded CPython 3.6m manylinux: glibc 2.17+ ARM64

pyclipper-1.3.0.post6-cp36-cp36m-manylinux_2_5_x86_64.manylinux1_x86_64.whl (668.0 kB view details)

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

pyclipper-1.3.0.post6-cp36-cp36m-macosx_10_9_x86_64.whl (141.4 kB view details)

Uploaded CPython 3.6m macOS 10.9+ x86-64

File details

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

File metadata

  • Download URL: pyclipper-1.3.0.post6.tar.gz
  • Upload date:
  • Size: 165.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.1 CPython/3.9.20

File hashes

Hashes for pyclipper-1.3.0.post6.tar.gz
Algorithm Hash digest
SHA256 42bff0102fa7a7f2abdd795a2594654d62b786d0c6cd67b72d469114fdeb608c
MD5 c227d62d245158070221ecc4bb452036
BLAKE2b-256 4ab2550fe500e49c464d73fabcb8cb04d47e4885d6ca4cfc1f5b0a125a95b19a

See more details on using hashes here.

Provenance

File details

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

File metadata

File hashes

Hashes for pyclipper-1.3.0.post6-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 e2cd8600bd16d209d5d45a33b45c278e1cc8bedc169af1a1f2187b581c521395
MD5 465e00561daa94e475cd179797de273a
BLAKE2b-256 5d1c3ff418815d1788058c5b24a9f33998765de23bec62705f958c33b6bdc11e

See more details on using hashes here.

Provenance

File details

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

File metadata

File hashes

Hashes for pyclipper-1.3.0.post6-pp38-pypy38_pp73-manylinux_2_12_x86_64.manylinux2010_x86_64.whl
Algorithm Hash digest
SHA256 3d58202de8b8da4d1559afbda4e90a8c260a5373672b6d7bc5448c4614385144
MD5 5b916f9617d8cea2a16a770d54e2ca3c
BLAKE2b-256 d340440543e4b19e540ed0e5ffc1c29af495be78e106cd5c8f3034d58fae78be

See more details on using hashes here.

Provenance

File details

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

File metadata

File hashes

Hashes for pyclipper-1.3.0.post6-pp37-pypy37_pp73-manylinux_2_12_x86_64.manylinux2010_x86_64.whl
Algorithm Hash digest
SHA256 3e5e65176506da6335f6cbab497ae1a29772064467fa69f66de6bab4b6304d34
MD5 511860c580f1552d9a218dc2b0e07036
BLAKE2b-256 f51a25db4f30b5ddc71390a26187654d3c29b1dce149c3cd46fc84728ce74d69

See more details on using hashes here.

Provenance

File details

Details for the file pyclipper-1.3.0.post6-cp313-cp313-win_amd64.whl.

File metadata

File hashes

Hashes for pyclipper-1.3.0.post6-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 e5ff68fa770ac654c7974fc78792978796f068bd274e95930c0691c31e192889
MD5 d6e10c97266fa5c1aea6308c609486bc
BLAKE2b-256 d5199ff4551b42f2068686c50c0d199072fa67aee57fc5cf86770cacf71efda3

See more details on using hashes here.

Provenance

File details

Details for the file pyclipper-1.3.0.post6-cp313-cp313-win32.whl.

File metadata

File hashes

Hashes for pyclipper-1.3.0.post6-cp313-cp313-win32.whl
Algorithm Hash digest
SHA256 b15113ec4fc423b58e9ae80aa95cf5a0802f02d8f02a98a46af3d7d66ff0cc0e
MD5 5694f7f446cfa5c671771132e1673e9e
BLAKE2b-256 856f8c6afc49b51b1bf16d5903ecd5aee657cf88f52c83cb5fabf771deeba728

See more details on using hashes here.

Provenance

File details

Details for the file pyclipper-1.3.0.post6-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for pyclipper-1.3.0.post6-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 5c9c80b5c46eef38ba3f12dd818dc87f5f2a0853ba914b6f91b133232315f526
MD5 e724eea173a63a5a4719e98a6f6c70c6
BLAKE2b-256 3110c0bf140bee2844e2c0617fdcc8a4e8daf98e71710046b06034e6f1963404

See more details on using hashes here.

Provenance

File details

Details for the file pyclipper-1.3.0.post6-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for pyclipper-1.3.0.post6-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 d6d129d0c2587f2f5904d201a4021f859afbb45fada4261c9fdedb2205b09d23
MD5 0df2f12f91109b4e9924328a47a6217e
BLAKE2b-256 7cd71faa0ff35caa02cb32cb0583688cded3f38788f33e02bfe6461fbcc1bee1

See more details on using hashes here.

Provenance

File details

Details for the file pyclipper-1.3.0.post6-cp313-cp313-macosx_10_13_x86_64.whl.

File metadata

File hashes

Hashes for pyclipper-1.3.0.post6-cp313-cp313-macosx_10_13_x86_64.whl
Algorithm Hash digest
SHA256 188fbfd1d30d02247f92c25ce856f5f3c75d841251f43367dbcf10935bc48f38
MD5 1422b65cd203680aea86134217d7eab2
BLAKE2b-256 0bdb35843050a3dd7586781497a21ca6c8d48111afb66061cb40c3d3c288596d

See more details on using hashes here.

Provenance

File details

Details for the file pyclipper-1.3.0.post6-cp313-cp313-macosx_10_13_universal2.whl.

File metadata

File hashes

Hashes for pyclipper-1.3.0.post6-cp313-cp313-macosx_10_13_universal2.whl
Algorithm Hash digest
SHA256 f129284d2c7bcd213d11c0f35e1ae506a1144ce4954e9d1734d63b120b0a1b58
MD5 9bc0d0dde4db475cd18727c1ce37ffba
BLAKE2b-256 8cb375232906bd13f869600d23bdb8fe6903cc899fa7e96981ae4c9b7d9c409e

See more details on using hashes here.

Provenance

File details

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

File metadata

File hashes

Hashes for pyclipper-1.3.0.post6-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 d3f9da96f83b8892504923beb21a481cd4516c19be1d39eb57a92ef1c9a29548
MD5 c94f19a5d50a42f0766b32993597484c
BLAKE2b-256 243a7d6292e3c94fb6b872d8d7e80d909dc527ee6b0af73b753c63fdde65a7da

See more details on using hashes here.

Provenance

File details

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

File metadata

File hashes

Hashes for pyclipper-1.3.0.post6-cp312-cp312-win32.whl
Algorithm Hash digest
SHA256 793b0aa54b914257aa7dc76b793dd4dcfb3c84011d48df7e41ba02b571616eaf
MD5 d65eee892154d9daa333fdeadca9e53d
BLAKE2b-256 80ecb40cd81ab7598984167508a5369a2fa31a09fe3b3e3d0b73aa50e06d4b3f

See more details on using hashes here.

Provenance

File details

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

File metadata

File hashes

Hashes for pyclipper-1.3.0.post6-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 58eae2ff92a8cae1331568df076c4c5775bf946afab0068b217f0cf8e188eb3c
MD5 186ddcf33053380a557b0e4de2aa1a75
BLAKE2b-256 7665cb014acc41cd5bf6bbfa4671c7faffffb9cee01706642c2dec70c5209ac8

See more details on using hashes here.

Provenance

File details

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

File metadata

File hashes

Hashes for pyclipper-1.3.0.post6-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 e3aab10e3c10ed8fa60c608fb87c040089b83325c937f98f06450cf9fcfdaf1d
MD5 b4e409c8c9f7fd07345d8c19fb21907e
BLAKE2b-256 cfe56c4a8df6e904c133bb4c5309d211d31c751db60cbd36a7250c02b05494a1

See more details on using hashes here.

Provenance

File details

Details for the file pyclipper-1.3.0.post6-cp312-cp312-macosx_10_13_x86_64.whl.

File metadata

File hashes

Hashes for pyclipper-1.3.0.post6-cp312-cp312-macosx_10_13_x86_64.whl
Algorithm Hash digest
SHA256 32cd7fb9c1c893eb87f82a072dbb5e26224ea7cebbad9dc306d67e1ac62dd229
MD5 5dffddb540e1f5a3d941c28f8b979660
BLAKE2b-256 8e8eeb14eadf054494ad81446e21c4ea163b941747610b0eb9051644395f567e

See more details on using hashes here.

Provenance

File details

Details for the file pyclipper-1.3.0.post6-cp312-cp312-macosx_10_13_universal2.whl.

File metadata

File hashes

Hashes for pyclipper-1.3.0.post6-cp312-cp312-macosx_10_13_universal2.whl
Algorithm Hash digest
SHA256 6363b9d79ba1b5d8f32d1623e797c1e9f994600943402e68d5266067bdde173e
MD5 2eaea6f56f4981c4cf6c4264e86288b6
BLAKE2b-256 fcc8197d9a1d8354922d24d11d22fb2e0cc1ebc182f8a30496b7ddbe89467ce1

See more details on using hashes here.

Provenance

File details

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

File metadata

File hashes

Hashes for pyclipper-1.3.0.post6-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 1c03f1ae43b18ee07730c3c774cc3cf88a10c12a4b097239b33365ec24a0a14a
MD5 8807c9aafb020718e4d2063783360b93
BLAKE2b-256 174ba4cda18e8556d913ff75052585eb0d658500596b5f97fe8401d05123d47b

See more details on using hashes here.

Provenance

File details

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

File metadata

File hashes

Hashes for pyclipper-1.3.0.post6-cp311-cp311-win32.whl
Algorithm Hash digest
SHA256 dbc828641667142751b1127fd5c4291663490cf05689c85be4c5bcc89aaa236a
MD5 d5a2559133506f729adbd99f803b5760
BLAKE2b-256 c92b580703daa6606d160caf596522d4cfdf62ae619b062a7ce6f905821a57e8

See more details on using hashes here.

Provenance

File details

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

File metadata

File hashes

Hashes for pyclipper-1.3.0.post6-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 ace1f0753cf71c5c5f6488b8feef5dd0fa8b976ad86b24bb51f708f513df4aac
MD5 499b7da04f7134701c08c672f01923d7
BLAKE2b-256 c177846a21957cd4ed266c36705ee340beaa923eb57d2bba013cfd7a5c417cfd

See more details on using hashes here.

Provenance

File details

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

File metadata

File hashes

Hashes for pyclipper-1.3.0.post6-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 16cc1705a915896d2aff52131c427df02265631279eac849ebda766432714cc0
MD5 a220e57d006a838e1a55b7d384ab0569
BLAKE2b-256 09f7b58794f643e033a6d14da7c70f517315c3072f3c5fccdf4232fa8c8090c1

See more details on using hashes here.

Provenance

File details

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

File metadata

File hashes

Hashes for pyclipper-1.3.0.post6-cp311-cp311-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 851b3e58106c62a5534a1201295fe20c21714dee2eda68081b37ddb0367e6caa
MD5 8b9d238cca21d8530d030b229fffee22
BLAKE2b-256 59fe2ab5818b3504e179086e54a37ecc245525d069267b8c31b18ec3d0830cbf

See more details on using hashes here.

Provenance

File details

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

File metadata

File hashes

Hashes for pyclipper-1.3.0.post6-cp311-cp311-macosx_10_9_universal2.whl
Algorithm Hash digest
SHA256 c4247e7c44b34c87acbf38f99d48fb1acaf5da4a2cf4dcd601a9b24d431be4ef
MD5 fc7e37978e00654d9d68b681586cc3fb
BLAKE2b-256 50a966ca5f252dcac93ca076698591b838ba17f9729591edf4b74fef7fbe1414

See more details on using hashes here.

Provenance

File details

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

File metadata

File hashes

Hashes for pyclipper-1.3.0.post6-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 9699e98862dadefd0bea2360c31fa61ca553c660cbf6fb44993acde1b959f58f
MD5 a7befd0cbf3a2ec41306e7601cea5e72
BLAKE2b-256 f8e6f8239af6346848b20a3448c554782fe59298ab06c1d040490242dc7e3c26

See more details on using hashes here.

Provenance

File details

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

File metadata

File hashes

Hashes for pyclipper-1.3.0.post6-cp310-cp310-win32.whl
Algorithm Hash digest
SHA256 106b8622cd9fb07d80cbf9b1d752334c55839203bae962376a8c59087788af26
MD5 d870583f5da1808f9eee2cb8e6e857dd
BLAKE2b-256 c456c326f3454c5f30a31f58a5c3154d891fce58ad73ccbf1d3f4aacfcbd344d

See more details on using hashes here.

Provenance

File details

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

File metadata

File hashes

Hashes for pyclipper-1.3.0.post6-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 a63002f6bb0f1efa87c0b81634cbb571066f237067e23707dabf746306c92ba5
MD5 e26858f78dadd3dfad2448a1d0bc652b
BLAKE2b-256 f56a28ec55cc3f972368b211fca017e081cf5a71009d1b8ec3559767cda5b289

See more details on using hashes here.

Provenance

File details

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

File metadata

File hashes

Hashes for pyclipper-1.3.0.post6-cp310-cp310-manylinux_2_12_x86_64.manylinux2010_x86_64.whl
Algorithm Hash digest
SHA256 640f20975727994d4abacd07396f564e9e5665ba5cb66ceb36b300c281f84fa4
MD5 7e2414cb6ffad67cdf973e1faddf4c29
BLAKE2b-256 84a43e304f6c0d000382cd54d4a1e5f0d8fc28e1ae97413a2ec1016a7b840319

See more details on using hashes here.

Provenance

File details

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

File metadata

File hashes

Hashes for pyclipper-1.3.0.post6-cp310-cp310-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 a01f182d8938c1dc515e8508ed2442f7eebd2c25c7d5cb29281f583c1a8008a4
MD5 23cb5ae09733c93b1ee3762ca68d19ed
BLAKE2b-256 8a5b81528b08134b3c2abdfae821e1eff975c0703802d41974b02dfb2e101c55

See more details on using hashes here.

Provenance

File details

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

File metadata

File hashes

Hashes for pyclipper-1.3.0.post6-cp310-cp310-macosx_10_9_universal2.whl
Algorithm Hash digest
SHA256 fa0f5e78cfa8262277bb3d0225537b3c2a90ef68fd90a229d5d24cf49955dcf4
MD5 6135076b2d1aa6f0daa7be681c96194d
BLAKE2b-256 b5340dca299fe41e9a92e78735502fed5238a4ac734755e624488df9b2eeec46

See more details on using hashes here.

Provenance

File details

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

File metadata

File hashes

Hashes for pyclipper-1.3.0.post6-cp39-cp39-win_amd64.whl
Algorithm Hash digest
SHA256 28bb590ae79e6beb15794eaee12b6f1d769589572d33e494faf5aa3b1f31b9fa
MD5 6334dc7db4f4eeea2254176e9776dd71
BLAKE2b-256 dfec46f6621472bbf1f415969985dcd691e674dc8b876cb76524f6ac2eea51b6

See more details on using hashes here.

Provenance

File details

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

File metadata

File hashes

Hashes for pyclipper-1.3.0.post6-cp39-cp39-win32.whl
Algorithm Hash digest
SHA256 47a214f201ff930595a30649c2a063f78baa3a8f52e1f38da19f7930c90ed80c
MD5 933ee56df9f1a8deeab4fb32aa1837a1
BLAKE2b-256 4f754a5bbdeeca32d3e12252e9a458c8fc34b8878dd8de56b53b9d7ee33e5596

See more details on using hashes here.

Provenance

File details

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

File metadata

File hashes

Hashes for pyclipper-1.3.0.post6-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 3404dfcb3415eee863564b5f49be28a8c7fb99ad5e31c986bcc33c8d47d97df7
MD5 ab35013ce5d54dbead87b499d13af653
BLAKE2b-256 eead7acc6f62084feaa88507f2c4947f16c95d16dd6b3edff27990d2e93b442d

See more details on using hashes here.

Provenance

File details

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

File metadata

File hashes

Hashes for pyclipper-1.3.0.post6-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.whl
Algorithm Hash digest
SHA256 aa0e7268f8ceba218964bc3a482a5e9d32e352e8c3538b03f69a6b3db979078d
MD5 648551932620f983159aa9d8c7617ddc
BLAKE2b-256 27836b9598ce011d5e61af317baed9d192ece8fee6986f7424239d94f786124f

See more details on using hashes here.

Provenance

File details

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

File metadata

File hashes

Hashes for pyclipper-1.3.0.post6-cp39-cp39-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 cf5ca2b9358d30a395ac6e14b3154a9fd1f9b557ad7153ea15cf697e88d07ce1
MD5 db1df313345b9e7636f986d488adc8a3
BLAKE2b-256 bc44289bcef04c11471d19db83c9c2dcb41e597aff050e38dc80a7a142343b90

See more details on using hashes here.

Provenance

File details

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

File metadata

File hashes

Hashes for pyclipper-1.3.0.post6-cp39-cp39-macosx_10_9_universal2.whl
Algorithm Hash digest
SHA256 383f3433b968f2e4b0843f338c1f63b85392b6e1d936de722e8c5d4f577dbff5
MD5 de41156b09d8500f7268f9fdc1eb429c
BLAKE2b-256 6d0558091c351d5dceb08f05d8c5bee56969138366ceaec37c695b0455b2c1ee

See more details on using hashes here.

Provenance

File details

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

File metadata

File hashes

Hashes for pyclipper-1.3.0.post6-cp38-cp38-win_amd64.whl
Algorithm Hash digest
SHA256 9cbdc517e75e647aa9bf6e356b3a3d2e3af344f82af38e36031eb46ba0ab5425
MD5 c3e42f04c523603688884868041bb397
BLAKE2b-256 efa379e776963d243a3b361adbcfb7e41badd46d3d5f278c46a7e72804052e1c

See more details on using hashes here.

Provenance

File details

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

File metadata

File hashes

Hashes for pyclipper-1.3.0.post6-cp38-cp38-win32.whl
Algorithm Hash digest
SHA256 fb1e52cf4ee0a9fa8b2254ed589cc51b0c989efc58fa8804289aca94a21253f7
MD5 c1941a97d610e00fcb808770e0e1dbc0
BLAKE2b-256 5eb9f51338ae810af48675572beb95f9f79c36b51aab1cb266be8b3e7969ffc9

See more details on using hashes here.

Provenance

File details

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

File metadata

File hashes

Hashes for pyclipper-1.3.0.post6-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 c05ae2ea878fdfa31dd375326f6191b03de98a9602cc9c2b6d4ff960b20a974c
MD5 f98959474d78611103632517c5c201a8
BLAKE2b-256 2350bad0e215290354c1e2b2e3b49dbc7300f0bbbc3dea0e2f2bce68ee5d5136

See more details on using hashes here.

Provenance

File details

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

File metadata

File hashes

Hashes for pyclipper-1.3.0.post6-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.whl
Algorithm Hash digest
SHA256 903176952a159c4195b8be55e597978e24804c838c7a9b12024c39704d341f72
MD5 fdae9f97a69a7c194f2103a1741ea97a
BLAKE2b-256 8eb33cd2c225df1ceeb3571adfd732b7e21744c42e556d3c02000c4e958a7dba

See more details on using hashes here.

Provenance

File details

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

File metadata

File hashes

Hashes for pyclipper-1.3.0.post6-cp38-cp38-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 48dd55fbd55f63902cad511432ec332368cbbbc1dd2110c0c6c1e9edd735713a
MD5 f76195224531895f66f032efdcb0df7c
BLAKE2b-256 ded01f242d9026cb1f0c27ef799e7ce78e9c26233433b8e174dbd3cd719b7b54

See more details on using hashes here.

Provenance

File details

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

File metadata

File hashes

Hashes for pyclipper-1.3.0.post6-cp38-cp38-macosx_10_9_universal2.whl
Algorithm Hash digest
SHA256 cf0a535cfa02b207435928e991c60389671fe1ea1dfae79170973f82f52335b2
MD5 75d8688fdb0e50aa1933f2937eedbeb8
BLAKE2b-256 04c67989c62e7d5e3fc25ecbc3ea8b243c44e8aa676c3e7c5a5f9bb3216e6d57

See more details on using hashes here.

Provenance

File details

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

File metadata

File hashes

Hashes for pyclipper-1.3.0.post6-cp37-cp37m-win_amd64.whl
Algorithm Hash digest
SHA256 ed6e50c6e87ed190141573615d54118869bd63e9cd91ca5660d2ca926bf25110
MD5 093625b877a986fb44bed844cd5568c1
BLAKE2b-256 5e212a7b0ce60bb267b1d7ac93204a9a5e37fe90caed070998a7d55833d07f6b

See more details on using hashes here.

Provenance

File details

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

File metadata

File hashes

Hashes for pyclipper-1.3.0.post6-cp37-cp37m-win32.whl
Algorithm Hash digest
SHA256 2e257009030815853528ba4b2ef7fb7e172683a3f4255a63f00bde34cfab8b58
MD5 841f59dd232a55e159fc97207fa60c13
BLAKE2b-256 9cf546386a8bd02118bf1fe0adcca7a6efed63d9168ae8a9dc2f8b23ce72bd24

See more details on using hashes here.

Provenance

File details

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

File metadata

File hashes

Hashes for pyclipper-1.3.0.post6-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 33ab72260f144693e1f7735e93276c3031e1ed243a207eff1f8b98c7162ba22c
MD5 a1395cd26205f0afcc1fa1f14c522c2e
BLAKE2b-256 ec09bc23723d17262f99a13cdb25962d9456f44ebefae5d96019718ecd265a57

See more details on using hashes here.

Provenance

File details

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

File metadata

File hashes

Hashes for pyclipper-1.3.0.post6-cp37-cp37m-manylinux_2_5_x86_64.manylinux1_x86_64.whl
Algorithm Hash digest
SHA256 491ec1bfd2ee3013269c2b652dde14a85539480e0fb82f89bb12198fa59fff82
MD5 ef9c04d32ccb71567c8914828e5fc5d2
BLAKE2b-256 262c98fc264bd6d6e67ccafc05cdbb8339da7af3f3c3120fed08f7ba4eab12f6

See more details on using hashes here.

Provenance

File details

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

File metadata

File hashes

Hashes for pyclipper-1.3.0.post6-cp37-cp37m-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 2737df106b8487103916147fe30f887aff439d9f2bd2f67c9d9b5c13eac88ccf
MD5 8c6e2c09f7077ae077d0e3a9036fe01a
BLAKE2b-256 28b705c644c50f73fbb5f8c928cff0239d3c5f48da70041ebad5d0d49cd9de27

See more details on using hashes here.

Provenance

File details

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

File metadata

File hashes

Hashes for pyclipper-1.3.0.post6-cp36-cp36m-win_amd64.whl
Algorithm Hash digest
SHA256 6893f9b701f3132d86018594d99b724200b937a3a3ddfe1be0432c4ff0284e6e
MD5 b7f865353851bc8f28d7a238d46baf38
BLAKE2b-256 805e4a255f9f198ad3dc137d86ebcdd4228ba467396de28dbdd308db5f4affff

See more details on using hashes here.

Provenance

File details

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

File metadata

File hashes

Hashes for pyclipper-1.3.0.post6-cp36-cp36m-win32.whl
Algorithm Hash digest
SHA256 1fd56855ca92fa7eb0d8a71cf3a24b80b9724c8adcc89b385bbaa8924e620156
MD5 b8838f7954033bab559e7a63c2cb39c2
BLAKE2b-256 27415613dcd18507d57f666d0defad3c81ef51306cdd6d2263dd6900622bdc8d

See more details on using hashes here.

Provenance

File details

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

File metadata

File hashes

Hashes for pyclipper-1.3.0.post6-cp36-cp36m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 04214d23cf79f4ddcde36e299dea9f23f07abb88fa47ef399bf0e819438bbefd
MD5 6b109fce1163f31536f94966a0bfb694
BLAKE2b-256 6ffd612927c4f4c213c0a5555880a2e472aafe351b88b3cd686b510c29f6c901

See more details on using hashes here.

Provenance

File details

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

File metadata

File hashes

Hashes for pyclipper-1.3.0.post6-cp36-cp36m-manylinux_2_5_x86_64.manylinux1_x86_64.whl
Algorithm Hash digest
SHA256 aa604f8665ade434f9eafcd23f89435057d5d09427dfb4554c5e6d19f6d8aa1a
MD5 219abde576caab7e4ca519fce8659a75
BLAKE2b-256 87619f78b7bd751274774cc2554cb19542dfc7d3580bbc704e89b418819063be

See more details on using hashes here.

Provenance

File details

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

File metadata

File hashes

Hashes for pyclipper-1.3.0.post6-cp36-cp36m-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 c92e41301a8f25f9adcd90954512038ed5f774a2b8c04a4a9db261b78ff75e3a
MD5 89b27b0ec23030f9ad08424370592034
BLAKE2b-256 a3f7caa30f029fb6de3996366a47d8ee08bb76d7857eeb1e84185c7159d0a619

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