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.10+ is installed automatically as a dependency; the wheels bundle everything else ScintillaEditBase needs at runtime. 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/build.md for prerequisites (Qt 6.10+ 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

Doc Contents
docs/alternatives.md How this compares to Monaco-based Qt bindings and other line-numbers + block-edit widgets
docs/auditing.md How to verify the vendored Scintilla source matches upstream
docs/bindings.md How the shiboken6 bindings are built, generated files, and the Scintilla-update procedure
docs/build.md Build prerequisites, local build/rebuild, wheels, and publishing
docs/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/specs/mission.md Project background, goals, and design decisions
docs/testpypi.md Setting up TestPyPI trusted publishing
examples/ Standalone example apps, including ones showing lexilla-py in use
GitHub Issues Planned and in-progress work
Project board Joint roadmap for pyside6-scintilla and lexilla-py; issues/PRs from both repos are auto-added

Development tools

tools/ holds development scripts, run with uv run python tools/<script>.py:

Script Purpose
generate_pyi.py Regenerates the .pyi type stub for _pyside6_scintilla
check_docs_sync.py Verifies shared content blocks stay in sync between README.md and docs/index.md
clean_window_corners.py One-off cleanup for Windows window screenshots used in docs

License

Release files for pyside6-scintilla 5.6.3.7

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.7
File Size Uploaded
pyside6_scintilla-5.6.3.7.tar.gz 2.3 MB Details

Built distributions (wheels)

Table of built distributions (wheels) for pyside6-scintilla 5.6.3.7
File
pyside6_scintilla-5.6.3.7-cp311-abi3-win_amd64.whl CPython 3.11 abi3 Windows x86-64 Details
pyside6_scintilla-5.6.3.7-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
pyside6_scintilla-5.6.3.7-cp311-abi3-manylinux_2_34_x86_64.whl CPython 3.11 abi3 Linux glibc 2.34+ x86-64 Details
pyside6_scintilla-5.6.3.7-cp311-abi3-macosx_13_0_x86_64.whl CPython 3.11 abi3 macOS 13.0+ x86-64 Details
pyside6_scintilla-5.6.3.7-cp311-abi3-macosx_13_0_arm64.whl CPython 3.11 abi3 macOS 13.0+ ARM64 Details

Total release size: 12.1 MB

Release files / pyside6_scintilla-5.6.3.7.tar.gz

Download URL pyside6_scintilla-5.6.3.7.tar.gz
Size 2.3 MB
Tags Source
SHA-256 checksum
How to use checksums
1e29e06e2039378a3f9bd502505f6f0ab20f12ab8e5f2c919786a5d81cf30211
BLAKE2b-256 checksum
How to use checksums
a7c16a7b1a2a214d4fa718424743d50fa55b150aff446baae7365b3b76c0d62d
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.14

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 Jul 28, 2026.

Transparency log

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

Download URL pyside6_scintilla-5.6.3.7-cp311-abi3-win_amd64.whl
Size 1.4 MB
Tags CPython 3.11 Windows x86-64 abi3
SHA-256 checksum
How to use checksums
8c15893362b1608d9dc26983477e327359a9a90b560e693be6076493fcc9f3c7
BLAKE2b-256 checksum
How to use checksums
de98f77f4bf8e74c9331d857b707d71ed556c4435498b83397c34713c7e63e5c
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.14

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 Jul 28, 2026.

Transparency log

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

Download URL pyside6_scintilla-5.6.3.7-cp311-abi3-manylinux_2_38_aarch64.manylinux_2_39_aarch64.whl
Size 1.3 MB
Tags CPython 3.11 Linux glibc 2.38+ ARM64 Linux glibc 2.39+ ARM64 abi3
SHA-256 checksum
How to use checksums
0fe5ae9c760a678b2aae24e4bb31e699f021f2d013ab0d6e10dcab3334799eeb
BLAKE2b-256 checksum
How to use checksums
bd2042512f6c9ffde689691ae5e6e03ca0a5365e42d6fd349bc1f7fec9f377ea
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.14

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 Jul 28, 2026.

Transparency log

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

Download URL pyside6_scintilla-5.6.3.7-cp311-abi3-manylinux_2_34_x86_64.whl
Size 1.4 MB
Tags CPython 3.11 Linux glibc 2.34+ x86-64 abi3
SHA-256 checksum
How to use checksums
a99dc97d15ddac3cc2502209bb3bc6f4c0712b99f2526559aa07b09af9904f4b
BLAKE2b-256 checksum
How to use checksums
3959bf5a394bfb5ac640d844fe07180de479727d222f995d325b664ce55dae82
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.14

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 Jul 28, 2026.

Transparency log

Release files / pyside6_scintilla-5.6.3.7-cp311-abi3-macosx_13_0_x86_64.whl

Download URL pyside6_scintilla-5.6.3.7-cp311-abi3-macosx_13_0_x86_64.whl
Size 2.8 MB
Tags CPython 3.11 abi3 macOS 13.0+ x86-64
SHA-256 checksum
How to use checksums
52c72012f8cc99f2e774a07dd3771502408775350f35a397093135c9a2bc52e2
BLAKE2b-256 checksum
How to use checksums
5c115c50a90517cf0a8e5f2ec450e54ad1b416f75284a9d127a7e1e73172eb57
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.14

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 Jul 28, 2026.

Transparency log

Release files / pyside6_scintilla-5.6.3.7-cp311-abi3-macosx_13_0_arm64.whl

Download URL pyside6_scintilla-5.6.3.7-cp311-abi3-macosx_13_0_arm64.whl
Size 2.8 MB
Tags CPython 3.11 abi3 macOS 13.0+ ARM64
SHA-256 checksum
How to use checksums
856d9f7d67e3795934bac111e75ca242189300eb6cec49eb88fbe98340846b16
BLAKE2b-256 checksum
How to use checksums
201e449b29a531687a8aeeb121054a3d69ff36143fc395ac6b530474bf490653
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.14

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 Jul 28, 2026.

Transparency log

Release history Release notifications | RSS feed

This release

5.6.3.7 This release

6 release files

0.0.0

2 release files

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