Skip to content

Commit a1c1156

Browse files
authored
Merge pull request #3154 from esdc-esac-esa-int/ESA_isla-create-astroquery
ESA Integral Science Legacy Archive Astroquery module
2 parents 40872f7 + f181ac8 commit a1c1156

23 files changed

+3067
-7
lines changed

.github/workflows/ci_tests.yml

Lines changed: 9 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -42,18 +42,25 @@ jobs:
4242
toxenv: py39-test-oldestdeps-alldeps
4343
toxargs: -v
4444

45-
- name: Python 3.10 with all optional dependencies (MacOS X)
45+
- name: OSX, py310, all optional dependencies
4646
os: macos-latest
4747
python: "3.10"
4848
toxenv: py310-test-alldeps
4949
toxargs: -v
5050

51-
- name: Python 3.11 with mandatory dependencies (Windows)
51+
- name: Windows, py311, mandatory dependencies only
5252
os: windows-latest
5353
python: "3.11"
5454
toxenv: py311-test
5555
toxargs: -v
5656

57+
- name: Linux ARM, py312, all optional dependencies
58+
os: ubuntu-24.04-arm
59+
python: "3.12"
60+
toxenv: py312-test-alldeps
61+
toxargs: -v
62+
63+
5764
steps:
5865
- name: Checkout code
5966
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2

CHANGES.rst

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,9 @@
33

44
New Tools and Services
55
----------------------
6-
6+
esa.integral
7+
^^^^^^^^^^^^
8+
- New module to access the ESA Integral Science Legacy Archive. [#3154]
79

810
Service fixes and enhancements
911
------------------------------

astroquery/esa/integral/__init__.py

Lines changed: 60 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,60 @@
1+
"""
2+
=========
3+
ISLA Init
4+
=========
5+
6+
European Space Astronomy Centre (ESAC)
7+
European Space Agency (ESA)
8+
9+
"""
10+
11+
from astropy import config as _config
12+
13+
ISLA_DOMAIN = 'https://isla.esac.esa.int/tap/'
14+
ISLA_TAP_URL = ISLA_DOMAIN + 'tap'
15+
16+
17+
class Conf(_config.ConfigNamespace):
18+
"""
19+
Configuration parameters for `astroquery.esa.integral`.
20+
"""
21+
ISLA_TAP_SERVER = _config.ConfigItem(ISLA_TAP_URL, "ISLA TAP Server")
22+
ISLA_DATA_SERVER = _config.ConfigItem(ISLA_DOMAIN + 'data?', "ISLA Data Server")
23+
ISLA_LOGIN_SERVER = _config.ConfigItem(ISLA_DOMAIN + 'login', "ISLA Login Server")
24+
ISLA_LOGOUT_SERVER = _config.ConfigItem(ISLA_DOMAIN + 'logout', "ISLA Logout Server")
25+
ISLA_SERVLET = _config.ConfigItem(ISLA_TAP_URL + "/sync/?PHASE=RUN",
26+
"ISLA Sync Request")
27+
ISLA_TARGET_RESOLVER = _config.ConfigItem(ISLA_DOMAIN + "servlet/target-resolver?TARGET_NAME={}"
28+
"&RESOLVER_TYPE={}&FORMAT=json",
29+
"ISLA Target Resolver Request")
30+
31+
ISLA_INSTRUMENT_BAND_QUERY = _config.ConfigItem('select i.name as instrument, b."name" as band, '
32+
'i.instrument_oid, b.band_oid from ila.instrument i join '
33+
'ila.band b using(instrument_oid);',
34+
"ISLA Instrument Band Query")
35+
ISLA_EPOCH_TARGET_QUERY = _config.ConfigItem("select distinct epoch from ila.epoch where source_id = '{}' and "
36+
"(instrument_oid = {} or band_oid = {})",
37+
"ISLA Epoch Query")
38+
ISLA_EPOCH_QUERY = _config.ConfigItem("select distinct epoch from ila.epoch where "
39+
"(instrument_oid = {} or band_oid = {})",
40+
"ISLA Epoch Query")
41+
ISLA_OBSERVATION_BASE_QUERY = _config.ConfigItem("select * from ila.cons_pub_obs",
42+
"ISLA Observation Base Query")
43+
ISLA_TARGET_CONDITION = _config.ConfigItem("select distinct src.name, src.ra, src.dec, src.source_id from "
44+
"ila.v_cat_source src where "
45+
"src.name ilike '%{}%' order by src.name asc",
46+
"ISLA Target Condition")
47+
ISLA_CONE_TARGET_CONDITION = _config.ConfigItem("select distinct src.name, src.ra, src.dec, "
48+
"src.source_id from ila.v_cat_source src where "
49+
"1=CONTAINS(POINT('ICRS',src.ra,src.dec),CIRCLE('ICRS',{},{},{}))",
50+
"ISLA Target Condition")
51+
ISLA_COORDINATE_CONDITION = _config.ConfigItem("1=CONTAINS(POINT('ICRS',ra,dec),CIRCLE('ICRS',{},{},{}))",
52+
"ISLA Coordinate Condition")
53+
TIMEOUT = 60
54+
55+
56+
conf = Conf()
57+
58+
from .core import Integral, IntegralClass
59+
60+
__all__ = ['Integral', 'IntegralClass', 'Conf', 'conf']

0 commit comments

Comments
 (0)