pdan
Summary
pdan is a Python library that implements the algorithm of
Skorobogatov, G. et al., 2021
for convex polygon decomposition into separate parts depending on the area
requirements.
In what follows
pythonis an alias forpython3.8or any later version (python3.9and so on).
Installation
Install the latest pip & setuptools packages versions:
python -m pip install --upgrade pip setuptools
User
Download and install the latest stable version from PyPI repository:
python -m pip install --upgrade pdan
Developer
Download the latest version from GitHub repository
git clone https://github.com/LostFan123/pdan.git
cd pdan
Install dependencies:
poetry install
Usage
>>> from pdan import minimizing_split, Contour, Point, Polygon
>>> contour = Contour([Point(0, 0), Point(1, 0), Point(1, 1), Point(0, 1)])
>>> part, other = minimizing_split(contour, 0.5, key=lambda x, y: x.length)
>>> Polygon(part).area == Polygon(other).area == 0.5
True
Development
Bumping version
Preparation
Install bump-my-version.
Pre-release
Choose which version number category to bump following semver specification.
Test bumping version
bump-my-version bump --dry-run --verbose $CATEGORY
where $CATEGORY is the target version number category name, possible
values are patch/minor/major.
Bump version
bump-my-version bump --verbose $CATEGORY
This will set version to major.minor.patch-alpha.
Release
Test bumping version
bump-my-version bump --dry-run --verbose release
Bump version
bump-my-version bump --verbose release
This will set version to major.minor.patch.
Running tests
Plain:
pytest
Inside Docker container:
docker compose up
Bash script (e.g. can be used in Git hooks):
./run-tests.sh
or
./run-tests.sh cpython
PowerShell script (e.g. can be used in Git hooks):
.\run-tests.ps1
or
.\run-tests.ps1 cpython
Metadata
Release files for pdan 0.1.9
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| pdan-0.1.9.tar.gz | 7.8 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| pdan-0.1.9-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 15.0 kB
Release files / pdan-0.1.9.tar.gz
| Download URL | pdan-0.1.9.tar.gz |
|---|---|
| Size | 7.8 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
d7ed8e349be6f1b25075d7b16835c0d1d6f0d3fed688afc4c7795d81a338eba1
|
|
BLAKE2b-256 checksum How to use checksums |
f7f7585dfbe5e5871a94764346a40deb0a95b6c0e584f3acb4417132b7473809
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/5.0.0 CPython/3.9.18
|
Release files / pdan-0.1.9-py3-none-any.whl
| Download URL | pdan-0.1.9-py3-none-any.whl |
|---|---|
| Size | 7.2 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
83b3e9b15a5595952c7beb51de99aace0f271d6ce5e7bfd6b4f9cb328fec9295
|
|
BLAKE2b-256 checksum How to use checksums |
e183340baeba2f53180a499bc593e1ebea8297e7fd7445a7049d195549043e0d
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/5.0.0 CPython/3.9.18
|