Skip to main content

Permissively-licensed PySide6 bindings for the Scintilla code editor component

Project description

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

The ScintillaEditBase, ScintillaEdit, and ScintillaDocument bindings are implemented and working — see examples/ for runnable demos. Pre-built wheels are published on PyPI for Linux (x86_64), Windows (x86_64), and macOS (arm64, x86_64), Python 3.11-3.14 — see Installation. Linux aarch64 wheels are planned — see docs/specs/roadmap.md for the roadmap.

The docs site has a full "Scintilla API" navigation tree, but most pages are still placeholders pending conversion from the upstream ScintillaDoc.html — see docs/specs/roadmap.md for conversion progress.

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 6.10+ is installed automatically as a dependency; the wheels bundle everything else ScintillaEditBase needs at runtime.

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.

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/specs/roadmap.md Ordered list of upcoming work
docs/testpypi.md Setting up TestPyPI trusted publishing

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

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

pyside6_scintilla-5.6.3.3.tar.gz (2.3 MB view details)

Uploaded Source

Built Distributions

If you're not sure about the file name format, learn more about wheel file names.

pyside6_scintilla-5.6.3.3-cp314-cp314-win_amd64.whl (1.4 MB view details)

Uploaded CPython 3.14Windows x86-64

pyside6_scintilla-5.6.3.3-cp314-cp314-manylinux_2_34_x86_64.whl (1.4 MB view details)

Uploaded CPython 3.14manylinux: glibc 2.34+ x86-64

pyside6_scintilla-5.6.3.3-cp314-cp314-macosx_13_0_x86_64.whl (2.8 MB view details)

Uploaded CPython 3.14macOS 13.0+ x86-64

pyside6_scintilla-5.6.3.3-cp314-cp314-macosx_13_0_arm64.whl (2.8 MB view details)

Uploaded CPython 3.14macOS 13.0+ ARM64

pyside6_scintilla-5.6.3.3-cp313-cp313-win_amd64.whl (1.4 MB view details)

Uploaded CPython 3.13Windows x86-64

pyside6_scintilla-5.6.3.3-cp313-cp313-manylinux_2_34_x86_64.whl (1.4 MB view details)

Uploaded CPython 3.13manylinux: glibc 2.34+ x86-64

pyside6_scintilla-5.6.3.3-cp313-cp313-macosx_13_0_x86_64.whl (2.8 MB view details)

Uploaded CPython 3.13macOS 13.0+ x86-64

pyside6_scintilla-5.6.3.3-cp313-cp313-macosx_13_0_arm64.whl (2.8 MB view details)

Uploaded CPython 3.13macOS 13.0+ ARM64

pyside6_scintilla-5.6.3.3-cp312-cp312-win_amd64.whl (1.4 MB view details)

Uploaded CPython 3.12Windows x86-64

pyside6_scintilla-5.6.3.3-cp312-cp312-manylinux_2_34_x86_64.whl (1.4 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.34+ x86-64

pyside6_scintilla-5.6.3.3-cp312-cp312-macosx_13_0_x86_64.whl (2.8 MB view details)

Uploaded CPython 3.12macOS 13.0+ x86-64

pyside6_scintilla-5.6.3.3-cp312-cp312-macosx_13_0_arm64.whl (2.8 MB view details)

Uploaded CPython 3.12macOS 13.0+ ARM64

pyside6_scintilla-5.6.3.3-cp311-cp311-win_amd64.whl (1.4 MB view details)

Uploaded CPython 3.11Windows x86-64

pyside6_scintilla-5.6.3.3-cp311-cp311-manylinux_2_34_x86_64.whl (1.4 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.34+ x86-64

pyside6_scintilla-5.6.3.3-cp311-cp311-macosx_13_0_x86_64.whl (2.8 MB view details)

Uploaded CPython 3.11macOS 13.0+ x86-64

pyside6_scintilla-5.6.3.3-cp311-cp311-macosx_13_0_arm64.whl (2.8 MB view details)

Uploaded CPython 3.11macOS 13.0+ ARM64

File details

Details for the file pyside6_scintilla-5.6.3.3.tar.gz.

File metadata

  • Download URL: pyside6_scintilla-5.6.3.3.tar.gz
  • Upload date:
  • Size: 2.3 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for pyside6_scintilla-5.6.3.3.tar.gz
Algorithm Hash digest
SHA256 754873a2c3f79c465f37a64854fdabd757b311c56c0ea26714862da74a66f310
MD5 2fc49fe115c13e467c6fb9f883eb56dc
BLAKE2b-256 f1cea1dcb642cd7f32141bfb558ad5aa14f9c01f8ca23b4b20b15e114b5c30df

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyside6_scintilla-5.6.3.3.tar.gz:

Publisher: publish.yml on borco/pyside6-scintilla

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file pyside6_scintilla-5.6.3.3-cp314-cp314-win_amd64.whl.

File metadata

File hashes

Hashes for pyside6_scintilla-5.6.3.3-cp314-cp314-win_amd64.whl
Algorithm Hash digest
SHA256 54eef22d70de94435c352781f723ba0fc10f32f5bf0f291dcc8e78c5ddd622d6
MD5 26d006c2c793300826f0fb4c7be74d4e
BLAKE2b-256 a23bfce7d533382aea2b4966b3e9d170476ef0d0c708e73e99a1ccb72ec8dd27

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyside6_scintilla-5.6.3.3-cp314-cp314-win_amd64.whl:

Publisher: publish.yml on borco/pyside6-scintilla

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file pyside6_scintilla-5.6.3.3-cp314-cp314-manylinux_2_34_x86_64.whl.

File metadata

File hashes

Hashes for pyside6_scintilla-5.6.3.3-cp314-cp314-manylinux_2_34_x86_64.whl
Algorithm Hash digest
SHA256 5b840a47712c0e4e0ff07c889ceeeca0f28de32b32f5214809e6072d3929ba8f
MD5 0a353a8341d80aae9399a3934a252916
BLAKE2b-256 e454f6989331c7f1afa9bde32e39e87051dbc14607a7fcdcb4d6a5ea93e216d5

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyside6_scintilla-5.6.3.3-cp314-cp314-manylinux_2_34_x86_64.whl:

Publisher: publish.yml on borco/pyside6-scintilla

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file pyside6_scintilla-5.6.3.3-cp314-cp314-macosx_13_0_x86_64.whl.

File metadata

File hashes

Hashes for pyside6_scintilla-5.6.3.3-cp314-cp314-macosx_13_0_x86_64.whl
Algorithm Hash digest
SHA256 e33293bf8f7b93a43e37cef46550fbd2b4634fb3b7b6a6c7112b6c3530e729f7
MD5 b685ebe225cc929e4a5e762ea7b05caf
BLAKE2b-256 29a6cafec2e6cb12cff9f3200a77945c7ccbd734421fd7f20546f6cac25fa624

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyside6_scintilla-5.6.3.3-cp314-cp314-macosx_13_0_x86_64.whl:

Publisher: publish.yml on borco/pyside6-scintilla

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file pyside6_scintilla-5.6.3.3-cp314-cp314-macosx_13_0_arm64.whl.

File metadata

File hashes

Hashes for pyside6_scintilla-5.6.3.3-cp314-cp314-macosx_13_0_arm64.whl
Algorithm Hash digest
SHA256 a434842f25b3e2a73186c1bdbd9bec8cb23a915253253a666512fc6e0e6179ac
MD5 cce3bba95fd99de26af14307b17323b0
BLAKE2b-256 3b9446fc815aeeec2cbb3ea47ead8fa9baabdf3014744bab0b8d9abb4709e46a

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyside6_scintilla-5.6.3.3-cp314-cp314-macosx_13_0_arm64.whl:

Publisher: publish.yml on borco/pyside6-scintilla

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file pyside6_scintilla-5.6.3.3-cp313-cp313-win_amd64.whl.

File metadata

File hashes

Hashes for pyside6_scintilla-5.6.3.3-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 501df551159dbc6383be08c1a73a6b39b8b0a788b4add1e194a9f93615141f6f
MD5 98a52c24070d7299460053db046e81a0
BLAKE2b-256 8e1f908fbc1cfa5e4b241f91dd2b8f547cbdaaf13711c1206bcc32e0a75249fa

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyside6_scintilla-5.6.3.3-cp313-cp313-win_amd64.whl:

Publisher: publish.yml on borco/pyside6-scintilla

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file pyside6_scintilla-5.6.3.3-cp313-cp313-manylinux_2_34_x86_64.whl.

File metadata

File hashes

Hashes for pyside6_scintilla-5.6.3.3-cp313-cp313-manylinux_2_34_x86_64.whl
Algorithm Hash digest
SHA256 33a2f44405cc34d0601678e3b8d06a1f4167e6df6492a61fb90098ce2a03d429
MD5 85e8c3b77e3d48ae48c389ab478f03fc
BLAKE2b-256 0bfd8a6cf994ba5dd37135ab3dc644c6087826b419996b979651c8fb1f536b9b

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyside6_scintilla-5.6.3.3-cp313-cp313-manylinux_2_34_x86_64.whl:

Publisher: publish.yml on borco/pyside6-scintilla

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file pyside6_scintilla-5.6.3.3-cp313-cp313-macosx_13_0_x86_64.whl.

File metadata

File hashes

Hashes for pyside6_scintilla-5.6.3.3-cp313-cp313-macosx_13_0_x86_64.whl
Algorithm Hash digest
SHA256 411d344b54b50f9f146d87df6abc01dfc00ea7d2c76e6b74a8e7612d0b6b4b06
MD5 cd6862b1da769ffb4043d1e458865c2c
BLAKE2b-256 ed7289d4f2b6b9667d8581a47640c81b2d803a8336a11b284a6912e9154ed2d4

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyside6_scintilla-5.6.3.3-cp313-cp313-macosx_13_0_x86_64.whl:

Publisher: publish.yml on borco/pyside6-scintilla

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file pyside6_scintilla-5.6.3.3-cp313-cp313-macosx_13_0_arm64.whl.

File metadata

File hashes

Hashes for pyside6_scintilla-5.6.3.3-cp313-cp313-macosx_13_0_arm64.whl
Algorithm Hash digest
SHA256 e5ef1d84e60ffd56e6ab5120ebe74f85eb6755901caaa3b7b9c572771d5d1193
MD5 0b9c4e2c2e07030c543c866349a79e29
BLAKE2b-256 2a2c3d6e79a7b7a29857e6fadba71c0459f1263939de07c5c247573e132ab7bd

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyside6_scintilla-5.6.3.3-cp313-cp313-macosx_13_0_arm64.whl:

Publisher: publish.yml on borco/pyside6-scintilla

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file pyside6_scintilla-5.6.3.3-cp312-cp312-win_amd64.whl.

File metadata

File hashes

Hashes for pyside6_scintilla-5.6.3.3-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 22cdbdcb0f7fc149402fe4d8d7963d442f5e0036264aec447cf8baeb284f4d8c
MD5 df841dd81468e171b1132e3717457c56
BLAKE2b-256 7e9f7a7ceaa039de7ac12f6f30678f7bed2b9c420282faa6148be52541406e9f

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyside6_scintilla-5.6.3.3-cp312-cp312-win_amd64.whl:

Publisher: publish.yml on borco/pyside6-scintilla

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file pyside6_scintilla-5.6.3.3-cp312-cp312-manylinux_2_34_x86_64.whl.

File metadata

File hashes

Hashes for pyside6_scintilla-5.6.3.3-cp312-cp312-manylinux_2_34_x86_64.whl
Algorithm Hash digest
SHA256 954d33572f16a58cdf1c5e953939422e9e950b1de995a656089a6f4966cb30e6
MD5 2171e2e159e829793d21cac3ef7a0985
BLAKE2b-256 32cd32833e44e8d55fafecf10f22877e42dd60663b496dfd15148c30f5338349

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyside6_scintilla-5.6.3.3-cp312-cp312-manylinux_2_34_x86_64.whl:

Publisher: publish.yml on borco/pyside6-scintilla

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file pyside6_scintilla-5.6.3.3-cp312-cp312-macosx_13_0_x86_64.whl.

File metadata

File hashes

Hashes for pyside6_scintilla-5.6.3.3-cp312-cp312-macosx_13_0_x86_64.whl
Algorithm Hash digest
SHA256 6c5dbd7b67e543afd28f629d0f0e32e051b5e3426d2be07e62fe673b1a97e508
MD5 1efb0924de808c2d7e3d1b973e027508
BLAKE2b-256 b506b861700aaad653b6d8063cbc74ebf8dc11161df8f99acc4a788974fbe68a

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyside6_scintilla-5.6.3.3-cp312-cp312-macosx_13_0_x86_64.whl:

Publisher: publish.yml on borco/pyside6-scintilla

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file pyside6_scintilla-5.6.3.3-cp312-cp312-macosx_13_0_arm64.whl.

File metadata

File hashes

Hashes for pyside6_scintilla-5.6.3.3-cp312-cp312-macosx_13_0_arm64.whl
Algorithm Hash digest
SHA256 eedc3ec47d556cb2da0458b0f878fbb3da5a6c778be36ac9ef156a4d33e93c42
MD5 a16dc6bb17baf644e8af0b313d3d6869
BLAKE2b-256 988a53fae31b8f7238ec4bb725e4dba445f4ea9c5d839bdfc073a6015dabb15b

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyside6_scintilla-5.6.3.3-cp312-cp312-macosx_13_0_arm64.whl:

Publisher: publish.yml on borco/pyside6-scintilla

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file pyside6_scintilla-5.6.3.3-cp311-cp311-win_amd64.whl.

File metadata

File hashes

Hashes for pyside6_scintilla-5.6.3.3-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 9e9c5f7fd148e4de19602df46f33478d8cbc8171f150bc24ee370d240d36c6c5
MD5 1e68ebe39998818e7020cbad9d158ceb
BLAKE2b-256 ff1b1fda62927eeff54cd73a88f56f8066ee7414f1b8766e0c631756c4238294

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyside6_scintilla-5.6.3.3-cp311-cp311-win_amd64.whl:

Publisher: publish.yml on borco/pyside6-scintilla

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file pyside6_scintilla-5.6.3.3-cp311-cp311-manylinux_2_34_x86_64.whl.

File metadata

File hashes

Hashes for pyside6_scintilla-5.6.3.3-cp311-cp311-manylinux_2_34_x86_64.whl
Algorithm Hash digest
SHA256 4895021baab50718b1bd9e6dd61ed22596bc01f781d87a6c8bfb27fb8450a690
MD5 f43666616c07c165ad91b6a00cd245cb
BLAKE2b-256 84a3472708ac3987c57d885fcdaae23e856dd4aa91545f47d33d074551bb944f

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyside6_scintilla-5.6.3.3-cp311-cp311-manylinux_2_34_x86_64.whl:

Publisher: publish.yml on borco/pyside6-scintilla

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file pyside6_scintilla-5.6.3.3-cp311-cp311-macosx_13_0_x86_64.whl.

File metadata

File hashes

Hashes for pyside6_scintilla-5.6.3.3-cp311-cp311-macosx_13_0_x86_64.whl
Algorithm Hash digest
SHA256 0e5739dfec0138c188634117ed9a608930a1c26beb81c68c8637ca694185309f
MD5 aeb4f5eecd5ee91c1faf037494c450e5
BLAKE2b-256 71c1a8eb0747c8e86a8ff86113cc6153b11a14af9ad4512bd09a4b87f295b370

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyside6_scintilla-5.6.3.3-cp311-cp311-macosx_13_0_x86_64.whl:

Publisher: publish.yml on borco/pyside6-scintilla

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file pyside6_scintilla-5.6.3.3-cp311-cp311-macosx_13_0_arm64.whl.

File metadata

File hashes

Hashes for pyside6_scintilla-5.6.3.3-cp311-cp311-macosx_13_0_arm64.whl
Algorithm Hash digest
SHA256 3bb8517e37ec5514baab2a7e1390ab27188db548b4cc11e8eec82ccf58a9e6b4
MD5 b5e4aa23812f21956e3bafef5d0a4829
BLAKE2b-256 c645e69e048bc4a2480849b77442ff9498aaf582e257b32fc4bd2ddda48ec425

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyside6_scintilla-5.6.3.3-cp311-cp311-macosx_13_0_arm64.whl:

Publisher: publish.yml on borco/pyside6-scintilla

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page