18 releases

0.10.41 Feb 15, 2024
0.10.40 Aug 29, 2023
0.10.4 May 17, 2023
0.10.3 Aug 27, 2022
0.4.0 Oct 30, 2015

#2535 in Parser implementations

Download history 1198/week @ 2024-11-16 1450/week @ 2024-11-23 886/week @ 2024-11-30 1234/week @ 2024-12-07 703/week @ 2024-12-14 201/week @ 2024-12-21 72/week @ 2024-12-28 748/week @ 2025-01-04 332/week @ 2025-01-11 518/week @ 2025-01-18 1274/week @ 2025-01-25 412/week @ 2025-02-01 704/week @ 2025-02-08 1296/week @ 2025-02-15 257/week @ 2025-02-22 120/week @ 2025-03-01

2,438 downloads per month
Used in 4 crates (via chemfiles)

BSD-3-Clause

3.5MB
19K SLoC

C++ 18K SLoC // 0.1% comments Rust 336 SLoC // 0.0% comments Python 241 SLoC // 0.2% comments C 90 SLoC // 0.1% comments Shell 27 SLoC // 0.3% comments

chemfiles.rs

Test status codecov.io Documentation

Rust binding for the chemfiles library.

Documentation

Usage

Add this to your Cargo.toml file:

[dependencies]
chemfiles = "0.10"

Here is a simple usage example. See the examples folder for additional examples.

use chemfiles::{Trajectory, Frame};

fn main() {
    let mut trajectory = Trajectory::open("filename.xyz", 'r').unwrap();
    let mut frame = Frame::new();

    trajectory.read(&mut frame).unwrap();

    println!("There are {} atoms in the frame", frame.size());

    let positions = frame.positions();

    // Do awesome things with the positions here !
}

Bug reports, feature requests

Please report any bug you find and any feature you may want as a Github issue.

Dependencies