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
5 changes: 5 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,11 @@

This file records changes to the codebase grouped by version release. Unreleased changes are generally only present during development (relevant parts of the changelog can be written and saved in that section before a version number has been assigned)

## [1.31.5] - 2026-05-26

- Update optimization function for compatibility with latest `pyswarm` release
- Update minimum Python version to 3.10 as previous versions are deprecated

## [1.31.4] - 2026-01-28

- Updated internal functions for Python 3.14 and Pandas 3.0.0
Expand Down
7 changes: 6 additions & 1 deletion atomica/optimization.py
Original file line number Diff line number Diff line change
Expand Up @@ -1452,7 +1452,12 @@ def optimize(project, optimization, parset: ParameterSet, progset: ProgramSet, i
errormsg = "PSO optimization requires finite upper and lower bounds to specify the search domain (i.e. every Adjustable needs to have finite bounds)"
raise Exception(errormsg)

x_opt, _ = pyswarm.pso(_objective_fcn, kwargs=args, **optim_args)
if sc.compareversions(pyswarm, ">=1.0.0"):
x_opt = pyswarm.pso(_objective_fcn, kwargs=args, **optim_args).x
else:
# On Mac OS, Pyswarm 1.0.0 is not installing yet. This can be revisited and hopefully
# removed once the incompatibility is resolved (possibly by switching to more recent UV pipeline)
x_opt, _ = pyswarm.pso(_objective_fcn, kwargs=args, **optim_args)

elif optimization.method == "hyperopt":

Expand Down
4 changes: 2 additions & 2 deletions atomica/version.py
Original file line number Diff line number Diff line change
Expand Up @@ -3,5 +3,5 @@

Standard location for module version number and date.
"""
version = "1.31.4"
versiondate = "2026-01-28"
version = "1.31.5"
versiondate = "2026-05-26"
4 changes: 2 additions & 2 deletions pyproject.toml
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,7 @@ classifiers = [
"Programming Language :: Python :: 3.12",
"Programming Language :: Python :: 3.13"
]
requires-python = ">=3.7"
requires-python = ">=3.10"

dependencies = [
"matplotlib",
Expand All @@ -53,4 +53,4 @@ include-package-data = true
where = ["."]

[tool.setuptools.dynamic]
version = {attr = "atomica.version.version"}
version = {attr = "atomica.version.version"}