Metadata-Version: 2.5
Name: MolarVerse-PQSetup
Version: 0.2.3
Summary: Prepare and validate PQ simulation inputs.
Project-URL: Documentation, https://molarverse.github.io/PQSetup/
Project-URL: Repository, https://github.com/MolarVerse/PQSetup
Project-URL: Changelog, https://github.com/MolarVerse/PQSetup/blob/main/CHANGELOG.md
Project-URL: Issues, https://github.com/MolarVerse/PQSetup/issues
Project-URL: PQ, https://github.com/MolarVerse/PQ
Author: MolarVerse
License-Expression: MIT
License-File: LICENSE
License-File: THIRD_PARTY_NOTICES.md
Keywords: computational chemistry,molecular dynamics,simulation input
Classifier: Development Status :: 3 - Alpha
Classifier: Intended Audience :: Science/Research
Classifier: License :: OSI Approved :: MIT License
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Topic :: Scientific/Engineering :: Chemistry
Requires-Python: >=3.11
Requires-Dist: ase>=3.23
Requires-Dist: fastapi>=0.115
Requires-Dist: numpy>=2.0
Requires-Dist: pydantic>=2.10
Requires-Dist: python-multipart>=0.0.18
Requires-Dist: scipy>=1.13
Requires-Dist: uvicorn>=0.34
Provides-Extra: docs
Requires-Dist: furo<2027,>=2024.8.6; extra == 'docs'
Requires-Dist: sphinx-copybutton<1,>=0.5; extra == 'docs'
Requires-Dist: sphinx-design<1,>=0.6; extra == 'docs'
Requires-Dist: sphinx<9,>=8; extra == 'docs'
Provides-Extra: test
Requires-Dist: httpx>=0.27; extra == 'test'
Requires-Dist: pytest>=8.0; extra == 'test'
Description-Content-Type: text/markdown

<img src="https://raw.githubusercontent.com/MolarVerse/PQSetup/main/frontend/public/pq-logo.png" alt="PQSetup logo" width="200">

[![CI](https://github.com/MolarVerse/PQSetup/actions/workflows/ci.yml/badge.svg)](https://github.com/MolarVerse/PQSetup/actions/workflows/ci.yml)
[![Docs](https://github.com/MolarVerse/PQSetup/actions/workflows/docs.yml/badge.svg)](https://molarverse.github.io/PQSetup/)
[![PyPI](https://img.shields.io/pypi/v/molarverse-pqsetup.svg)](https://pypi.org/project/molarverse-pqsetup/)
[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](LICENSE)

# PQSetup

Prepare and validate PQ simulation inputs in a local browser interface.

PQSetup builds the input package. [PQ](https://github.com/MolarVerse/PQ) runs it.

[Documentation](https://molarverse.github.io/PQSetup/)

## Install

Python 3.11 or newer. The UI ships inside the package; Node.js is not required.

```bash
python3 -m venv .venv
source .venv/bin/activate
python -m pip install MolarVerse-PQSetup
```

From a local clone (contributors):

```bash
python -m pip install .
```

## Quick Start

```bash
pqsetup
```

Keep the water example, choose a method, review the inputs, download the
package, then run it where PQ is installed:

```bash
unzip water-nvt.zip -d water-nvt
cd water-nvt
./run.sh /path/to/PQ
```

Check what this machine can see:

```bash
pqsetup doctor
pqsetup --pq-executable /path/to/PQ doctor
```

Validate an existing input:

```bash
pqsetup validate run.in
```

PQSetup does not submit jobs or run the simulation. It writes inputs for the
stable PQ v0.7.0 release.

## Documentation

- [Getting started](https://molarverse.github.io/PQSetup/getting-started.html) —
  install, environment checks, and the first run package
- [Build a run](https://molarverse.github.io/PQSetup/workflow.html) —
  Structure, Method, Run, Output, and keyboard shortcuts
- [Validation](https://molarverse.github.io/PQSetup/validation.html) — local
  preflight, environment discovery, and PQ parser checks
- [Run packages](https://molarverse.github.io/PQSetup/run-packages.html) —
  package layout, restart order, and the project manifest
- [Command line](https://molarverse.github.io/PQSetup/reference/cli.html) —
  `serve`, `doctor`, and `validate`
- [Compatibility](https://molarverse.github.io/PQSetup/reference/compatibility.html)
  — supported structure formats, cells, and calculators
- [Advanced settings](https://molarverse.github.io/PQSetup/reference/settings.html)
  — the optional PQ keywords per calculator and force field
- [Troubleshooting](https://molarverse.github.io/PQSetup/troubleshooting.html)
  — blocked packages, missing PQ and runtime failures
- [Shared design package](https://molarverse.github.io/PQSetup/design-system.html)
  — versioned tokens, CSS and React controls for other PQ web tools

## Development

```bash
python -m pip install -e ".[test]"
npm --prefix frontend ci
python -m pytest
npm --prefix frontend test
npm --prefix frontend run build
```

The interface's theme lives in `frontend/packages/pq-design`
(`@molarverse/pq-design`). PQViewer and PQEnalyzer Web can install its
[versioned archive](https://molarverse.github.io/PQSetup/design-system.html)
without a sibling PQSetup checkout.
