Skip to main content

No project description provided

Project description

Log LAMMPS Reader

Log LAMMPS Reader is a high-performance Rust library and Python extension for reading LAMMPS log files and converting them into DataFrames using the Polars library. This project leverages PyO3 to create a Python module that interfaces with Rust code, ensuring both speed and efficiency.

This package returns a polars DataFrame allowing the user to use powerful data manipulations (e.g filters) provided through polars.

Features

  • High-speed reading of LAMMPS log files
  • Converts log data into Polars DataFrames
  • Exposes functionality to Python through a PyO3 module
  • Gets thermo data for multiple thermo runs.

Requirements

  • Rust (latest stable version recommended)
  • Python 3.6 or later
  • Cargo (Rust package manager)

Installation

Python

To build and install the Python module, follow these steps:

  1. Ensure you have maturin and polars installed:

    pip install maturin polars
    
  2. Compile the Rust packages and install the python module.

    maturin develop --release
    

Usage Examples

Python

import polars as pl
import numpy as np
import log_lammps_reader


thermo_number = 0 # Choose the nth number of thermo run
df = log_lammps_reader.new('log.lammps', thermo_number) # polars DataFrame
equilibrated_df = df.filter(pl.col('Time') > 1) # Use polars to filter data.
time = df.get_column('Time') # Get any thermo column
time_squared = time ** 2 # use broadcasting operations similar to numpy
step = np.array(df.get_column('Step')) # or use numpy

Rust

First install using cargo build --release and add it to your project

use log_lammps_reader::LogLammpsReader;

fn main() {
    let log_file_name = "log.lammps";
    let run_number = Some(0);

    match LogLammpsReader::new(log_file_name.into(), run_number) {
        Ok(df) => println!("DataFrame read successfully: {:?}", df),
        Err(e) => eprintln!("Error reading DataFrame: {}", e),
    }
}

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

log_lammps_reader-0.1.3.tar.gz (16.5 kB view hashes)

Uploaded Source

Built Distributions

log_lammps_reader-0.1.3-pp310-pypy310_pp73-musllinux_1_2_x86_64.whl (3.8 MB view hashes)

Uploaded PyPy musllinux: musl 1.2+ x86-64

log_lammps_reader-0.1.3-pp310-pypy310_pp73-musllinux_1_2_i686.whl (3.9 MB view hashes)

Uploaded PyPy musllinux: musl 1.2+ i686

log_lammps_reader-0.1.3-pp310-pypy310_pp73-musllinux_1_2_armv7l.whl (3.9 MB view hashes)

Uploaded PyPy musllinux: musl 1.2+ ARMv7l

log_lammps_reader-0.1.3-pp310-pypy310_pp73-musllinux_1_2_aarch64.whl (3.6 MB view hashes)

Uploaded PyPy musllinux: musl 1.2+ ARM64

log_lammps_reader-0.1.3-pp39-pypy39_pp73-musllinux_1_2_x86_64.whl (3.8 MB view hashes)

Uploaded PyPy musllinux: musl 1.2+ x86-64

log_lammps_reader-0.1.3-pp39-pypy39_pp73-musllinux_1_2_i686.whl (3.9 MB view hashes)

Uploaded PyPy musllinux: musl 1.2+ i686

log_lammps_reader-0.1.3-pp39-pypy39_pp73-musllinux_1_2_armv7l.whl (3.8 MB view hashes)

Uploaded PyPy musllinux: musl 1.2+ ARMv7l

log_lammps_reader-0.1.3-pp39-pypy39_pp73-musllinux_1_2_aarch64.whl (3.6 MB view hashes)

Uploaded PyPy musllinux: musl 1.2+ ARM64

log_lammps_reader-0.1.3-pp39-pypy39_pp73-manylinux_2_17_i686.manylinux2014_i686.whl (3.9 MB view hashes)

Uploaded PyPy manylinux: glibc 2.17+ i686

log_lammps_reader-0.1.3-pp38-pypy38_pp73-musllinux_1_2_x86_64.whl (3.8 MB view hashes)

Uploaded PyPy musllinux: musl 1.2+ x86-64

log_lammps_reader-0.1.3-pp38-pypy38_pp73-musllinux_1_2_i686.whl (3.9 MB view hashes)

Uploaded PyPy musllinux: musl 1.2+ i686

log_lammps_reader-0.1.3-pp38-pypy38_pp73-musllinux_1_2_armv7l.whl (3.8 MB view hashes)

Uploaded PyPy musllinux: musl 1.2+ ARMv7l

log_lammps_reader-0.1.3-pp38-pypy38_pp73-musllinux_1_2_aarch64.whl (3.6 MB view hashes)

Uploaded PyPy musllinux: musl 1.2+ ARM64

log_lammps_reader-0.1.3-cp312-none-win_amd64.whl (3.1 MB view hashes)

Uploaded CPython 3.12 Windows x86-64

log_lammps_reader-0.1.3-cp312-none-win32.whl (2.8 MB view hashes)

Uploaded CPython 3.12 Windows x86

log_lammps_reader-0.1.3-cp312-cp312-musllinux_1_2_x86_64.whl (3.8 MB view hashes)

Uploaded CPython 3.12 musllinux: musl 1.2+ x86-64

log_lammps_reader-0.1.3-cp312-cp312-musllinux_1_2_i686.whl (3.9 MB view hashes)

Uploaded CPython 3.12 musllinux: musl 1.2+ i686

log_lammps_reader-0.1.3-cp312-cp312-musllinux_1_2_armv7l.whl (3.8 MB view hashes)

Uploaded CPython 3.12 musllinux: musl 1.2+ ARMv7l

log_lammps_reader-0.1.3-cp312-cp312-musllinux_1_2_aarch64.whl (3.6 MB view hashes)

Uploaded CPython 3.12 musllinux: musl 1.2+ ARM64

log_lammps_reader-0.1.3-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (3.6 MB view hashes)

Uploaded CPython 3.12 manylinux: glibc 2.17+ x86-64

log_lammps_reader-0.1.3-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl (3.9 MB view hashes)

Uploaded CPython 3.12 manylinux: glibc 2.17+ ppc64le

log_lammps_reader-0.1.3-cp312-cp312-manylinux_2_17_i686.manylinux2014_i686.whl (3.9 MB view hashes)

Uploaded CPython 3.12 manylinux: glibc 2.17+ i686

log_lammps_reader-0.1.3-cp312-cp312-manylinux_2_17_armv7l.manylinux2014_armv7l.whl (3.6 MB view hashes)

Uploaded CPython 3.12 manylinux: glibc 2.17+ ARMv7l

log_lammps_reader-0.1.3-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (3.5 MB view hashes)

Uploaded CPython 3.12 manylinux: glibc 2.17+ ARM64

log_lammps_reader-0.1.3-cp312-cp312-macosx_11_0_arm64.whl (3.0 MB view hashes)

Uploaded CPython 3.12 macOS 11.0+ ARM64

log_lammps_reader-0.1.3-cp312-cp312-macosx_10_12_x86_64.whl (3.2 MB view hashes)

Uploaded CPython 3.12 macOS 10.12+ x86-64

log_lammps_reader-0.1.3-cp311-none-win_amd64.whl (3.1 MB view hashes)

Uploaded CPython 3.11 Windows x86-64

log_lammps_reader-0.1.3-cp311-none-win32.whl (2.8 MB view hashes)

Uploaded CPython 3.11 Windows x86

log_lammps_reader-0.1.3-cp311-cp311-musllinux_1_2_x86_64.whl (3.8 MB view hashes)

Uploaded CPython 3.11 musllinux: musl 1.2+ x86-64

log_lammps_reader-0.1.3-cp311-cp311-musllinux_1_2_i686.whl (3.9 MB view hashes)

Uploaded CPython 3.11 musllinux: musl 1.2+ i686

log_lammps_reader-0.1.3-cp311-cp311-musllinux_1_2_armv7l.whl (3.8 MB view hashes)

Uploaded CPython 3.11 musllinux: musl 1.2+ ARMv7l

log_lammps_reader-0.1.3-cp311-cp311-musllinux_1_2_aarch64.whl (3.6 MB view hashes)

Uploaded CPython 3.11 musllinux: musl 1.2+ ARM64

log_lammps_reader-0.1.3-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (3.6 MB view hashes)

Uploaded CPython 3.11 manylinux: glibc 2.17+ x86-64

log_lammps_reader-0.1.3-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl (3.9 MB view hashes)

Uploaded CPython 3.11 manylinux: glibc 2.17+ ppc64le

log_lammps_reader-0.1.3-cp311-cp311-manylinux_2_17_i686.manylinux2014_i686.whl (3.9 MB view hashes)

Uploaded CPython 3.11 manylinux: glibc 2.17+ i686

log_lammps_reader-0.1.3-cp311-cp311-manylinux_2_17_armv7l.manylinux2014_armv7l.whl (3.6 MB view hashes)

Uploaded CPython 3.11 manylinux: glibc 2.17+ ARMv7l

log_lammps_reader-0.1.3-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (3.5 MB view hashes)

Uploaded CPython 3.11 manylinux: glibc 2.17+ ARM64

log_lammps_reader-0.1.3-cp311-cp311-macosx_11_0_arm64.whl (3.0 MB view hashes)

Uploaded CPython 3.11 macOS 11.0+ ARM64

log_lammps_reader-0.1.3-cp311-cp311-macosx_10_12_x86_64.whl (3.2 MB view hashes)

Uploaded CPython 3.11 macOS 10.12+ x86-64

log_lammps_reader-0.1.3-cp310-none-win_amd64.whl (3.1 MB view hashes)

Uploaded CPython 3.10 Windows x86-64

log_lammps_reader-0.1.3-cp310-none-win32.whl (2.8 MB view hashes)

Uploaded CPython 3.10 Windows x86

log_lammps_reader-0.1.3-cp310-cp310-musllinux_1_2_x86_64.whl (3.8 MB view hashes)

Uploaded CPython 3.10 musllinux: musl 1.2+ x86-64

log_lammps_reader-0.1.3-cp310-cp310-musllinux_1_2_i686.whl (3.9 MB view hashes)

Uploaded CPython 3.10 musllinux: musl 1.2+ i686

log_lammps_reader-0.1.3-cp310-cp310-musllinux_1_2_armv7l.whl (3.8 MB view hashes)

Uploaded CPython 3.10 musllinux: musl 1.2+ ARMv7l

log_lammps_reader-0.1.3-cp310-cp310-musllinux_1_2_aarch64.whl (3.6 MB view hashes)

Uploaded CPython 3.10 musllinux: musl 1.2+ ARM64

log_lammps_reader-0.1.3-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (3.6 MB view hashes)

Uploaded CPython 3.10 manylinux: glibc 2.17+ x86-64

log_lammps_reader-0.1.3-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl (3.9 MB view hashes)

Uploaded CPython 3.10 manylinux: glibc 2.17+ ppc64le

log_lammps_reader-0.1.3-cp310-cp310-manylinux_2_17_i686.manylinux2014_i686.whl (3.9 MB view hashes)

Uploaded CPython 3.10 manylinux: glibc 2.17+ i686

log_lammps_reader-0.1.3-cp310-cp310-manylinux_2_17_armv7l.manylinux2014_armv7l.whl (3.6 MB view hashes)

Uploaded CPython 3.10 manylinux: glibc 2.17+ ARMv7l

log_lammps_reader-0.1.3-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (3.5 MB view hashes)

Uploaded CPython 3.10 manylinux: glibc 2.17+ ARM64

log_lammps_reader-0.1.3-cp310-cp310-macosx_11_0_arm64.whl (3.0 MB view hashes)

Uploaded CPython 3.10 macOS 11.0+ ARM64

log_lammps_reader-0.1.3-cp39-none-win_amd64.whl (3.1 MB view hashes)

Uploaded CPython 3.9 Windows x86-64

log_lammps_reader-0.1.3-cp39-none-win32.whl (2.8 MB view hashes)

Uploaded CPython 3.9 Windows x86

log_lammps_reader-0.1.3-cp39-cp39-musllinux_1_2_x86_64.whl (3.8 MB view hashes)

Uploaded CPython 3.9 musllinux: musl 1.2+ x86-64

log_lammps_reader-0.1.3-cp39-cp39-musllinux_1_2_i686.whl (3.9 MB view hashes)

Uploaded CPython 3.9 musllinux: musl 1.2+ i686

log_lammps_reader-0.1.3-cp39-cp39-musllinux_1_2_armv7l.whl (3.8 MB view hashes)

Uploaded CPython 3.9 musllinux: musl 1.2+ ARMv7l

log_lammps_reader-0.1.3-cp39-cp39-musllinux_1_2_aarch64.whl (3.6 MB view hashes)

Uploaded CPython 3.9 musllinux: musl 1.2+ ARM64

log_lammps_reader-0.1.3-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (3.6 MB view hashes)

Uploaded CPython 3.9 manylinux: glibc 2.17+ x86-64

log_lammps_reader-0.1.3-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl (3.9 MB view hashes)

Uploaded CPython 3.9 manylinux: glibc 2.17+ ppc64le

log_lammps_reader-0.1.3-cp39-cp39-manylinux_2_17_i686.manylinux2014_i686.whl (3.9 MB view hashes)

Uploaded CPython 3.9 manylinux: glibc 2.17+ i686

log_lammps_reader-0.1.3-cp39-cp39-manylinux_2_17_armv7l.manylinux2014_armv7l.whl (3.6 MB view hashes)

Uploaded CPython 3.9 manylinux: glibc 2.17+ ARMv7l

log_lammps_reader-0.1.3-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (3.5 MB view hashes)

Uploaded CPython 3.9 manylinux: glibc 2.17+ ARM64

log_lammps_reader-0.1.3-cp39-cp39-macosx_11_0_arm64.whl (3.0 MB view hashes)

Uploaded CPython 3.9 macOS 11.0+ ARM64

log_lammps_reader-0.1.3-cp38-none-win_amd64.whl (3.1 MB view hashes)

Uploaded CPython 3.8 Windows x86-64

log_lammps_reader-0.1.3-cp38-none-win32.whl (2.8 MB view hashes)

Uploaded CPython 3.8 Windows x86

log_lammps_reader-0.1.3-cp38-cp38-musllinux_1_2_x86_64.whl (3.8 MB view hashes)

Uploaded CPython 3.8 musllinux: musl 1.2+ x86-64

log_lammps_reader-0.1.3-cp38-cp38-musllinux_1_2_i686.whl (3.9 MB view hashes)

Uploaded CPython 3.8 musllinux: musl 1.2+ i686

log_lammps_reader-0.1.3-cp38-cp38-musllinux_1_2_armv7l.whl (3.8 MB view hashes)

Uploaded CPython 3.8 musllinux: musl 1.2+ ARMv7l

log_lammps_reader-0.1.3-cp38-cp38-musllinux_1_2_aarch64.whl (3.6 MB view hashes)

Uploaded CPython 3.8 musllinux: musl 1.2+ ARM64

log_lammps_reader-0.1.3-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (3.6 MB view hashes)

Uploaded CPython 3.8 manylinux: glibc 2.17+ x86-64

log_lammps_reader-0.1.3-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl (3.9 MB view hashes)

Uploaded CPython 3.8 manylinux: glibc 2.17+ ppc64le

log_lammps_reader-0.1.3-cp38-cp38-manylinux_2_17_i686.manylinux2014_i686.whl (3.9 MB view hashes)

Uploaded CPython 3.8 manylinux: glibc 2.17+ i686

log_lammps_reader-0.1.3-cp38-cp38-manylinux_2_17_armv7l.manylinux2014_armv7l.whl (3.6 MB view hashes)

Uploaded CPython 3.8 manylinux: glibc 2.17+ ARMv7l

log_lammps_reader-0.1.3-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (3.5 MB view hashes)

Uploaded CPython 3.8 manylinux: glibc 2.17+ ARM64

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page