Python Inline Source 3: Syntax Highlighting Using Type Annotations
The original Python Inline Source by @JuroOravec
The PyPI package and VSCode extension have been migrated to:
This project enables inline syntax highligting of strings in python source files for
multiple languages using type annotations.
Supports html, css, javascript, typescript, sql, graphql,
multiple css extension languages, template languages and many more,
see below for a full list.
Uses typing.Annotated
to annotate the str type with the language used. You can use
typing.get_type_hints
at runtime to determine the language that a string has been annotated with.
Installation
Python package:
pip install sourcetypes3
VS Code plugin:
Install chrx.python-inline-3 from extensions (ctrl + shift + x or cmd + shift + x
on mac).
Example

Usage
Use a type decoration named for language that you are using:
import sourcetypes
my_html_string: sourcetypes.html = """
<h1>Some HTML</h1>
"""
or:
from sourcetypes import html
my_html_string: html = """
<h1>Some HTML</h1>
"""
Supported Languages
markdown (aliased as md)
html
django_html (aliased as django)
django_txt
jinja
jinja_html
css (aliased as style, and styles)
scss
less
sass
stylus
javascript (aliased as js)
jsx (aliased as javascriptreact, and react)
typescript (aliased as ts)
tsx (aliased as typescriptreact)
coffeescript (aliased as coffee)
sql
json
yaml
graphql
xml
python (aliased as py)
cpp (aliased as c, cc, h, hh, and hpp)
golang (aliased as go)
rust (aliased as rs)
scm (aliased as tree_sitter, and trs)
Release Notes
[0.0.9] - 2025-03-28
- add Rust
- add tree-sitter (e.g. scm)
[0.0.8] - 2025-03-27
[0.0.7] - 2025-03-27
[0.0.6] - 2025-03-27
Building
see BUILDING.md
TODO