Metadata-Version: 2.4
Name: argus-alm
Version: 0.16.3
Summary: Argus
Author-email: Alexey Kartashov <alexey.kartashov@scylladb.com>, Łukasz Sójka <lukasz.sojka@scylladb.com>
License-Expression: Apache-2.0
Project-URL: Homepage, https://github.com/scylladb/argus
Project-URL: Repository, https://github.com/scylladb/argus
Requires-Python: >=3.10
Description-Content-Type: text/markdown
License-File: LICENSE
Requires-Dist: requests>=2.26.0
Requires-Dist: click>=8.1.3
Requires-Dist: lz4>=4.4.4
Provides-Extra: web-backend
Requires-Dist: PyYAML~=6.0.0; extra == "web-backend"
Requires-Dist: scylla-driver>=3.29.4; extra == "web-backend"
Requires-Dist: Flask~=3.0.0; extra == "web-backend"
Requires-Dist: Flask-WTF~=1.0.0; extra == "web-backend"
Requires-Dist: Flask-Login~=0.5.0; extra == "web-backend"
Requires-Dist: humanize~=3.13.1; extra == "web-backend"
Requires-Dist: PyJWT[crypto]>=2.10.0; extra == "web-backend"
Requires-Dist: python-magic~=0.4.24; extra == "web-backend"
Requires-Dist: uwsgi~=2.0.20; extra == "web-backend"
Requires-Dist: python-jenkins>=1.7.0; extra == "web-backend"
Requires-Dist: python-slugify~=6.1.1; extra == "web-backend"
Requires-Dist: pygithub>=2.6.1; extra == "web-backend"
Requires-Dist: boto3~=1.38.9; extra == "web-backend"
Requires-Dist: jira>=3.10.5; extra == "web-backend"
Requires-Dist: prometheus-flask-exporter>=0.23.2; extra == "web-backend"
Requires-Dist: zstandard>=0.22.0; extra == "web-backend"
Provides-Extra: docker-image
Requires-Dist: supervisor~=4.2.4; extra == "docker-image"
Provides-Extra: dev
Requires-Dist: pytest==8.3.5; extra == "dev"
Requires-Dist: coverage==7.8.2; extra == "dev"
Requires-Dist: docker==7.1.0; extra == "dev"
Requires-Dist: ipython~=8.36.0; extra == "dev"
Requires-Dist: pre-commit>=4.2.0; extra == "dev"
Requires-Dist: ruff~=0.11.11; extra == "dev"
Requires-Dist: autopep8>=2.3.2; extra == "dev"
Requires-Dist: requests-mock~=1.12.1; extra == "dev"
Requires-Dist: codecov~=2.1.12; extra == "dev"
Requires-Dist: pytest-cov~=6.1.1; extra == "dev"
Requires-Dist: nox~=2025.5.1; extra == "dev"
Requires-Dist: pytest-xdist~=3.7.0; extra == "dev"
Requires-Dist: pytest-subtests~=0.14.1; extra == "dev"
Requires-Dist: boto3-stubs~=1.38.9; extra == "dev"
Provides-Extra: ai
Requires-Dist: chromadb>=1.0.15; extra == "ai"
Requires-Dist: openai>=1.60.0; extra == "ai"
Requires-Dist: tiktoken>=0.7.0; extra == "ai"
Provides-Extra: ai-eval
Requires-Dist: openai>=1.60.0; extra == "ai-eval"
Requires-Dist: PyYAML~=6.0.0; extra == "ai-eval"
Requires-Dist: tiktoken>=0.7.0; extra == "ai-eval"
Requires-Dist: chromadb>=1.0.15; extra == "ai-eval"
Dynamic: license-file

# Argus

Argus is a test tracking system for automated pipelines. It helps teams inspect test runs, compare results across runs, track events and failures, and understand resource usage for long-running test infrastructure.

## Quick Links

- Full CLI guide: [`cli/README.md`](cli/README.md)
- REST API usage: [`docs/api_usage.md`](docs/api_usage.md)
- Local development setup: [`docs/dev-setup.md`](docs/dev-setup.md)
- Production deployment: [`docs/deployment.md`](docs/deployment.md)

## Install the CLI

Download the latest CLI release into `~/.local/bin`:

### Linux amd64

```bash
VERSION=$(curl -sL https://api.github.com/repos/scylladb/argus/releases | grep -oP '"tag_name":\s*"cli/v\K[^"]+' | head -1)
mkdir -p ~/.local/bin
curl -sL "https://github.com/scylladb/argus/releases/download/cli/v${VERSION}/argus_${VERSION}_linux_amd64.tar.gz" | tar xz -C ~/.local/bin argus
export PATH="$HOME/.local/bin:$PATH"
```

### macOS amd64

```bash
VERSION=$(curl -sL https://api.github.com/repos/scylladb/argus/releases | grep -oP '"tag_name":\s*"cli/v\K[^"]+' | head -1)
mkdir -p ~/.local/bin
curl -sL "https://github.com/scylladb/argus/releases/download/cli/v${VERSION}/argus_${VERSION}_macOS_amd64.tar.gz" | tar xz -C ~/.local/bin argus
export PATH="$HOME/.local/bin:$PATH"
```

Verify the install:

```bash
argus version
```

## First Successful Command

Authenticate against the default production Argus instance:

```bash
argus auth
```

This opens a browser-based login flow when needed and stores credentials for later commands.

If you are running in CI, on a server, or against a local instance, use the auth mode documented in [`cli/README.md`](cli/README.md).

## Use the CLI

Typical next commands:

```bash
argus config list
argus auth logout
```

For authentication modes, Cloudflare behavior, configuration, and command usage, see [`cli/README.md`](cli/README.md).

## Use the API

Generate an API token from your Argus profile page, then call the API with:

```bash
curl --request GET \
  --url https://argus.scylladb.com/api/v1/client/driver_matrix/test_report?buildId=example/driver-matrix/test \
  --header "Authorization: token <YOUR_TOKEN>"
```

Full endpoint details and payload examples live in [`docs/api_usage.md`](docs/api_usage.md).

## Local Development

For local setup, dependencies, ScyllaDB, seed data, and daily workflow, see [`docs/dev-setup.md`](docs/dev-setup.md).

## Production Deployment

For source-based production installation, nginx, systemd, and logging setup, see [`docs/deployment.md`](docs/deployment.md).

## Contributing

Review the [Repository Guidelines](AGENTS.md) for project structure, tooling expectations, and pull request practices before submitting changes.
