Skip to main content

2D planar geometry library for Python.

Project description

Planar is a 2D geometry library for Python. It is intended for use by games and interactive real-time applications, but is designed to be useful for most any program that needs a convenient, high-performance geometry API.

Planar is being developed as part of the larger Grease game framework. However, it is a standalone library and has no external dependencies besides Python, and optionally a C compiler.

Planar is purely a math library, presentation, graphical or otherwise is left up to the application.

Project Goals

  • Do one thing, 2D geometry, and do it well.

  • Provide a high-level, clean, Pythonic API.

  • All APIs have both a Python reference implementation and a high performance implementation in C with the same interface.

  • Compatibility with Python 2.6+, and Python 3.1+

  • 100% test coverage.

  • Full narrative and API reference documentation.

  • Platform-independent.

  • Release early and often.

  • Be responsive to community input.

  • Don’t take ourselves too seriously.

License

Planar is distributed under the terms of the new BSD license. You are free to use it for commercial or non-commercial projects with little or no restriction, all we ask is that:

  • Redistributions of the code, in whole or part, retain the original copyright notice and license text.

  • You do not claim our endorsement of any derived product.

For a complete text of the license see the LICENSE.txt file in the source distrbution.

Acknowledgements

The API for planar, and some of the code is derived from the excellent work done by the Super Effective Team, thanks guys!

Requirements

Planar requires Python 2.6, 2.7, 3.1, or better.

To experience the exhilaration of native-code performance, a C compiler is required. If someone volunteers, binary releases for platforms where this is not common (you know who you are) will be happily made available.

Downloading Planar

Planar releases can be downloaded from the python package index (pypi):

You can get the latest code in development from the planar mercurial repository on bitbucket:

Installation

To build and install Planar from the source distribution or repository use:

python setup.py install

To install only the pure-Python modules without compiling, use:

python setup.py build_py install --skip-build

Only performance is sacrificed without the C extensions, all functionality is still available when using only the pure-Python modules.

Tests

Planar requires nose for testing. You can install it for Python 2.x using easy_install:

easy_install nose

For Python 3.x, you can download and install distribute from here:

For now, you can get a copy of nose3 for Python 3.x, patched to install properly on Python 3.1 here:

Once nose is installed you can run the tests from the source directory using nosetests, first building the C extensions, like so (on Unix):

python setup.py build && nosetests -d -w build/lib.*/planar/

This runs the tests inside the build directory so that the C extensions can be tested. You can put a 3 suffix on the python and nosetests commands above for Python 3.x.

Documentation

You can browse the documentation online here:

The same documentation is also available for offline browsing in the doc/build/html subdirectory of the source distribution.

Contributing and Getting Support

Come visit us at the Grease users google group to get help, moral support, lavish praise, complain bitterly, report a bug, or contribute ideas:

Project details


Release history Release notifications | RSS feed

This version

0.4

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

chalk_planar-0.4.tar.gz (523.3 kB view details)

Uploaded Source

Built Distribution

chalk_planar-0.4-py3-none-any.whl (62.6 kB view details)

Uploaded Python 3

File details

Details for the file chalk_planar-0.4.tar.gz.

File metadata

  • Download URL: chalk_planar-0.4.tar.gz
  • Upload date:
  • Size: 523.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.0 CPython/3.10.14

File hashes

Hashes for chalk_planar-0.4.tar.gz
Algorithm Hash digest
SHA256 cc315e9b39fa0a9cd3ba21d30ac631c4032e8f30643b52edfde69c5fbda68cb9
MD5 20c10fe5d5fc8405094c73e3f638ea76
BLAKE2b-256 02c51e4791ce98ceed962938a4a5cd9515d494237134eee23dac45887d690843

See more details on using hashes here.

File details

Details for the file chalk_planar-0.4-py3-none-any.whl.

File metadata

  • Download URL: chalk_planar-0.4-py3-none-any.whl
  • Upload date:
  • Size: 62.6 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.0 CPython/3.10.14

File hashes

Hashes for chalk_planar-0.4-py3-none-any.whl
Algorithm Hash digest
SHA256 98774931e4e9420377f3e5638f07b07630934ffff28e61184a9285a6d7ecc4ac
MD5 f8b3894f68a40c47cdbc861b5b61a55a
BLAKE2b-256 13d61245b0f90b312b3ba9bc1f4793f610b1ebe0215b45de56d7bf009b10ab8f

See more details on using hashes here.

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