quarto-dev / quarto-dev/quarto-cli
Support more `IPython.display` output (like JSON)
Open
Nobody has claimed this yet.
engines-jupyter
enhancement
- Dominant language
- JavaScript
- Stars
- 6k
- Forks
- 458
- Avg merge
- 1d 9h
- Merged PRs (30d)
- 41
Description
Bug description
No response
Steps to reproduce
---
engine: jupyter
---
```{python}
from IPython.display import Markdown, display, JSON
display(JSON({
"first_name": "John",
"last_name": "Smith",
"is_alive": True,
"age": 27,
"address": {
"street_address": "21 2nd Street",
"city": "New York",
"state": "NY",
"postal_code": "10021-3100"
},
"phone_numbers": [
{
"type": "home",
"number": "212 555-1234"
},
{
"type": "office",
"number": "646 555-4567"
}
],
"children": [
"Catherine",
"Thomas",
"Trevor"
],
"spouse": None
}, expanded = False))
```
Expected behavior
JSON() should result in an interactive JSON widget
Actual behavior
Prints:
<IPython.core.display.JSON object>
Your environment
No response
Quarto check output
Quarto 1.4.554
[✓] Checking versions of quarto binary dependencies...
Pandoc version 3.1.11: OK
Dart Sass version 1.69.5: OK
Deno version 1.37.2: OK
[✓] Checking versions of quarto dependencies......OK
[✓] Checking Quarto installation......OK
Version: 1.4.554
Path: /Users/milton.m/Applications/quarto/bin
[✓] Checking tools....................OK
TinyTeX: v2023.09
Chromium: (not installed)
[✓] Checking LaTeX....................OK
Using: TinyTex
Path: /Users/milton.m/Library/TinyTeX/bin/universal-darwin
Version: 2023
[✓] Checking basic markdown render....OK
[✓] Checking Python 3 installation....OK
Version: 3.9.16 (Conda)
Path: /opt/anaconda3/bin/python
Jupyter: 4.11.1
Kernels: bash, python3
[✓] Checking Jupyter engine render....OK
[✓] Checking R installation...........OK
Version: 4.4.1
Path: /opt/homebrew/Cellar/r/4.4.1/lib/R
LibPaths:
- /opt/homebrew/lib/R/4.4/site-library
- /opt/homebrew/Cellar/r/4.4.1/lib/R/library
knitr: 1.48
rmarkdown: 2.28
[✓] Checking Knitr engine render......OK
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start by running the provided Quarto Jupyter reproduction and tracing how IPython.display.JSON output is handled. Identify the existing output path that prints the object representation; done means JSON() produces the expected interactive JSON widget rather than printed text.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- javascript, jupyter, python
- Domain
- cli, tooling, web-dev
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 38/100