-
-
Notifications
You must be signed in to change notification settings - Fork 525
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
fix(vega): allow data item to miss optional field #2853
Merged
Merged
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
The current implementation assume that all items in the dataset has the exact same fields. The list of keys are extracted from the first item in the dataset only and will crash if * the first item does not include all field names * some following items miss certain field
philippjfr
reviewed
Oct 25, 2021
Thanks for the fix! |
Codecov Report
@@ Coverage Diff @@
## master #2853 +/- ##
=======================================
Coverage 83.05% 83.05%
=======================================
Files 188 188
Lines 24454 24455 +1
=======================================
+ Hits 20311 20312 +1
Misses 4143 4143
Continue to review full report at Codecov.
|
philippjfr
added a commit
that referenced
this pull request
Nov 4, 2021
* fix(vega): allow data item to miss optional field The current implementation assume that all items in the dataset has the exact same fields. The list of keys are extracted from the first item in the dataset only and will crash if * the first item does not include all field names * some following items miss certain field * Update panel/pane/vega.py * fix: typo meant `k` not `v` Co-authored-by: Philipp Rudiger <prudiger@anaconda.com>
Merged
philippjfr
added a commit
that referenced
this pull request
Nov 23, 2021
* Resolve issues with inline resources on save (#2794) * Fix saving using inline resources * Add tests * docs: Fix default values of panels.io.server.serve() (#2799) * Ensure ipywidget rendering is compatible with ipykernel>6 and bokeh>2.4 (#2798) * Bump django from 3.1.12 to 3.1.13 in /examples/apps/django_multi_apps (#2773) Bumps [django](https://github.com/django/django) from 3.1.12 to 3.1.13. - [Release notes](https://github.com/django/django/releases) - [Commits](django/django@3.1.12...3.1.13) --- updated-dependencies: - dependency-name: django dependency-type: direct:production ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * Tabulator: allow to set a maximum number of selectable rows (#2791) * allow to set the maximum number of rows selectable * update docs * clarify docs about pagination * Fixed bug where tables with remote pagination would modify the wrong (#2801) rows if not yet sorted. * Compatibility for latest Param (#2809) * Ensure non-exported requirejs modules do not error (#2808) * Ensure non-exported requirejs modules do not error * Improve requirejs exports * Fix Ace requirejs definition * Fix Perspective requirejs definition * Fix xtermjs requirejs definition * Support async load for VTK * Remove print * Ensure Tabulator checkbox selection only happens in checkbox column (#2812) * Vtkvolume correction of dimensions order (#2818) * vtkvolume correction of dimensions order * add end line Co-authored-by: ARTUSI <xavier.artusi@cea.fr> * Add light to list of button types (#2814) * add light to list of button types (#2816) * light to list of button * update button on py file Co-authored-by: prashantkumarshee@gmail.com <prashantkumarpd@gmail.com> Co-authored-by: Philipp Rudiger <prudiger@anaconda.com> * Make OAuth cookie expiry configurable (#2724) * Add compatibility for Param precedence backward compatibility fix * Run onload callbacks with --warm option (#2844) * Improve Plotly responsive sizing behavior (#2838) * Improve Plotly responsive sizing behavior * Cleanup * Added FastApi in the user guide for embedding apps (#2870) * fix(vega): allow data item to miss optional field (#2853) * fix(vega): allow data item to miss optional field The current implementation assume that all items in the dataset has the exact same fields. The list of keys are extracted from the first item in the dataset only and will crash if * the first item does not include all field names * some following items miss certain field * Update panel/pane/vega.py * fix: typo meant `k` not `v` Co-authored-by: Philipp Rudiger <prudiger@anaconda.com> * Update docs about pn.serve per user state (#2849) * Improve documentation about pn.serve * Update overview * allow to set AutoCompleteInput in a Param pane (#2874) * Improve Terminal keystroke and size handling (#2878) * Improve Terminal keystroke and size handling * Cleanup * Fixed UTF-8 decoding in Terminal widget (#2880) * Update Tabulator styles on scroll (#2881) * Update pydata template for compatibility (#2884) * successfully exit after pyct command is executed (#2883) * Update jQuery to remediate CVEs (#2885) * Do not sync Indicator properties from frontend (#2886) * Fix roundtrip of datetimes on ReactiveData objects (#2888) * Fix roundtrip of datetimes on ReactiveData objects * Fix flakes * Fix handling of Plotly pane in Tabs (#2890) * Fix handling of Plotly pane in Tabs * Fix flake * Fix logic * Add comment * Update plotly test * Adds escape parameter to DataFrame pane to enable using html markup (#2893) * add escape parameter to DataFrame * add test Co-authored-by: Marc Skov Madsen <masma@orsted.dk> * Allow to update the completions options from a parameter (#2895) * allow updating completion options of a param obj * reset value to '' of AutocompleteInput when not in the options * Add tests * fix #2896: Colorbar background for dark theme (#2897) Co-authored-by: Marc Skov Madsen <masma@orsted.dk> * Fix issues when streaming or patching ReactiveData (#2900) * Fix issues when streaming or patching ReactiveData * Efficient stream updates * Cleanup * Ensure stream and patch events do not boomerang (#2902) * Tabs cache dynamic contents (#2909) * Bump panel.js version * Cache rendered output in Tabs * Fix flake * Allow setting a maximum height for the loading indicator (#2910) * Fixes for Card rendering in MaterialTemplate (#2911) * Further fixes for Card header alignments (#2912) * Fix material card css * Ensure HoloViews matplotlib output uses tight layout (#2920) * Ensure loading of MathJax bundle is optional (#2919) * Ensure loading of MathJax bundle is optional * Fix flake * Fix autoload_js * Update changelog * Fix tabulator * Allow url decoding single quoted strings (#2925) * Update changelog * Fix Tabulator checkbox selection (#2931) * Fix Vega pane sizing issues (#2933) * Ensure toggled Accordion only triggers one event on change of active Card (#2934) * Fix target transform on LiteralInput (#2935) * Update CHANGELOG * Bump panel.js version * Log output * Pin sphinx * Bump python version * Fix for docs ipywidget rendering * Fix issue in detecting script data assignment (#2939) * Ensure Card collapsible icon offset is computed robustly (#2940) * Autoreload should not reload panel modules (#2941) * Ensure curdoc is available to async callbacks (#2942) * Update CHANGELOG * Bump panel.js version * Revert broken optimization in Tabulator streaming implementation (#2944) * Simplify homepage (#2850) * Bump panel.js version * Bump bokeh.js version (#2945) * Update CHANGELOG.md Co-authored-by: pmav99 <pmav99@users.noreply.github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: Maxime Liquet <35924738+maximlt@users.noreply.github.com> Co-authored-by: Samuel Yee <samuelyeewl@gmail.com> Co-authored-by: Xavier Artusi <xavart2011@gmail.com> Co-authored-by: ARTUSI <xavier.artusi@cea.fr> Co-authored-by: Aravindhan <83333185+L8Y@users.noreply.github.com> Co-authored-by: Prashant kumar <90179696+Prashant0kgp@users.noreply.github.com> Co-authored-by: prashantkumarshee@gmail.com <prashantkumarpd@gmail.com> Co-authored-by: Tyler Houssian <tylerhoussian@gmail.com> Co-authored-by: Krist Wongsuphasawat <krist.wongz@gmail.com> Co-authored-by: Jean-Luc Stevens <jlrstevens@gmail.com> Co-authored-by: Marc Skov Madsen <marc.skov.madsen@gmail.com> Co-authored-by: Marc Skov Madsen <masma@orsted.dk>
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This fix the following bug with data passed to
pn.pane.Vega
.Example
Expected behavior
The sample dataset that work in Vega examples works in Panel.
What happen
Panel app will crash with
KeyError
.Why
The list of keys are extracted from the first item in the dataset only. (
["id"]
when it should be["id", "parent"]
),This has to assume that all items in the dataset has the exact same fields, which is not always the case.
Therefore, when iterating through the 2nd and 3rd item, it cannot find
data["parent"]
to append the value to and throwKeyError
.Solution
Iterate through all items and compute the list of unique keys first.