arrowspace/lib.rs
1/// Copyright (2025) Mec-iS, tuned.org.uk
2// Licensed under the Apache License, Version 2.0 (the "License");
3// you may not use this file except in compliance with the License.
4// You may obtain a copy of the License at
5//
6// http://www.apache.org/licenses/LICENSE-2.0
7//
8// Unless required by applicable law or agreed to in writing, software
9// distributed under the License is distributed on an "AS IS" BASIS,
10// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
11// See the License for the specific language governing permissions and
12// limitations under the License.
13pub mod builder;
14pub mod clustering;
15pub mod core;
16pub mod eigenmaps;
17pub mod energymaps;
18pub mod graph;
19pub mod laplacian;
20pub mod motives;
21pub mod reduction;
22pub mod sampling;
23pub mod sorted_index;
24pub mod sparsification;
25pub mod subgraphs;
26pub mod taumode;
27
28#[cfg(feature = "storage")]
29pub mod storage;
30
31#[cfg(test)]
32mod tests;
33
34use std::sync::Once;
35
36static INIT: Once = Once::new();
37
38pub fn init() {
39 INIT.call_once(|| {
40 // Read RUST_LOG env variable, default to "info" if not set
41 let env = env_logger::Env::default().default_filter_or("debug");
42
43 // don't panic if called multiple times across binaries
44 let _ = env_logger::Builder::from_env(env)
45 .is_test(true) // nicer formatting for tests
46 .try_init();
47 });
48}