Skip to main content

coxeter

JOSS ReadTheDocs 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

Start by executing the following:

git clone https://github.com/glotzerlab/coxeter.git
cd coxeter

To install coxeter and other optional dependencies, choose one of the following:

pip install . # Install with no additional dependencies
pip install .[tests] # RECOMMENDED: Install with dependencies required to run pytests
pip install .[tests,doc] # Install all dependencies required to develop for coxeter

Requirements

  • Python >= 3.9

  • NumPy >= 1.19.0

  • SciPy >= 1.0.0

  • rowan >= 1.2.0

Testing

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

First, install the packages required to test coxeter (if not already done):

pip install -r tests/requirements.in

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

pytest

To 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 and the other required packages:

pip install -r doc/requirements.in
conda install -c conda-forge fresnel

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

cd doc
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!

Metadata

Release files for coxeter 0.11.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for coxeter 0.11.0
File Size Uploaded
coxeter-0.11.0.tar.gz 173.8 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for coxeter 0.11.0
File Interpreter ABI Platform
coxeter-0.11.0-py3-none-any.whl Python 3 none any Details

Total release size: 337.6 kB

Release files / coxeter-0.11.0.tar.gz

Download URL coxeter-0.11.0.tar.gz
Size 173.8 kB
Tags Source
SHA-256 checksum
How to use checksums
b3b5cc73e4dbf341e715df9a7bae523b0d00a67815e33b956c668caeaad8aa9a
BLAKE2b-256 checksum
How to use checksums
77f1bf7de705f7abeafc4f3151e0e91bc8d029f138dea8da2f1a4d263639b913
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.14

Release files / coxeter-0.11.0-py3-none-any.whl

Download URL coxeter-0.11.0-py3-none-any.whl
Size 163.8 kB
Tags Python 3
SHA-256 checksum
How to use checksums
7a0d64ac6548323a5f91b7aecc10258b74a377a3b28104684f1125ed2a810f6f
BLAKE2b-256 checksum
How to use checksums
2ddcd7580d89885f43bb7c92e223e9eb9b06dbb3d5a7da0faeaa58929bc400ee
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.14

Release history Release notifications | RSS feed

This release

0.11.0 This release

2 release files

0.10.0

2 release files

0.9.0

2 release files

0.8.0

2 release files

0.7.0

2 release files

0.6.1

2 release files

0.6.0

2 release files

0.5.0

2 release files

0.4.0

3 release files

0.3.0

2 release files

0.2.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page