Skip to content

Commit 0e5b9b0

Browse files
Merge pull request #1 from Christopher-K-Long/dev
Pulling v1.1.1
2 parents 07f6416 + 780d57d commit 0e5b9b0

11 files changed

Lines changed: 52 additions & 21 deletions

.github/workflows/publish-to-test-pypi.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ jobs:
1010
CIBW_CONFIG_SETTINGS: '"cmake.define.NCTRL_FIXED_SIZES=OFF" "cmake.define.DIM_FIXED_SIZES=OFF"'
1111
strategy:
1212
matrix:
13-
os: [ubuntu-latest, windows-latest, macos-13, macos-latest]
13+
os: [ubuntu-latest, ubuntu-24.04-arm, windows-latest, windows-11-arm, macos-15-intel, macos-latest]
1414

1515
steps:
1616
- uses: actions/checkout@v4
@@ -22,7 +22,7 @@ jobs:
2222
with:
2323
python-version: "3.x"
2424
- name: Install cibuildwheel
25-
run: python -m pip install cibuildwheel==3.0.0
25+
run: python -m pip install cibuildwheel==3.2.1
2626
- name: Build wheels
2727
run: python -m cibuildwheel --output-dir dist
2828
- uses: actions/upload-artifact@v4

.github/workflows/release-and-publish-to-pypi.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -38,7 +38,7 @@ jobs:
3838
CIBW_CONFIG_SETTINGS: '"cmake.define.NCTRL_FIXED_SIZES=OFF" "cmake.define.DIM_FIXED_SIZES=OFF"'
3939
strategy:
4040
matrix:
41-
os: [ubuntu-latest, windows-latest, macos-13, macos-latest]
41+
os: [ubuntu-latest, ubuntu-24.04-arm, windows-latest, windows-11-arm, macos-15-intel, macos-latest]
4242

4343
steps:
4444
- uses: actions/checkout@v4
@@ -50,7 +50,7 @@ jobs:
5050
with:
5151
python-version: "3.x"
5252
- name: Install cibuildwheel
53-
run: python -m pip install cibuildwheel==3.0.0
53+
run: python -m pip install cibuildwheel==3.2.1
5454
- name: Build wheels
5555
run: python -m cibuildwheel --output-dir dist
5656
- uses: actions/upload-artifact@v4

.github/workflows/test-python-package.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@ jobs:
2525
strategy:
2626
fail-fast: false
2727
matrix:
28-
python-version: ["3.8", "3.9", "3.10", "3.11", "3.12", "3.13"]
28+
python-version: ["3.8", "3.9", "3.10", "3.11", "3.12", "3.13", "3.14"]
2929

3030
steps:
3131
- uses: actions/checkout@v4

CITATION.cff

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@ authors:
2020
affiliation: University of Cambridge
2121
orcid: 'https://orcid.org/0000-0001-7337-7245'
2222
- given-names: Normann
23-
family-names: Metrig
23+
family-names: Mertig
2424
affiliation: Hitachi Cambridge Laboratory
2525
orcid: 'https://orcid.org/0000-0003-3025-7141'
2626
repository-code: 'https://github.com/Christopher-K-Long/PySTE'
@@ -43,5 +43,5 @@ identifiers:
4343
type: doi
4444
value: "10.5281/zenodo.17116431"
4545
license: Apache-2.0
46-
version: 1.1.0
47-
date-released: '2025-09-13'
46+
version: 1.1.1
47+
date-released: '2025-10-19'

ChangeLog.md

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,20 @@
11
# [PySTE](README.md) Change Log
22

3+
## Release 1.1.1
4+
5+
### Bug fixes
6+
- Fixed bug in which the [NumPy](https://numpy.org/) dependency was not version pinned to >= 1.21, < 3.
7+
8+
### Continuous Integration (CI) updates
9+
- Added CI build support for Python 3.14
10+
- Updated host runner images after GitHub deprecated `macos-13`
11+
12+
### Updated Metadata
13+
- Corrected author names
14+
- Added additional package classifiers
15+
- Added version pins to `README.md`
16+
- Corrected build from source instructions in `README.md`
17+
318
## Release 1.1.0
419

520
- Added `get_evolution()` to generate the unitary describing the systems evolution.

README.md

Lines changed: 8 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -45,7 +45,9 @@ Currently, the pre-built wheels only include the dynamic evolvers. For the faste
4545
### Requirements
4646

4747
Requires:
48-
- [NumPy](https://numpy.org/)
48+
- [NumPy](https://numpy.org/) (>= 1.21, < 3)
49+
- [Suzuki-Trotter-Evolver](https://github.com/Christopher-K-Long/Suzuki-Trotter-Evolver) (== 1.1.0, packaged with PySTE)
50+
- [Eigen3](https://eigen.tuxfamily.org/) (== 3.4.90, packaged with PySTE)
4951

5052
Note that [Suzuki-Trotter-Evolver](https://github.com/Christopher-K-Long/Suzuki-Trotter-Evolver) and [Eigen3](https://eigen.tuxfamily.org/) are packaged with PySTE and so do not need to be installed separately.
5153

@@ -62,7 +64,7 @@ conda install -c conda-forge libstdcxx-ng
6264

6365
- [toml](https://github.com/uiri/toml)
6466
- [PyYAML](https://pyyaml.org/)
65-
- [SciPy](https://scipy.org/)
67+
- [SciPy](https://scipy.org/) (== 1.*)
6668

6769
#### Additional requirements for benchmarking
6870

@@ -106,17 +108,17 @@ The maximum power when using ``--config-setting="cmake.define.DIM_FIXED_SIZES=PO
106108
- ``--config-setting="cmake.define.BASE_DIM=2"``\
107109
The base of the powers when using ``--config-setting="cmake.define.DIM_FIXED_SIZES=POWER"``. A positive integer, by default 2.
108110

109-
110111
For example,
111112
```bash
112-
pip install py-ste \
113+
pip install --no-binary py-ste py-ste \
114+
--no-cache-dir \
113115
--config-setting="cmake.define.NCTRL_FIXED_SIZES=SINGLE" \
114116
--config-setting="cmake.define.NCTRL=2" \
115117
--config-setting="cmake.define.DIM_FIXED_SIZES=POWER" \
116118
--config-setting="cmake.define.MAX_POWER_DIM=3" \
117119
--verbose
118120
```
119-
will build PySTE from source and optimises evolvers at compile time with 2 control Hamiltonians acting on a vector space of dimensions 2, 4, and 8. Increasing the number of optimised evolvers increases the compile time. The ``--verbose`` flag allows the progress of the build to be seen. This is useful as the builds can often take a long time.
121+
will build PySTE from source and optimises evolvers at compile time with 2 control Hamiltonians acting on a vector space of dimensions 2, 4, and 8. Increasing the number of optimised evolvers increases the compile time. The ``--no-binary py-ste`` flag instructs ``pip`` to build ``py-ste`` from source and the following ``py-ste`` instructs ``pip`` that ``py-ste`` is one of the packages to collect (indeed the only package). The ``--no-cache-dir`` flag ensures that a cached ``.whl`` file is not used instead and the package is actually built from source. Finally, the ``--verbose`` flag allows the progress of the build to be seen. This is useful as the builds can often take a long time.
120122

121123
*Note building from source requires approximately 16GB of RAM.*
122124

@@ -144,7 +146,7 @@ Source code can be found at: [https://github.com/Christopher-K-Long/PySTE](https
144146

145147
## Version and Changes
146148

147-
The current version is [`1.1.0`](ChangeLog.md#release-110). Please see the [Change Log](ChangeLog.md) for more details. PySTE uses [semantic versioning](https://semver.org/).
149+
The current version is [`1.1.1`](ChangeLog.md#release-111). Please see the [Change Log](ChangeLog.md) for more details. PySTE uses [semantic versioning](https://semver.org/).
148150

149151
## Acknowledgements
150152
CKL would like to thank [Chris Hall](https://www.linkedin.com/in/chris-hall-1a15131) for useful discussions on the structure of the package.

benchmarks/requirements.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
py-ste == 1.1.0 # Version to be benchmarked
1+
py-ste == 1.1.1 # Version to be benchmarked
22

33
pyperf
44
matplotlib == 3.* # Macro version: "A release that we expect a large effort from our users to upgrade to." See https://matplotlib.org/devdocs/devel/release_guide.html

docs/requirements.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
py-ste == 1.1.0 # Version to be documented
1+
py-ste == 1.1.1 # Version to be documented
22

33
furo
44
cffconvert

docs/user_guide/running_tests.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,7 @@ from the root directory of PySTE to execute the tests for your installed python
1818

1919
To execute the tests with [pytest](https://docs.pytest.org) you will need to set up a python environment with PySTE and the packages in `texts/requirements.txt`. For example, you can run
2020
```bash
21+
pip install pytest
2122
pip install ./
2223
pip install -r tests/requirements.txt
2324
```

pyproject.toml

Lines changed: 18 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -4,24 +4,38 @@ build-backend = "scikit_build_core.build"
44

55
[project]
66
name = "py-ste"
7-
version = "1.1.0"
7+
version = "1.1.1"
88
authors = [
9-
{ name="Christopher_K._Long", email="ckl45@cam.ac.uk" },
9+
{ name="Christopher K. Long", email="ckl45@cam.ac.uk" },
10+
{ name="Crispin H. W. Barnes"},
11+
{ name="Normann Mertig"}
1012
]
1113
maintainers = [
12-
{ name="Christopher_K._Long", email="ckl45@cam.ac.uk" },
14+
{ name="Christopher K. Long", email="ckl45@cam.ac.uk" },
1315
]
1416
description = "A Python package for evolving unitaries and states under the Schrödinger equation using first-order Suzuki-Trotter and computing switching functions."
1517
keywords = ["evolver", "evolution", "suzuki", "trotter", "simulation", "intergrator", "integration", "unitary", "quantum"]
1618
readme = "README.md"
1719
requires-python = ">=3.8"
1820
classifiers = [
1921
"Programming Language :: Python :: 3",
22+
"Programming Language :: Python :: 3.8",
23+
"Programming Language :: Python :: 3.9",
24+
"Programming Language :: Python :: 3.10",
25+
"Programming Language :: Python :: 3.11",
26+
"Programming Language :: Python :: 3.12",
27+
"Programming Language :: Python :: 3.13",
28+
"Programming Language :: Python :: 3.14",
29+
"Development Status :: 5 - Production/Stable",
30+
"Intended Audience :: Science/Research",
31+
"Natural Language :: English",
2032
"Operating System :: OS Independent",
33+
"Topic :: Scientific/Engineering :: Physics",
34+
"Topic :: Scientific/Engineering :: Quantum Computing"
2135
]
2236
license = "Apache-2.0"
2337
license-files = ["LICEN[CS]E*"]
24-
dependencies = ["numpy"]
38+
dependencies = ["numpy >= 1.21, < 3"] # Major version change will likely indicate an ABI break. See https://numpy.org/doc/stable/dev/depending_on_numpy.html
2539

2640
[project.urls]
2741
Homepage = "https://github.com/Christopher-K-Long/PySTE"

0 commit comments

Comments
 (0)