openml / openml/server-api

Simplify setup for local development dependencies

Open
#79 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

dev-tools
Dominant language
Python
Stars
16
Forks
50
PR merge metrics
No merged PRs in 30d

Description

Currently, the main package requires the mysqlclient, which may also need additional header files to be installed.
When working from docker, or when only editing documentation, this dependency isn't necessary.
Unfortunately, there is no way to install just optional dependencies without installing the core dependencies.
Still, I want an easier way that someone can get started working on the repository. At the very least, pre-commit should still be locally installed. Maybe we can specify (some of) the development dependencies in a just file or similar instead.

This also affects the way we have CI pipelines, for example the documentation building pipeline now has a repeated list of documentation dependencies, which is an easy oversight.

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Inspect the main package dependency configuration, the documentation-building CI pipeline, and the local development setup. Start by tracing why installing the package requires mysqlclient and how documentation dependencies are repeated in CI. Done means a contributor can install the needed development or documentation dependencies without unnecessary database headers, while pre-commit remains available and CI uses the same dependency definition.

Written by the indexing model from the issue text.

Assessment

Tech stack
docker, python
Domain
build-system, ci-cd, developer-experience
Issue type
Refactor
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.