-
-
Save jbwhit/eecdd1cac2756df85ad165f437445b0b to your computer and use it in GitHub Desktop.
Thank you for the comment! I'm thinking of revisiting this and seeing if I can make a PR to the extension itself. I'll add your change.
Hi!
Nice Guide!
in this Guide you just use the formater right?
Do you know how to get the ruff linter to work in jupyterlab?
I had to add the import "from typing import List" to the config file snippet. @jbwhit
Thanksk @nicornk -- I've added that to my snippet!
❤️
I am very happy with your config that can also reflect ruff configs written in pyproject.toml
such as:
[tool.ruff.format]
quote-style = "single"
If you guys also want it to run check
before format
, then use this:
@handle_line_ending_and_magic
def format_code(
self, code: str, notebook: bool, args: List[str] = [], **options
) -> str:
# Lint
linting = subprocess.run(
[self.ruff_bin, "check", "--fix", "--exit-zero", "-"],
input=code,
stdout=subprocess.PIPE,
stderr=subprocess.PIPE,
universal_newlines=True,
encoding="utf-8",
)
# Format
linted_code = linting.stdout
process = subprocess.run(
[self.ruff_bin, "format", "-"],
input=linted_code,
stdout=subprocess.PIPE,
stderr=subprocess.PIPE,
universal_newlines=True,
encoding="utf-8",
)
if process.stderr:
logger.info(process.stderr)
return code
else:
return process.stdout
I followed steps from YT vid, still could not get
Formatter_icon
work w/ruff_format
in activeJupyter notebook
. I have installed python 3.10<= usingvenv
. I likedkeyboard shortcut
which also doesn't work ss attached below. Any help appreciated. Discord: JordanTheDodger
Update: I finally figured out the error. I am elated to capture my first error with new kid on the block RUFFFFF :100 Kudos @jbwhit
I followed steps from YT vid, still could not get
Formatter_icon
work w/ruff_format
in activeJupyter notebook
. I have installed python 3.10<= usingvenv
. I likedkeyboard shortcut
which also doesn't work ss attached below. Any help appreciated. Discord: JordanTheDodgerUpdate: I finally figured out the error. I am elated to capture my first error with new kid on the block RUFFFFF :100 Kudos @jbwhit
Was the error on from this document or something on your side?
Thank you very much for the great guide! A problem for me was that cells containing non-ascii unicode characters were not formatted. I could fix this by adding
encoding="utf-8"
in thesubprocess.run()
call.