elastic / elastic/elastic-evals-sdk-python

[kbn-evals] Repository and CI health

Offen
#41 0 Kommentare 0 Reaktionen 0 zugewiesene Personen Auf GitHub ansehen
kbn-evals Team:nightshift-context-and-research
Vorherrschende Sprache
Python
Sterne
2
Forks
0
Ø Merge
1 T. 13 Std.
Gemergte PRs (30 T.)
18

Beschreibung

### Summary

Several small packaging and CI problems that accumulate:

1. `aiohttp>=3.14.3` is a core dependency with zero imports anywhere in the codebase (`pyproject.toml:19`)
2. `elasticsearch_url` and `elasticsearch_api_key` config fields and CLI flags exist but nothing in `src/` reads them
3. `mypy>=2.3.0` is in dev dependencies but never runs: no config, no CI step, no pre-commit hook
4. pre-commit pins `ruff v0.15.21` while `pyproject.toml` requires `ruff>=0.16.1`; CI and local lint use different versions
5. The `test` job runs without the `runner` extra, so both CLI tests silently skip on all four Python versions
6. `CONTRIBUTING.md`, `CHANGELOG.md`, `SECURITY.md`, `CODE_OF_CONDUCT.md` are missing; `NOTICE.txt` references a non-existent `[all]` extra

### Fix

Fix each item in one PR.

For mypy, add a local pre-commit hook using `uv run mypy` so it runs in CI automatically without a separate CI job:

```yaml
- repo: local
hooks:
- id: mypy
name: mypy
entry: uv run mypy
language: system
types: [python]
pass_filenames: false
args: [src/elastic_evals]
```

### Done when

- [ ] `aiohttp` is removed from core dependencies
- [ ] Vestigial `elasticsearch_url` config and CLI flags are removed
- [ ] `uv run mypy src/elastic_evals` exits 0 and runs on every commit via pre-commit
- [ ] pre-commit ruff version matches `pyproject.toml`
- [ ] CI test job installs the `runner` extra; CLI tests pass
- [ ] Community files exist with appropriate content

Beitragsleitfaden

Für dieses Repository ist kein Beitragsleitfaden indexiert

Rechercherichtung

Beginne damit, pyproject.toml, die pre-commit-Konfiguration und die CI-Testeinrichtung anhand jedes nummerierten Punkts zu prüfen. Überprüfe anschließend die referenzierte src/elastic_evals-Konfiguration und die CLI-Verwendung und sieh dir dann NOTICE.txt und die angeforderten Community-Dateien an. Erledigt bedeutet, dass jeder Checklistenpunkt erfüllt ist, mypy erfolgreich durchläuft und CLI-Tests ausgeführt werden, statt übersprungen zu werden.

Vom Indexierungsmodell aus dem Issue-Text verfasst.

Bewertung

Tech-Stack
python
Bereich
build-system, ci-cd, documentation, tooling
Issue-Typ
Refactoring
Schwierigkeit
4/5
Geschätzter Aufwand
3-5 Tage
Aktivitätsstatus
Ruhig
Klarheit
Klar beschrieben
Anfängerfreundlichkeit
52/100

Neue Issues direkt in Ihr Postfach

Eine kurze Übersicht über anfängerfreundliche GitHub-Issues.