Metadata-Version: 2.4
Name: unipkainfer
Version: 0.1.0
Summary: Standalone CPU and GPU inference runtime for Uni-pKa
Maintainer: Bind Research
Maintainer-email: Soeren von Buelow <soeren.buelow@bindresearch.org>
License-Expression: Apache-2.0 AND MIT
Classifier: Development Status :: 3 - Alpha
Classifier: Intended Audience :: Science/Research
Classifier: Operating System :: POSIX :: Linux
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Programming Language :: Python :: 3.13
Classifier: Topic :: Scientific/Engineering :: Chemistry
Classifier: Topic :: Scientific/Engineering :: Artificial Intelligence
Requires-Python: <3.14,>=3.10
Description-Content-Type: text/markdown
License-File: LICENSE
License-File: LICENSE_MIT
License-File: THIRD_PARTY_NOTICES.md
License-File: unipkainfer/unicoreinfer/LICENSE
License-File: unipkainfer/unicoreinfer/UPSTREAM.md
Requires-Dist: huggingface-hub<2,>=0.27
Requires-Dist: lmdb<3,>=1.4
Requires-Dist: numpy<3,>=1.26
Requires-Dist: pandas<3,>=2.1
Requires-Dist: platformdirs<5,>=4
Requires-Dist: rdkit>=2024.03.1
Requires-Dist: scipy<2,>=1.11
Requires-Dist: torch<3,>=2.2
Requires-Dist: tqdm<5,>=4.66
Provides-Extra: dev
Requires-Dist: pytest<9,>=7; extra == "dev"
Requires-Dist: ruff<1,>=0.4; extra == "dev"
Dynamic: license-file

# unipkainfer

`unipkainfer` is a standalone, inference-only packaging of Uni-pKa, Uni-Mol,
and the minimal pure-Python Uni-Core runtime they require. It supports CPU and
single-GPU inference through PyTorch and does not build Uni-Core's optional
fused CUDA extensions.

This distribution contains code derived from
[Uni-pKa](https://github.com/dptech-corp/Uni-pKa) (Apache-2.0), and code
derived from [Uni-Mol](https://github.com/deepmodeling/Uni-Mol) and
[Uni-Core](https://github.com/dptech-corp/Uni-Core) (MIT). Copyright and
license notices are preserved in the accompanying license and
third-party notice files.

## Installation

```bash
python -m pip install unipkainfer
unipka-download-model
```

By default, model checkpoints are downloaded to the user data directory.
On Linux this is normally:

```text
~/.local/share/unipkainfer/models
```

Choose another location when needed:

```bash
unipka-download-model --output-folder /path/to/models
```

## Python API

```python
from rdkit import Chem
from unipkainfer import predict_standard_free_energy

free_energy = predict_standard_free_energy(Chem.MolFromSmiles("CCO"))
```

Use `UnipkaFreeEnergyConfig(model_dir=...)` to override the default model
location. A CUDA-enabled PyTorch installation and compatible NVIDIA driver are
required for GPU inference.

See `THIRD_PARTY_NOTICES.md`, `unipkainfer/unicoreinfer/UPSTREAM.md`, and the
included licenses for upstream provenance.
