Add `columns` parameter to `Vizier.get_catalogs()`
- Dominant language
- Python
- Stars
- 791
- Forks
- 451
- Avg merge
- 1d 3h
- Merged PRs (30d)
- 4
Description
This is my first time using `astroquery`, so my apologies if I'm missing something stupid. I'm trying to get all (30) columns from a catalog, but `get_catalogs` only returns 8.
```
In [45]: results = Vizier.get_catalogs('J/ApJ/680/169/'); print(results)
TableList with 1 tables:
'0:J/ApJ/680/169/table1' with 8 column(s) and 77429 row(s)
```
Eventually I found the note in the documentation about using `columns=["**"]`, so now I can do this:
```
In [46]: v = Vizier(columns=["**"], catalog="J/ApJ/680/169/", row_limit=-1)
In [47]: results = v.query_constraints(); print(results)
TableList with 1 tables:
'0:J/ApJ/680/169/table1' with 30 column(s) and 77429 row(s)
```
1) It would be great to have `get_catalogs()` accept the `columns` argument itself to avoid this method, using a `Vizier` class and then `query_constraints` *without* any constraints.
2) This (second) method requires passing the `row_limit` parameter. By default it does not respect the `Vizier.ROW_LIMIT` parameter:
```
In [52]: print(Vizier.ROW_LIMIT)
...: v = Vizier(columns=["**"], catalog="J/ApJ/680/169/")
...: results = v.query_constraints()
...: print(results)
...:
-1
TableList with 1 tables:
'0:J/ApJ/680/169/table1' with 30 column(s) and 50 row(s)
```
Contributor guide
Research direction
Start by locating the Vizier.get_catalogs() and query_constraints() entry points and compare how they handle column selection and row limits. The work is complete when get_catalogs() accepts columns directly and the constraint-free approach respects Vizier.ROW_LIMIT, with coverage for both behaviors.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- python
- Domain
- data
- Issue type
- Feature
- Difficulty
- 3/5
- Estimated time
- 1-2 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100