# usetox/pyqsartoolbox architecture

> Architecture diagram of the GitHub repository usetox/pyqsartoolbox, generated by GitDiagram from its file tree, README and a sample of source files (last updated 2026-09-25). It is an AI-made overview: check details against the source.

- Interactive diagram: https://gitdiagram.com/usetox/pyqsartoolbox
- Repository: https://github.com/usetox/pyqsartoolbox

## Overview

PyQSARToolbox is a small Python client for the locally running OECD QSAR Toolbox WebSuite. A Python caller imports QSARToolbox, creates a client configured for the WebSuite port, and uses its methods to request chemical searches, structure operations, endpoint data and calculations, profiling, workflows, metabolism, or Toolbox metadata. The client sends HTTP requests and returns parsed responses. The excerpts show these capabilities in one module; internal method wiring beyond the sampled calls is not represented separately.

Main entry points: [`src/pyqsartoolbox/qsartoolbox.py`](https://github.com/usetox/pyqsartoolbox/blob/main/src/pyqsartoolbox/qsartoolbox.py) (QSARToolbox client), [`src/pyqsartoolbox/__init__.py`](https://github.com/usetox/pyqsartoolbox/blob/main/src/pyqsartoolbox/__init__.py) (Package export)

## Diagram (Mermaid)

```mermaid
flowchart TD

node_caller(("Python caller"))
node_export["Package export<br/>[__init__.py]"]
node_client["QSARToolbox client<br/>[qsartoolbox.py]"]
node_websuite["Local Toolbox WebSuite"]

node_caller -->|"imports"| node_export
node_export -->|"exports class"| node_client
node_caller -->|"calls methods"| node_client
node_client -->|"HTTP requests"| node_websuite
node_websuite -->|"returns responses"| node_client

click node_export "https://github.com/usetox/pyqsartoolbox/blob/main/src/pyqsartoolbox/__init__.py"
click node_client "https://github.com/usetox/pyqsartoolbox/blob/main/src/pyqsartoolbox/qsartoolbox.py"

classDef toneNeutral fill:#f8fafc,stroke:#334155,stroke-width:1.5px,color:#0f172a
classDef toneBlue fill:#dbeafe,stroke:#2563eb,stroke-width:1.5px,color:#172554
classDef toneAmber fill:#fef3c7,stroke:#d97706,stroke-width:1.5px,color:#78350f
classDef toneMint fill:#dcfce7,stroke:#16a34a,stroke-width:1.5px,color:#14532d
classDef toneRose fill:#ffe4e6,stroke:#e11d48,stroke-width:1.5px,color:#881337
classDef toneIndigo fill:#e0e7ff,stroke:#4f46e5,stroke-width:1.5px,color:#312e81
classDef toneTeal fill:#ccfbf1,stroke:#0f766e,stroke-width:1.5px,color:#134e4a
class node_caller,node_websuite toneIndigo
class node_export toneTeal
class node_client toneBlue
```

## Components

### Other components

- **Python caller**
- [Package export](https://github.com/usetox/pyqsartoolbox/blob/main/src/pyqsartoolbox/__init__.py): `src/pyqsartoolbox/__init__.py`
- [QSARToolbox client](https://github.com/usetox/pyqsartoolbox/blob/main/src/pyqsartoolbox/qsartoolbox.py): `src/pyqsartoolbox/qsartoolbox.py`
- **Local Toolbox WebSuite**

## Connections

- Python caller → Package export: imports
- Package export → QSARToolbox client: exports class
- Python caller → QSARToolbox client: calls methods
- QSARToolbox client → Local Toolbox WebSuite: HTTP requests
- Local Toolbox WebSuite → QSARToolbox client: returns responses
