AnswerDotAI / AnswerDotAI/nbdev

Dataframe HTML tags showing up in exported README

Open
#1,155 5 comments 0 reactions 0 assignees View on GitHub
bug
Dominant language
Jupyter Notebook
Stars
5.3k
Forks
513
Avg merge
2d 30m
Merged PRs (30d)
8

Description

Related to https://github.com/fastai/nbdev/issues/474

Rendered readme on Github: https://github.com/rxavier/poniard/blob/experiment/nbdev/README.md
index.ipynb: https://github.com/rxavier/poniard/blob/experiment/nbdev/nbs/index.ipynb

Basically, "raw output" dataframes (for example, when a method simply returns a dataframe, like `get_results` in this example) get this added before the actual table in markdown:

```
.dataframe tbody tr th:only-of-type { vertical-align: middle; }
.dataframe tbody tr th {
vertical-align: top;
}

.dataframe thead th {
text-align: right;
}

```

Meanwhile, dataframes rendered with `display(HTML(df.to_html()))` (which shows after `setup` in this example) display fine.

Quarto HTML docs render any of these fine.

Edit: I implemented an ugly temporary fix by using directives and ipython's `display`:

```python
#| output: false

obj.method_that_outputs_a_df()
```

```python
#| echo: false

from ipython import display, HTML

df = obj.method_that_outputs_a_df()
display(HTML(df.to_html()))
```

Contributor guide

Open the contributing guide

Research direction

Start with nbs/index.ipynb and the exported README linked in the issue, then reproduce a raw dataframe return such as get_results and compare it with display(HTML(df.to_html())). The fix is complete when exported README markdown renders the dataframe without the unwanted style tags, while the table remains visible.

Written by the indexing model from the issue text.

Assessment

Tech stack
jupyter-notebook, python
Domain
documentation
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.