elastic / elastic/elastic-evals-sdk-python

[kbn-evals] Repository and CI health

Aperta
#41 0 commenti 0 reazioni 0 assegnatari Vedi su GitHub
kbn-evals Team:nightshift-context-and-research
Lingua principale
Python
Stelle
2
Fork
0
Merge medio
1g 13h
PR unite (30g)
18

Descrizione

### 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

Guida per i contributori

Nessuna guida per i contributori indicizzata per questo repository

Direzione di ricerca

Inizia verificando pyproject.toml, la configurazione di pre-commit e la configurazione dei test CI rispetto a ciascun elemento numerato. Controlla quindi la configurazione di src/elastic_evals e l'utilizzo della CLI indicati, poi esamina NOTICE.txt e i file della community richiesti. Il lavoro è completato quando ogni elemento della checklist è soddisfatto, mypy ha esito positivo e i test della CLI vengono eseguiti invece di essere saltati.

Scritto dal modello di indicizzazione a partire dal testo della issue.

Valutazione

Stack tecnologico
python
Ambito
build-system, ci-cd, documentation, tooling
Tipo di issue
Refactoring
Difficoltà
4/5
Tempo stimato
3-5 giorni
Stato di attività
Tranquilla
Chiarezza
Specificata chiaramente
Idoneità per principianti
52/100

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.