Metadata-Version: 2.3
Name: xchem-hippo
Version: 2.0.4
Summary: Hit Interaction Profiling and Procurement Optimisation
Author: Max Winokan, Kalev Takkis
Author-email: Max Winokan <max@winokan.com>, Kalev Takkis <ktakkis@informaticsmatters.com>
Classifier: Programming Language :: Python :: 3
Classifier: License :: OSI Approved :: MIT License
Classifier: Operating System :: OS Independent
Requires-Dist: rdkit==2025.9.5
Requires-Dist: molparse>=0.0.41
Requires-Dist: mpytools>=0.0.21
Requires-Dist: jupyterlab>=4.5
Requires-Dist: chardet>=7
Requires-Dist: pandas>=2.3
Requires-Dist: yattag>=1.16
Requires-Dist: hirsch>=0.1
Requires-Dist: hippo-plot>=0.0.1
Requires-Dist: scikit-learn>=1.7
Requires-Dist: openpyxl>=3.1
Requires-Dist: ipywidgets>=8.1
Requires-Dist: networkx>=3.4
Requires-Dist: openmm>=8.3
Requires-Dist: apsw>=3.51
Requires-Dist: python-louvain>=0.16
Requires-Dist: psycopg[binary]>=3.3
Requires-Dist: django>=5.2.12
Requires-Dist: typer>=0.24.1
Requires-Dist: neo4j>=6.1.0
Requires-Dist: gemmi>=0.7.5
Requires-Dist: mrich>=1.0
Requires-Dist: requests>=2.32
Requires-Dist: pdbfixer>=1.12.0
Requires-Dist: xchem-ta-auth-client>=1.0.0
Requires-Dist: numpy>=2
Requires-Dist: xchem-syndirella>=1.0.6
Requires-Python: >=3.13
Description-Content-Type: text/markdown

<img src="https://github.com/xchem/HIPPO/blob/main/logos/hippo_logo-05.png?raw=true" width="300">

# XChem HIPPO

> HIPPO: 🦛 Hit Interaction Profiling for Progression Optimisation

HIPPO is in active development and feedback is appreciated.

Please see the [documentation](https://hippo-docs.winokan.com) to get started

![GitHub Tag](https://img.shields.io/github/v/tag/xchem/hippo?include_prereleases&label=PyPI&link=https%3A%2F%2Fpypi.org%2Fproject%2Fxchem-hippo%2F)
![Release](https://img.shields.io/github/actions/workflow/status/xchem/HIPPO/release.yaml?label=publish&link=https%3A%2F%2Fgithub.com%2Fxchem%2FHIPPO%2Factions%2Fworkflows%2Frelease.yaml)
![Lint](https://img.shields.io/github/actions/workflow/status/xchem/HIPPO/lint.yaml?label=lint&link=https%3A%2F%2Fgithub.com%2Fxchem%2FHIPPO%2Factions%2Fworkflows%lint.yaml)
![Test](https://img.shields.io/github/actions/workflow/status/xchem/HIPPO/test.yaml?label=test&link=https%3A%2F%2Fgithub.com%2Fxchem%2FHIPPO%2Factions%2Fworkflows%test.yaml)

[![Code style: black](https://img.shields.io/badge/code%20style-black-000000.svg)](https://github.com/psf/black)

## Installation

HIPPO requires **python 3.13**. Install it with an explicit version:

```bash
pip install xchem-hippo==2.0.3
```

**Pin the version.** A bare `pip install xchem-hippo` is not safe here. If the
requested version cannot be installed — most often because the interpreter is
not 3.13 — pip does not report that. It quietly works backwards through older
releases until it finds one that fits, and lands on **1.0.5**, the last release
predating the 2.x rewrite. The install succeeds and nothing warns you, but the
package installed is a different codebase.

The 1.0.x releases cannot be yanked, as existing work depends on them, so this
fallback path stays open. Pinning closes it: with `==` there is only one
candidate, so pip has nothing to fall back to and reports the real error
instead.

To run the full suite of tests see README-dev.md.

### Syndirella

HIPPO reads and writes [Syndirella](https://github.com/xchem/syndirella)'s file
formats. `xchem-syndirella` is a normal dependency and is installed for you.

It was previously excluded, because the older `syndirella` distribution required
python `<3.11` and `numpy<2` and so could not be depended on at all.
`xchem-syndirella` 1.0.6 lifted both caps. It does still pin `numpy<=2.4`, which
is what holds numpy below the latest release in this project.

Note that `import syndirella` also requires **PyRosetta**, which is not
installed automatically: it is a large out-of-band download with its own licence
terms. Without it, `xchem-fragmenstein` substitutes a mock object for
`pyrosetta` that cannot satisfy submodule imports, and importing syndirella
fails with `'AttributeFilledMock' object is not iterable`. To install it:

```bash
python -c "import pyrosetta_installer; pyrosetta_installer.install_pyrosetta()"
```

This does not affect HIPPO itself, which does not yet import syndirella — the code
that did (`Pose.posebusters()`) has not been ported yet.


## More Information

<details>

<summary>Repository structure</summary>

### Branches

- [HIPPO/main](https://github.com/xchem/HIPPO/tree/main): latest stable version

</details>




### Releases

HIPPO is automatically released to [PyPI](https://pypi.org/project/xchem-hippo/) as
`xchem-hippo` via a Github Action off the using the
[release](https://github.com/xchem/HIPPO/actions/workflows/release.yaml) workflow.




### Documentation

Documentation is automatically built off the
[HIPPO/main](https://github.com/xchem/HIPPO/tree/main) branch using readthedocs.
For local building using sphinx:

```bash
cd docs
make html
```
