Skip to main content

pyside6-scintilla

CI PyPI Downloads License: MIT Python versions

Permissively-licensed PySide6 bindings for the Scintilla code editor component.

View on PyPI · View on GitHub

Status

See GitHub Issues for what's done and what's next.

Why this exists

The standard way to use Scintilla from Python + Qt is QScintilla (Riverbank Computing) — but it's a PyQt6 binding, with no PySide6 equivalent. Like PyQt6, it's also GPLv3 or commercially licensed.

Scintilla itself is licensed under the Historical Permission Notice and Disclaimer — a permissive license with no copyleft. This project aims to expose that permissive core directly to PySide6 users.

Goals

pyside6-scintilla aims to be:

  • MIT licensed — usable in open-source or closed-source projects freely
  • PySide6 native — built with shiboken6, integrating naturally with PySide6 widgets
  • A faithful, low-level binding of Scintilla's ScintillaEditBase widget — not a reimplementation of QScintilla's higher-level API
  • Available as pre-built wheels for Linux (x86_64, aarch64), Windows (x86_64), and macOS (arm64, x86_64)
  • Not affiliated with Riverbank Computing or the QScintilla project

Installation

Install from PyPI:

pip install pyside6-scintilla

PySide6-Essentials 6.12.x is installed automatically as a dependency; the wheels bundle everything else ScintillaEditBase needs at runtime. Each release is built for, and pinned to, one PySide6 minor (its binding libraries aren't ABI-compatible across minors), so on another PySide6 minor pip picks the release built for it, or refuses the install, rather than installing a wheel that fails to import. Essentials provides the whole PySide6 import namespace — only QtCore, QtGui and QtWidgets are used here, so the ~175 MB of PySide6-Addons (Qt WebEngine, Qt3D, QtCharts …) is left out. Install PySide6 yourself if you want them.

To build from source instead (e.g. for development), see docs/development/build.md for prerequisites (Qt 6.12 with Qt6Core5Compat, a C++17 compiler) and platform-specific setup.

examples/highlighting/lexilla_highlighting/ uses lexilla as a dev dependency, installed from PyPI like any other package.

Usage

from PySide6.QtWidgets import QApplication
from pyside6_scintilla import ScintillaEdit

app = QApplication([])
editor = ScintillaEdit()
editor.setText("hello, world")
editor.show()
app.exec()

ScintillaEdit exposes a typed method per Scintilla message (e.g. setText(), textLength(), gotoLine()) on top of ScintillaEditBase's raw .send()/.sends() message API — the same SCI_* messages as the C interface, not a QScintilla-style high-level API. See examples/simple_scintilla_edit/ for a complete example (line-number margin, "Go to Line", block selection/editing), or examples/simple_scintilla_base_edit/ for the lower-level send/sends API.

Versioning

Version numbers follow <Scintilla version>.<binding revision> — e.g. 5.6.3.0 is binding revision 0 for Scintilla 5.6.3. The binding revision increments for releases of this package that don't correspond to a new Scintilla version (bug fixes, new API surface, CI changes, etc.), and resets to 0 when Scintilla itself releases a new version.

Documentation

Full docs: https://borco.github.io/scintilla-py/. pyside6-scintilla lives in the scintilla-py repo, next to lexilla, under packages/pyside6-scintilla/.

Doc Contents
docs/pyside6-scintilla/alternatives.md How this compares to Monaco-based Qt bindings and other line-numbers + block-edit widgets
docs/pyside6-scintilla/auditing.md How to verify the vendored Scintilla source matches upstream
docs/pyside6-scintilla/bindings.md How the shiboken6 bindings are built, generated files, and the Scintilla-update procedure
docs/development/build.md Build prerequisites, local build/rebuild, wheels, and publishing
docs/development/documenting.md How the docs site is built, and how to add or update a page
docs/specs/ Design specifications and action plans for in-progress and planned work
docs/development/mission.md Project background, goals, and design decisions
docs/development/testpypi.md Setting up TestPyPI trusted publishing
examples/ Standalone example apps, including ones showing lexilla in use
GitHub Issues Planned and in-progress work
Project board Roadmap

Development tools

Development scripts, run with uv run python <path> from the repo root (or via the top-level Makefile):

Script Purpose
generate_scintilla_edit.py Generates the typed ScintillaEdit class from Scintilla.iface (make scintilla-generate)
generate_pyi.py Regenerates the .pyi type stub for _pyside6_scintilla (make scintilla-stubs)
check_docs_sync.py Verifies shared content blocks stay in sync between each package's README and its docs page
clean_window_corners.py One-off cleanup for Windows window screenshots used in docs

License

Metadata

Release files for pyside6-scintilla 5.6.3.11

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for pyside6-scintilla 5.6.3.11
File Size Uploaded Provenance Actions
pyside6_scintilla-5.6.3.11.tar.gz 2.0 MB With provenance Details for pyside6_scintilla-5.6.3.11.tar.gz

Built distributions (wheels)

Table of built distributions (wheels) for pyside6-scintilla 5.6.3.11
File Actions
pyside6_scintilla-5.6.3.11-cp311-abi3-win_amd64.whl CPython 3.11 abi3 Windows x86-64 Details for pyside6_scintilla-5.6.3.11-cp311-abi3-win_amd64.whl
pyside6_scintilla-5.6.3.11-cp311-abi3-manylinux_2_38_aarch64.manylinux_2_39_aarch64.whl CPython 3.11 abi3 Linux glibc 2.39+ ARM64, Linux glibc 2.38+ ARM64 Details for pyside6_scintilla-5.6.3.11-cp311-abi3-manylinux_2_38_aarch64.manylinux_2_39_aarch64.whl
pyside6_scintilla-5.6.3.11-cp311-abi3-manylinux_2_34_x86_64.whl CPython 3.11 abi3 Linux glibc 2.34+ x86-64 Details for pyside6_scintilla-5.6.3.11-cp311-abi3-manylinux_2_34_x86_64.whl
pyside6_scintilla-5.6.3.11-cp311-abi3-macosx_14_0_x86_64.whl CPython 3.11 abi3 macOS 14.0+ x86-64 Details for pyside6_scintilla-5.6.3.11-cp311-abi3-macosx_14_0_x86_64.whl
pyside6_scintilla-5.6.3.11-cp311-abi3-macosx_14_0_arm64.whl CPython 3.11 abi3 macOS 14.0+ ARM64 Details for pyside6_scintilla-5.6.3.11-cp311-abi3-macosx_14_0_arm64.whl

Total release size: 11.4 MB

Release files / pyside6_scintilla-5.6.3.11.tar.gz

Download URL pyside6_scintilla-5.6.3.11.tar.gz
Size 2.0 MB
Tags Source
SHA-256 checksum
How to use checksums
78222e26115198e035163aad9ea73a0fab5e6c1e209f1d64561f987c811e67d3
BLAKE2b-256 checksum
How to use checksums
5cc69358b5a75544449920b7e87062bc166d7e204d8173881764232306d787a3
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Nov 3, 2026.

Transparency log

Release files / pyside6_scintilla-5.6.3.11-cp311-abi3-win_amd64.whl

Download URL pyside6_scintilla-5.6.3.11-cp311-abi3-win_amd64.whl
Size 1.4 MB
Tags CPython 3.11 Windows x86-64 abi3
SHA-256 checksum
How to use checksums
4c9649948f7608c31a40508023dbe4450cc41dfdf54ee9d023c2a51b8ee5d387
BLAKE2b-256 checksum
How to use checksums
a164ff563cf23ac3231a275a0661003ab2ba8a673eaa1725be13b27811338b16
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Nov 3, 2026.

Transparency log

Release files / pyside6_scintilla-5.6.3.11-cp311-abi3-manylinux_2_38_aarch64.manylinux_2_39_aarch64.whl

Download URL pyside6_scintilla-5.6.3.11-cp311-abi3-manylinux_2_38_aarch64.manylinux_2_39_aarch64.whl
Size 1.2 MB
Tags CPython 3.11 Linux glibc 2.38+ ARM64 Linux glibc 2.39+ ARM64 abi3
SHA-256 checksum
How to use checksums
623be13b5628c23ced44149b3b85d95c97341105550e5d87de94e9de1fbc4fb6
BLAKE2b-256 checksum
How to use checksums
de7e649ce8bbaa3ce6299ad6ae76eb86d080de66b7d1b52739a58943a9104e9a
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Nov 3, 2026.

Transparency log

Release files / pyside6_scintilla-5.6.3.11-cp311-abi3-manylinux_2_34_x86_64.whl

Download URL pyside6_scintilla-5.6.3.11-cp311-abi3-manylinux_2_34_x86_64.whl
Size 1.2 MB
Tags CPython 3.11 Linux glibc 2.34+ x86-64 abi3
SHA-256 checksum
How to use checksums
d1d6041b9f426ef29ff3fab8ab0b1bcfa8874058faae6add9e8c8ea7eb968fc7
BLAKE2b-256 checksum
How to use checksums
99ff9cdcdb480088b4c182330a736ae8be524a23804db53c728e64ec5a49cb82
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Nov 3, 2026.

Transparency log

Release files / pyside6_scintilla-5.6.3.11-cp311-abi3-macosx_14_0_x86_64.whl

Download URL pyside6_scintilla-5.6.3.11-cp311-abi3-macosx_14_0_x86_64.whl
Size 2.8 MB
Tags CPython 3.11 abi3 macOS 14.0+ x86-64
SHA-256 checksum
How to use checksums
f43150cefd1daad4af6db8ab3e1c0cd6e2f06006d9d9bb3a20a75361ec9c9416
BLAKE2b-256 checksum
How to use checksums
c4da02a45642fffe199a7305f664f1d28c61681ea5589c50c94ae67db8ce300a
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Nov 3, 2026.

Transparency log

Release files / pyside6_scintilla-5.6.3.11-cp311-abi3-macosx_14_0_arm64.whl

Download URL pyside6_scintilla-5.6.3.11-cp311-abi3-macosx_14_0_arm64.whl
Size 2.8 MB
Tags CPython 3.11 abi3 macOS 14.0+ ARM64
SHA-256 checksum
How to use checksums
15f3300d7117875e4be0ea53d52fb031381906ce28cabb9efa357a501601dd2b
BLAKE2b-256 checksum
How to use checksums
c8fe56e987edec6ad3d60e3613bb63cdf27130ea521a5b100187e71263592a8c
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Nov 3, 2026.

Transparency log

Security for pyside6-scintilla 5.6.3.11

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

Full provenance

All 6 files in this release have been uploaded with provenance metadata.

Select from 6 files

Attestation for pyside6_scintilla-5.6.3.11.tar.gz

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Nov 3, 2026.

Transparency log

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Release history Release notifications | RSS feed

This release

5.6.3.11 This release

6 release files Full provenance

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page