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 CHANGED
@@ -1 +1 @@
1
- __version__ = "0.7.1"
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
- def query(catalog, tstart, tstop, ra, dec, radius, fov, max_chi, chi_type, revolution, output, list_swids, count):
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
- if not catalog:
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, tstart, tstop, ra, dec, radius, fov, max_chi, chi_type, revolution, output, list_swids, count
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", "q"],
59
- "revolution": ["revolution", "rev", "r"],
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, tstart, tstop, ra, dec, radius, fov, max_chi, chi_type, revolution, output, list_swids, count
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
- q.write(output, overwrite=True, swid_only=list_swids)
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" Saved")
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,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: isgri
3
- Version: 0.7.1
3
+ Version: 0.7.2
4
4
  Summary: Python package for INTEGRAL IBIS/ISGRI lightcurve analysis
5
5
  Author: Dominik Patryk Pacholski
6
6
  License: MIT
@@ -1,5 +1,5 @@
1
1
  isgri/__init__.py,sha256=V2hnOxXKcjMiusdGP8sOAR4QsBlWHQ0pZZMN2Cean6o,38
2
- isgri/__version__.py,sha256=tUukPDbH9wVBvn9_DYqm0p_Q7TagQGM_2ZX042hSuUs,21
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=SQxx1NdYQ7WjLINgvtyO4-rPdcVLhXnixU00pDqgVg8,6436
11
- isgri/cli/query.py,sha256=jIAJ8Ghr73OivSIqTjqYE-y-gn9hw4-QpEeH-z6Bny0,8012
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.1.dist-info/METADATA,sha256=1Wi7eyxKCtpzFek7iCRLI_JaQqsiPiEdxRWZiOQeF_o,6499
19
- isgri-0.7.1.dist-info/WHEEL,sha256=qtCwoSJWgHk21S1Kb4ihdzI2rlJ1ZKaIurTj_ngOhyQ,87
20
- isgri-0.7.1.dist-info/entry_points.txt,sha256=aM2K4RGihbwsj9crjPG-BvWhErcdtZt3tJqT6AaOojU,46
21
- isgri-0.7.1.dist-info/licenses/LICENSE,sha256=Q8oxmHR1cSnEXSHCjY3qeXMtupZI_1ZQZ1MBt4oeANE,1102
22
- isgri-0.7.1.dist-info/RECORD,,
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