Skip to main content

Tools for creating and manipulating shapes.

Project description

coxeter

ReadTheDocs CircleCI PyPI conda-forge

Welcome to the documentation for coxeter! The coxeter Python library provides tools for working with common geometric objects in two and three dimensions. Named for the 20th century geometer best known for his work on polytopes, coxeter is especially focused on polygons and polyhedra, but it also support various standard curved shapes such as spheres and ellipsoids.

The package emphasizes working with shapes as mutable objects whose geometric attributes may be accessed using property-based APIs. Since coxeter originally arose to support representations of anisotropic nanoparticles, many shapes support calculations of physical properties (such as form factors and inertia tensors) in addition to purely geometric ones. However, the package is designed with more general audiences in mind as well, and it aims to support precise calculations of a wide range of geometric quantities that are useful in a number of fields.

Some core features of coxeter include:

  • Libraries of common shapes to support easy construction.

  • Mutable shape objects that can be rescaled in a variety of ways to suit a number of needs.

  • Immediate access to geometric properties of shapes via Python properties of shape objects.

  • Plotting functionality to make it easy to visualize shapes in both two and three dimensions.

More detailed information on coxeter’s features and examples of how to use them may be found in the documentation.

Setup

The recommended methods for installing coxeter are using pip or conda.

Installation via pip

To install the package from PyPI, execute:

pip install coxeter --user

Installation via conda

To install the package from conda, first add the conda-forge channel:

conda config --add channels conda-forge

After the conda-forge channel has been added, you can install coxeter by executing

conda install coxeter

Installation from source

To install from source, execute:

git clone https://github.com/glotzerlab/coxeter.git
cd coxeter
python setup.py install --user

Requirements

  • Python >= 3.6

  • NumPy >= 1.15

  • SciPy >= 1.0.0

  • rowan >= 1.2

Testing

The package is currently tested for Python >= 3.6 on Unix-like systems. Continuous integrated testing is performed using CircleCI on these Python versions.

To run the packaged unit tests, execute the following line from the root of the repository:

pytest

To check test coverage, make sure the coverage module is installed:

pip install coverage

and then run the packaged unit tests with the coverage module:

pytest --cov=coxeter

Building Documentation

Documentation for coxeter is written in reStructuredText and compiled using Sphinx. To build the documentation, first install Sphinx:

cd doc
pip install -r requirements.txt

You can then use Sphinx to create the actual documentation in either PDF or HTML form by running the following commands in the coxeter root directory:

make html # For html output
make latexpdf # For a LaTeX compiled PDF file
open build/html/index.html

Support and Contribution

This package is hosted on GitHub. Please report any bugs or problems that you find on the issue tracker. All contributions to coxeter are welcomed via pull requests!

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

coxeter-0.6.1.tar.gz (107.6 kB view details)

Uploaded Source

Built Distribution

coxeter-0.6.1-py3-none-any.whl (121.4 kB view details)

Uploaded Python 3

File details

Details for the file coxeter-0.6.1.tar.gz.

File metadata

  • Download URL: coxeter-0.6.1.tar.gz
  • Upload date:
  • Size: 107.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.1 importlib_metadata/4.6.1 pkginfo/1.7.1 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.61.2 CPython/3.9.6

File hashes

Hashes for coxeter-0.6.1.tar.gz
Algorithm Hash digest
SHA256 81df58b01cd32c6ed8b24c9833ccb1a5d7ce490d49e6fa0467bd4a6a7b4c46be
MD5 1663549dcccc5f09fab9ebcf9e31606a
BLAKE2b-256 69d8ab0d686f8fad141a380f930dee5ec609d7bb48928203a781b0c9f2c63986

See more details on using hashes here.

File details

Details for the file coxeter-0.6.1-py3-none-any.whl.

File metadata

  • Download URL: coxeter-0.6.1-py3-none-any.whl
  • Upload date:
  • Size: 121.4 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.1 importlib_metadata/4.6.1 pkginfo/1.7.1 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.61.2 CPython/3.9.6

File hashes

Hashes for coxeter-0.6.1-py3-none-any.whl
Algorithm Hash digest
SHA256 018935a8f57c990388c19347a8acdb0a7754cfe406f8997dc0fea8261a09585e
MD5 1d2fc6bcaac9cdc590c96d945cc1bec9
BLAKE2b-256 b8ce616f82fb123401929b204c02a211b237611217042f3b10d8f974cf5b9c6d

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