TAP ADQL sandbox
About
A sandbox application for executing ADQL queries via TAP interface of various data sources, such as astronomical databases. Essentially, it's just a GUI for PyVO.
More details in this article.
Demonstration
https://user-images.githubusercontent.com/6904927/154367260-db2dc02c-ee88-4fe2-b500-cae14d51bd08.mp4
Installing
From PyPI
$ pip install tap-adql-sandbox
From sources
$ cd /path/to/repository/
$ pip install ./
or:
$ cd /path/to/repository/
$ python -m build
$ pip install ./dist/tap_adql_sandbox-VERSION-py3-none-any.whl
Running
$ tap-adql-sandbox --help
Platforms
Tested on:
- Mac OS:
- 11.6.4, Intel
- 12.2.1, Apple silicon
- Windows:
- 10
- 11
- GNU/Linux:
- Ubuntu 20.04
Known problems
Application tries to connect to remote hosts on startup and sometimes crashes
Sometimes when you are just launching the application, so you didn't even have a chance to execute any queries, you might notice that it tries to reach various remote hosts on the internet, such as obspm.fr, ietf.org or probably others.
This is because of the Astropy package, which is an indirect dependency through PyVO, which is a direct dependency of this project. Specifically, it's the hosts listed in this file. Looks harmless enough, apparently just updating some astronomical data.
Denying access to these hosts might lead to the application crash, because Astropy doesn't handle such situation properly:
AttributeError: module 'IPython.utils.io' has no attribute 'stdout'
If you get the application crashing even when access to those is allowed, try to update the Astropy (and probably also PyVO) package:
$ pip install astropy -U
I had this problem with Astropy v4.2, and it was gone after updating to Astropy v5.1. Or perhaps the problem isn't really gone, but the new package version just came with updated data, so for now there is no need for updating.
Application crashes when query has too many columns
If your query/request has a lot of columns in SELECT, the results table might not have visible contents, or the application might just crash.
Queries might fail with UnicodeDecodeError
If query results from a TAP service contain non-ASCII symbols, then PyVO will raise an exception. The application won't crash, but you won't get query results either.
3rd-party
Dependencies
- Python
3.6or later (should work with3.6, but the oldest tested version is actually3.7) - Dear PyGui - application window and UI controls
- PyVO - handling TAP ADQL requests
- Astroquery - looking up IDs in Simbad
- pandas - processing results and saving to pickle
- tabulate - printing results to stdout (with
--debug) - transitive (dependencies of dependencies):
- NumPy comes through Astroquery(?), and at the moment it will only work with versions before
2.0.0, the last tested version is1.26.4
- NumPy comes through Astroquery(?), and at the moment it will only work with versions before
Resources
- JetBrains Mono font
- an icon of unknown origin
Metadata
Release files for tap-adql-sandbox 0.8.2
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| tap_adql_sandbox-0.8.2.tar.gz | 183.7 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| tap_adql_sandbox-0.8.2-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 363.2 kB
Release files / tap_adql_sandbox-0.8.2.tar.gz
| Download URL | tap_adql_sandbox-0.8.2.tar.gz |
|---|---|
| Size | 183.7 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
9a0f6f3f2e530584941e82f67665484954ae4480cab74cfc860bbff479ab10bd
|
|
BLAKE2b-256 checksum How to use checksums |
ca8020a7e00939a7d8eb24eb0bae26d4c9597477d6b7c5ebed1bf724642172f8
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.1.0 CPython/3.11.9
|
Release files / tap_adql_sandbox-0.8.2-py3-none-any.whl
| Download URL | tap_adql_sandbox-0.8.2-py3-none-any.whl |
|---|---|
| Size | 179.6 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
8f2384dfa2e5fb4837c618fe91d59d0cb876eadde9d8431ed88ed943e12fe0ba
|
|
BLAKE2b-256 checksum How to use checksums |
e64c738e59777d00d1aa6ab08540ba24a16754464cb270d89544342a6e3f5116
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.1.0 CPython/3.11.9
|