Skip to content

nbqa-pylint cell number does not include markdown cells #860

@rabyj

Description

@rabyj

Issue

When getting warnings from nbqa-pylint, e.g. notebook.ipynb:cell_XX:Y:Z: C0206: Consider iterating with .items() (consider-using-dict-items), the cell number does not refer to the same number as in vscode. cell_XX does not count markdown cells, rendering the message confusing (and way less useful in large notebooks with lots of markdown)

Joining an example notebook as exported script, since github won't allow me to joint it directly.

I run pre-commit run nbqa-pylint on the staged notebook to generate warnings.

System information

OS: Ubuntu 20.04.6 LTS
vscode: 1.92.1
ms-toolsai.jupyter: 2024.7.0
nbqa: 1.8.7
pylint: 2.16.4
pre-commit: 3.0.4

Notebook exported as Python script

# %%
"""Demonstrating a nbqa-pylint issue."""

# %%
a_dict = {"test":1}

# %%
# forced C0206: vscode cell: 3, nbqa-pylint cell: 3
for key in a_dict:
    b = a_dict[key]

# %% [markdown]
# markdown cell: miaw

# %% [markdown]
# markdown cell 2: miaw two, electric boogaloo

# %%
# forced C0206: vscode cell: 6, nbqa-pylint cell: 4
for key in a_dict:
    b = a_dict[key]

# %%
# forced C0206: vscode cell: 7, nbqa-pylint cell: 5
for key in a_dict:
    b = a_dict[key]

Side question I couldn't find an answer to: Is there a way to force nbqa-pylint to show the context of the error and/or cell content, instead of just showing the warning with cell number? I can file it somewhere else (where?) if this is inappropriate.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions