From 749f23a2cba542799daefc70096711d4090b000f Mon Sep 17 00:00:00 2001 From: Brian Gunnarson Date: Tue, 2 Sep 2025 07:49:39 -0700 Subject: [PATCH 1/7] bump version in CHANGELOG to 0.10.0 --- CHANGELOG.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index ede0e1a..aeb5f7e 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,7 +4,7 @@ All notable changes to Merlin Spellbook will be documented in this file. The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). -## [Unreleased] +## [0.10.0] ### Added - Added normal and truncnorm distributions From 1d05b2485b56372d5767fe6d015d1a9329ffc110 Mon Sep 17 00:00:00 2001 From: Brian Gunnarson Date: Tue, 2 Sep 2025 08:32:06 -0700 Subject: [PATCH 2/7] add new COPYRIGHT and CONTRIBUTORS files, and update LICENSE --- CHANGELOG.md | 9 ++++++++- CONTRIBUTORS | 9 +++++++++ COPYRIGHT | 10 ++++++++++ LICENSE | 4 +++- 4 files changed, 30 insertions(+), 2 deletions(-) create mode 100644 CONTRIBUTORS create mode 100644 COPYRIGHT diff --git a/CHANGELOG.md b/CHANGELOG.md index aeb5f7e..f6550d5 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,15 +4,22 @@ All notable changes to Merlin Spellbook will be documented in this file. The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). -## [0.10.0] +## [Unreleased] ### Added - Added normal and truncnorm distributions +- COPYRIGHT file for ownership details +- New check for copyright headers in the Makefile ### Changed - Updated GitHub actions - Now uses a version of actions/cache that's not deprecated - Utilizes a shared action for jobs to reduce duplicate code +- Copyright headers in all files + - These now point to the LICENSE and COPYRIGHT files + - LICENSE: Legal permissions (e.g., MIT terms) + - COPYRIGHT: Ownership, institutional metadata + - Make commands that change version/copyright year have been modified ## [0.9.0] diff --git a/CONTRIBUTORS b/CONTRIBUTORS new file mode 100644 index 0000000..2d4a7c9 --- /dev/null +++ b/CONTRIBUTORS @@ -0,0 +1,9 @@ +Luc Peterson +Peter Robinson +Jessica Semler +Benjamin Bay +Joe Koning +Jeremy White +Aidan Keogh +Ryan Lee +Brian Gunnarson \ No newline at end of file diff --git a/COPYRIGHT b/COPYRIGHT new file mode 100644 index 0000000..f4711c2 --- /dev/null +++ b/COPYRIGHT @@ -0,0 +1,10 @@ +Copyright (c) 2019–2025 Lawrence Livermore National Laboratory + +Produced at the Lawrence Livermore National Laboratory + +LLNL-CODE-797170 + +All rights reserved. + +See the CONTRIBUTORS file for a full list of authors and contributors. +See the LICENSE file for license details. \ No newline at end of file diff --git a/LICENSE b/LICENSE index 746aac5..e6338e5 100644 --- a/LICENSE +++ b/LICENSE @@ -1,6 +1,8 @@ MIT License -Copyright (c) 2022 Lawrence Livermore National Laboratory +See the COPYRIGHT file for ownership and authorship information. + +For details, see https://github.com/LLNL/merlin-spellbook. Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal From 6a002928d0618d8f49e821b0e44b2c1d1fcd72a0 Mon Sep 17 00:00:00 2001 From: Brian Gunnarson Date: Tue, 2 Sep 2025 08:32:42 -0700 Subject: [PATCH 3/7] add new copyright header to all files --- spellbook/__init__.py | 7 ++++ spellbook/__main__.py | 7 ++++ spellbook/commands/__init__.py | 7 ++++ spellbook/commands/collect.py | 7 ++++ spellbook/commands/conduit-collect.py | 7 ++++ spellbook/commands/conduit-translate.py | 7 ++++ spellbook/commands/learn.py | 7 ++++ spellbook/commands/make-barrier-cost.py | 7 ++++ spellbook/commands/make-samples.py | 7 ++++ spellbook/commands/predict.py | 7 ++++ spellbook/commands/serialize.py | 7 ++++ spellbook/commands/stack-npz.py | 7 ++++ spellbook/commands/translate.py | 7 ++++ spellbook/data_formatting/__init__.py | 6 +++ spellbook/data_formatting/collector.py | 7 ++++ spellbook/data_formatting/conduit/__init__.py | 6 +++ .../conduit/python/__init__.py | 6 +++ .../conduit/python/collector.py | 7 ++++ .../conduit/python/conduit_bundler.py | 36 ++++-------------- .../conduit/python/translator.py | 37 ++++--------------- spellbook/data_formatting/serialize.py | 6 +++ spellbook/data_formatting/stack_npz.py | 6 +++ spellbook/data_formatting/translator.py | 7 ++++ spellbook/log_formatter.py | 36 ++++-------------- spellbook/main.py | 7 ++++ spellbook/ml/__init__.py | 6 +++ spellbook/ml/learn.py | 37 ++++--------------- spellbook/ml/learn_alt.py | 7 ++++ spellbook/ml/predict.py | 36 +++--------------- spellbook/ml/surrogates.py | 36 +++--------------- spellbook/optimization/__init__.py | 6 +++ spellbook/optimization/qoi.py | 7 ++++ spellbook/sampling/__init__.py | 6 +++ spellbook/sampling/make_samples.py | 7 ++++ spellbook/utils.py | 7 ++++ tests/__init__.py | 6 +++ tests/command_line_tests.py | 35 +++--------------- tests/data_formatting/conduit/test_conduit.py | 7 ++++ tests/ml/test_learn.py | 6 +++ tests/ml/test_predict.py | 6 +++ tests/ml/test_surrogates.py | 6 +++ tests/sampling/test_make_samples.py | 16 +++++--- tests/utils/test_stack_arrays.py | 7 ++++ 43 files changed, 290 insertions(+), 212 deletions(-) diff --git a/spellbook/__init__.py b/spellbook/__init__.py index 413b451..68ac413 100644 --- a/spellbook/__init__.py +++ b/spellbook/__init__.py @@ -1,3 +1,10 @@ +############################################################################## +# Copyright (c) Lawrence Livermore National Security, LLC and other +# Merlin-Spellbook Project developers. See top-level LICENSE and COPYRIGHT +# files for dates and other details. No copyright assignment is required to +# contribute to Merlin-Spellbook. +############################################################################## + __version__ = "0.9.0" VERSION = __version__ diff --git a/spellbook/__main__.py b/spellbook/__main__.py index baaf191..4cfb6af 100644 --- a/spellbook/__main__.py +++ b/spellbook/__main__.py @@ -1,3 +1,10 @@ +############################################################################## +# Copyright (c) Lawrence Livermore National Security, LLC and other +# Merlin-Spellbook Project developers. See top-level LICENSE and COPYRIGHT +# files for dates and other details. No copyright assignment is required to +# contribute to Merlin-Spellbook. +############################################################################## + import sys from spellbook.main import main diff --git a/spellbook/commands/__init__.py b/spellbook/commands/__init__.py index 7f40c32..da16493 100644 --- a/spellbook/commands/__init__.py +++ b/spellbook/commands/__init__.py @@ -1,3 +1,10 @@ +############################################################################## +# Copyright (c) Lawrence Livermore National Security, LLC and other +# Merlin-Spellbook Project developers. See top-level LICENSE and COPYRIGHT +# files for dates and other details. No copyright assignment is required to +# contribute to Merlin-Spellbook. +############################################################################## + from abc import ABC, abstractmethod diff --git a/spellbook/commands/collect.py b/spellbook/commands/collect.py index 9cfc3c0..299c86e 100644 --- a/spellbook/commands/collect.py +++ b/spellbook/commands/collect.py @@ -1,3 +1,10 @@ +############################################################################## +# Copyright (c) Lawrence Livermore National Security, LLC and other +# Merlin-Spellbook Project developers. See top-level LICENSE and COPYRIGHT +# files for dates and other details. No copyright assignment is required to +# contribute to Merlin-Spellbook. +############################################################################## + from types import SimpleNamespace import click diff --git a/spellbook/commands/conduit-collect.py b/spellbook/commands/conduit-collect.py index e8b6069..9a30210 100644 --- a/spellbook/commands/conduit-collect.py +++ b/spellbook/commands/conduit-collect.py @@ -1,3 +1,10 @@ +############################################################################## +# Copyright (c) Lawrence Livermore National Security, LLC and other +# Merlin-Spellbook Project developers. See top-level LICENSE and COPYRIGHT +# files for dates and other details. No copyright assignment is required to +# contribute to Merlin-Spellbook. +############################################################################## + from types import SimpleNamespace import click diff --git a/spellbook/commands/conduit-translate.py b/spellbook/commands/conduit-translate.py index 879a64c..b80722d 100644 --- a/spellbook/commands/conduit-translate.py +++ b/spellbook/commands/conduit-translate.py @@ -1,3 +1,10 @@ +############################################################################## +# Copyright (c) Lawrence Livermore National Security, LLC and other +# Merlin-Spellbook Project developers. See top-level LICENSE and COPYRIGHT +# files for dates and other details. No copyright assignment is required to +# contribute to Merlin-Spellbook. +############################################################################## + import click diff --git a/spellbook/commands/learn.py b/spellbook/commands/learn.py index a723742..a50b220 100644 --- a/spellbook/commands/learn.py +++ b/spellbook/commands/learn.py @@ -1,3 +1,10 @@ +############################################################################## +# Copyright (c) Lawrence Livermore National Security, LLC and other +# Merlin-Spellbook Project developers. See top-level LICENSE and COPYRIGHT +# files for dates and other details. No copyright assignment is required to +# contribute to Merlin-Spellbook. +############################################################################## + from types import SimpleNamespace import click diff --git a/spellbook/commands/make-barrier-cost.py b/spellbook/commands/make-barrier-cost.py index 9fb0fdc..e99fd64 100644 --- a/spellbook/commands/make-barrier-cost.py +++ b/spellbook/commands/make-barrier-cost.py @@ -1,3 +1,10 @@ +############################################################################## +# Copyright (c) Lawrence Livermore National Security, LLC and other +# Merlin-Spellbook Project developers. See top-level LICENSE and COPYRIGHT +# files for dates and other details. No copyright assignment is required to +# contribute to Merlin-Spellbook. +############################################################################## + from types import SimpleNamespace import click diff --git a/spellbook/commands/make-samples.py b/spellbook/commands/make-samples.py index 50e6e74..02828ac 100644 --- a/spellbook/commands/make-samples.py +++ b/spellbook/commands/make-samples.py @@ -1,3 +1,10 @@ +############################################################################## +# Copyright (c) Lawrence Livermore National Security, LLC and other +# Merlin-Spellbook Project developers. See top-level LICENSE and COPYRIGHT +# files for dates and other details. No copyright assignment is required to +# contribute to Merlin-Spellbook. +############################################################################## + import click diff --git a/spellbook/commands/predict.py b/spellbook/commands/predict.py index faf3ea2..7375d0a 100644 --- a/spellbook/commands/predict.py +++ b/spellbook/commands/predict.py @@ -1,3 +1,10 @@ +############################################################################## +# Copyright (c) Lawrence Livermore National Security, LLC and other +# Merlin-Spellbook Project developers. See top-level LICENSE and COPYRIGHT +# files for dates and other details. No copyright assignment is required to +# contribute to Merlin-Spellbook. +############################################################################## + from types import SimpleNamespace import click diff --git a/spellbook/commands/serialize.py b/spellbook/commands/serialize.py index d31c91b..fe8f988 100644 --- a/spellbook/commands/serialize.py +++ b/spellbook/commands/serialize.py @@ -1,3 +1,10 @@ +############################################################################## +# Copyright (c) Lawrence Livermore National Security, LLC and other +# Merlin-Spellbook Project developers. See top-level LICENSE and COPYRIGHT +# files for dates and other details. No copyright assignment is required to +# contribute to Merlin-Spellbook. +############################################################################## + from types import SimpleNamespace import click diff --git a/spellbook/commands/stack-npz.py b/spellbook/commands/stack-npz.py index bcc9bbe..6c9adbe 100644 --- a/spellbook/commands/stack-npz.py +++ b/spellbook/commands/stack-npz.py @@ -1,3 +1,10 @@ +############################################################################## +# Copyright (c) Lawrence Livermore National Security, LLC and other +# Merlin-Spellbook Project developers. See top-level LICENSE and COPYRIGHT +# files for dates and other details. No copyright assignment is required to +# contribute to Merlin-Spellbook. +############################################################################## + from types import SimpleNamespace import click diff --git a/spellbook/commands/translate.py b/spellbook/commands/translate.py index c7b3909..ddfcbcd 100644 --- a/spellbook/commands/translate.py +++ b/spellbook/commands/translate.py @@ -1,3 +1,10 @@ +############################################################################## +# Copyright (c) Lawrence Livermore National Security, LLC and other +# Merlin-Spellbook Project developers. See top-level LICENSE and COPYRIGHT +# files for dates and other details. No copyright assignment is required to +# contribute to Merlin-Spellbook. +############################################################################## + from types import SimpleNamespace import click diff --git a/spellbook/data_formatting/__init__.py b/spellbook/data_formatting/__init__.py index e69de29..b8733e8 100644 --- a/spellbook/data_formatting/__init__.py +++ b/spellbook/data_formatting/__init__.py @@ -0,0 +1,6 @@ +############################################################################## +# Copyright (c) Lawrence Livermore National Security, LLC and other +# Merlin-Spellbook Project developers. See top-level LICENSE and COPYRIGHT +# files for dates and other details. No copyright assignment is required to +# contribute to Merlin-Spellbook. +############################################################################## diff --git a/spellbook/data_formatting/collector.py b/spellbook/data_formatting/collector.py index c33b510..adb8cbf 100644 --- a/spellbook/data_formatting/collector.py +++ b/spellbook/data_formatting/collector.py @@ -1,3 +1,10 @@ +############################################################################## +# Copyright (c) Lawrence Livermore National Security, LLC and other +# Merlin-Spellbook Project developers. See top-level LICENSE and COPYRIGHT +# files for dates and other details. No copyright assignment is required to +# contribute to Merlin-Spellbook. +############################################################################## + import json diff --git a/spellbook/data_formatting/conduit/__init__.py b/spellbook/data_formatting/conduit/__init__.py index e69de29..b8733e8 100644 --- a/spellbook/data_formatting/conduit/__init__.py +++ b/spellbook/data_formatting/conduit/__init__.py @@ -0,0 +1,6 @@ +############################################################################## +# Copyright (c) Lawrence Livermore National Security, LLC and other +# Merlin-Spellbook Project developers. See top-level LICENSE and COPYRIGHT +# files for dates and other details. No copyright assignment is required to +# contribute to Merlin-Spellbook. +############################################################################## diff --git a/spellbook/data_formatting/conduit/python/__init__.py b/spellbook/data_formatting/conduit/python/__init__.py index e69de29..b8733e8 100644 --- a/spellbook/data_formatting/conduit/python/__init__.py +++ b/spellbook/data_formatting/conduit/python/__init__.py @@ -0,0 +1,6 @@ +############################################################################## +# Copyright (c) Lawrence Livermore National Security, LLC and other +# Merlin-Spellbook Project developers. See top-level LICENSE and COPYRIGHT +# files for dates and other details. No copyright assignment is required to +# contribute to Merlin-Spellbook. +############################################################################## diff --git a/spellbook/data_formatting/conduit/python/collector.py b/spellbook/data_formatting/conduit/python/collector.py index db242d8..9f9f262 100644 --- a/spellbook/data_formatting/conduit/python/collector.py +++ b/spellbook/data_formatting/conduit/python/collector.py @@ -1,3 +1,10 @@ +############################################################################## +# Copyright (c) Lawrence Livermore National Security, LLC and other +# Merlin-Spellbook Project developers. See top-level LICENSE and COPYRIGHT +# files for dates and other details. No copyright assignment is required to +# contribute to Merlin-Spellbook. +############################################################################## + from __future__ import print_function from itertools import zip_longest diff --git a/spellbook/data_formatting/conduit/python/conduit_bundler.py b/spellbook/data_formatting/conduit/python/conduit_bundler.py index 20ce57f..6c5deb2 100644 --- a/spellbook/data_formatting/conduit/python/conduit_bundler.py +++ b/spellbook/data_formatting/conduit/python/conduit_bundler.py @@ -1,32 +1,10 @@ -############################################################################### -# Copyright (c) 2022, Lawrence Livermore National Security, LLC. -# Produced at the Lawrence Livermore National Laboratory -# Written by the Merlin dev team, listed in the CONTRIBUTORS file. -# -# -# LLNL-CODE- -# All rights reserved. -# This file is part of merlin-spellbook, Version: 0.9.0. -# -# For details, see https://github.com/LLNL/merlin-spellbook. -# -# Permission is hereby granted, free of charge, to any person obtaining a copy -# of this software and associated documentation files (the "Software"), to deal -# in the Software without restriction, including without limitation the rights -# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -# copies of the Software, and to permit persons to whom the Software is -# furnished to do so, subject to the following conditions: -# The above copyright notice and this permission notice shall be included in -# all copies or substantial portions of the Software. -# -# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -# SOFTWARE. -############################################################################### +############################################################################## +# Copyright (c) Lawrence Livermore National Security, LLC and other +# Merlin-Spellbook Project developers. See top-level LICENSE and COPYRIGHT +# files for dates and other details. No copyright assignment is required to +# contribute to Merlin-Spellbook. +############################################################################## + """ For more info about conduit, see: diff --git a/spellbook/data_formatting/conduit/python/translator.py b/spellbook/data_formatting/conduit/python/translator.py index 3dc5d59..8e5e790 100644 --- a/spellbook/data_formatting/conduit/python/translator.py +++ b/spellbook/data_formatting/conduit/python/translator.py @@ -1,33 +1,10 @@ -############################################################################### -# Copyright (c) 2022, Lawrence Livermore National Security, LLC. -# Produced at the Lawrence Livermore National Laboratory -# Written by the Merlin dev team, listed in the CONTRIBUTORS file. -# -# -# LLNL-CODE-797170 -# All rights reserved. -# This file is part of merlin-spellbook. -# -# For details, see https://github.com/LLNL/merlin-spellbook and -# https://github.com/LLNL/merlin. -# -# Permission is hereby granted, free of charge, to any person obtaining a copy -# of this software and associated documentation files (the "Software"), to deal -# in the Software without restriction, including without limitation the rights -# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -# copies of the Software, and to permit persons to whom the Software is -# furnished to do so, subject to the following conditions: -# The above copyright notice and this permission notice shall be included in -# all copies or substantial portions of the Software. -# -# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -# SOFTWARE. -############################################################################### +############################################################################## +# Copyright (c) Lawrence Livermore National Security, LLC and other +# Merlin-Spellbook Project developers. See top-level LICENSE and COPYRIGHT +# files for dates and other details. No copyright assignment is required to +# contribute to Merlin-Spellbook. +############################################################################## + import glob import multiprocessing as mp diff --git a/spellbook/data_formatting/serialize.py b/spellbook/data_formatting/serialize.py index bc65bab..8159a6f 100644 --- a/spellbook/data_formatting/serialize.py +++ b/spellbook/data_formatting/serialize.py @@ -1,4 +1,10 @@ #!/usr/bin/env python3 +############################################################################## +# Copyright (c) Lawrence Livermore National Security, LLC and other +# Merlin-Spellbook Project developers. See top-level LICENSE and COPYRIGHT +# files for dates and other details. No copyright assignment is required to +# contribute to Merlin-Spellbook. +############################################################################## import json diff --git a/spellbook/data_formatting/stack_npz.py b/spellbook/data_formatting/stack_npz.py index a8e4450..564662b 100644 --- a/spellbook/data_formatting/stack_npz.py +++ b/spellbook/data_formatting/stack_npz.py @@ -1,4 +1,10 @@ #!/usr/bin/env python3 +############################################################################## +# Copyright (c) Lawrence Livermore National Security, LLC and other +# Merlin-Spellbook Project developers. See top-level LICENSE and COPYRIGHT +# files for dates and other details. No copyright assignment is required to +# contribute to Merlin-Spellbook. +############################################################################## import os import shutil diff --git a/spellbook/data_formatting/translator.py b/spellbook/data_formatting/translator.py index 775de60..2fdaa15 100644 --- a/spellbook/data_formatting/translator.py +++ b/spellbook/data_formatting/translator.py @@ -1,3 +1,10 @@ +############################################################################## +# Copyright (c) Lawrence Livermore National Security, LLC and other +# Merlin-Spellbook Project developers. See top-level LICENSE and COPYRIGHT +# files for dates and other details. No copyright assignment is required to +# contribute to Merlin-Spellbook. +############################################################################## + import argparse import json import sys diff --git a/spellbook/log_formatter.py b/spellbook/log_formatter.py index 5af11ac..160c258 100644 --- a/spellbook/log_formatter.py +++ b/spellbook/log_formatter.py @@ -1,32 +1,10 @@ -############################################################################### -# Copyright (c) 2022, Lawrence Livermore National Security, LLC. -# Produced at the Lawrence Livermore National Laboratory -# Written by the Merlin dev team, listed in the CONTRIBUTORS file. -# -# -# LLNL-CODE-797170 -# All rights reserved. -# This file is part of Merlin Spellbook, Version: 0.9.0. -# -# For details, see https://github.com/LLNL/merlin. -# -# Permission is hereby granted, free of charge, to any person obtaining a copy -# of this software and associated documentation files (the "Software"), to deal -# in the Software without restriction, including without limitation the rights -# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -# copies of the Software, and to permit persons to whom the Software is -# furnished to do so, subject to the following conditions: -# The above copyright notice and this permission notice shall be included in -# all copies or substantial portions of the Software. -# -# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -# SOFTWARE. -############################################################################### +############################################################################## +# Copyright (c) Lawrence Livermore National Security, LLC and other +# Merlin-Spellbook Project developers. See top-level LICENSE and COPYRIGHT +# files for dates and other details. No copyright assignment is required to +# contribute to Merlin-Spellbook. +############################################################################## + import logging import sys diff --git a/spellbook/main.py b/spellbook/main.py index 849a67f..7761b06 100644 --- a/spellbook/main.py +++ b/spellbook/main.py @@ -1,3 +1,10 @@ +############################################################################## +# Copyright (c) Lawrence Livermore National Security, LLC and other +# Merlin-Spellbook Project developers. See top-level LICENSE and COPYRIGHT +# files for dates and other details. No copyright assignment is required to +# contribute to Merlin-Spellbook. +############################################################################## + import logging import os import sys diff --git a/spellbook/ml/__init__.py b/spellbook/ml/__init__.py index e69de29..b8733e8 100644 --- a/spellbook/ml/__init__.py +++ b/spellbook/ml/__init__.py @@ -0,0 +1,6 @@ +############################################################################## +# Copyright (c) Lawrence Livermore National Security, LLC and other +# Merlin-Spellbook Project developers. See top-level LICENSE and COPYRIGHT +# files for dates and other details. No copyright assignment is required to +# contribute to Merlin-Spellbook. +############################################################################## diff --git a/spellbook/ml/learn.py b/spellbook/ml/learn.py index 6b3d603..a52f48f 100644 --- a/spellbook/ml/learn.py +++ b/spellbook/ml/learn.py @@ -1,33 +1,10 @@ -############################################################################### -# Copyright (c) 2022, Lawrence Livermore National Security, LLC. -# Produced at the Lawrence Livermore National Laboratory -# Written by the Merlin dev team, listed in the CONTRIBUTORS file. -# -# -# LLNL-CODE-797170 -# All rights reserved. -# This file is part of merlin-spellbook. -# -# For details, see https://github.com/LLNL/merlin-spellbook and -# https://github.com/LLNL/merlin. -# -# Permission is hereby granted, free of charge, to any person obtaining a copy -# of this software and associated documentation files (the "Software"), to deal -# in the Software without restriction, including without limitation the rights -# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -# copies of the Software, and to permit persons to whom the Software is -# furnished to do so, subject to the following conditions: -# The above copyright notice and this permission notice shall be included in -# all copies or substantial portions of the Software. -# -# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -# SOFTWARE. -############################################################################### +############################################################################## +# Copyright (c) Lawrence Livermore National Security, LLC and other +# Merlin-Spellbook Project developers. See top-level LICENSE and COPYRIGHT +# files for dates and other details. No copyright assignment is required to +# contribute to Merlin-Spellbook. +############################################################################## + import spellbook.ml.surrogates as surrogates from spellbook.utils import load_infile diff --git a/spellbook/ml/learn_alt.py b/spellbook/ml/learn_alt.py index 1854fa5..10f5ba0 100644 --- a/spellbook/ml/learn_alt.py +++ b/spellbook/ml/learn_alt.py @@ -1,3 +1,10 @@ +############################################################################## +# Copyright (c) Lawrence Livermore National Security, LLC and other +# Merlin-Spellbook Project developers. See top-level LICENSE and COPYRIGHT +# files for dates and other details. No copyright assignment is required to +# contribute to Merlin-Spellbook. +############################################################################## + from sklearn.ensemble import RandomForestRegressor from spellbook.utils import load_infile diff --git a/spellbook/ml/predict.py b/spellbook/ml/predict.py index 286752c..3f3bbbb 100644 --- a/spellbook/ml/predict.py +++ b/spellbook/ml/predict.py @@ -1,33 +1,9 @@ -############################################################################### -# Copyright (c) 2022, Lawrence Livermore National Security, LLC. -# Produced at the Lawrence Livermore National Laboratory -# Written by the Merlin dev team, listed in the CONTRIBUTORS file. -# -# -# LLNL-CODE-797170 -# All rights reserved. -# This file is part of merlin-spellbook. -# -# For details, see https://github.com/LLNL/merlin-spellbook and -# https://github.com/LLNL/merlin. -# -# Permission is hereby granted, free of charge, to any person obtaining a copy -# of this software and associated documentation files (the "Software"), to deal -# in the Software without restriction, including without limitation the rights -# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -# copies of the Software, and to permit persons to whom the Software is -# furnished to do so, subject to the following conditions: -# The above copyright notice and this permission notice shall be included in -# all copies or substantial portions of the Software. -# -# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -# SOFTWARE. -############################################################################### +############################################################################## +# Copyright (c) Lawrence Livermore National Security, LLC and other +# Merlin-Spellbook Project developers. See top-level LICENSE and COPYRIGHT +# files for dates and other details. No copyright assignment is required to +# contribute to Merlin-Spellbook. +############################################################################## import numpy as np diff --git a/spellbook/ml/surrogates.py b/spellbook/ml/surrogates.py index 9cbbc13..e154ad3 100644 --- a/spellbook/ml/surrogates.py +++ b/spellbook/ml/surrogates.py @@ -1,33 +1,9 @@ -############################################################################### -# Copyright (c) 2022, Lawrence Livermore National Security, LLC. -# Produced at the Lawrence Livermore National Laboratory -# Written by the Merlin dev team, listed in the CONTRIBUTORS file. -# -# -# LLNL-CODE-797170 -# All rights reserved. -# This file is part of merlin-spellbook. -# -# For details, see https://github.com/LLNL/merlin-spellbook and -# https://github.com/LLNL/merlin. -# -# Permission is hereby granted, free of charge, to any person obtaining a copy -# of this software and associated documentation files (the "Software"), to deal -# in the Software without restriction, including without limitation the rights -# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -# copies of the Software, and to permit persons to whom the Software is -# furnished to do so, subject to the following conditions: -# The above copyright notice and this permission notice shall be included in -# all copies or substantial portions of the Software. -# -# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -# SOFTWARE. -############################################################################### +############################################################################## +# Copyright (c) Lawrence Livermore National Security, LLC and other +# Merlin-Spellbook Project developers. See top-level LICENSE and COPYRIGHT +# files for dates and other details. No copyright assignment is required to +# contribute to Merlin-Spellbook. +############################################################################## from __future__ import print_function diff --git a/spellbook/optimization/__init__.py b/spellbook/optimization/__init__.py index e69de29..b8733e8 100644 --- a/spellbook/optimization/__init__.py +++ b/spellbook/optimization/__init__.py @@ -0,0 +1,6 @@ +############################################################################## +# Copyright (c) Lawrence Livermore National Security, LLC and other +# Merlin-Spellbook Project developers. See top-level LICENSE and COPYRIGHT +# files for dates and other details. No copyright assignment is required to +# contribute to Merlin-Spellbook. +############################################################################## diff --git a/spellbook/optimization/qoi.py b/spellbook/optimization/qoi.py index 2abf8a4..73209d2 100644 --- a/spellbook/optimization/qoi.py +++ b/spellbook/optimization/qoi.py @@ -1,4 +1,11 @@ #!/usr/bin/env python3 +############################################################################## +# Copyright (c) Lawrence Livermore National Security, LLC and other +# Merlin-Spellbook Project developers. See top-level LICENSE and COPYRIGHT +# files for dates and other details. No copyright assignment is required to +# contribute to Merlin-Spellbook. +############################################################################## + import numpy as np from spellbook.utils import load_infile diff --git a/spellbook/sampling/__init__.py b/spellbook/sampling/__init__.py index e69de29..b8733e8 100644 --- a/spellbook/sampling/__init__.py +++ b/spellbook/sampling/__init__.py @@ -0,0 +1,6 @@ +############################################################################## +# Copyright (c) Lawrence Livermore National Security, LLC and other +# Merlin-Spellbook Project developers. See top-level LICENSE and COPYRIGHT +# files for dates and other details. No copyright assignment is required to +# contribute to Merlin-Spellbook. +############################################################################## diff --git a/spellbook/sampling/make_samples.py b/spellbook/sampling/make_samples.py index afd4498..7f801b7 100644 --- a/spellbook/sampling/make_samples.py +++ b/spellbook/sampling/make_samples.py @@ -1,3 +1,10 @@ +############################################################################## +# Copyright (c) Lawrence Livermore National Security, LLC and other +# Merlin-Spellbook Project developers. See top-level LICENSE and COPYRIGHT +# files for dates and other details. No copyright assignment is required to +# contribute to Merlin-Spellbook. +############################################################################## + import ast import numpy as np diff --git a/spellbook/utils.py b/spellbook/utils.py index fd3f6a6..7b4f605 100644 --- a/spellbook/utils.py +++ b/spellbook/utils.py @@ -1,3 +1,10 @@ +############################################################################## +# Copyright (c) Lawrence Livermore National Security, LLC and other +# Merlin-Spellbook Project developers. See top-level LICENSE and COPYRIGHT +# files for dates and other details. No copyright assignment is required to +# contribute to Merlin-Spellbook. +############################################################################## + import click import numpy as np diff --git a/tests/__init__.py b/tests/__init__.py index e69de29..b8733e8 100644 --- a/tests/__init__.py +++ b/tests/__init__.py @@ -0,0 +1,6 @@ +############################################################################## +# Copyright (c) Lawrence Livermore National Security, LLC and other +# Merlin-Spellbook Project developers. See top-level LICENSE and COPYRIGHT +# files for dates and other details. No copyright assignment is required to +# contribute to Merlin-Spellbook. +############################################################################## diff --git a/tests/command_line_tests.py b/tests/command_line_tests.py index b137332..78e4e47 100644 --- a/tests/command_line_tests.py +++ b/tests/command_line_tests.py @@ -1,32 +1,9 @@ -############################################################################### -# Copyright (c) 2022, Lawrence Livermore National Security, LLC. -# Produced at the Lawrence Livermore National Laboratory -# Written by the Merlin dev team, listed in the CONTRIBUTORS file. -# -# -# LLNL-CODE-797170 -# All rights reserved. -# This file is part of Merlin Spellbook. -# -# For details, see https://github.com/LLNL/merlin. -# -# Permission is hereby granted, free of charge, to any person obtaining a copy -# of this software and associated documentation files (the "Software"), to deal -# in the Software without restriction, including without limitation the rights -# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -# copies of the Software, and to permit persons to whom the Software is -# furnished to do so, subject to the following conditions: -# The above copyright notice and this permission notice shall be included in -# all copies or substantial portions of the Software. -# -# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -# SOFTWARE. -############################################################################### +############################################################################## +# Copyright (c) Lawrence Livermore National Security, LLC and other +# Merlin-Spellbook Project developers. See top-level LICENSE and COPYRIGHT +# files for dates and other details. No copyright assignment is required to +# contribute to Merlin-Spellbook. +############################################################################## """ Script for running command line interface tests. diff --git a/tests/data_formatting/conduit/test_conduit.py b/tests/data_formatting/conduit/test_conduit.py index 5d39e68..97fc1ed 100644 --- a/tests/data_formatting/conduit/test_conduit.py +++ b/tests/data_formatting/conduit/test_conduit.py @@ -1,3 +1,10 @@ +############################################################################## +# Copyright (c) Lawrence Livermore National Security, LLC and other +# Merlin-Spellbook Project developers. See top-level LICENSE and COPYRIGHT +# files for dates and other details. No copyright assignment is required to +# contribute to Merlin-Spellbook. +############################################################################## + import os diff --git a/tests/ml/test_learn.py b/tests/ml/test_learn.py index e69de29..b8733e8 100644 --- a/tests/ml/test_learn.py +++ b/tests/ml/test_learn.py @@ -0,0 +1,6 @@ +############################################################################## +# Copyright (c) Lawrence Livermore National Security, LLC and other +# Merlin-Spellbook Project developers. See top-level LICENSE and COPYRIGHT +# files for dates and other details. No copyright assignment is required to +# contribute to Merlin-Spellbook. +############################################################################## diff --git a/tests/ml/test_predict.py b/tests/ml/test_predict.py index e69de29..b8733e8 100644 --- a/tests/ml/test_predict.py +++ b/tests/ml/test_predict.py @@ -0,0 +1,6 @@ +############################################################################## +# Copyright (c) Lawrence Livermore National Security, LLC and other +# Merlin-Spellbook Project developers. See top-level LICENSE and COPYRIGHT +# files for dates and other details. No copyright assignment is required to +# contribute to Merlin-Spellbook. +############################################################################## diff --git a/tests/ml/test_surrogates.py b/tests/ml/test_surrogates.py index e69de29..b8733e8 100644 --- a/tests/ml/test_surrogates.py +++ b/tests/ml/test_surrogates.py @@ -0,0 +1,6 @@ +############################################################################## +# Copyright (c) Lawrence Livermore National Security, LLC and other +# Merlin-Spellbook Project developers. See top-level LICENSE and COPYRIGHT +# files for dates and other details. No copyright assignment is required to +# contribute to Merlin-Spellbook. +############################################################################## diff --git a/tests/sampling/test_make_samples.py b/tests/sampling/test_make_samples.py index cae780a..84c446e 100644 --- a/tests/sampling/test_make_samples.py +++ b/tests/sampling/test_make_samples.py @@ -1,8 +1,14 @@ -# -# Test Description -# Checks for various ranges of values to sample -# for both linear and log scaling. -# ----------------------------------------------------------------------- +############################################################################## +# Copyright (c) Lawrence Livermore National Security, LLC and other +# Merlin-Spellbook Project developers. See top-level LICENSE and COPYRIGHT +# files for dates and other details. No copyright assignment is required to +# contribute to Merlin-Spellbook. +############################################################################## + +""" +Checks for various ranges of values to sample for both linear and log scaling. +""" + import numpy as np import numpy.testing diff --git a/tests/utils/test_stack_arrays.py b/tests/utils/test_stack_arrays.py index c9fa880..8c912dc 100644 --- a/tests/utils/test_stack_arrays.py +++ b/tests/utils/test_stack_arrays.py @@ -1,3 +1,10 @@ +############################################################################## +# Copyright (c) Lawrence Livermore National Security, LLC and other +# Merlin-Spellbook Project developers. See top-level LICENSE and COPYRIGHT +# files for dates and other details. No copyright assignment is required to +# contribute to Merlin-Spellbook. +############################################################################## + import os import numpy as np From 2832f6fd280b1ce68bbbdd4be6d5c38f8f7fee30 Mon Sep 17 00:00:00 2001 From: Brian Gunnarson Date: Tue, 2 Sep 2025 08:33:16 -0700 Subject: [PATCH 4/7] add copyright header to top-level setup file --- setup.py | 36 +++++++----------------------------- 1 file changed, 7 insertions(+), 29 deletions(-) diff --git a/setup.py b/setup.py index 84acf30..a3a55d2 100644 --- a/setup.py +++ b/setup.py @@ -1,32 +1,10 @@ -############################################################################### -# Copyright (c) 2022, Lawrence Livermore National Security, LLC. -# Produced at the Lawrence Livermore National Laboratory -# Written by the Merlin dev team, listed in the CONTRIBUTORS file. -# -# -# LLNL-CODE-797170 -# All rights reserved. -# This file is part of Merlin-Spellbook, Version: 0.9.0. -# -# For details, see https://github.com/LLNL/merlin-spellbook. -# -# Permission is hereby granted, free of charge, to any person obtaining a copy -# of this software and associated documentation files (the "Software"), to deal -# in the Software without restriction, including without limitation the rights -# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -# copies of the Software, and to permit persons to whom the Software is -# furnished to do so, subject to the following conditions: -# The above copyright notice and this permission notice shall be included in -# all copies or substantial portions of the Software. -# -# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -# SOFTWARE. -############################################################################### +############################################################################## +# Copyright (c) Lawrence Livermore National Security, LLC and other +# Merlin-Spellbook Project developers. See top-level LICENSE and COPYRIGHT +# files for dates and other details. No copyright assignment is required to +# contribute to Merlin-Spellbook. +############################################################################## + import os From b7fa2e2fb9c683ebb878fccf5e61bd481d42f94b Mon Sep 17 00:00:00 2001 From: Brian Gunnarson Date: Tue, 2 Sep 2025 08:34:00 -0700 Subject: [PATCH 5/7] add copyright check and copyright year update command. Change version command --- Makefile | 42 +++++++++++++++++++++++++++++++----------- 1 file changed, 31 insertions(+), 11 deletions(-) diff --git a/Makefile b/Makefile index 3b534bb..9db0d3f 100644 --- a/Makefile +++ b/Makefile @@ -3,6 +3,7 @@ VER?=1.0.0 VSTRING=[0-9]\+\.[0-9]\+\.[0-9]\+ PYTHON?=python3 PY_TARGET_VER?=py311 # At the time this is added (2/19/25) black only supports up to py311 +FROM?=Unreleased PROJ=spellbook TEST=tests @@ -25,17 +26,22 @@ tests: unit-tests command-line-tests release: python3 -m build . -# Use like this: make VER=?.?.? verison +# Increment the Spellbook version. USE ONLY ON DEVELOP BEFORE MERGING TO MASTER. +# Usage: make version VER=1.13.0 FROM=1.13.0-beta +# (defaults to FROM=Unreleased if not set) version: - # do spellbook/__init__.py - sed -i 's/__version__ = "$(VSTRING)"/__version__ = "$(VER)"/g' $(PROJ)/__init__.py - # do CHANGELOG.md - sed -i 's/## \[Unreleased\]/## [$(VER)]/g' CHANGELOG.md - # do all file headers (works on linux) - find $(PROJ)/ -type f -print0 | xargs -0 sed -i 's/Version: $(VSTRING)/Version: $(VER)/g' - find *.py -type f -print0 | xargs -0 sed -i 's/Version: $(VSTRING)/Version: $(VER)/g' - find $(TEST)/ -type f -print0 | xargs -0 sed -i 's/Version: $(VSTRING)/Version: $(VER)/g' - find Makefile -type f -print0 | xargs -0 sed -i 's/Version: $(VSTRING)/Version: $(VER)/g' + @echo "Updating Spellbook version from [$(FROM)] to [$(VER)]..." + sed -i 's/__version__ = "\(.*\)"/__version__ = "$(VER)"/' spellbook/__init__.py + @if grep -q "## \[$(FROM)\]" CHANGELOG.md; then \ + sed -i 's/## \[$(FROM)\]/## [$(VER)]/' CHANGELOG.md; \ + else \ + echo "⚠️ No matching '## [$(FROM)]' found in CHANGELOG.md"; \ + fi + +# Increment copyright year = Usage: make year YEAR=2026 +year: + @echo "Updating COPYRIGHT file to year $(YEAR)..." + sed -i -E 's/(Copyright \(c\) 2019–)[0-9]{4}( Lawrence Livermore National Laboratory)/\1$(YEAR)\2/' COPYRIGHT clean: -find $(PROJ) -name "*.py[cod]" -exec rm -f {} \; @@ -79,4 +85,18 @@ check-pylint: $(PYTHON) -m pylint $(TEST) --rcfile=setup.cfg; \ -check-style: check-flake8 check-black check-isort check-pylint +check-copyright: + @echo "🔍 Checking for required copyright header..." + @missing_files=$$(find $(PROJ) $(TEST) \ + -name '*.py' -print | \ + xargs grep -L "Copyright (c) Lawrence Livermore National Security, LLC and other" || true); \ + if [ -n "$$missing_files" ]; then \ + echo "❌ The following files are missing the required copyright header:"; \ + echo "$$missing_files"; \ + exit 1; \ + else \ + echo "✅ All files contain the required header."; \ + fi + + +check-style: check-copyright check-flake8 check-black check-isort check-pylint From 47d55e8f918be438c7256b586f859b533af3e855 Mon Sep 17 00:00:00 2001 From: Brian Gunnarson Date: Tue, 2 Sep 2025 08:35:08 -0700 Subject: [PATCH 6/7] bump version to 0.10.0 --- CHANGELOG.md | 2 +- spellbook/__init__.py | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index f6550d5..37b8be8 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,7 +4,7 @@ All notable changes to Merlin Spellbook will be documented in this file. The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). -## [Unreleased] +## [0.10.0] ### Added - Added normal and truncnorm distributions diff --git a/spellbook/__init__.py b/spellbook/__init__.py index 68ac413..ff577b5 100644 --- a/spellbook/__init__.py +++ b/spellbook/__init__.py @@ -5,6 +5,6 @@ # contribute to Merlin-Spellbook. ############################################################################## -__version__ = "0.9.0" +__version__ = "0.10.0" VERSION = __version__ From cc47bc1bf722756e39dbd8ace5a0cf3d789a1a0f Mon Sep 17 00:00:00 2001 From: Brian Gunnarson Date: Tue, 2 Sep 2025 08:42:40 -0700 Subject: [PATCH 7/7] removed Ben's email as he no longer works for llnl --- CONTRIBUTORS | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/CONTRIBUTORS b/CONTRIBUTORS index 2d4a7c9..602c3df 100644 --- a/CONTRIBUTORS +++ b/CONTRIBUTORS @@ -1,7 +1,7 @@ Luc Peterson Peter Robinson Jessica Semler -Benjamin Bay +Benjamin Bay Joe Koning Jeremy White Aidan Keogh