elastic / elastic/elastic-evals-sdk-python
[kbn-evals] Repository and CI health
- 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