Coxeter

Latest version: v0.8.0

Safety actively analyzes 622894 Python packages for vulnerabilities to keep your Python projects secure.

Scan your dependencies

Page 1 of 2

0.8.0

Added
~~~~~

- New ``edge_lengths`` method.
- ``combine_simplices``, ``find_simplex_equations``, ``_find_face_centroids``,
``find_coplanar_simplices``, ``_find_face_centroids``, and ``calculate_signed_volume``
methods for the ConvexPolyhedron class.
- ``simplices``, ``equations``, and ``face_centroids`` properties for the
ConvexPolyhedron class.
- Additional pytests for surface area, volume, centroid, moment of inertia, and equations properties.
- New ``to_hoomd`` and ``to_json`` export methods for use with simulation tools

Changed
~~~~~~~

- Pre-commit now uses ruff instead of flake8, pydocstyle, pyupgrade and isort.
- CI now uses GitHub Actions.
- Docs ported to furo theme.
- Reimplemented ``find_equations``, ``_volume``, ``surface_area``, ``centroid``,
``_compute_inertia_tensor``, ``rescale``, and ``get_face_area`` methods for convex
polyhedra using NumPy vectorized operations and polyhedron simplices.
- [breaking] ``ConvexPolyhedron._surface_triangulation`` now returns sorted simplices,
rather than running polytri. This can change the order of vertices and/or triangles.
- [breaking] ``faces`` may return faces in a different order than previously. Faces are still sorted with ``sort_faces``, and will still be ordered such that curl and divergence theorems work properly.
- ``volume``, ``surface_area``, and ``centroid`` properties now return stored values, rather than computing the quantity at each call.
- ``rescale`` now computes the centroid to ensure the correct value is available when ``centroid`` is called.
- Optimized pytest configurations for more efficient use of local and remote resources.

0.7.0

-------------------

Fixed
~~~~~

- Numerical precision issues in tests.
- GSD spec correctly outputs for `Polyhedron` objects.
- Error in `__repr__` for polyhedra with multiple face degrees.
- ReadTheDocs build errors resulting from `conda` memory usage.

Changed
~~~~~~~

- The minimum required Python version is now 3.8.
- The minimum required NumPy version is now 1.19.
- [breaking] Sped up point in polygon and point in polyhedron using NumPy.
- Migrated to pyproject.toml.

Added
~~~~~

- New `edges` and `edge_vectors` properties for polyhedra.
- New shape families for Archimedean, Catalan, and Johnson shapes.
- New shape families for regular pyramids and dipyramids, and a selection of regular prisms and antiprisms.

0.6.1

-------------------

Fixed
~~~~~

- Typos in JOSS paper.

0.6.0

-------------------

Added
~~~~~

- Plotting and other graphical rendering of shapes using `plato <https://plato-draw.readthedocs.io/>`__.
- Notebooks with example use-cases for the package.
- A quickstart tutorial.

0.5.0

-------------------

Added
~~~~~

- Ellipse area setter and Ellipsoid volume setter.
- Point in circle checks.
- Point in ellipse checks.
- Inertia tensors for 2D shapes that implement moments of inertia.
- Add minimal bounding sphere for all shapes.
- Add minimal centered bounding sphere calculations for all shapes except general polygons, general polyhedra, spheropolygons, and spheropolyhedra.
- Enable getting and setting the circumsphere or bounding sphere radius of a polyhedron (for both types of bounding sphere).
- Add maximal bounded sphere for all shapes.
- Add maximal centered bounded sphere calculations for all shapes except general polygons, general polyhedra, spheropolygons, and spheropolyhedra.
- Enable getting and setting the insphere or bounded sphere radius of a polyhedron (for both types of bounding sphere).
- Point in polygon checks for general (nonconvex) polygons.
- Point in polyhedron checks for general (nonconvex) polyhedrons.
- Minimal bounding sphere for all shapes except spheropolygons and spheropolyhedra.
- Add minimal centered bounding sphere calculations for all shapes except general polygons, general polyhedra, spheropolygons, and spheropolyhedra.
- Getters and setters for the circumsphere or bounding sphere radius of a polyhedron (for both types of bounding sphere).
- A ``repr`` for all shapes.

Changed
~~~~~~~

- Ensure that hypothesis-based tests don't implicitly reuse pytest fixtures.

Deprecated
~~~~~~~~~~

- The circumsphere from center calculations (replaced by minimal centered bounding sphere).
- The bounding_sphere property is deprecated in favor of minimal_bounding_sphere.
- The insphere from center calculations (replaced by maximal centered bounded sphere).

Fixed
~~~~~

- Centroid calculations for polygon and polyhedron use the full integrals rather than simple averages of vertices.

0.4.0

-------------------

Added
~~~~~

- Circumsphere and insphere from center calculations for ConvexSpheropolyhedron.
- Form factors amplitudes for sphere, polygons, and polyhedra.
- Shape families associated with a DOI can be directly accessed via a dictionary.
- Expected abstract interface for shapes (both 2D and 3D) has expanded.
- Plotting polygons or polyhedra can automatically create matplotlib axes.
- Perimeter calculation for polygons.
- Area and perimeter setters for spheropolygons.

Changed
~~~~~~~

- Shape family API is now entirely based on class methods rather than a call operator.
- The parent ShapeFamily class is now part of the public API.
- Doctests are now run as part of pytest.
- Subpackages have been renamed: shape_classes is now shapes, and shape_families is now families.
- The common_families submodule of shape_families is now just common.

Fixed
~~~~~

- Volume calculation for ConvexSpheropolyhedron includes area of extruded faces in addition to vertices and edges.
- Documentation has been revised and edited.

Removed
~~~~~~~

- The symmetry.py module.
- The ft.py module.
- The symmetry.py module.
- The get_params method of TabulatedShapeFamily.
- The family_from_doi method (the underlying data dictionary is now directly exposed).

Page 1 of 2

© 2024 Safety CLI Cybersecurity Inc. All Rights Reserved.