Skip to content

Commit 1a490c3

Browse files
authored
Merge pull request #2 from GalSim-developers/merge-main
test: merge main into tests
2 parents cf0c4b1 + bcc1ee1 commit 1a490c3

595 files changed

Lines changed: 2007 additions & 857 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

.github/workflows/ci.yml

Lines changed: 16 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -84,7 +84,7 @@ jobs:
8484
8585
# Easier if eigen is installed with apt-get, but on at least one system, check that
8686
# it gets downloaded and installed properly if it isn't installed.
87-
if ${{ matrix.py != 3.7 }}; then sudo -H apt install -y libeigen3-dev; fi
87+
if ${{ matrix.py != 3.12 }}; then sudo -H apt install -y libeigen3-dev; fi
8888
8989
# Need this for the mpeg tests
9090
sudo -H apt install -y ffmpeg
@@ -125,7 +125,7 @@ jobs:
125125
126126
# Do these three first to clarify potential conflicts
127127
pip install -U numpy
128-
pip install -U "setuptools<72"
128+
pip install -U setuptools
129129
pip install -U wheel
130130
131131
# Standard dependencies
@@ -137,13 +137,15 @@ jobs:
137137
138138
pip install -U matplotlib
139139
140-
- name: Install astroplan
141-
# astroplan isn't yet numpy 2.0 compatible. So don't install that on 3.9+.
142-
# I'm also getting errors with starlink, which I think may be related to
143-
# numpy 2.0.
144-
if: (matrix.py == 3.8) || (matrix.py == 3.9)
145-
run: |
146140
pip install -U astroplan
141+
142+
# Starlink doesn't seem to work anymore. Even with numpy 1.x, I'm getting
143+
# "ModuleNotFoundError: No module named 'numpy'" when building the wheel.
144+
# This after already installing numpy, so it should be there.
145+
# Revisit from time to time to see if they fix it.
146+
- name: Install starlink
147+
if: 0
148+
run: |
147149
pip install -U starlink-pyast
148150
149151
- name: Install CPython-only dependencies
@@ -166,7 +168,7 @@ jobs:
166168
FFTW_DIR=$FFTW_DIR pip install -vvv .
167169
168170
- name: Check download_cosmos only if it changed. (And only on 1 runner)
169-
if: matrix.py == 3.7 && github.base_ref != ''
171+
if: matrix.py == 3.12 && github.base_ref != ''
170172
run: |
171173
git status
172174
git --no-pager log --graph --pretty=oneline --abbrev-commit | head -50
@@ -183,27 +185,20 @@ jobs:
183185
# Less confusing to include it explicitly.
184186
185187
- name: Check shared library
186-
if: matrix.py == 3.8
188+
if: matrix.py == 3.12
187189
run: |
188-
# On a few systems (arbitrarily py3.8, where we also check mac and clang),
190+
# On a few systems (arbitrarily py3.12, where we also check mac and clang),
189191
# check the shared library creation and link.
190-
GALSIM_BUILD_SHARED=1 python setup.py install
192+
GALSIM_BUILD_SHARED=1 python setup.py build
191193
192194
# These directories/files should now exist.
193195
echo "Look for the shared library:"
194196
test -d build/shared_clib
195197
ls build/shared_clib
196198
ls build/shared_clib/libgalsim.*
197199
198-
# For now, use `python setup.py test` to test linking to the shared library.
199-
# We run some C++ tests there, and we use the shared library for linking.
200-
# Caveats:
201-
# 1. The C++ tests are not very comprehensive, so it won't catch all errors.
202-
# 2. Apparently setup.py test is deprecated. I'm getting warnings when I run
203-
# it that indicate it may go away at some point. So whenever that happens,
204-
# we'll have to revisit this test to find another way to build and run
205-
# the C++ tests.
206-
GALSIM_TEST_PY=0 python setup.py test
200+
# Build and run the C++ test suite
201+
GALSIM_RUN_TEST=1 python setup.py build
207202
208203
- name: Upload coverage to codecov
209204
if: matrix.py != 'pypy-3.7'

.github/workflows/wheels.yml

Lines changed: 14 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -16,11 +16,11 @@ jobs:
1616
- uses: actions/setup-python@v5
1717

1818
- name: Build wheels
19-
uses: pypa/cibuildwheel@v2.21.1
19+
uses: pypa/cibuildwheel@v3.3.1
2020
env:
2121
CIBW_BUILD: "*manylinux*"
2222
CIBW_ARCHS: auto64
23-
CIBW_SKIP: cp36* cp37* pp*
23+
CIBW_SKIP: cp36* cp37* cp38* pp*
2424
# I think yum might always work here. But leave all options available.
2525
CIBW_BEFORE_ALL: yum install -y fftw-devel || apt-get install libfftw3-dev || apk add --upgrade fftw-dev
2626

@@ -38,11 +38,11 @@ jobs:
3838
- uses: actions/setup-python@v5
3939

4040
- name: Build wheels
41-
uses: pypa/cibuildwheel@v2.21.1
41+
uses: pypa/cibuildwheel@v3.3.1
4242
env:
4343
CIBW_BUILD: "*musllinux*"
4444
CIBW_ARCHS: auto64
45-
CIBW_SKIP: cp36* cp37* pp*
45+
CIBW_SKIP: cp36* cp37* cp38* pp*
4646
# I think musl always uses apk, but keep all options available.
4747
CIBW_BEFORE_ALL: apk add --upgrade fftw-dev || apt-get install libfftw3-dev || yum install -y fftw-devel
4848

@@ -53,21 +53,21 @@ jobs:
5353

5454
build_macosx_intel_wheels:
5555
name: Build wheels on MacOS Intel
56-
runs-on: macos-13
56+
runs-on: macos-15-intel
5757
steps:
5858
- uses: actions/checkout@v4
5959

6060
- uses: actions/setup-python@v5
6161

6262
- name: Build wheels
63-
uses: pypa/cibuildwheel@v2.21.1
63+
uses: pypa/cibuildwheel@v3.3.1
6464
env:
6565
CIBW_BUILD: "*macosx*"
6666
CIBW_ARCHS: auto64
67-
CIBW_SKIP: cp36* cp37* pp*
67+
CIBW_SKIP: cp36* cp37* cp38* pp*
6868
CIBW_BEFORE_ALL: brew install fftw || true
6969
CIBW_ENVIRONMENT: >-
70-
MACOSX_DEPLOYMENT_TARGET=13.0
70+
MACOSX_DEPLOYMENT_TARGET=14.0
7171
7272
- uses: actions/upload-artifact@v4
7373
with:
@@ -76,27 +76,22 @@ jobs:
7676

7777
build_macosx_arm_wheels:
7878
name: Build wheels on MacOS ARM
79-
runs-on: macos-latest
79+
runs-on: macos-14
8080
steps:
8181
- uses: actions/checkout@v4
8282

8383
- uses: actions/setup-python@v5
8484

8585
- name: Build wheels
86-
uses: pypa/cibuildwheel@v2.21.1
86+
uses: pypa/cibuildwheel@v3.3.1
8787
env:
8888
CIBW_BUILD: "*macosx*"
8989
CIBW_ARCHS: arm64
90-
CIBW_SKIP: cp36* cp37* pp*
91-
CIBW_BEFORE_ALL: brew install llvm libomp fftw eigen
90+
CIBW_SKIP: cp36* cp37* cp38* pp*
91+
CIBW_BEFORE_ALL: brew install fftw eigen
9292
CIBW_ENVIRONMENT: >-
93-
CC=/opt/homebrew/opt/llvm/bin/clang
94-
CXX=/opt/homebrew/opt/llvm/bin/clang++
95-
LDFLAGS="-L/opt/homebrew/opt/llvm/lib -Wl,-rpath,/opt/homebrew/opt/llvm/lib"
96-
CPPFLAGS="-I/opt/homebrew/opt/llvm/include"
97-
PATH="/opt/homebrew/opt/llvm/bin:$PATH"
9893
FFTW_DIR="/opt/homebrew/lib"
99-
MACOSX_DEPLOYMENT_TARGET=14.7
94+
MACOSX_DEPLOYMENT_TARGET=14.0
10095
10196
- uses: actions/upload-artifact@v4
10297
with:
@@ -128,7 +123,7 @@ jobs:
128123
- name: Install dependencies
129124
run: |
130125
python -m pip install -U pip
131-
pip install -U numpy "setuptools<72"
126+
pip install -U numpy setuptools
132127
pip install -U -r requirements.txt
133128
134129
- name: Download wheels

.gitignore

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -31,3 +31,9 @@ pytest_session.txt
3131
downloaded_eigen
3232
.vscode
3333
.ipynb_checkpoints
34+
*.pstats
35+
tests.log
36+
output
37+
output_psf
38+
output_fits
39+
AGENTS.md

CHANGELOG.rst

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,11 @@
1-
Changes from v2.5 to v2.6
1+
Changes from v2.7 to v2.8
22
=========================
33

4-
We currently support Python 3.7 through 3.12.
4+
We currently support Python 3.9 through 3.14.
55

66
A complete list of all new features and changes is given below.
77
`Relevant PRs and Issues,
8-
<https://github.com/GalSim-developers/GalSim/milestone/24?closed=1>`_
8+
<https://github.com/GalSim-developers/GalSim/milestone/25?closed=1>`_
99
whose issue numbers are listed below for the relevant items.
1010

1111
Dependency Changes

LICENSE

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
Copyright (c) 2012-2023 by the GalSim developers team on GitHub
1+
Copyright (c) 2012-2026 by the GalSim developers team on GitHub
22
https://github.com/GalSim-developers
33

44
Redistribution and use in source and binary forms, with or without

conda_requirements.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
# The requirements packages that can be installed with
22
# conda install -y -c conda-forge --file conda_requirements.txt
3-
setuptools>=38,<72
3+
setuptools>=38
44
numpy>=1.17
55
astropy>=2.0
66
pybind11>=2.2

devel/.gitignore

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,3 +2,4 @@ oldcr
22
newcr
33
*.png
44
*.fits
5+
Image_comparison_images

devel/GalSim_License_statement.txt

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@ All GalSim source files should contain the following copyright statement (Python
22
commented versions follow below):
33

44

5-
Copyright (c) 2012-2023 by the GalSim developers team on GitHub
5+
Copyright (c) 2012-2026 by the GalSim developers team on GitHub
66
https://github.com/GalSim-developers
77

88
This file is part of GalSim: The modular galaxy image simulation toolkit.
@@ -20,7 +20,7 @@ conditions are met:
2020
and/or other materials provided with the distribution.
2121

2222

23-
# Copyright (c) 2012-2023 by the GalSim developers team on GitHub
23+
# Copyright (c) 2012-2026 by the GalSim developers team on GitHub
2424
# https://github.com/GalSim-developers
2525
#
2626
# This file is part of GalSim: The modular galaxy image simulation toolkit.
@@ -39,7 +39,7 @@ conditions are met:
3939

4040

4141
/* -*- c++ -*-
42-
* Copyright (c) 2012-2023 by the GalSim developers team on GitHub
42+
* Copyright (c) 2012-2026 by the GalSim developers team on GitHub
4343
* https://github.com/GalSim-developers
4444
*
4545
* This file is part of GalSim: The modular galaxy image simulation toolkit.

devel/brighter-fatter/bf_plots_07aug18.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
# Copyright (c) 2012-2023 by the GalSim developers team on GitHub
1+
# Copyright (c) 2012-2026 by the GalSim developers team on GitHub
22
# https://github.com/GalSim-developers
33
#
44
# This file is part of GalSim: The modular galaxy image simulation toolkit.

devel/brighter-fatter/bf_plots_20Oct17.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
# Copyright (c) 2012-2023 by the GalSim developers team on GitHub
1+
# Copyright (c) 2012-2026 by the GalSim developers team on GitHub
22
# https://github.com/GalSim-developers
33
#
44
# This file is part of GalSim: The modular galaxy image simulation toolkit.

0 commit comments

Comments
 (0)