Skip to main content

Crystal Geometry

3D crystal geometry engine for crystallographic visualization. Computes polyhedra from Crystal Description Language (CDL) strings using half-space intersection with point group symmetry.

Part of the Gemmology Project.

Installation

pip install crystal-geometry

Quick Start

from crystal_geometry import cdl_string_to_geometry, create_octahedron

# Create geometry from CDL string
geom = cdl_string_to_geometry("cubic[m3m]:{111}@1.0 + {100}@1.3")
print(f"Vertices: {len(geom.vertices)}, Faces: {len(geom.faces)}")

# Use convenience constructors
octahedron = create_octahedron()
print(f"Octahedron has {len(octahedron.faces)} faces")

Features

  • CDL Integration: Parse Crystal Description Language strings to 3D geometry
  • Point Group Symmetry: All 32 crystallographic point groups supported
  • Half-Space Intersection: Robust geometry computation using scipy
  • 7 Crystal Systems: Cubic, tetragonal, orthorhombic, hexagonal, trigonal, monoclinic, triclinic
  • Miller Indices: Full support for 3-index (hkl) and 4-index (hkil) notation
  • Amorphous Geometry (v2.0): 7 parametric shape generators for non-crystalline materials (massive, botryoidal, reniform, stalactitic, mammillary, nodular, conchoidal)
  • Aggregate Layouts (v2.0): 6 spatial arrangement algorithms for crystal aggregates (parallel, random, radial, epitaxial, druse, cluster)
  • Nested Growth (v2.0): Geometry support for overgrowth relationships via the > operator

Core API

Geometry Generation

from cdl_parser import parse_cdl
from crystal_geometry import cdl_to_geometry, cdl_string_to_geometry

# From CDL string directly
geom = cdl_string_to_geometry("cubic[m3m]:{111}")

# From parsed description (more control)
desc = parse_cdl("cubic[m3m]:{111}@1.0 + {100}@1.3")
geom = cdl_to_geometry(desc, c_ratio=1.0)

Convenience Constructors

from crystal_geometry import (
    create_octahedron,
    create_cube,
    create_dodecahedron,
    create_truncated_octahedron,
)

# Regular polyhedra
octahedron = create_octahedron(scale=1.0)
cube = create_cube(scale=1.0)
dodecahedron = create_dodecahedron(scale=1.0)
truncated = create_truncated_octahedron(octahedron_scale=1.0, cube_scale=1.3)

CrystalGeometry Class

from crystal_geometry import CrystalGeometry

geom = cdl_string_to_geometry("cubic[m3m]:{111}")

# Properties
geom.vertices      # Nx3 numpy array of vertex positions
geom.faces         # List of face vertex indices
geom.face_normals  # List of unit normal vectors
geom.face_forms    # Form index for each face
geom.face_millers  # Miller indices for each face
geom.is_amorphous  # True for amorphous geometry (v2.0)
geom.aggregate_metadata  # AggregateMetadata or None (v2.0)
geom.component_ids       # Per-face component ID for aggregates/twins

# Methods
geom.get_edges()           # Get unique edges as vertex pairs
geom.center()              # Compute centroid
geom.scale_to_unit()       # Scale to fit unit sphere
geom.translate(offset)     # Translate by vector
geom.euler_characteristic()  # V - E + F (should be 2)
geom.is_valid()            # Verify geometry integrity
geom.to_dict()             # Export to dictionary

AggregateMetadata (v2.0)

from crystal_geometry import AggregateMetadata

# Attached to CrystalGeometry.aggregate_metadata for aggregate geometry
# Properties:
#   arrangement: str     - Layout algorithm ('parallel', 'random', etc.)
#   n_instances: int     - Number of crystal instances
#   spacing: float|None  - Spacing between instances
#   orientation: str|None - Orientation mode

Symmetry Operations

from crystal_geometry import (
    get_point_group_operations,
    generate_equivalent_faces,
    miller_to_normal,
    LatticeParams,
)

# Get symmetry operations for a point group
ops = get_point_group_operations('m3m')  # 48 operations
ops = get_point_group_operations('6/mmm')  # 24 operations

# Generate equivalent faces from one Miller index
faces = generate_equivalent_faces(1, 1, 1, 'm3m')  # 8 faces for {111}
faces = generate_equivalent_faces(1, 0, 0, 'm3m')  # 6 faces for {100}

# Convert Miller indices to normal vector
lattice = LatticeParams.cubic()
normal = miller_to_normal(1, 1, 1, lattice)

# Create lattice parameters
cubic = LatticeParams.cubic()
tetragonal = LatticeParams.tetragonal(c_ratio=1.5)
hexagonal = LatticeParams.hexagonal(c_ratio=1.2)

Crystal Systems and Point Groups

System Point Groups
Cubic m3m, 432, -43m, m-3, 23
Tetragonal 4/mmm, 422, 4mm, -42m, 4/m, -4, 4
Hexagonal 6/mmm, 622, 6mm, -6m2, 6/m, -6, 6
Trigonal -3m, 32, 3m, -3, 3
Orthorhombic mmm, 222, mm2
Monoclinic 2/m, 2, m
Triclinic -1, 1

Examples

Diamond-like Crystal

# Octahedron truncated by cube
geom = cdl_string_to_geometry("cubic[m3m]:{111}@1.0 + {100}@1.3")
assert len(geom.faces) == 14  # 8 octahedron + 6 cube

Garnet-like Crystal

# Dodecahedron with trapezohedron
geom = cdl_string_to_geometry("cubic[m3m]:{110}@1.0 + {211}@0.6")

Hexagonal Prism

# Prism with pinacoid termination
geom = cdl_string_to_geometry("hexagonal[6/mmm]:{10-10}@1.0 + {0001}@0.5")

Quartz-like Crystal

# Prism with rhombohedron
geom = cdl_string_to_geometry("trigonal[-3m]:{10-10}@1.0 + {10-11}@0.8")

Amorphous Shape (v2.0)

from crystal_geometry import generate_amorphous_shape

# Generate parametric mesh for an amorphous material
geom = generate_amorphous_shape("botryoidal", radius=1.0, seed=42)
print(geom.is_amorphous)  # True

Available shapes: massive, botryoidal, reniform, stalactitic, mammillary, nodular, conchoidal.

Crystal Aggregate (v2.0)

from crystal_geometry import generate_aggregate, cdl_string_to_geometry

# Generate base geometry, then arrange as aggregate
base = cdl_string_to_geometry("trigonal[32]:{10-10}@1.0 + {10-11}@0.8")
aggregate = generate_aggregate(base, arrangement="cluster", count=12, seed=42)
print(aggregate.aggregate_metadata.n_instances)  # 12

Available arrangements: parallel, random, radial, epitaxial, druse, cluster. Instance count is capped at 200 for performance.

Source Modules

Module Purpose
geometry.py Core half-space intersection engine
symmetry.py Point group symmetry operations
twins.py Twin geometry computation
habits.py Convenience constructors
amorphous.py Parametric mesh generators for amorphous shapes (v2.0)
aggregates.py Spatial layout algorithms for crystal aggregates (v2.0)
models.py CrystalGeometry, AggregateMetadata data classes
modifications.py Morphological modification transforms

Requirements

  • Python >= 3.10
  • numpy >= 1.20.0
  • scipy >= 1.7.0
  • cdl-parser >= 2.0.0

Documentation

See crystal-geometry.gemmology.dev for full documentation.

License

MIT License - see LICENSE for details.

Metadata

Release files for gemmology-crystal-geometry 2.0.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 gemmology-crystal-geometry 2.0.0
File Size Uploaded
gemmology_crystal_geometry-2.0.0.tar.gz 93.6 kB Details

Built distributions (wheels)

Table of built distributions (wheels) for gemmology-crystal-geometry 2.0.0
File
gemmology_crystal_geometry-2.0.0-cp313-cp313-win_amd64.whl CPython 3.13 CPython 3.13 Windows x86-64 Details
gemmology_crystal_geometry-2.0.0-cp313-cp313-win32.whl CPython 3.13 CPython 3.13 Windows x86-32 Details
gemmology_crystal_geometry-2.0.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl CPython 3.13 CPython 3.13 Linux glibc 2.17+ x86-64 Details
gemmology_crystal_geometry-2.0.0-cp313-cp313-macosx_11_0_arm64.whl CPython 3.13 CPython 3.13 macOS 11.0+ ARM64 Details
gemmology_crystal_geometry-2.0.0-cp312-cp312-win_amd64.whl CPython 3.12 CPython 3.12 Windows x86-64 Details
gemmology_crystal_geometry-2.0.0-cp312-cp312-win32.whl CPython 3.12 CPython 3.12 Windows x86-32 Details
gemmology_crystal_geometry-2.0.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl CPython 3.12 CPython 3.12 Linux glibc 2.17+ x86-64 Details
gemmology_crystal_geometry-2.0.0-cp312-cp312-macosx_11_0_arm64.whl CPython 3.12 CPython 3.12 macOS 11.0+ ARM64 Details
gemmology_crystal_geometry-2.0.0-cp311-cp311-win_amd64.whl CPython 3.11 CPython 3.11 Windows x86-64 Details
gemmology_crystal_geometry-2.0.0-cp311-cp311-win32.whl CPython 3.11 CPython 3.11 Windows x86-32 Details
gemmology_crystal_geometry-2.0.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl CPython 3.11 CPython 3.11 Linux glibc 2.17+ x86-64 Details
gemmology_crystal_geometry-2.0.0-cp311-cp311-macosx_11_0_arm64.whl CPython 3.11 CPython 3.11 macOS 11.0+ ARM64 Details
gemmology_crystal_geometry-2.0.0-cp310-cp310-win_amd64.whl CPython 3.10 CPython 3.10 Windows x86-64 Details
gemmology_crystal_geometry-2.0.0-cp310-cp310-win32.whl CPython 3.10 CPython 3.10 Windows x86-32 Details
gemmology_crystal_geometry-2.0.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl CPython 3.10 CPython 3.10 Linux glibc 2.17+ x86-64 Details
gemmology_crystal_geometry-2.0.0-cp310-cp310-macosx_11_0_arm64.whl CPython 3.10 CPython 3.10 macOS 11.0+ ARM64 Details

Total release size: 2.6 MB

Release files / gemmology_crystal_geometry-2.0.0.tar.gz

Download URL gemmology_crystal_geometry-2.0.0.tar.gz
Size 93.6 kB
Tags Source
SHA-256 checksum
How to use checksums
ce5652e22d89462ecdfc51c06ca74ab2f1ade9875520b2d0b1fc1d217a3d9806
BLAKE2b-256 checksum
How to use checksums
491a86209de757606309bdd48e829c9de9e444a95f3231bc2141e529d826afdf
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.7

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Feb 16, 2026.

Transparency log

Release files / gemmology_crystal_geometry-2.0.0-cp313-cp313-win_amd64.whl

Download URL gemmology_crystal_geometry-2.0.0-cp313-cp313-win_amd64.whl
Size 158.6 kB
Tags CPython 3.13 Windows x86-64
SHA-256 checksum
How to use checksums
0828f7e56046c676c7238ba6c2e053e5a68ffe127e46b517173b7fdff815e930
BLAKE2b-256 checksum
How to use checksums
c9a4942607a94c9ec9687b59bc003e43db24a78c51cc6a9e943dec4c110e3015
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.7

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Feb 16, 2026.

Transparency log

Release files / gemmology_crystal_geometry-2.0.0-cp313-cp313-win32.whl

Download URL gemmology_crystal_geometry-2.0.0-cp313-cp313-win32.whl
Size 149.7 kB
Tags CPython 3.13 Windows x86-32
SHA-256 checksum
How to use checksums
ae48d000f31f0376fb78803beeb41009d5c19d7829d8172bac590502c1ceeff9
BLAKE2b-256 checksum
How to use checksums
a666f9e5d75ca55fdcfe1e68fbbb3b1acac9258a0b4e25018b8cb1c7ce4e3491
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.7

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Feb 16, 2026.

Transparency log

Release files / gemmology_crystal_geometry-2.0.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl

Download URL gemmology_crystal_geometry-2.0.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Size 180.2 kB
Tags CPython 3.13 Linux glibc 2.17+ x86-64
SHA-256 checksum
How to use checksums
1588ac25c218d5201e3215ab739aa32c8f3c2696e6b1f9cd47138121800d441a
BLAKE2b-256 checksum
How to use checksums
d223d0edf1eaeabc6fe853db8ba6463e8e9c5d7c999a4b8b315e34b08b3ce73f
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.7

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Feb 16, 2026.

Transparency log

Release files / gemmology_crystal_geometry-2.0.0-cp313-cp313-macosx_11_0_arm64.whl

Download URL gemmology_crystal_geometry-2.0.0-cp313-cp313-macosx_11_0_arm64.whl
Size 141.8 kB
Tags CPython 3.13 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
77d459c1c29a8e0e8b750d6ec11e9bd17493d4c4818895be176c7cf2d2cb25e0
BLAKE2b-256 checksum
How to use checksums
e5fd1027cdd1b0028daf33efc6ac02885a08a10c34adfa63e8ca0fcd0dd3aad3
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.7

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Feb 16, 2026.

Transparency log

Release files / gemmology_crystal_geometry-2.0.0-cp312-cp312-win_amd64.whl

Download URL gemmology_crystal_geometry-2.0.0-cp312-cp312-win_amd64.whl
Size 158.6 kB
Tags CPython 3.12 Windows x86-64
SHA-256 checksum
How to use checksums
4eb0116ee45c470a4af231ba23e9a352fe0f03a9a438915e60df3e61228efd5c
BLAKE2b-256 checksum
How to use checksums
3c7418174eca9bac928be929f04dc8d4dd7eaf3658d49839f3f4350a3105ddd4
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.7

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Feb 16, 2026.

Transparency log

Release files / gemmology_crystal_geometry-2.0.0-cp312-cp312-win32.whl

Download URL gemmology_crystal_geometry-2.0.0-cp312-cp312-win32.whl
Size 149.7 kB
Tags CPython 3.12 Windows x86-32
SHA-256 checksum
How to use checksums
db2afca2c47e2eeaf6fd785c42f3d2e32c0fa2662056b51f9b5f64eaec4f2a89
BLAKE2b-256 checksum
How to use checksums
20d211bff92b988983deaa8d1c13280c694771d5143034d5f978c0a5240fd948
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.7

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Feb 16, 2026.

Transparency log

Release files / gemmology_crystal_geometry-2.0.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl

Download URL gemmology_crystal_geometry-2.0.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Size 180.1 kB
Tags CPython 3.12 Linux glibc 2.17+ x86-64
SHA-256 checksum
How to use checksums
1de50120ad9cc6391a2e5606f9c202f9d6b0e9b0291d2aa85d120549eca999f4
BLAKE2b-256 checksum
How to use checksums
916f0852bb617b534adc107b096f804bd248631fe853574df634dda3f6027172
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.7

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Feb 16, 2026.

Transparency log

Release files / gemmology_crystal_geometry-2.0.0-cp312-cp312-macosx_11_0_arm64.whl

Download URL gemmology_crystal_geometry-2.0.0-cp312-cp312-macosx_11_0_arm64.whl
Size 141.7 kB
Tags CPython 3.12 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
048104dfcd6f7364bb0f6dd4ae3a7f74053fcc944c8b4ccb7f03338274724d03
BLAKE2b-256 checksum
How to use checksums
651ddf605b7822d16614069a2f745068fe3b9703cbf3a74e25707991c8530536
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.7

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Feb 16, 2026.

Transparency log

Release files / gemmology_crystal_geometry-2.0.0-cp311-cp311-win_amd64.whl

Download URL gemmology_crystal_geometry-2.0.0-cp311-cp311-win_amd64.whl
Size 157.1 kB
Tags CPython 3.11 Windows x86-64
SHA-256 checksum
How to use checksums
2037005016674d82ae84a75869f76753b05a377ddc7c823ddae58e1e213ccac3
BLAKE2b-256 checksum
How to use checksums
7cf7d414a1820f37bbc7caa260faa73ed69148d23908c1d37bafa26ac114c591
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.7

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Feb 16, 2026.

Transparency log

Release files / gemmology_crystal_geometry-2.0.0-cp311-cp311-win32.whl

Download URL gemmology_crystal_geometry-2.0.0-cp311-cp311-win32.whl
Size 148.9 kB
Tags CPython 3.11 Windows x86-32
SHA-256 checksum
How to use checksums
a92dc1987459355816d2f78ad1144d9edc3027cb3cb332e6ee3e5f6a06b12175
BLAKE2b-256 checksum
How to use checksums
a99f29551c1480a49646b41b814accaa54385a8cae539f347756e1f34abf692d
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.7

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Feb 16, 2026.

Transparency log

Release files / gemmology_crystal_geometry-2.0.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl

Download URL gemmology_crystal_geometry-2.0.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Size 179.6 kB
Tags CPython 3.11 Linux glibc 2.17+ x86-64
SHA-256 checksum
How to use checksums
4e2b8c8f82aabac30ff1f754ba067ad0f3649903fe6951d8029b223ad905eeb6
BLAKE2b-256 checksum
How to use checksums
d5a34ab8a1b276b529e3d86b9293215a9e6e168f48bda530f855adce1409d505
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.7

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Feb 16, 2026.

Transparency log

Release files / gemmology_crystal_geometry-2.0.0-cp311-cp311-macosx_11_0_arm64.whl

Download URL gemmology_crystal_geometry-2.0.0-cp311-cp311-macosx_11_0_arm64.whl
Size 141.6 kB
Tags CPython 3.11 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
56edf54ce02a9563357f5825ae67b9e7d6d62a6433c6db53c9a907e96ab57bb8
BLAKE2b-256 checksum
How to use checksums
e8a8a9e44d153697111dd674533a5e5b8e18a9b68564d5534713ca794b80b446
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.7

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Feb 16, 2026.

Transparency log

Release files / gemmology_crystal_geometry-2.0.0-cp310-cp310-win_amd64.whl

Download URL gemmology_crystal_geometry-2.0.0-cp310-cp310-win_amd64.whl
Size 156.4 kB
Tags CPython 3.10 Windows x86-64
SHA-256 checksum
How to use checksums
cbfb169a855cd2e1fad8e4e82c02731c75a35a84da00dff3898650c18e10102f
BLAKE2b-256 checksum
How to use checksums
253221ca9f917b04b5c6ef44329fefccab80227b1e0e1608c9f9f4cded6d2310
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.7

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Feb 16, 2026.

Transparency log

Release files / gemmology_crystal_geometry-2.0.0-cp310-cp310-win32.whl

Download URL gemmology_crystal_geometry-2.0.0-cp310-cp310-win32.whl
Size 147.9 kB
Tags CPython 3.10 Windows x86-32
SHA-256 checksum
How to use checksums
d640b32141a237863e195f84ffd200b57364a85a2e73d82445f7521ab3a1d488
BLAKE2b-256 checksum
How to use checksums
244296e9c8f14051b006d549b07efc51ae83dfab07a017c4717fce4d984dc37b
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.7

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Feb 16, 2026.

Transparency log

Release files / gemmology_crystal_geometry-2.0.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl

Download URL gemmology_crystal_geometry-2.0.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Size 178.0 kB
Tags CPython 3.10 Linux glibc 2.17+ x86-64
SHA-256 checksum
How to use checksums
a4759fc26033b4805f7a9dd46633c2177398fb9e2d0ac77c452aec5537f7fcc0
BLAKE2b-256 checksum
How to use checksums
956e99c18c908b56dfd81d68318f4e3124ced85891dc9789a6d11486a3b8727a
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.7

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Feb 16, 2026.

Transparency log

Release files / gemmology_crystal_geometry-2.0.0-cp310-cp310-macosx_11_0_arm64.whl

Download URL gemmology_crystal_geometry-2.0.0-cp310-cp310-macosx_11_0_arm64.whl
Size 140.3 kB
Tags CPython 3.10 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
21b4df3e3c5538f9f3cb80202cdbc8813ad3ccc840699d06e55f0cc17d2af384
BLAKE2b-256 checksum
How to use checksums
5061c35afebc997907d293bfbd75934d5c7fea06f88d0125322927757b843adc
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.7

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Feb 16, 2026.

Transparency log

Release history Release notifications | RSS feed

This release

2.0.0 This release

17 release files

1.0.5

17 release files

1.0.4

5 release files

1.0.3

5 release files

1.0.2

5 release files

1.0.1

1 release file

1.0.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