1pub mod array;
2mod columns;
3pub mod compression;
4pub mod conbin;
5pub mod correspondence;
6#[cfg(feature = "cuda")]
7pub mod cuda_array;
8pub mod distrib;
9#[cfg(feature = "mpi")]
10pub mod distrib_read;
11#[cfg(feature = "mpi")]
12pub mod distrib_write;
13pub mod error;
14pub mod extxyz_scan;
15mod fast_dec;
16pub mod ffi;
17pub mod frame_index;
18#[cfg(feature = "grammar")]
19pub mod grammar;
20pub mod helpers;
21pub mod hostlabel;
22pub mod index_proj;
24pub mod iterators;
25pub mod parser;
26pub mod pdb_scan;
27pub mod rcso;
29pub mod storage_dtype;
30pub mod stream;
31pub mod trajectory;
32pub mod types;
33pub mod units;
34pub mod writer;
35
36pub mod convert;
38
39#[cfg(feature = "metatensor")]
40pub mod metatensor_export;
41
42pub mod chemfiles_import;
44
45pub mod chemfiles_selection;
47
48#[cfg(feature = "rpc")]
49pub mod rpc;
50
51#[cfg(feature = "rpc")]
53pub use rpc::read_con_capnp as ReadCon_capnp;
54
55#[cfg(feature = "python")]
56pub mod python;
57
58pub const CON_SPEC_VERSION: u32 = 3;
71
72pub const CON_SPEC_MINOR: u32 = 1;
77
78pub const VERSION: &str = env!("CARGO_PKG_VERSION");
81
82pub use correspondence::{
83 CorrespondenceError, IdentityCheck, atom_id_permutation, check_atom_id_consistency,
84 minimum_image_delta, minimum_image_displacements, reorder_like,
85};
86
87#[cfg(test)]
88mod tests {
89 use super::*;
90
91 #[test]
92 fn test_spec_version_is_current() {
93 assert_eq!(CON_SPEC_VERSION, 3);
94 assert_eq!(ffi::RKR_CON_SPEC_VERSION, CON_SPEC_VERSION);
95 }
96
97 #[test]
98 fn test_version_matches_source() {
99 let path = std::path::PathBuf::from(env!("CARGO_MANIFEST_DIR")).join("VERSION");
100 let text = std::fs::read_to_string(&path).unwrap();
101 assert_eq!(text, format!("{VERSION}\n"));
102 }
103}