diff --git a/.github/workflows/build_wheels.yml b/.github/workflows/build_wheels.yml
index cd4867c..b68cae5 100644
--- a/.github/workflows/build_wheels.yml
+++ b/.github/workflows/build_wheels.yml
@@ -1,10 +1,7 @@
name: Build and upload to PyPI
-# Build on every branch push, tag push, and pull request change:
-# on: [push, pull_request]
-# Alternatively, to publish when a (published) GitHub Release is created, use the following:
+# Build on every pull request change and publish when a (published) GitHub Release is created:
on:
- push:
pull_request:
release:
types:
@@ -17,21 +14,20 @@ jobs:
strategy:
matrix:
# Note: builds on these are backward compatible
- # (Linux builds use manylinux Docker containers)
- # (macOS builds target old versions by default)
- os: [ubuntu-latest, macos-latest, windows-latest]
+ # macos-13 is an intel runner, macos-14 is apple silicon
+ os: [ubuntu-latest, macos-13, macos-14, windows-latest]
steps:
- uses: actions/checkout@v4
- name: Build wheels
- uses: pypa/cibuildwheel@v2.16.5
+ uses: pypa/cibuildwheel@v2.23.3
# to supply options, put them in 'env', like:
# env:
# CIBW_SOME_OPTION: value
env:
# List of platforms to build on
- CIBW_BUILD: cp3{9,10,11,12,13}-manylinux_x86_64 cp3{9,10,11,12,13}-macosx_x86_64 cp3{9,10,11,12,13}-macosx_arm64 cp3{9,10,11,12,13}-win_amd64
+ CIBW_BUILD: cp3{10,11,12,13}-manylinux_x86_64 cp3{10,11,12,13}-macosx_x86_64 cp3{10,11,12,13}-macosx_arm64 cp3{10,11,12,13}-win_amd64
# Install Eigen and pybind11 on manylinux images (no brew, need Eigen >= 3.4)
CIBW_BEFORE_ALL_LINUX: >
diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml
index db14e26..51e670e 100644
--- a/.github/workflows/test.yml
+++ b/.github/workflows/test.yml
@@ -13,7 +13,7 @@ jobs:
strategy:
fail-fast: false
matrix:
- python-version: ["3.9","3.10","3.11","3.12","3.13"]
+ python-version: ["3.10","3.11","3.12","3.13"]
steps:
- uses: actions/checkout@v4
diff --git a/docs/_build/doctrees/environment.pickle b/docs/_build/doctrees/environment.pickle
index f86ea45..4fca52b 100644
Binary files a/docs/_build/doctrees/environment.pickle and b/docs/_build/doctrees/environment.pickle differ
diff --git a/docs/_build/doctrees/index.doctree b/docs/_build/doctrees/index.doctree
index a8b29df..16ee976 100644
Binary files a/docs/_build/doctrees/index.doctree and b/docs/_build/doctrees/index.doctree differ
diff --git a/docs/_build/html/.buildinfo b/docs/_build/html/.buildinfo
index 06e04fd..e0a5a92 100644
--- a/docs/_build/html/.buildinfo
+++ b/docs/_build/html/.buildinfo
@@ -1,4 +1,4 @@
# Sphinx build info version 1
# This file records the configuration used when building these files. When it is not found, a full rebuild will be done.
-config: 82af24416ee2356c25608f9fdbdf69d0
+config: 4062f528b034ed387c535edcf1a21a10
tags: 645f666f9bcd5a90fca523b33c5a78b7
diff --git a/docs/_build/html/_static/documentation_options.js b/docs/_build/html/_static/documentation_options.js
index 4486f9a..89435bb 100644
--- a/docs/_build/html/_static/documentation_options.js
+++ b/docs/_build/html/_static/documentation_options.js
@@ -1,5 +1,5 @@
const DOCUMENTATION_OPTIONS = {
- VERSION: '0.5',
+ VERSION: '1.0.0',
LANGUAGE: 'en',
COLLAPSE_INDEX: false,
BUILDER: 'html',
diff --git a/docs/_build/html/algorithms.html b/docs/_build/html/algorithms.html
index b3ed3b0..a7eef17 100644
--- a/docs/_build/html/algorithms.html
+++ b/docs/_build/html/algorithms.html
@@ -6,14 +6,14 @@
-
GOFit Algorithms — GOFit 0.5 documentation
+ GOFit Algorithms — GOFit 1.0.0 documentation
-
+
@@ -197,7 +197,7 @@ Regularisation AlgorithmSphinx using a
diff --git a/docs/_build/html/example.html b/docs/_build/html/example.html
index df07964..7a59845 100644
--- a/docs/_build/html/example.html
+++ b/docs/_build/html/example.html
@@ -6,14 +6,14 @@
- Example Usage — GOFit 0.5 documentation
+ Example Usage — GOFit 1.0.0 documentation
-
+
@@ -131,7 +131,7 @@ Example UsageSphinx using a
diff --git a/docs/_build/html/genindex.html b/docs/_build/html/genindex.html
index 795be90..da14689 100644
--- a/docs/_build/html/genindex.html
+++ b/docs/_build/html/genindex.html
@@ -5,14 +5,14 @@
- Index — GOFit 0.5 documentation
+ Index — GOFit 1.0.0 documentation
-
+
@@ -133,7 +133,7 @@ G
-
© Copyright 2022 The Science and Technology Facilities Council (STFC).
+
© Copyright 2025 The Science and Technology Facilities Council (STFC).
Built with Sphinx using a
diff --git a/docs/_build/html/index.html b/docs/_build/html/index.html
index 823bab0..801658c 100644
--- a/docs/_build/html/index.html
+++ b/docs/_build/html/index.html
@@ -6,14 +6,14 @@
- GOFit — GOFit 0.5 documentation
+ GOFit — GOFit 1.0.0 documentation
-
+
@@ -77,8 +77,8 @@
GOFit
Global Optimization for Fitting problems
-Release: 0.5
-Date: 1 September 2025
+Release: 1.0.0
+Date: 10 September 2025
Author: Jaroslav Fowkes
GOFit is a package of C++ algorithms with python interfaces designed for the global optimization of parameters in curve fitting, i.e. for nonlinear least-squares problems arising from curve fitting. GOFit was developed with scientific curve fitting problems in mind but is also applicable to general curve fitting problems provided they can be formulated as nonlinear least-squares problems.
GOFit is released under the New BSD License.
@@ -129,7 +129,7 @@ ReferencesSphinx using a
diff --git a/docs/_build/html/install.html b/docs/_build/html/install.html
index cdda3c9..efdd588 100644
--- a/docs/_build/html/install.html
+++ b/docs/_build/html/install.html
@@ -6,14 +6,14 @@
- Installing GOFit — GOFit 0.5 documentation
+ Installing GOFit — GOFit 1.0.0 documentation
-
+
@@ -156,7 +156,7 @@ LicenseSphinx using a
diff --git a/docs/_build/html/objects.inv b/docs/_build/html/objects.inv
index d8c9b91..78e969d 100644
Binary files a/docs/_build/html/objects.inv and b/docs/_build/html/objects.inv differ
diff --git a/docs/_build/html/search.html b/docs/_build/html/search.html
index 611a985..94b10a1 100644
--- a/docs/_build/html/search.html
+++ b/docs/_build/html/search.html
@@ -5,7 +5,7 @@
- Search — GOFit 0.5 documentation
+ Search — GOFit 1.0.0 documentation
@@ -13,7 +13,7 @@
-
+
@@ -93,7 +93,7 @@
-
© Copyright 2022 The Science and Technology Facilities Council (STFC).
+
© Copyright 2025 The Science and Technology Facilities Council (STFC).
Built with Sphinx using a
diff --git a/docs/_build/html/searchindex.js b/docs/_build/html/searchindex.js
index d780500..5d4bca4 100644
--- a/docs/_build/html/searchindex.js
+++ b/docs/_build/html/searchindex.js
@@ -1 +1 @@
-Search.setIndex({"alltitles": {"Alternating Algorithm": [[0, "alternating-algorithm"]], "Bugs": [[3, "bugs"]], "Contents": [[2, null]], "Example Usage": [[1, null]], "GOFit": [[2, null]], "GOFit Algorithms": [[0, null]], "Global Optimization for Fitting problems": [[2, "global-optimization-for-fitting-problems"]], "Installing GOFit": [[3, null], [3, "id1"]], "Installing GOFit from source": [[3, "installing-gofit-from-source"]], "License": [[3, "license"]], "Multistart Algorithm": [[0, "multistart-algorithm"]], "References": [[2, "references"]], "Regularisation Algorithm": [[0, "regularisation-algorithm"]], "Requirements": [[3, "requirements"]], "Testing": [[3, "testing"]], "Uninstallation": [[3, "uninstallation"]]}, "docnames": ["algorithms", "example", "index", "install"], "envversion": {"sphinx": 64, "sphinx.domains.c": 3, "sphinx.domains.changeset": 1, "sphinx.domains.citation": 1, "sphinx.domains.cpp": 9, "sphinx.domains.index": 1, "sphinx.domains.javascript": 3, "sphinx.domains.math": 2, "sphinx.domains.python": 4, "sphinx.domains.rst": 2, "sphinx.domains.std": 2}, "filenames": ["algorithms.md", "example.md", "index.rst", "install.md"], "indexentries": {"built-in function": [[0, "gofit.alternating", false], [0, "gofit.multistart", false], [0, "gofit.regularisation", false]], "gofit.alternating()": [[0, "gofit.alternating", false]], "gofit.multistart()": [[0, "gofit.multistart", false]], "gofit.regularisation()": [[0, "gofit.regularisation", false]]}, "objects": {"gofit": [[0, 0, 1, "", "alternating"], [0, 0, 1, "", "multistart"], [0, 0, 1, "", "regularisation"]]}, "objnames": {"0": ["py", "function", "Python function"]}, "objtypes": {"0": "py:function"}, "terms": {"": [1, 3], "0": [1, 2], "00000231": 1, "002": 2, "04": 0, "05": 0, "08": 0, "1": [0, 1, 2, 3], "10": [1, 2], "100": [0, 1], "18": 3, "1e": 0, "2": [0, 1, 3], "200": 0, "2022": 2, "2022002": 2, "2025": 2, "2d": 1, "3": [0, 1, 3], "4": [0, 1, 3], "5": 2, "5286": 2, "9": 3, "For": [1, 3], "If": 0, "The": [0, 1, 3], "Then": 0, "To": 3, "abov": 3, "adapt": 0, "again": 0, "algorithm": [1, 2], "all": [0, 3], "also": 2, "altern": [2, 3], "an": [0, 3], "ani": 3, "applic": 2, "ar": 0, "aris": 2, "arrai": 0, "assum": 0, "author": 2, "avail": 1, "bool": 0, "bound": 0, "bsd": [2, 3], "bug": 2, "build": 3, "built": 3, "c": 2, "callabl": 0, "can": [1, 2, 3], "cd": 3, "clone": 3, "cmake": 3, "code": [0, 1, 3], "com": 3, "common": 3, "compil": 3, "complet": 0, "comput": 0, "contain": [0, 3], "crystal": 2, "curv": 2, "data": [0, 1], "date": 2, "def": 1, "default": 0, "depend": 3, "design": 2, "detail": 1, "develop": 2, "differ": 0, "dimens": 0, "directori": [1, 3], "document": 3, "doe": 3, "doi": 2, "don": 3, "download": 3, "e": [2, 3], "each": 0, "easi": 3, "eigen": 3, "eps_": 0, "eps_g": 0, "eps_r": 0, "eval_r": 1, "evalu": 0, "exampl": [2, 3], "exist": 3, "expect": 0, "field": 2, "find": 1, "finit": 0, "first": 0, "fit": 0, "fix": 0, "float": 0, "flynn": 2, "follow": [0, 1, 3], "forget": 3, "formul": 2, "found": 1, "fowk": 2, "from": [0, 1, 2], "function": [0, 1], "gener": [0, 2], "git": 3, "github": 3, "given": 0, "global": [0, 1], "gofit": 1, "gomez": 1, "gould": 2, "gradient": 0, "guess": 0, "have": 0, "how": 3, "howev": 3, "http": [2, 3], "hypercub": 0, "i": [0, 2, 3], "import": 1, "includ": [0, 3], "index": 2, "initi": 0, "input": 0, "instal": 2, "int": 0, "interfac": [0, 2], "io": 3, "issu": 3, "iter": 0, "j": [0, 2], "jac": 0, "jacobian": 0, "jaroslav": 2, "latest": 3, "latin": 0, "least": [0, 2], "level": 3, "levi": 1, "licens": 2, "local": 0, "lower": 0, "m": [0, 1, 2], "mantid": 2, "matrix": 0, "maximum": 0, "maxit": [0, 1], "mind": 2, "minim": 1, "minimum": 1, "model": 0, "modul": 0, "more": 1, "most": 3, "multipl": 0, "multistart": [1, 2], "must": 0, "n": [0, 1, 2], "n_split": 0, "navig": 3, "ndarrai": 0, "new": [2, 3], "none": 0, "nonlinear": [0, 2], "norm": 0, "note": [0, 3], "np": 1, "number": 0, "numpi": [0, 1], "o": 2, "older": 3, "one": 3, "ones": 1, "optim": 0, "option": 0, "org": [2, 3], "over": 0, "packag": 2, "param": 0, "paramet": [0, 1, 2], "pi": 1, "pip": 3, "platform": 3, "pleas": [0, 3], "point": 0, "pre": 3, "present": [1, 3], "print": 1, "problem": [0, 1], "proce": 0, "provid": [2, 3], "pull": 3, "py": 3, "pybind11": 3, "python": [2, 3], "quadrat": 0, "quickli": 1, "r": 0, "ral": 2, "ralna": 3, "raltr": 2, "randomli": 0, "re": [0, 1, 3], "readthedoc": 3, "recommend": 0, "regularis": 2, "releas": [2, 3], "report": [2, 3], "requir": 2, "residu": 0, "return": [0, 1], "run": [0, 1, 3], "sampl": [0, 1], "scale": 0, "scientif": 2, "see": [1, 3], "septemb": 2, "setup": 3, "shape": 0, "signatur": 0, "simpl": [1, 3], "sin": 1, "size": 0, "softwar": 3, "solver": 0, "some": 3, "sourc": 2, "split": 0, "sqrt": 1, "squar": [0, 2], "start": 0, "statu": [0, 1], "step": 0, "stop": 0, "sub": 1, "system": 3, "t": 3, "technic": 2, "test": [1, 2], "thei": 2, "thi": [1, 3], "third": 0, "three": 0, "toler": 0, "top": 3, "tr": 2, "tracker": 3, "true": 0, "tuxfamili": 3, "two": 0, "type": 0, "under": [2, 3], "uninstal": 2, "unpack": 3, "upgrad": 3, "upper": 0, "us": [0, 1, 3], "usag": 2, "vector": 0, "version": 3, "wa": 2, "wheel": 3, "where": 0, "whether": 0, "within": 0, "x": [0, 1], "x0": 0, "xl": [0, 1], "xu": [0, 1], "y": 1, "you": 3, "your": 3, "zero": 1}, "titles": ["GOFit Algorithms", "Example Usage", "GOFit", "Installing GOFit"], "titleterms": {"algorithm": 0, "altern": 0, "bug": 3, "content": 2, "exampl": 1, "fit": 2, "from": 3, "global": 2, "gofit": [0, 2, 3], "instal": 3, "licens": 3, "multistart": 0, "optim": 2, "problem": 2, "refer": 2, "regularis": 0, "requir": 3, "sourc": 3, "test": 3, "uninstal": 3, "usag": 1}})
\ No newline at end of file
+Search.setIndex({"alltitles": {"Alternating Algorithm": [[0, "alternating-algorithm"]], "Bugs": [[3, "bugs"]], "Contents": [[2, null]], "Example Usage": [[1, null]], "GOFit": [[2, null]], "GOFit Algorithms": [[0, null]], "Global Optimization for Fitting problems": [[2, "global-optimization-for-fitting-problems"]], "Installing GOFit": [[3, null], [3, "id1"]], "Installing GOFit from source": [[3, "installing-gofit-from-source"]], "License": [[3, "license"]], "Multistart Algorithm": [[0, "multistart-algorithm"]], "References": [[2, "references"]], "Regularisation Algorithm": [[0, "regularisation-algorithm"]], "Requirements": [[3, "requirements"]], "Testing": [[3, "testing"]], "Uninstallation": [[3, "uninstallation"]]}, "docnames": ["algorithms", "example", "index", "install"], "envversion": {"sphinx": 64, "sphinx.domains.c": 3, "sphinx.domains.changeset": 1, "sphinx.domains.citation": 1, "sphinx.domains.cpp": 9, "sphinx.domains.index": 1, "sphinx.domains.javascript": 3, "sphinx.domains.math": 2, "sphinx.domains.python": 4, "sphinx.domains.rst": 2, "sphinx.domains.std": 2}, "filenames": ["algorithms.md", "example.md", "index.rst", "install.md"], "indexentries": {"built-in function": [[0, "gofit.alternating", false], [0, "gofit.multistart", false], [0, "gofit.regularisation", false]], "gofit.alternating()": [[0, "gofit.alternating", false]], "gofit.multistart()": [[0, "gofit.multistart", false]], "gofit.regularisation()": [[0, "gofit.regularisation", false]]}, "objects": {"gofit": [[0, 0, 1, "", "alternating"], [0, 0, 1, "", "multistart"], [0, 0, 1, "", "regularisation"]]}, "objnames": {"0": ["py", "function", "Python function"]}, "objtypes": {"0": "py:function"}, "terms": {"": [1, 3], "0": [1, 2], "00000231": 1, "002": 2, "04": 0, "05": 0, "08": 0, "1": [0, 1, 2, 3], "10": [1, 2], "100": [0, 1], "18": 3, "1e": 0, "2": [0, 1, 3], "200": 0, "2022": 2, "2022002": 2, "2025": 2, "2d": 1, "3": [0, 1, 3], "4": [0, 1, 3], "5286": 2, "9": 3, "For": [1, 3], "If": 0, "The": [0, 1, 3], "Then": 0, "To": 3, "abov": 3, "adapt": 0, "again": 0, "algorithm": [1, 2], "all": [0, 3], "also": 2, "altern": [2, 3], "an": [0, 3], "ani": 3, "applic": 2, "ar": 0, "aris": 2, "arrai": 0, "assum": 0, "author": 2, "avail": 1, "bool": 0, "bound": 0, "bsd": [2, 3], "bug": 2, "build": 3, "built": 3, "c": 2, "callabl": 0, "can": [1, 2, 3], "cd": 3, "clone": 3, "cmake": 3, "code": [0, 1, 3], "com": 3, "common": 3, "compil": 3, "complet": 0, "comput": 0, "contain": [0, 3], "crystal": 2, "curv": 2, "data": [0, 1], "date": 2, "def": 1, "default": 0, "depend": 3, "design": 2, "detail": 1, "develop": 2, "differ": 0, "dimens": 0, "directori": [1, 3], "document": 3, "doe": 3, "doi": 2, "don": 3, "download": 3, "e": [2, 3], "each": 0, "easi": 3, "eigen": 3, "eps_": 0, "eps_g": 0, "eps_r": 0, "eval_r": 1, "evalu": 0, "exampl": [2, 3], "exist": 3, "expect": 0, "field": 2, "find": 1, "finit": 0, "first": 0, "fit": 0, "fix": 0, "float": 0, "flynn": 2, "follow": [0, 1, 3], "forget": 3, "formul": 2, "found": 1, "fowk": 2, "from": [0, 1, 2], "function": [0, 1], "gener": [0, 2], "git": 3, "github": 3, "given": 0, "global": [0, 1], "gofit": 1, "gomez": 1, "gould": 2, "gradient": 0, "guess": 0, "have": 0, "how": 3, "howev": 3, "http": [2, 3], "hypercub": 0, "i": [0, 2, 3], "import": 1, "includ": [0, 3], "index": 2, "initi": 0, "input": 0, "instal": 2, "int": 0, "interfac": [0, 2], "io": 3, "issu": 3, "iter": 0, "j": [0, 2], "jac": 0, "jacobian": 0, "jaroslav": 2, "latest": 3, "latin": 0, "least": [0, 2], "level": 3, "levi": 1, "licens": 2, "local": 0, "lower": 0, "m": [0, 1, 2], "mantid": 2, "matrix": 0, "maximum": 0, "maxit": [0, 1], "mind": 2, "minim": 1, "minimum": 1, "model": 0, "modul": 0, "more": 1, "most": 3, "multipl": 0, "multistart": [1, 2], "must": 0, "n": [0, 1, 2], "n_split": 0, "navig": 3, "ndarrai": 0, "new": [2, 3], "none": 0, "nonlinear": [0, 2], "norm": 0, "note": [0, 3], "np": 1, "number": 0, "numpi": [0, 1], "o": 2, "older": 3, "one": 3, "ones": 1, "optim": 0, "option": 0, "org": [2, 3], "over": 0, "packag": 2, "param": 0, "paramet": [0, 1, 2], "pi": 1, "pip": 3, "platform": 3, "pleas": [0, 3], "point": 0, "pre": 3, "present": [1, 3], "print": 1, "problem": [0, 1], "proce": 0, "provid": [2, 3], "pull": 3, "py": 3, "pybind11": 3, "python": [2, 3], "quadrat": 0, "quickli": 1, "r": 0, "ral": 2, "ralna": 3, "raltr": 2, "randomli": 0, "re": [0, 1, 3], "readthedoc": 3, "recommend": 0, "regularis": 2, "releas": [2, 3], "report": [2, 3], "requir": 2, "residu": 0, "return": [0, 1], "run": [0, 1, 3], "sampl": [0, 1], "scale": 0, "scientif": 2, "see": [1, 3], "septemb": 2, "setup": 3, "shape": 0, "signatur": 0, "simpl": [1, 3], "sin": 1, "size": 0, "softwar": 3, "solver": 0, "some": 3, "sourc": 2, "split": 0, "sqrt": 1, "squar": [0, 2], "start": 0, "statu": [0, 1], "step": 0, "stop": 0, "sub": 1, "system": 3, "t": 3, "technic": 2, "test": [1, 2], "thei": 2, "thi": [1, 3], "third": 0, "three": 0, "toler": 0, "top": 3, "tr": 2, "tracker": 3, "true": 0, "tuxfamili": 3, "two": 0, "type": 0, "under": [2, 3], "uninstal": 2, "unpack": 3, "upgrad": 3, "upper": 0, "us": [0, 1, 3], "usag": 2, "vector": 0, "version": 3, "wa": 2, "wheel": 3, "where": 0, "whether": 0, "within": 0, "x": [0, 1], "x0": 0, "xl": [0, 1], "xu": [0, 1], "y": 1, "you": 3, "your": 3, "zero": 1}, "titles": ["GOFit Algorithms", "Example Usage", "GOFit", "Installing GOFit"], "titleterms": {"algorithm": 0, "altern": 0, "bug": 3, "content": 2, "exampl": 1, "fit": 2, "from": 3, "global": 2, "gofit": [0, 2, 3], "instal": 3, "licens": 3, "multistart": 0, "optim": 2, "problem": 2, "refer": 2, "regularis": 0, "requir": 3, "sourc": 3, "test": 3, "uninstal": 3, "usag": 1}})
\ No newline at end of file
diff --git a/docs/conf.py b/docs/conf.py
index 727cc18..41866c5 100644
--- a/docs/conf.py
+++ b/docs/conf.py
@@ -18,17 +18,17 @@
# -- Project information -----------------------------------------------------
project = 'GOFit'
-copyright = '2022 The Science and Technology Facilities Council (STFC)'
+copyright = '2025 The Science and Technology Facilities Council (STFC)'
author = 'Jaroslav Fowkes'
# The full version, including alpha/beta/rc tags
-release = '0.5'
+release = '1.0.0'
# The short X.Y version
version = release
# There are two options for replacing |today|: either, you set today to some
# non-false value, then it is used:
-today = '1 September 2025'
+today = '10 September 2025'
# Else, today_fmt is used as the format for a strftime call.
#today_fmt = '%d %B %Y'
diff --git a/setup.py b/setup.py
index a628d60..76e0aee 100644
--- a/setup.py
+++ b/setup.py
@@ -119,7 +119,7 @@ def build_extension(self, ext):
# logic and declaration, and simpler if you include description/version in a file.
setup(
name="gofit",
- version="0.5",
+ version="1.0.0",
description="GOFit: Global Optimization for Fitting problems",
long_description=open('README.md').read(),
long_description_content_type="text/markdown",
@@ -135,7 +135,7 @@ def build_extension(self, ext):
license='New BSD',
keywords = "mathematics optimization",
classifiers=[
- 'Development Status :: 4 - Beta',
+ 'Development Status :: 5 - Production/Stable',
'Environment :: Console',
'Framework :: IPython',
'Framework :: Jupyter',