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