Skip to main content

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.

TAP ADQL sandbox application window

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.6 or later (should work with 3.6, but the oldest tested version is actually 3.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 is 1.26.4

Resources

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)

Source distribution for tap-adql-sandbox 0.8.2
File Size Uploaded
tap_adql_sandbox-0.8.2.tar.gz 183.7 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for tap-adql-sandbox 0.8.2
File Interpreter ABI Platform
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

Release history Release notifications | RSS feed

This release

0.8.2 This release

2 release files

0.8.1

2 release files

0.8.0

2 release files

0.7.2

2 release files

0.7.1

2 release files

0.7.0

2 release files

0.6.0

2 release files

0.5.1

2 release files

0.4.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page