Introduction to jupyterlab-pygments
jupyterlab-pygments is a powerful extension for JupyterLab that allows for advanced syntax highlighting using the Pygments library. This guide provides an overview of its features and offers dozens of useful API examples to help you get started.
Getting Started
To install jupyterlab-pygments, simply run:
pip install jupyterlab-pygments
Then, enable the extension using:
jupyter labextension install @jupyterlab/pygments-extension
API Reference and Examples
Basic Usage
To use jupyterlab-pygments, you can specify the lexer and formatter. Here is a basic example:
from pygments import highlight from pygments.lexers import PythonLexer from pygments.formatters import HtmlFormatter code = 'print("Hello, JupyterLab!")' lexer = PythonLexer() formatter = HtmlFormatter() highlighted_code = highlight(code, lexer, formatter) print(highlighted_code)
Custom Styles
You can customize the styles to match your preferences. Here’s an example:
from pygments import highlight from pygments.lexers import PythonLexer from pygments.formatters import HtmlFormatter code = '# Sample Python code\nimport math\nprint(math.sqrt(16))' sty = 'monokai' lexer = PythonLexer() formatter = HtmlFormatter(style=sty) highlighted_code = highlight(code, lexer, formatter) print(highlighted_code)
Embedding in Jupyter Notebooks
It’s straightforward to embed syntax-highlighted code in Jupyter notebooks:
from IPython.core.display import HTML from pygments import highlight from pygments.lexers import PythonLexer from pygments.formatters import HtmlFormatter code = 'def hello():\n return "Hello, world!"' lexer = PythonLexer() formatter = HtmlFormatter() highlighted_code = highlight(code, lexer, formatter) display(HTML(highlighted_code))
Application Example
Below is a full example application that includes jupyterlab-pygments functionalities:
from pygments import highlight from pygments.lexers import get_lexer_by_name from pygments.formatters import HtmlFormatter from IPython.core.display import display, HTML # Define a function to apply syntax highlighting to a code snippet def highlight_code(code, lexer_name='python', style='default'): lexer = get_lexer_by_name(lexer_name) formatter = HtmlFormatter(style=style) highlighted_code = highlight(code, lexer, formatter) return highlighted_code # Sample code to highlight sample_code = ''' def factorial(n): if n == 0: return 1 else: return n * factorial(n-1) print(factorial(5)) ''' # Apply highlighting highlighted = highlight_code(sample_code, lexer_name='python', style='monokai') # Display the highlighted code in a Jupyter Notebook display(HTML(highlighted))
With these examples, you can see the versatility of jupyterlab-pygments and how you can leverage it to enhance code readability and presentation in your JupyterLab environment.
Conclusion: jupyterlab-pygments is an indispensable tool for anyone looking to improve their coding experience in JupyterLab. Whether you are a data scientist, educator, or developer, understanding and utilizing this extension can significantly boost productivity and code comprehension.
Hash: c2c1e918b93807994599298b5cafcb1fff0762bcb3ba2e1ed331c8f66e0a26f2