elastic / elastic/elastic-evals-sdk-python
[kbn-evals] Repository and CI health
- Dominant language
- Python
- Stars
- 2
- Forks
- 0
- Avg merge
- 1d 10h
- Merged PRs (30d)
- 18
Description
### 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
Contributor guide
No contributing guide indexed for this repository
Assessment
This issue has not been assessed yet.