From 461718e49bb73231119b67b3f4470de84ea5e324 Mon Sep 17 00:00:00 2001 From: Stefan M Wild Date: Tue, 19 May 2026 18:36:47 -0700 Subject: [PATCH 1/7] Update Python version requirements to 3.11 --- pyproject.toml | 13 +++++-------- 1 file changed, 5 insertions(+), 8 deletions(-) diff --git a/pyproject.toml b/pyproject.toml index 99fb426..26a7807 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -7,7 +7,7 @@ name = "basetemplate" version = "1.0.0" description = "A template repository for ModCon base team projects" readme = "README.md" -requires-python = ">=3.8" +requires-python = ">=3.11" license = {text = "Apache-2.0"} authors = [ {name = "ModCon Base Team", email = "contact@modcon.org"} @@ -24,11 +24,10 @@ classifiers = [ "License :: OSI Approved :: Apache Software License", "Programming Language :: Python", "Programming Language :: Python :: 3", - "Programming Language :: Python :: 3.8", - "Programming Language :: Python :: 3.9", - "Programming Language :: Python :: 3.10", "Programming Language :: Python :: 3.11", "Programming Language :: Python :: 3.12", + "Programming Language :: Python :: 3.13", + "Programming Language :: Python :: 3.14", ] dependencies = [] @@ -53,7 +52,7 @@ packages = ["basetemplate"] [tool.black] line-length = 100 -target-version = ["py38", "py39", "py310", "py311", "py312"] +target-version = ["py311", "py312", "py313", "py314"] include = '\.pyi?$' extend-exclude = ''' /( @@ -72,14 +71,12 @@ extend-exclude = ''' [tool.isort] profile = "black" line_length = 100 -multi_line_mode = 3 include_trailing_comma = true -force_grid_wrap = 0 use_parentheses = true ensure_newline_before_comments = true [tool.mypy] -python_version = "3.8" +python_version = "3.11" warn_return_any = true warn_unused_configs = true disallow_untyped_defs = false From 8cf4b6da0f6668e39b5a1ceada2f3b1b60c0a90d Mon Sep 17 00:00:00 2001 From: Stefan M Wild Date: Tue, 19 May 2026 18:41:49 -0700 Subject: [PATCH 2/7] Update Python versions in CI workflow --- .github/workflows/ci.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index fa7817d..8241b14 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -35,7 +35,7 @@ jobs: runs-on: ubuntu-latest strategy: matrix: - python-version: ['3.8', '3.9', '3.10', '3.11', '3.12'] + python-version: ['3.11', '3.12', '3.13', '3.14'] steps: - uses: actions/checkout@v3 From 8a61eeb9f9c20ab60d8e940deecb538af52dc274 Mon Sep 17 00:00:00 2001 From: Stefan M Wild Date: Tue, 19 May 2026 18:48:45 -0700 Subject: [PATCH 3/7] Revise README and update Python version Updated repository requirements and community guidelines. --- README.md | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) diff --git a/README.md b/README.md index 276650b..56f4b7a 100644 --- a/README.md +++ b/README.md @@ -15,7 +15,7 @@ BaseTemplate provides a foundation for creating new repositories following open- - Issue and pull request templates - Comprehensive documentation structure -## Required Elements for Base Public Repositories +## Required Elements for ModCon Base Public Repositories Every Base public repository must include the following elements to ensure quality, maintainability, and compliance with open-source standards: @@ -38,11 +38,13 @@ Every Base public repository must include the following elements to ensure quali ### Community Guidelines - `CONTRIBUTING.md` file with contribution guidelines + - This should include a stated policy on AI-generated/AI-assisted contributions - `CODE_OF_CONDUCT.md` file outlining community standards - Clear procedures for reporting issues and submitting pull requests +- Branch protection to ensure that sufficient review is being performed on anything going into `main` ### Project Metadata -- `pyproject.toml` or `setup.py` with clear metadata including: +- `pyproject.toml` with clear metadata including: - Project name and description - Author and contact information - Dependencies and optional dependencies @@ -56,14 +58,14 @@ Every Base public repository must include the following elements to ensure quali - Example commands for linting, testing, and building ### Acknowledgments -- Acknowledgment of Genesis Mission support in the README or `ACKNOWLEDGMENTS.md` -- Recognition of funding sources and institutional support +- Acknowledgment of Genesis Mission support in the README +- [Optional] Recognition of other funding sources ## Quick Start ### Prerequisites -- Python 3.8 or higher +- Python 3.11 or higher - Git ### Installation @@ -100,7 +102,7 @@ We welcome contributions! Please see [CONTRIBUTING.md](./CONTRIBUTING.md) for gu ## Support -This project acknowledges support from the US Department of Energy's Genesis Mission. +This project acknowledges support from the U.S. Department of Energy's Genesis Mission. ## License From 811a753e33429dc17abb68c343d2e9d5abf13538 Mon Sep 17 00:00:00 2001 From: Stefan M Wild Date: Tue, 19 May 2026 19:15:50 -0700 Subject: [PATCH 4/7] Add AI/LLM-assisted contribution guidelines Added guidelines for AI/LLM-assisted contributions to ensure accountability and transparency in the use of AI tools. --- CONTRIBUTING.md | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 92a39cf..a24be8e 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -88,6 +88,21 @@ Enhancement suggestions are tracked as GitHub issues. When creating an enhanceme - Aim for high test coverage - Use descriptive test names +## Guidelines for AI/LLM-Assisted Contributions + +- **Remain accountable for all your outputs and decisions.** + Individuals remain fully responsible and accountable for the accuracy, quality, appropriateness, and consequences of their work. Use of AI does not transfer this responsibility to the AI model, agent, or other tool. +- **Understand your work.** + Regardless of how code or PR was produced, this project requires that authors illustrate a thorough understanding of any proposed changes. You must review such code line-by-line; it is your responsibility to ensure that it is correct, and that it does not breach copyright. Always critically engage with AI outputs, do not trust them implicitly. AI-assisted code, analysis, and artifacts must be tested and validated at a level appropriate to their impact. Authors are responsible for ensuring that generated code is correct, secure, maintainable, non-obfuscated, appropriately scoped, documented, and reproducible where relevant. +- **Disclose AI-generated or AI-assisted work.** + If AI/LLM tools were primarily used to generate code or artifacts, this should be clearly indicated in the PR. +- **Use of AI to review PRs.** + All PRs must be reviewed by a human reviewer. An LLM review may be used in addition to a human reviewer since this can help spot issues that a human may have missed, but this should not be the sole reviewer. The human reviewer should be fully accountable and responsible for the review feedback or comments (see 1). +- **Proprietary or personal information.** + For this project, proprietary or personal information should never be sent to code generators or AI tools. +- **Be transparent, assume goodwill, and share what you learn.** + Contributors should be open about relevant AI use, disclose details of AI use as appropriate to the project, engage constructively with colleagues, and share experiences and lessons learned with the project. + ## Questions? Feel free to open an issue with the label `question` if you have any questions. From 7c9f83a5516ee99d7d67d21faed68701c1a067cb Mon Sep 17 00:00:00 2001 From: Stefan M Wild Date: Tue, 19 May 2026 19:19:54 -0700 Subject: [PATCH 5/7] Update Python version requirements in FAQ --- docs/faq.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/faq.md b/docs/faq.md index 48bdb5b..2f4a276 100644 --- a/docs/faq.md +++ b/docs/faq.md @@ -18,7 +18,7 @@ Yes! Feel free to customize the template to suit your project's needs. All files ### Python version requirements? -BaseTemplate requires Python 3.8 or higher. We test against Python 3.8 through 3.12. +BaseTemplate requires Python 3.11 or higher. We test against Python 3.11 through 3.14. ### How do I set up a development environment? From 077d77d02fd856e550abde11aab97108dcdec25a Mon Sep 17 00:00:00 2001 From: Stefan M Wild Date: Tue, 19 May 2026 19:20:19 -0700 Subject: [PATCH 6/7] Update Python version requirement to 3.11 --- docs/getting_started.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/getting_started.md b/docs/getting_started.md index fe88a49..745f9b3 100644 --- a/docs/getting_started.md +++ b/docs/getting_started.md @@ -4,7 +4,7 @@ Welcome to BaseTemplate! This guide will help you get started with this project. ## Prerequisites -- Python 3.8 or higher +- Python 3.11 or higher - pip (Python package manager) - git (for version control) From bfef61f5d999072386c23409ef9e537654cbf339 Mon Sep 17 00:00:00 2001 From: Stefan M Wild Date: Tue, 19 May 2026 19:30:00 -0700 Subject: [PATCH 7/7] Update author email in pyproject.toml --- pyproject.toml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pyproject.toml b/pyproject.toml index 26a7807..07ca2ac 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -10,7 +10,7 @@ readme = "README.md" requires-python = ">=3.11" license = {text = "Apache-2.0"} authors = [ - {name = "ModCon Base Team", email = "contact@modcon.org"} + {name = "ModCon Base Team", email = "modcon-base-code@lbl.gov"} ] keywords = [ "template",