Skip to main content

A sandbox application for executing ADQL queries via TAP interface

Project description

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

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

tap_adql_sandbox-0.8.1.tar.gz (183.0 kB view details)

Uploaded Source

Built Distribution

tap_adql_sandbox-0.8.1-py3-none-any.whl (178.9 kB view details)

Uploaded Python 3

File details

Details for the file tap_adql_sandbox-0.8.1.tar.gz.

File metadata

  • Download URL: tap_adql_sandbox-0.8.1.tar.gz
  • Upload date:
  • Size: 183.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.1 CPython/3.12.4

File hashes

Hashes for tap_adql_sandbox-0.8.1.tar.gz
Algorithm Hash digest
SHA256 7d8a992674315dcebe08aa3cd16f7436c5a2c84eae7285f5d3c87209d126744b
MD5 f386dcf20b52beca3d7eea1c1f8363d7
BLAKE2b-256 3b77791c479e5c359708d3f7d8734d6fcbc48441f7a68a7b5b6243dbca709fbe

See more details on using hashes here.

File details

Details for the file tap_adql_sandbox-0.8.1-py3-none-any.whl.

File metadata

File hashes

Hashes for tap_adql_sandbox-0.8.1-py3-none-any.whl
Algorithm Hash digest
SHA256 d623655aa6666fe1a89c538a83b3cc7fadfdfca57bcf57a82b7949db2d5fe247
MD5 286bed661c601dd67d0464d0e64cfd0b
BLAKE2b-256 38c6ac3ac1093117495e63c5ec37bd68f3791c15c0b9862c407388ac1c6c211e

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page