Requirements

This page lists the baseline requirements to run Qualys AI Triage Pack successfully.

System requirements

  • Python: 3.11 or newer

  • Operating system: Windows, macOS, or Linux (any OS that supports Python 3.11+)

  • Disk space:

    • Enough space for input CSVs and generated outputs (output/<csv_name>/...)

    • Additional space if you enable ZIP attachments/uploads

  • Network access:

    • Required if you use the LLM (access to your configured OpenAI endpoint)

    • Required if you enable any external integrations (Slack, SendGrid, OpenSearch, Splunk, syslog server, Postgres)

Input requirements

  • One or more Qualys CSV exports (the pipeline ingests CSV files from the configured input directory).

Core runtime dependencies

Installed automatically when you install the package (see pyproject.toml / requirements.txt):

  • Configuration & CLI: pydantic, pydantic-settings, PyYAML, typer, rich

  • Rendering: jinja2

  • HTTP & retries: httpx, tenacity

  • Data utilities: python-dateutil, pandas, pyarrow

  • LLM client: openai

Credentials / secrets

OpenAI (for LLM features)

  • Provide an API key (recommended via environment variable):

    • OPENAI_API_KEY

circle-info

If your environment uses a custom OpenAI-compatible endpoint, configure it via openai.base_url in config/config.yaml.

Optional integration secrets (only if enabled)

  • Slack: SLACK_BOT_TOKEN

  • SendGrid: SENDGRID_API_KEY

  • OpenSearch: OPENSEARCH_API_KEY (or basic auth user/password, depending on config)

  • Splunk HEC: SPLUNK_HEC_TOKEN

  • Metabase/Postgres: METABASE_PG_PASSWORD (or a password set in config, if allowed by your policy)

Optional integration dependencies

These are included as dependencies but are only used if the corresponding integration is enabled:

  • OpenSearch: opensearch-py

  • Slack: slack_sdk

  • SendGrid: sendgrid

  • Postgres (Metabase warehouse): psycopg[binary]

circle-exclamation