molcrafts-molpack 0.1.0

Faithful Rust port of Packmol molecular packing (split off from molrs)
Documentation
# Install

`molpack` ships in three forms — the CLI binary, the Rust crate, and the
Python binding. Pick the surface that matches your workflow.

## CLI

For Packmol-style `.inp` scripts:

```bash
cargo install molcrafts-molpack --features cli
molpack --help
```

## Rust crate

For programmatic use from Rust code:

```bash
cargo add molcrafts-molpack
```

Add the `cli` feature in your workspace if you also want the binary
in-tree.

## Python binding

For notebooks and pipelines:

```bash
pip install molcrafts-molpack molcrafts-molrs
```

`molcrafts-molrs` provides `molrs.Frame` plus PDB / XYZ readers — the
Python wheel itself is I/O-free and relies on your installed
`molcrafts-molrs` for all frame loading. Python 3.12 or newer is
required.

```python
import molpack
print(molpack.Molpack)
```

Pre-built wheels are published for CPython 3.13 on Linux (manylinux
x86-64) and macOS (a single universal2 wheel covering Apple Silicon and
Intel). On any other platform or Python version — Windows, Linux
aarch64, or a different interpreter — `pip` falls back to the published
source distribution and builds the wheel locally, which needs a Rust
toolchain.

## Build from source

When you are modifying the crate or Python binding:

```bash
git clone https://github.com/MolCrafts/molpack
cd molpack

# Rust library + CLI binary
cargo build
cargo build --features cli --bin molpack

# Python binding
cd python
pip install maturin
maturin develop --release
```

The Python package builds against the local Rust crate under `../`, so
this is the right path for contributor workflows.

## Next steps

After verifying the install, run a first pack from
[Getting Started](getting_started.md).