Metadata-Version: 2.1
Name: simple-geometry
Version: 0.1.3
Summary: A simple geometry library
Home-page: UNKNOWN
Author: Niels Buwen
Author-email: dev@niels-buwen.de
License: UNKNOWN
Platform: UNKNOWN
Classifier: Development Status :: 4 - Beta
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.6
Classifier: Programming Language :: Python :: 3.7
Classifier: Programming Language :: Python :: 3.8
Classifier: Intended Audience :: Developers
Classifier: Operating System :: POSIX :: Linux
Classifier: Topic :: Software Development
Classifier: License :: OSI Approved :: GNU Lesser General Public License v3 (LGPLv3)
Description-Content-Type: text/markdown
Requires-Dist: dataclasses ; python_version < "3.7"

Python Geometry ![Build](https://github.com/unihd-cag/simple-geometry/workflows/Python%20package/badge.svg)
=====================================================================================================

Install
-------

```bash
pip install simple-geometry
```

Features
--------

- Create simple shapes
  - axis-aligned rectangles
  - axis-aligned path segments
  - groups containing other shapes
- Manipulate shapes
  - stretch align
  - translation align
- Visualize shapes

Read more in the [full documentation](https://unihd-cag.github.io/simple-geometry/).

Example
-------

```python
# Create some shapes
from geometry import Rect

big = Rect[100, 100, 'blue']
small = Rect[50, 50, 'red']

# Translate relatively

small.translate(center=big.top_right)

# Some topology

tiny = big.intersection(small).copy('green')

# Visualize them
from geometry import Canvas

c = Canvas(width=200, height=200)
c.append(big)
c.append(small)
c.append(tiny)

# This draws the shapes in jupyter notebook
c
```

![three squares in blue, green and red](docs/img/shapes.png)


