From 51886d73c830fcdd6bed59bdf67050a3a866b699 Mon Sep 17 00:00:00 2001 From: Guillaume Lemaitre Date: Fri, 9 Aug 2024 15:13:20 +0200 Subject: [PATCH 1/3] SLEP024 Guideline for external posts on scikit-learn blog --- index.rst | 1 + slep024/proposal.rst | 79 ++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 80 insertions(+) create mode 100644 slep024/proposal.rst diff --git a/index.rst b/index.rst index ff7d43c..cb94d32 100644 --- a/index.rst +++ b/index.rst @@ -25,6 +25,7 @@ slep012/proposal slep017/proposal slep019/proposal + slep024/proposal .. toctree:: :maxdepth: 1 diff --git a/slep024/proposal.rst b/slep024/proposal.rst new file mode 100644 index 0000000..5be9a4e --- /dev/null +++ b/slep024/proposal.rst @@ -0,0 +1,79 @@ +.. _slep_024: + +============================== +SLEP Template and Instructions +============================== + +:Author: +:Status: +:Type: +:Created: +:Resolution: (required for Accepted | Rejected | Withdrawn) + +Abstract +-------- + +The abstract should be a short description of what the SLEP will achieve. + + +Detailed description +-------------------- + +This section describes the need for the SLEP. It should describe the +existing problem that it is trying to solve and why this SLEP makes the +situation better. It should include examples of how the new functionality +would be used and perhaps some use cases. + + +Implementation +-------------- + +This section lists the major steps required to implement the SLEP. Where +possible, it should be noted where one step is dependent on another, and which +steps may be optionally omitted. Where it makes sense, each step should +include a link related pull requests as the implementation progresses. + +Any pull requests or developmt branches containing work on this SLEP should +be linked to from here. (A SLEP does not need to be implemented in a single +pull request if it makes sense to implement it in discrete phases). + + +Backward compatibility +---------------------- + +This section describes the ways in which the SLEP breaks backward +compatibility. + + +Alternatives +------------ + +If there were any alternative solutions to solving the same problem, they +should be discussed here, along with a justification for the chosen +approach. + + +Discussion +---------- + +This section may just be a bullet list including links to any discussions +regarding the SLEP: + +- This includes links to mailing list threads or relevant GitHub issues. + + +References and Footnotes +------------------------ + +.. [1] Each SLEP must either be explicitly labeled as placed in the public + domain (see this SLEP as an example) or licensed under the `Open + Publication License`_. + +.. _Open Publication License: https://www.opencontent.org/openpub/ + + +Copyright +--------- + +This document has been placed in the public domain. [1]_ From c461197cd3b9cf536e5ace2e2061cb25d951a95f Mon Sep 17 00:00:00 2001 From: Guillaume Lemaitre Date: Fri, 9 Aug 2024 15:31:11 +0200 Subject: [PATCH 2/3] add abstract and long description --- slep024/proposal.rst | 75 ++++++++++++++++++-------------------------- 1 file changed, 30 insertions(+), 45 deletions(-) diff --git a/slep024/proposal.rst b/slep024/proposal.rst index 5be9a4e..c924894 100644 --- a/slep024/proposal.rst +++ b/slep024/proposal.rst @@ -1,67 +1,51 @@ .. _slep_024: -============================== -SLEP Template and Instructions -============================== +=========================================================================== +SLEP024: Guideline for external contributions to the scikit-learn blog post +=========================================================================== -:Author: -:Status: -:Type: -:Created: -:Resolution: (required for Accepted | Rejected | Withdrawn) +:Author: Guillaume Lemaitre, François Goupil +:Status: Draft +:Type: Standards Track +:Created: 2024-08-09 Abstract -------- -The abstract should be a short description of what the SLEP will achieve. - +This SLEP proposes some guidelines for writing and reviewing external contributions +to the scikit-learn blog post. Detailed description -------------------- -This section describes the need for the SLEP. It should describe the -existing problem that it is trying to solve and why this SLEP makes the -situation better. It should include examples of how the new functionality -would be used and perhaps some use cases. - - -Implementation --------------- - -This section lists the major steps required to implement the SLEP. Where -possible, it should be noted where one step is dependent on another, and which -steps may be optionally omitted. Where it makes sense, each step should -include a link related pull requests as the implementation progresses. - -Any pull requests or developmt branches containing work on this SLEP should -be linked to from here. (A SLEP does not need to be implemented in a single -pull request if it makes sense to implement it in discrete phases). - +Scikit-learn has a blog post available at the following URL: +https://blog.scikit-learn.org/. Since its origin, the blog post is used to relay +information related to diverse subject such as sprints, interviews of contributors, +collaborations, and technical content. -Backward compatibility ----------------------- +When it comes to technical content, up to now, the content is only limited to the +scikit-learn library. However, the scikit-learn community is going beyond the +library itself and had developed compatible tools for years. As an example, the +scikit-learn-contrib repository [2]_ is hosting a collection of tools which are not +part of the main library but are still compatible with scikit-learn. -This section describes the ways in which the SLEP breaks backward -compatibility. +This SLEP proposes to extend the scope of the technical content of the blog post to +accept contributions in link with the scikit-learn ecosystem but not limited to the +scikit-learn library itself. However, it is necessary to define some guidelines to +manage expectations of contributors and readers. +Here, we define the guidelines for external contributions that should be used to +write and review external contributions to the scikit-learn blog post. -Alternatives ------------- - -If there were any alternative solutions to solving the same problem, they -should be discussed here, along with a justification for the chosen -approach. +Guidelines +---------- +TODO Discussion ---------- -This section may just be a bullet list including links to any discussions -regarding the SLEP: - -- This includes links to mailing list threads or relevant GitHub issues. - +TODO References and Footnotes ------------------------ @@ -70,8 +54,9 @@ References and Footnotes domain (see this SLEP as an example) or licensed under the `Open Publication License`_. -.. _Open Publication License: https://www.opencontent.org/openpub/ +.. [2] `scikit-learn-contrib repository `__ +.. _Open Publication License: https://www.opencontent.org/openpub/ Copyright --------- From 08b016425749d858649c04d03762fa837bfbaa6f Mon Sep 17 00:00:00 2001 From: Guillaume Lemaitre Date: Fri, 9 Aug 2024 16:11:11 +0200 Subject: [PATCH 3/3] add a rough guideline --- slep024/proposal.rst | 41 +++++++++++++++++++++++++++++++++++------ 1 file changed, 35 insertions(+), 6 deletions(-) diff --git a/slep024/proposal.rst b/slep024/proposal.rst index c924894..ca561be 100644 --- a/slep024/proposal.rst +++ b/slep024/proposal.rst @@ -40,12 +40,41 @@ write and review external contributions to the scikit-learn blog post. Guidelines ---------- -TODO - -Discussion ----------- - -TODO +In this section, we provide a set of guidelines to ease the discussions when reviewing +external contributions to the scikit-learn blog post. It should help both the authors +and the reviewers. + +Inclusion criteria +^^^^^^^^^^^^^^^^^^ + +To accept an external contribution, the blog post should be related to the scikit-learn +ecosystem. When it comes to presenting a compatible tool, the criteria are the +following: + +- The tool should be compatible with scikit-learn. +- The tool should be under an open-source license. +- The tool should be actively maintained. +- The tool should have a clear documentation. +- The tool should be well tested. +- The tool should not be a commercial product or serve advertisement for a company. + +Reproducibility requirements +^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + +In the scikit-learn documentation, we ensure that our examples are reproducible and can +be executed by using our continuous integration. When it comes to the scikit-learn blog +post, it is not possible (or rather difficult) to have the same level of integration. + +However, we should ensure that the given examples or code snippets are reproducible by +the readers. We therefore recommend the following: + +- Provide a link to a repository where the code or notebook is available that is used + as a baseline for the blog post. +- The repository should contain a system to reproduce the environment (e.g. + `requirements.txt`, `environment.yml`, or `pixi.toml`). +- If possible, a continuous integration should make sure that the code or notebook can + be executed. We understand that this step is sometimes impossible due to limit of + resources. References and Footnotes ------------------------