isgri 0.7.1__py3-none-any.whl → 0.7.2__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- isgri/__version__.py +1 -1
- isgri/cli/main.py +24 -5
- isgri/cli/query.py +54 -7
- {isgri-0.7.1.dist-info → isgri-0.7.2.dist-info}/METADATA +1 -1
- {isgri-0.7.1.dist-info → isgri-0.7.2.dist-info}/RECORD +8 -8
- {isgri-0.7.1.dist-info → isgri-0.7.2.dist-info}/WHEEL +0 -0
- {isgri-0.7.1.dist-info → isgri-0.7.2.dist-info}/entry_points.txt +0 -0
- {isgri-0.7.1.dist-info → isgri-0.7.2.dist-info}/licenses/LICENSE +0 -0
isgri/__version__.py
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
__version__ = "0.7.
|
|
1
|
+
__version__ = "0.7.2"
|
isgri/cli/main.py
CHANGED
|
@@ -30,7 +30,10 @@ def main():
|
|
|
30
30
|
)
|
|
31
31
|
@click.option("--list-swids", is_flag=True, help="Only output SWID list")
|
|
32
32
|
@click.option("--count", is_flag=True, help="Only show count")
|
|
33
|
-
|
|
33
|
+
@click.option("--columns", help="Comma-separated list of columns to save (e.g., SWID,TSTART,TSTOP)")
|
|
34
|
+
def query(
|
|
35
|
+
catalog, tstart, tstop, ra, dec, radius, fov, max_chi, chi_type, revolution, output, list_swids, count, columns
|
|
36
|
+
):
|
|
34
37
|
"""
|
|
35
38
|
Query INTEGRAL science window catalog.
|
|
36
39
|
|
|
@@ -59,6 +62,10 @@ def query(catalog, tstart, tstop, ra, dec, radius, fov, max_chi, chi_type, revol
|
|
|
59
62
|
|
|
60
63
|
isgri query --tstart 3000 --tstop 3100 --output results.fits
|
|
61
64
|
|
|
65
|
+
Save specific columns:
|
|
66
|
+
|
|
67
|
+
isgri query --tstart 3000 --tstop 3100 --output results.fits --columns SWID,TSTART,TSTOP,CHI
|
|
68
|
+
|
|
62
69
|
Get only SWID list:
|
|
63
70
|
|
|
64
71
|
isgri query --tstart 3000 --tstop 3100 --list-swids
|
|
@@ -70,14 +77,26 @@ def query(catalog, tstart, tstop, ra, dec, radius, fov, max_chi, chi_type, revol
|
|
|
70
77
|
if catalog is None:
|
|
71
78
|
cfg = Config()
|
|
72
79
|
catalog = cfg.catalog_path
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
click.echo("Error: No catalog configured", err=True)
|
|
80
|
+
if catalog is None:
|
|
81
|
+
click.echo("Error: No catalog path configured", err=True)
|
|
76
82
|
raise click.Abort()
|
|
77
83
|
|
|
78
84
|
if any(param is not None for param in [tstart, tstop, ra, dec, radius, max_chi, revolution]):
|
|
79
85
|
query_direct(
|
|
80
|
-
catalog,
|
|
86
|
+
catalog,
|
|
87
|
+
tstart,
|
|
88
|
+
tstop,
|
|
89
|
+
ra,
|
|
90
|
+
dec,
|
|
91
|
+
radius,
|
|
92
|
+
fov,
|
|
93
|
+
max_chi,
|
|
94
|
+
chi_type,
|
|
95
|
+
revolution,
|
|
96
|
+
output,
|
|
97
|
+
list_swids,
|
|
98
|
+
count,
|
|
99
|
+
columns,
|
|
81
100
|
)
|
|
82
101
|
else:
|
|
83
102
|
query_interactive(catalog)
|
isgri/cli/query.py
CHANGED
|
@@ -55,10 +55,10 @@ def match_command(user_input):
|
|
|
55
55
|
commands = {
|
|
56
56
|
"time": ["time", "t"],
|
|
57
57
|
"pos": ["pos", "position", "p"],
|
|
58
|
-
"quality": ["quality", "qual"
|
|
59
|
-
"revolution": ["revolution", "rev"
|
|
58
|
+
"quality": ["quality", "qual"],
|
|
59
|
+
"revolution": ["revolution", "rev"],
|
|
60
60
|
"show": ["show", "s", "display"],
|
|
61
|
-
"reset": ["reset", "clear"],
|
|
61
|
+
"reset": ["reset", "clear", "r"],
|
|
62
62
|
"save": ["save", "write"],
|
|
63
63
|
"help": ["help", "h", "?"],
|
|
64
64
|
"exit": ["exit", "quit", "q"],
|
|
@@ -77,7 +77,20 @@ def match_command(user_input):
|
|
|
77
77
|
|
|
78
78
|
|
|
79
79
|
def query_direct(
|
|
80
|
-
catalog_path,
|
|
80
|
+
catalog_path,
|
|
81
|
+
tstart,
|
|
82
|
+
tstop,
|
|
83
|
+
ra,
|
|
84
|
+
dec,
|
|
85
|
+
radius,
|
|
86
|
+
fov,
|
|
87
|
+
max_chi,
|
|
88
|
+
chi_type,
|
|
89
|
+
revolution,
|
|
90
|
+
output,
|
|
91
|
+
list_swids,
|
|
92
|
+
count,
|
|
93
|
+
columns,
|
|
81
94
|
):
|
|
82
95
|
try:
|
|
83
96
|
q = ScwQuery(catalog_path)
|
|
@@ -108,7 +121,17 @@ def query_direct(
|
|
|
108
121
|
click.echo(q.count())
|
|
109
122
|
|
|
110
123
|
elif output:
|
|
111
|
-
|
|
124
|
+
col_list = None
|
|
125
|
+
if columns and not list_swids:
|
|
126
|
+
col_list = [c.strip() for c in columns.split(",")]
|
|
127
|
+
available = q.catalog.colnames
|
|
128
|
+
invalid = [c for c in col_list if c not in available]
|
|
129
|
+
if invalid:
|
|
130
|
+
click.echo(f"Error: Invalid columns: {invalid}", err=True)
|
|
131
|
+
click.echo(f"Available: {', '.join(available)}", err=True)
|
|
132
|
+
raise click.Abort()
|
|
133
|
+
|
|
134
|
+
q.write(output, overwrite=True, swid_only=list_swids, columns=col_list)
|
|
112
135
|
click.echo(f"Saved {q.count()} SCWs to {output}")
|
|
113
136
|
|
|
114
137
|
else:
|
|
@@ -196,9 +219,33 @@ def query_interactive(catalog_path):
|
|
|
196
219
|
click.echo(f"→ {len(q.catalog)} SCWs")
|
|
197
220
|
elif cmd == "save":
|
|
198
221
|
swid_only = click.confirm("Save only SWID list?", default=False)
|
|
222
|
+
|
|
223
|
+
col_list = None
|
|
224
|
+
if not swid_only:
|
|
225
|
+
if click.confirm("Select specific columns?", default=False):
|
|
226
|
+
click.echo("\nAvailable columns:")
|
|
227
|
+
available = q.catalog.colnames
|
|
228
|
+
for i, col in enumerate(available, 1):
|
|
229
|
+
click.echo(f" {i:2d}. {col}")
|
|
230
|
+
|
|
231
|
+
click.echo("\nEnter column names (comma-separated) or leave empty for all:")
|
|
232
|
+
col_input = click.prompt("Columns", default="", show_default=False)
|
|
233
|
+
|
|
234
|
+
if col_input:
|
|
235
|
+
col_list = [c.strip() for c in col_input.split(",")]
|
|
236
|
+
invalid = [c for c in col_list if c not in available]
|
|
237
|
+
if invalid:
|
|
238
|
+
click.echo(f"Warning: Invalid columns ignored: {invalid}")
|
|
239
|
+
col_list = [c for c in col_list if c in available]
|
|
240
|
+
|
|
241
|
+
if not col_list:
|
|
242
|
+
click.echo("No valid columns selected, using all")
|
|
243
|
+
col_list = None
|
|
244
|
+
|
|
199
245
|
path = click.prompt("File")
|
|
200
|
-
q.write(path, overwrite=True, swid_only=swid_only)
|
|
201
|
-
click.echo(f"
|
|
246
|
+
q.write(path, overwrite=True, swid_only=swid_only, columns=col_list)
|
|
247
|
+
click.echo(f"Saved {q.count()} SCWs to {path}")
|
|
248
|
+
|
|
202
249
|
elif cmd is None:
|
|
203
250
|
click.echo(f"Unknown command: {user_input}. Type 'help' for available commands.")
|
|
204
251
|
else:
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
isgri/__init__.py,sha256=V2hnOxXKcjMiusdGP8sOAR4QsBlWHQ0pZZMN2Cean6o,38
|
|
2
|
-
isgri/__version__.py,sha256=
|
|
2
|
+
isgri/__version__.py,sha256=ISWV9_SJtaCeILz1FAMYHSjVkHbV08KnnT23Ww0_w-o,21
|
|
3
3
|
isgri/config.py,sha256=8hziHnQN_dnS3FkOtrPUUV1QLJ9HmGiPzDuAiq3GoXc,5044
|
|
4
4
|
isgri/catalog/__init__.py,sha256=IGfzGcGx1F1zplj7YIUuzE5Cvvxg7XJi0zu0aBXI0-A,113
|
|
5
5
|
isgri/catalog/builder.py,sha256=J1Z_p699hoQtiQjYw5-jvf0aSIIOcpe8djbCjh-NOng,15779
|
|
@@ -7,16 +7,16 @@ isgri/catalog/scwquery.py,sha256=v7nR6-6PmYaBunFeGtmDWPqDkUBUvwjv2jtM1RbGQx4,203
|
|
|
7
7
|
isgri/catalog/wcs.py,sha256=mD6bZxiBxKYpuYCl8f2tSCc8uuWFzMRL2jf5SuFAhfg,5562
|
|
8
8
|
isgri/cli/__init__.py,sha256=SCIcTdOvfEkrZd1doOtOnvCj8PmdRuXu18YYJQxfFrs,24
|
|
9
9
|
isgri/cli/builder.py,sha256=dCp9ECl9MoThTRXAkXXazafHYSMQF0FLHKDzlWwT7vE,3494
|
|
10
|
-
isgri/cli/main.py,sha256=
|
|
11
|
-
isgri/cli/query.py,sha256=
|
|
10
|
+
isgri/cli/main.py,sha256=gOK8UDOviwb_o4YqhnZY_zsytNxNe7NZNWD7yu1rSrM,6883
|
|
11
|
+
isgri/cli/query.py,sha256=o2AV8pwLNgRL2goAppVT0z_gZApLy5_5CjtzA4iqYs8,9830
|
|
12
12
|
isgri/utils/__init__.py,sha256=H83Al7urc6LNW5KUzUBRdtRBUTahiZmkehKFiK90RrU,183
|
|
13
13
|
isgri/utils/file_loaders.py,sha256=E4-0QA6r1QAX1gV1Dd5qhKPDXZIdSEk7AWdOQrovHGo,17423
|
|
14
14
|
isgri/utils/lightcurve.py,sha256=v_JNLzf1SBvFLzrU7ZXpSj44eRKaZChiO4gvS2_O35Y,17408
|
|
15
15
|
isgri/utils/pif.py,sha256=sAtzQhe3spLS41UkP1yZsqGPxe3IHLmIGA_d3bVg2v4,9121
|
|
16
16
|
isgri/utils/quality.py,sha256=7CbYaNstoX60AYz2_ym-xjMkiDLpkYgQfaTStYuQZtk,13409
|
|
17
17
|
isgri/utils/time_conversion.py,sha256=MNPVjrsrmwRDbCWmqdWN0xRs8PtHkFGli-H2cYwF9Ns,5204
|
|
18
|
-
isgri-0.7.
|
|
19
|
-
isgri-0.7.
|
|
20
|
-
isgri-0.7.
|
|
21
|
-
isgri-0.7.
|
|
22
|
-
isgri-0.7.
|
|
18
|
+
isgri-0.7.2.dist-info/METADATA,sha256=Z3bs7SF2VmrGBMBjBSZGcLorkqRj4ild1NFDOpY6B1c,6499
|
|
19
|
+
isgri-0.7.2.dist-info/WHEEL,sha256=qtCwoSJWgHk21S1Kb4ihdzI2rlJ1ZKaIurTj_ngOhyQ,87
|
|
20
|
+
isgri-0.7.2.dist-info/entry_points.txt,sha256=aM2K4RGihbwsj9crjPG-BvWhErcdtZt3tJqT6AaOojU,46
|
|
21
|
+
isgri-0.7.2.dist-info/licenses/LICENSE,sha256=Q8oxmHR1cSnEXSHCjY3qeXMtupZI_1ZQZ1MBt4oeANE,1102
|
|
22
|
+
isgri-0.7.2.dist-info/RECORD,,
|
|
File without changes
|
|
File without changes
|
|
File without changes
|