Skip to content

Commit bad697d

Browse files
Add photutils (emscripten-forge#4342)
* add basic photutils. * Apply suggestions from code review Co-authored-by: Isabel Paredes <iparedes314@gmail.com> * Clean up --------- Co-authored-by: Isabel Paredes <iparedes314@gmail.com> Co-authored-by: Isabel Paredes <isabel.paredes@quantstack.net>
1 parent c78be81 commit bad697d

2 files changed

Lines changed: 95 additions & 0 deletions

File tree

Lines changed: 70 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,70 @@
1+
context:
2+
name: photutils
3+
version: 2.3.0
4+
5+
package:
6+
name: ${{ name }}
7+
version: ${{ version }}
8+
9+
source:
10+
- url: https://pypi.org/packages/source/p/photutils/photutils-${{ version }}.tar.gz
11+
sha256: 947527f77794469f960d51e6fd7add2fd531b16f2369d4541b1441eb81b3d9f7
12+
13+
build:
14+
number: 0
15+
script: ${{ PYTHON }} -m pip install . ${{ PIP_ARGS }}
16+
17+
requirements:
18+
build:
19+
- python
20+
- cross-python_${{ target_platform }}
21+
- cython >=3.1.0,<4
22+
- numpy
23+
- ${{ compiler("c") }}
24+
host:
25+
- python
26+
- pip
27+
- setuptools >=77.0
28+
- setuptools_scm >=8.0
29+
- cython >=3.1.0,<4
30+
- extension-helpers >=1.3,<2
31+
- astropy >=5.3
32+
- numpy
33+
run:
34+
- python
35+
- numpy >=1.25
36+
- astropy >=5.3
37+
- scipy >=1.11.1 # Note: scipy has broken exports in emscripten-wasm32, affecting some photutils features
38+
# - matplotlib >=3.8 # Available but built for emscripten-abi 3.1.73, incompatible with 4.x
39+
# - regions >=0.9 # Recipe not yet available in emscripten-forge
40+
# - scikit-image >=0.21 # Available but depends on matplotlib-base with incompatible emscripten-abi 3.1.73
41+
# - gwcs >=0.20 # Recipe not yet available in emscripten-forge
42+
# - bottleneck >=1.3.6 # Recipe not yet available in emscripten-forge
43+
# - tqdm >=4.65 # Recipe not yet available in emscripten-forge (pure Python, should be easy to add)
44+
# - rasterio >=1.3.7 # Recipe not yet available in emscripten-forge
45+
- shapely >=2.0.0
46+
47+
tests:
48+
- script: pytester
49+
requirements:
50+
build:
51+
- pytester
52+
run:
53+
- pytester-run
54+
files:
55+
recipe:
56+
- test_photutils.py
57+
58+
about:
59+
homepage: https://photutils.readthedocs.io/
60+
license: BSD-3-Clause
61+
license_family: BSD
62+
license_file: LICENSE.rst
63+
summary: An Astropy package for photometry
64+
description: |
65+
Photutils is an Astropy package for detection and photometry of
66+
astronomical sources.
67+
68+
extra:
69+
recipe-maintainers:
70+
- mmesch
Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
def test_import_photutils():
2+
"""Test basic import of photutils package."""
3+
import photutils
4+
assert hasattr(photutils, '__version__')
5+
6+
def test_import_modules():
7+
# Modules that work (don't depend on astropy.nddata or scipy.sparse)
8+
import photutils.background
9+
import photutils.centroids
10+
import photutils.detection
11+
import photutils.geometry
12+
import photutils.isophote
13+
import photutils.morphology
14+
import photutils.profiles
15+
import photutils.psf
16+
import photutils.psf.matching
17+
import photutils.segmentation
18+
19+
# Modules that fail: they import astropy.nddata which imports scipy.sparse
20+
# scipy.sparse triggers broken scipy._lib._ccallback_c.cpython-313-wasm32-emscripten.so
21+
# Error: bad export type for 'timing_': undefined
22+
#
23+
# import photutils.aperture # Uses astropy.nddata via aperture.core
24+
# import photutils.datasets # Uses astropy.nddata
25+
# import photutils.utils # Uses astropy.nddata via utils.cutouts

0 commit comments

Comments
 (0)