brille
You can use brille to:
access spacegroup and pointgroup symmetry operations
determine the first Brillouin zone for a given real space crystallographic lattice
find an irreducible Brillouin zone polyhedron for a lattice
construct a polyhedron-filling connected-point network
perform linear-interpolation of user-provided data for any reciprocal space point at a symmetry-equivalent position within the connected point network.
User documents
API documents
- Python module 
brille AngleUnitApproxConfigBZMeshQccBZMeshQdcBZMeshQddBZNestQccBZNestQcc.BrillouinZoneBZNestQcc.all_invABZNestQcc.all_rluBZNestQcc.bytes_per_pointBZNestQcc.fill()BZNestQcc.from_file()BZNestQcc.invABZNestQcc.ir_interpolate_at()BZNestQcc.rluBZNestQcc.set_flags_weights()BZNestQcc.sort()BZNestQcc.tetrahedraBZNestQcc.to_file()BZNestQcc.valuesBZNestQcc.vectors
BZNestQdcBZNestQdc.BrillouinZoneBZNestQdc.all_invABZNestQdc.all_rluBZNestQdc.bytes_per_pointBZNestQdc.fill()BZNestQdc.from_file()BZNestQdc.invABZNestQdc.ir_interpolate_at()BZNestQdc.rluBZNestQdc.set_flags_weights()BZNestQdc.sort()BZNestQdc.tetrahedraBZNestQdc.to_file()BZNestQdc.valuesBZNestQdc.vectors
BZNestQddBZNestQdd.BrillouinZoneBZNestQdd.all_invABZNestQdd.all_rluBZNestQdd.bytes_per_pointBZNestQdd.fill()BZNestQdd.from_file()BZNestQdd.invABZNestQdd.ir_interpolate_at()BZNestQdd.rluBZNestQdd.set_flags_weights()BZNestQdd.sort()BZNestQdd.tetrahedraBZNestQdd.to_file()BZNestQdd.valuesBZNestQdd.vectors
BZTrellisQccBZTrellisQcc.BrillouinZoneBZTrellisQcc.all_node_types()BZTrellisQcc.bytes_per_pointBZTrellisQcc.fill()BZTrellisQcc.from_file()BZTrellisQcc.inner_invABZTrellisQcc.inner_rluBZTrellisQcc.interpolate_at()BZTrellisQcc.invABZTrellisQcc.ir_interpolate_at()BZTrellisQcc.node_at()BZTrellisQcc.node_at_type()BZTrellisQcc.node_containing()BZTrellisQcc.node_containing_type()BZTrellisQcc.outer_invABZTrellisQcc.outer_rluBZTrellisQcc.rluBZTrellisQcc.set_flags_weights()BZTrellisQcc.sort()BZTrellisQcc.tetrahedraBZTrellisQcc.to_file()BZTrellisQcc.valuesBZTrellisQcc.vectors
BZTrellisQdcBZTrellisQdc.BrillouinZoneBZTrellisQdc.all_node_types()BZTrellisQdc.bytes_per_pointBZTrellisQdc.fill()BZTrellisQdc.from_file()BZTrellisQdc.inner_invABZTrellisQdc.inner_rluBZTrellisQdc.interpolate_at()BZTrellisQdc.invABZTrellisQdc.ir_interpolate_at()BZTrellisQdc.node_at()BZTrellisQdc.node_at_type()BZTrellisQdc.node_containing()BZTrellisQdc.node_containing_type()BZTrellisQdc.outer_invABZTrellisQdc.outer_rluBZTrellisQdc.rluBZTrellisQdc.set_flags_weights()BZTrellisQdc.sort()BZTrellisQdc.tetrahedraBZTrellisQdc.to_file()BZTrellisQdc.valuesBZTrellisQdc.vectors
BZTrellisQddBZTrellisQdd.BrillouinZoneBZTrellisQdd.all_node_types()BZTrellisQdd.bytes_per_pointBZTrellisQdd.fill()BZTrellisQdd.from_file()BZTrellisQdd.inner_invABZTrellisQdd.inner_rluBZTrellisQdd.interpolate_at()BZTrellisQdd.invABZTrellisQdd.ir_interpolate_at()BZTrellisQdd.node_at()BZTrellisQdd.node_at_type()BZTrellisQdd.node_containing()BZTrellisQdd.node_containing_type()BZTrellisQdd.outer_invABZTrellisQdd.outer_rluBZTrellisQdd.rluBZTrellisQdd.set_flags_weights()BZTrellisQdd.sort()BZTrellisQdd.tetrahedraBZTrellisQdd.to_file()BZTrellisQdd.valuesBZTrellisQdd.vectors
BasisBravaisBrillouinZoneBrillouinZone.faces_per_vertexBrillouinZone.from_file()BrillouinZone.half_edge_pointsBrillouinZone.half_edge_points_invABrillouinZone.ir_faces_per_vertexBrillouinZone.ir_moveinto()BrillouinZone.ir_moveinto_wedge()BrillouinZone.ir_normalsBrillouinZone.ir_normals_invABrillouinZone.ir_normals_primitiveBrillouinZone.ir_pointsBrillouinZone.ir_points_invABrillouinZone.ir_points_primitiveBrillouinZone.ir_polyhedronBrillouinZone.ir_polyhedron_generatedBrillouinZone.ir_verticesBrillouinZone.ir_vertices_invABrillouinZone.ir_vertices_per_faceBrillouinZone.ir_vertices_primitiveBrillouinZone.isinside()BrillouinZone.latticeBrillouinZone.moveinto()BrillouinZone.normalsBrillouinZone.normals_invABrillouinZone.normals_primitiveBrillouinZone.pointsBrillouinZone.points_invABrillouinZone.points_primitiveBrillouinZone.polyhedronBrillouinZone.to_file()BrillouinZone.verticesBrillouinZone.vertices_invABrillouinZone.vertices_per_faceBrillouinZone.vertices_primitiveBrillouinZone.wedge_normalsBrillouinZone.wedge_normals_invABrillouinZone.wedge_normals_primitive
HallSymbolLPolyhedronLattice()LengthUnitNodeTypePointSymmetryPointgroupPolyhedronPrimitiveTransformRotatesLikeSortingStatusSpacegroupSymmetryreal_space_tolerance()reciprocal_space_tolerance()- Documented thus far:
 - Plotting utilities for 
brille plot()plot_bz()plot_points()plot_points_with_lines()plot_polyhedron()plot_tetrahedra()plot_tetrahedron()- Utilities for 
brille create_bz()create_grid()- Doxygen documentation
 - Undocumented C++ Classes