Metadata-Version: 2.4
Name: dargus-cli
Version: 0.19.0
Summary: Clinical efficacy prediction system for drug-development researchers
Author: Dargus Team
License: MIT
Keywords: drug-discovery,clinical-efficacy,agent-system,bioinformatics
Classifier: Development Status :: 2 - Pre-Alpha
Classifier: Intended Audience :: Science/Research
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Requires-Python: >=3.11
Description-Content-Type: text/markdown
License-File: LICENSE
Requires-Dist: numpy>=1.26
Requires-Dist: pandas>=2.0
Requires-Dist: pyarrow>=14.0
Requires-Dist: PyYAML>=6.0
Requires-Dist: rich>=13.0
Requires-Dist: litellm>=1.40
Requires-Dist: sentence-transformers>=2.2
Requires-Dist: prompt-toolkit>=3
Provides-Extra: docking
Requires-Dist: vina>=1.2; extra == "docking"
Requires-Dist: rdkit>=2023.9.1; extra == "docking"
Provides-Extra: modeling
Requires-Dist: pymc>=5.10; extra == "modeling"
Requires-Dist: pytensor>=2.18; extra == "modeling"
Provides-Extra: analysis
Requires-Dist: scipy>=1.11; extra == "analysis"
Requires-Dist: scikit-learn>=1.3; extra == "analysis"
Requires-Dist: statsmodels>=0.14; extra == "analysis"
Requires-Dist: matplotlib>=3.7; extra == "analysis"
Requires-Dist: seaborn>=0.12; extra == "analysis"
Provides-Extra: literature
Requires-Dist: PyMuPDF>=1.23; extra == "literature"
Requires-Dist: biopython>=1.81; extra == "literature"
Provides-Extra: admet
Requires-Dist: admet-ai; extra == "admet"
Provides-Extra: singlecell
Requires-Dist: scanpy>=1.9; extra == "singlecell"
Requires-Dist: scvi-tools>=1.0; extra == "singlecell"
Provides-Extra: genetics
Requires-Dist: coloc; extra == "genetics"
Requires-Dist: ldsc; extra == "genetics"
Provides-Extra: llm
Requires-Dist: httpx>=0.27; extra == "llm"
Provides-Extra: dev
Requires-Dist: pytest>=7.4; extra == "dev"
Requires-Dist: pytest-asyncio>=0.21; extra == "dev"
Requires-Dist: black>=23.0; extra == "dev"
Requires-Dist: ruff>=0.1.0; extra == "dev"
Requires-Dist: mypy>=1.6; extra == "dev"
Provides-Extra: all
Requires-Dist: dargus-cli[admet,analysis,dev,docking,genetics,literature,llm,modeling,singlecell]; extra == "all"
Dynamic: license-file

# Dargus

Clinical efficacy prediction system for drug-development researchers.

## Installation

Install Dargus with one terminal command (Linux + macOS). The installer
bootstraps [uv](https://docs.astral.sh/uv/), provisions a uv-managed Python
when needed, and installs the `dargus` command in an isolated tool
environment — it never touches an existing conda/system Python:

```bash
curl -LsSf https://github.com/Moke110/Dargus/releases/latest/download/install.sh | sh
```

> On Linux servers this is the same path used in WSL.

### From a source checkout (developers)

```bash
pip install -e ".[dev]"
```

## First run

Once installed, initialise Dargus on your machine:

```bash
dargus setup
```

The interactive wizard confirms your **Dargus home** (default `~/.dargus/`,
or `$DARGUS_HOME` if you set it) and sets up everything under it:

- a clean default config (`dargus_config.yaml`)
- your LLM API key in a restricted-permission `{home}/.env`
- the D-Base directory structure (`{home}/dbase`)
- migration of any legacy per-workspace session archives into `{home}/sessions`

Until setup has run, one-shot commands refuse with "run `dargus setup` first"
and the bare REPL shows a setup banner.

## Usage

Dargus provides a unified CLI.

### One-shot commands

```bash
# Send a query to Iris
dargus iris "how does aspirin work?"

# Configuration menu
dargus config

# Test menu
dargus test

# Run the interactive setup wizard
dargus setup
```

### Interactive REPL

```bash
# Launch interactive REPL
dargus
```

In the REPL, you can:

- Type natural language queries directly
- Use `/help` to see available commands
- Use `/config` to configure LLM
- Use `/test` to run the test suite
- Use `/clear-dbase` to clear all records from the global D-Base
- Use `/new` / `/resume <id>` to start or resume a session
- Use `/quit` to exit

## Upgrading

```bash
uv tool upgrade dargus-cli
```

Upgrading never touches your Dargus home data.

## Uninstalling

```bash
dargus uninstall
```

Uninstall removes the program (via uv) and **preserves** your Dargus home
data — config, secrets, D-Base, and session archive — printing where they
remain. Nothing of yours is deleted; remove the Dargus home directory
yourself if you also want to delete the data.

## Where your data lives (Dargus home)

One per-user home holds everything (`$DARGUS_HOME`, default `~/.dargus/`):

| Data | Location |
| --- | --- |
| Configuration | `{home}/dargus_config.yaml` |
| Secrets (API keys) | `{home}/.env` |
| D-Base evidence store | `{home}/dbase` |
| Session archive | `{home}/sessions` |

## Architecture

- **CLI** (`dargus/cli/`) — User interface layer, includes both one-shot commands and REPL
- **API** (`dargus/api.py`) — Public facade, all UI access goes through here
- **Core** (`dargus/iris/`, `dargus/dbase/`, `dargus/runtime/`, `dargus/agents/`) — Internal runtime: the PRA (Perceive → Reason → Act) agent harness, Iris, and the D-Base evidence store

## Development

```bash
# Run tests
pytest

# Lint
ruff check dargus

# Format
black dargus dargus/tests
```
