Git Product home page Git Product logo

tap-adql-sandbox's Issues

Closing About dialog causes segmentation fault

After About dialog is shown, if one clicks on about that..., the About Dear PyGui window will appear, but the original dialog won't be closed properly (though it will disappear from the screen). Exiting the application in this case with result in segmentation fault:

$ tap-adql-sandbox
Segmentation fault: 11

$ echo $?
139

If one opens original About dialog again and closes it using the Close button, then the application exits normally. But anyway, need to add closing call before opening About Dear PyGui window.

Output query results as a table

Queries work now, but results are printed to the console (in --debug mode). Need to add one last missing thing from the major functionality: form query results into an ImGui table.

Find a better application icon

Current application icon is a bit too overloaded (and dark) for such a small picture. Need to find something with simpler imagery and colors. And preferably under an open license.

Don't hide loading indicator until the table is ready

The loading indicator hides as soon as query executes, but if query results has a lot of data, then generating the table from it can take some time, so it's too early to hide the indicator and show results block.
Need to move the hiding the indicator call to after the table is generated.

Segmentation fault when SELECT has a lot of columns

With this query to http://voparis-tap-planeto.obspm.fr/tap:

SELECT *
FROM exoplanet.epn_core
WHERE star_name = 'Kepler-106'

the application crashes with segmentation fault:

$ PYTHONFAULTHANDLER=1 python -m tap_adql_sandbox
Fatal Python error: Segmentation fault

Thread 0x000070000ce9a000 (most recent call first):
<no Python frame>

Current thread 0x000000011245ee00 (most recent call first):
  File "/usr/local/lib/python3.9/site-packages/dearpygui/dearpygui.py", line 102 in start_dearpygui
  File "/Users/vasya/code/python/tap-adql-sandbox/src/tap_adql_sandbox/__main__.py", line 520 in main
  File "/Users/vasya/code/python/tap-adql-sandbox/src/tap_adql_sandbox/__main__.py", line 526 in <module>
  File "/usr/local/Cellar/[email protected]/3.9.9/Frameworks/Python.framework/Versions/3.9/lib/python3.9/runpy.py", line 87 in _run_code
  File "/usr/local/Cellar/[email protected]/3.9.9/Frameworks/Python.framework/Versions/3.9/lib/python3.9/runpy.py", line 197 in _run_module_as_main
Segmentation fault: 11

Corner tap on some Macs touchpad doesn't copy cell contents

Some Mac users (only those on ARM?) set right-click functionality on their touchpad to trigger on single click in one of the corners. In that case the copying cell content action/handler does not trigger.

I tried to reproduce it, but it works fine with corner tap on my Intel-based Mac, so the problem might be specific to ARM-based Macs.

Need to find what event is actually fired and react to that one too, or if it's impossible to catch, then perhaps just make it possible to copy cell content with double clicking - that one for sure should work fine.

Make first enumerating column optional

The first column that artificially enumerates result might be confusing and rather unexpected for a user:

enumerating-column

Make it optional with CLI argument and disabled by default.

Add example queries for getting a list of available fields and some other examples

Users, especially those unfamiliar with SQL, will benefit from having more query examples:

  • it would be useful to have a query for:
    • all available tables
    • all available fields in a given table
  • while we are here, add some more queries examples:
    • systems with more than 5 planet: their names and count of planets
    • all the planets that have known values of mass and radius

Assigning tags to cells can result in duplicates

If results table has more than certain amount of columns and rows, tagging cells might get duplicate tag names, with results in the following exception:

Exception:
Error:     [1000]
Command:   add alias
Item:      0
Label:     Not found
Item Type: Unknown
Message:   Alias already exists

Dear PyGui showcase app

Hey, it looks like you may have an interesting app for the Dear PyGui showcase. If you would like your app to be featured there, could you make a screenshot or GIF so that we can add it there?

Query examples for a couple of services

Add examples for queries to exoplanet.eu and NASA databases. User can choose them from the Help menu, and they will prefill the service and query input fields.

Add more query examples

Need to add more query examples to the default library. For instance, the current NASA example is too complex, and while it is a great example for the particular purpose that it demonstrates, most of the time users would prefer to get something similar to the current exoplanets.eu example - just a simple SELECT query for one parameter and with trivial WHERE clause.

Queries log

Would be nice to have a queries log: what queries were executed and what were results.

Right now all that is printed to stdout (in debug mode), but it might be more convenient to have a separate GUI window for this. It would be enough to just print stuff as plain text there, query results can be nicely formatted with tabulate.

Add an option for tabulate float precision

Tabulate output defaults to g(?) format, which is okay in most cases, but sometimes one might want a higher precision.
Need to add a CLI option for setting desired format for tabulate's floatfmt.

For now it will be used only in debug output, but later it will likely also apply to the query log (#11).

Multiline strings overflow cells/rows vertically

Example query:

http://voparis-tap-planeto.obspm.fr/tap
SELECT table_name, description
FROM tap_schema.tables
WHERE table_type = 'table' 
ORDER BY table_name

In the results the meteor_showers.epn_core description cell is overflown vertically, which also prevents scrolling down below it:

cell-overflown

Looks like an upstream issue. I can reproduce this with Dear PyGui 1.4.0, 1.5.0 and 1.7.1 on Mac OS and Windows.

Queries might fail with UnicodeDecodeError

Some queries, such as this one:

-- https://gea.esac.esa.int/tap-server/tap
SELECT table_name, description
FROM tap_schema.tables
WHERE table_name = 'gaiadr2.dr1_neighbourhood'

might fail with the following error:

UnicodeDecodeError: 'ascii' codec can't decode byte 0xa0 in position 1317: ordinal not in range(128)

This is an bug in PyVO.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.