Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down
15 changes: 15 additions & 0 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -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.
Expand Down
14 changes: 8 additions & 6 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -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:

Expand All @@ -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
Expand All @@ -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
Expand Down Expand Up @@ -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

Expand Down
2 changes: 1 addition & 1 deletion docs/faq.md
Original file line number Diff line number Diff line change
Expand Up @@ -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?

Expand Down
2 changes: 1 addition & 1 deletion docs/getting_started.md
Original file line number Diff line number Diff line change
Expand Up @@ -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)

Expand Down
15 changes: 6 additions & 9 deletions pyproject.toml
Original file line number Diff line number Diff line change
Expand Up @@ -7,10 +7,10 @@ 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"}
{name = "ModCon Base Team", email = "modcon-base-code@lbl.gov"}
]
keywords = [
"template",
Expand All @@ -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 = []
Expand All @@ -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 = '''
/(
Expand All @@ -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
Expand Down
Loading