Metadata-Version: 2.4
Name: physistool
Version: 0.1.5
Summary: Open-source PhysisFold client — CLI + SDK for constraint-guided all-atom protein folding via a remote (Nitro Enclave) endpoint.
Author: MorphoComputing
License: MIT
Project-URL: Homepage, https://physisfold.com
Keywords: protein,folding,structure,bioinformatics,physisfold
Classifier: License :: OSI Approved :: MIT License
Classifier: Programming Language :: Python :: 3
Classifier: Topic :: Scientific/Engineering :: Bio-Informatics
Requires-Python: >=3.9
Description-Content-Type: text/markdown
License-File: LICENSE
Requires-Dist: cryptography>=41
Dynamic: license-file

# physistool

The open-source **PhysisFold client** — a thin, auditable CLI + SDK that speaks
HTTP+JSON to a remote PhysisFold folding endpoint (the engine runs server-side
inside an AWS Nitro Enclave; there is no protected IP in this package).

`physistool` is the umbrella command: `physistool fold ...` today, with sibling
verbs (engineer, msa, search, ...) joining the same command as more tools ship.

## Install

```
pip install physistool
```

## SDK

The pip package is `physistool`; the import module is `physis` (scikit-learn ->
sklearn convention).

```python
from physis import fold, FoldError

try:
    report = fold("input.fasta", out_path="result.pdb",
                  endpoint="http://127.0.0.1:8787")
except FoldError as e:
    ...
```

## CLI

```
physistool fold input.fasta --out result.pdb --endpoint http://127.0.0.1:8787
# equivalently, the flat flag surface:
physistool --sequence input.fasta --out result.pdb
```

Run `physistool --help` for the full flag set (best-of seeds, helix prior,
Stage-C `--encrypt`, metering, attestation `--expected-pcr0`, ...).

## Security model

Before any input leaves your machine the client fetches and **verifies** the
endpoint's AWS Nitro attestation (signature chain to the pinned Nitro root +
published PCR0) and only then trusts the enclave public key. See the module
docstrings in `physis/attestation.py` and `physis/envelope.py`.

## License

MIT. See `LICENSE`.
