From ca46bafdef4f6b993f560b64ec7cd2da33198c05 Mon Sep 17 00:00:00 2001 From: mattip Date: Wed, 4 Mar 2026 20:45:11 +0200 Subject: [PATCH 1/4] DOC: add AI policy [skip actions][skip cirrus] --- doc/source/dev/ai_policy.rst | 79 ++++++++++++++++++++++++++++++++++++ doc/source/dev/index.rst | 1 + 2 files changed, 80 insertions(+) create mode 100644 doc/source/dev/ai_policy.rst diff --git a/doc/source/dev/ai_policy.rst b/doc/source/dev/ai_policy.rst new file mode 100644 index 000000000000..7be4724ec535 --- /dev/null +++ b/doc/source/dev/ai_policy.rst @@ -0,0 +1,79 @@ +.. _ai_policy: + +AI Policy +========= + +"AI" herein refers to generative AI tools like large language models (LLMs) +that can generate, edit, and review software code, create and manipulate +images, or generate human-like communication. + +Responsibility +-------------- + +You are responsible for any code you submit to NumPy's repositories, regardless +of whether it was manually written or generated by AI. You must understand and be able +to explain the code you submit as well as the existing related code. It is not +acceptable to submit a patch that you cannot understand and explain yourself. +In explaining your contribution, do not use AI to automatically generate +descriptions. + +Disclosure +---------- + +You must disclose whether AI has been used to assist in the development of +your pull request. +If so, you must document which tool(s) have been used, how they were used, +and specify what code or text is AI generated. We will reject any pull request +that does not include the disclosure. + +Code Quality +------------ + +Contributors are expected to submit code that meets NumPy's standards. We will +reject pull requests that we deem being "`AI slop`_". Do not waste developers' +time by submitting code that is fully or mostly generated by AI, and doesn't +meet our standards. + +.. _AI slop: https://en.wikipedia.org/wiki/AI_slop + +Copyright +--------- + +All code in NumPy is released under the BSD 3-clause copyright license. +Contributors to NumPy license their code under the same license when it is +included into NumPy's version control repository. That means contributors must +own the copyright of any code submitted to NumPy or must include the BSD +3-clause compatible open source license(s) associated with the submitted code +in the patch. Code generated by AI may infringe on copyright and it is the +submitter's responsibility to not infringe. We reserve the right to reject any pull +requests, AI generated or not, where the copyright is in question. + +Communication +------------- + +When interacting with developers (forum, discussions, +issues, pull requests, etc.) do not use AI to speak for you, except for +translation or grammar editing. If the developers want to chat with a chatbot, +they can do so themselves. Human-to-human communication is essential for an +open source community to thrive. + +AI Agents +--------- +The use of an AI agent that writes code and then submits a pull request autonomously is +not permitted. A human must check any generated code and submit a pull request according +to the 'Responsibility' section above. + +Other Resources +--------------- +While these do not formally form part of NumPy's AI policy, the following resources +may be helpful in understanding some pitfalls associated with using AI to contribute to +NumPy: + +- https://llvm.org/docs/AIToolPolicy.html +- https://github.com/melissawm/open-source-ai-contribution-policies +- https://blog.scientific-python.org/scientific-python/community-considerations-around-ai/ + +Acknowledgements +---------------- +We thank the SciPy developers for their AI policy, upon which this document is largely +based. diff --git a/doc/source/dev/index.rst b/doc/source/dev/index.rst index 625e69712030..bee0bf746ab4 100644 --- a/doc/source/dev/index.rst +++ b/doc/source/dev/index.rst @@ -254,6 +254,7 @@ The rest of the story .. toctree:: :maxdepth: 2 + ai_policy development_environment spin howto_build_docs From c3b0e2a409497640a37d62b9a7b7c9334e74355f Mon Sep 17 00:00:00 2001 From: Matti Picus Date: Thu, 5 Mar 2026 13:43:52 +0200 Subject: [PATCH 2/4] DOC: grammar [skip actions][skip cirrus] Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> --- doc/source/dev/ai_policy.rst | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/doc/source/dev/ai_policy.rst b/doc/source/dev/ai_policy.rst index 7be4724ec535..7675af5bfab0 100644 --- a/doc/source/dev/ai_policy.rst +++ b/doc/source/dev/ai_policy.rst @@ -30,7 +30,7 @@ Code Quality ------------ Contributors are expected to submit code that meets NumPy's standards. We will -reject pull requests that we deem being "`AI slop`_". Do not waste developers' +reject pull requests that we deem to be "`AI slop`_". Do not waste developers' time by submitting code that is fully or mostly generated by AI, and doesn't meet our standards. @@ -41,17 +41,17 @@ Copyright All code in NumPy is released under the BSD 3-clause copyright license. Contributors to NumPy license their code under the same license when it is -included into NumPy's version control repository. That means contributors must +included in NumPy's version control repository. That means contributors must own the copyright of any code submitted to NumPy or must include the BSD 3-clause compatible open source license(s) associated with the submitted code in the patch. Code generated by AI may infringe on copyright and it is the submitter's responsibility to not infringe. We reserve the right to reject any pull -requests, AI generated or not, where the copyright is in question. +requests, AI-generated or not, where the copyright is in question. Communication ------------- -When interacting with developers (forum, discussions, +When interacting with developers (forums, discussions, issues, pull requests, etc.) do not use AI to speak for you, except for translation or grammar editing. If the developers want to chat with a chatbot, they can do so themselves. Human-to-human communication is essential for an From 15497f5a4bd7ca4ac728e4cc8437ed4843a70619 Mon Sep 17 00:00:00 2001 From: Matti Picus Date: Sat, 7 Mar 2026 20:14:48 +0200 Subject: [PATCH 3/4] DOC: tweak [skip actions][skip cirrus] Co-authored-by: Nathan Goldbaum --- doc/source/dev/ai_policy.rst | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/doc/source/dev/ai_policy.rst b/doc/source/dev/ai_policy.rst index 7675af5bfab0..3a793d45b849 100644 --- a/doc/source/dev/ai_policy.rst +++ b/doc/source/dev/ai_policy.rst @@ -15,7 +15,8 @@ of whether it was manually written or generated by AI. You must understand and b to explain the code you submit as well as the existing related code. It is not acceptable to submit a patch that you cannot understand and explain yourself. In explaining your contribution, do not use AI to automatically generate -descriptions. +comments, pull request descriptions, or issue descriptions. See below for our +policy on AI translation systems. Disclosure ---------- From ee46cfb3f669e418dfcfb54fd8e05e02a8c33feb Mon Sep 17 00:00:00 2001 From: Matti Picus Date: Sun, 8 Mar 2026 21:41:12 +0200 Subject: [PATCH 4/4] MAINT: update openblas (#30961) --- requirements/ci32_requirements.txt | 2 +- requirements/ci_requirements.txt | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/requirements/ci32_requirements.txt b/requirements/ci32_requirements.txt index da8c8141917f..a19f6b3b9e7b 100644 --- a/requirements/ci32_requirements.txt +++ b/requirements/ci32_requirements.txt @@ -1,3 +1,3 @@ spin # Keep this in sync with ci_requirements.txt -scipy-openblas32==0.3.31.22.1 +scipy-openblas32==0.3.31.126.1 diff --git a/requirements/ci_requirements.txt b/requirements/ci_requirements.txt index 6a63af65d96c..f200891aa560 100644 --- a/requirements/ci_requirements.txt +++ b/requirements/ci_requirements.txt @@ -1,4 +1,4 @@ spin # Keep this in sync with ci32_requirements.txt -scipy-openblas32==0.3.31.22.1 -scipy-openblas64==0.3.31.22.1 +scipy-openblas32==0.3.31.126.1 +scipy-openblas64==0.3.31.126.1