openml / automlbenchmark

OpenML AutoML Benchmarking Framework
https://openml.github.io/automlbenchmark
MIT License
399 stars 132 forks source link

Improving the developer experience - what do we need? #566

Open PGijsbers opened 1 year ago

PGijsbers commented 1 year ago

I think it is time we invest into the developer experience before adding more features. To open the issue I am sharing my thoughts on where we should put our effort, but I welcome feedback and suggestions! I do not propose to halt all effort in other directions, but I think contributors that want to focus on the longevity of the benchmark should ideally focus their efforts here first. My hope is that by addressing these issues, future features and frameworks will be easier to add and quicker to review.

In my opinion, this project is missing several aspects that I would expect from a modern Python project:

With that in place (or at least the first three), I think the following refactorings should be highest priority:

PGijsbers commented 1 year ago

In the same line, we could reduce developer overhead by externalizing the framework integrations: https://github.com/openml/automlbenchmark/discussions/571

This hopefully has the benefit that framework authors claim more ownership of their integration and ensure it stays updated themselves.

mfeurer commented 11 months ago

I fully agree on everything you write and the plan you laid out here! This will make AMLB easier to understand, use, and contribute to.

Innixma commented 8 months ago

Huge +1 to type hints, especially in code that is executed in a subprocess and thus is hard to debug (such as in the exec.py scripts).