Metadata-Version: 2.1
Name: h3daemon
Version: 0.16.2
Summary: HMMER server
License: MIT
Author: Danilo Horta
Author-email: horta@ebi.ac.uk
Requires-Python: >=3.9,<4.0
Classifier: License :: OSI Approved :: MIT License
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.9
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Programming Language :: Python :: 3.13
Provides-Extra: cli
Requires-Dist: deciphon-schema (>=0.1.2,<0.2.0)
Requires-Dist: hmmer (>=3.4.0.2,<4.0.0.0)
Requires-Dist: pidlockfile (>=0.3,<0.4)
Requires-Dist: psutil (>=6.1.0,<7.0.0)
Requires-Dist: python-daemon (>=3.1.0,<4.0.0)
Requires-Dist: tenacity (>=9.0.0,<10.0.0)
Requires-Dist: typer (>=0.13.0,<0.14.0) ; extra == "cli"
Description-Content-Type: text/markdown

# Welcome to h3daemon 👋

> Command-line for running HMMER server on arm64 and amd64 machines.

### 🏠 [Homepage](https://github.com/EBI-Metagenomics/h3daemon)

## ⚡️ Requirements

- Python >= 3.9
- Pip
- [Homebrew](https://brew.sh) on MacOS (recommended)
- [Pipx](https://pypa.github.io/pipx/) for Python package management (recommended)

### MacOS

Install Python and Pipx:

```sh
brew update && brew install python pipx
```

Ensure that your `PATH` environment variable is all set:

```sh
pipx ensurepath
```

💡 You might need to close your terminal and reopen it for the changes to take effect.

### Ubuntu (and Debian-based distros)

Install Python and Pipx:

```sh
sudo apt update && \
    sudo apt install python3 python3-pip python3-venv --yes && \
    python3 -m pip install --user pipx
```

Ensure that your `PATH` environment variable is all set:

```sh
python3 -m pipx ensurepath
```

💡 You might need to close your terminal and reopen it for the changes to take effect.

## 📦 Install

```sh
pipx install h3daemon
```

## Usage

```
 Usage: h3daemon [OPTIONS] COMMAND [ARGS]...

╭─ Options ─────────────────────────────────────────────────────╮
│ --version                                                     │
│ --help             Show this message and exit.                │
╰───────────────────────────────────────────────────────────────╯
╭─ Commands ────────────────────────────────────────────────────╮
│ start                 Start daemon.                           │
│ stop                  Stop daemon.                            │
╰───────────────────────────────────────────────────────────────╯
```

### Example

Download `minifam.hmm` database:

```sh
pipx run blx get \
  fe305d9c09e123f987f49b9056e34c374e085d8831f815cc73d8ea4cdec84960 \
  minifam.hmm
```

Press it:

```sh
pipx run --spec hmmer hmmpress minifam.hmm
```

Start the daemon to listen on a random (available) port:

```sh
h3daemon start minifam.hmm
```

And stop it:

```sh
h3daemon stop minifam.hmm
```

## 👤 Author

- [Danilo Horta](https://github.com/horta)

## Show your support

Give a ⭐️ if this project helped you!

