Skip to main content

lexilla-py: Python bindings for Lexilla

CI PyPI License: MIT Python versions

Permissively-licensed Python bindings for Lexilla, the lexer library for Scintilla.

View on PyPI · View on GitHub

Status

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

Why this exists

Lexilla creates the lexer objects (ILexer5) that a Scintilla editor widget attaches via SCI_SETILEXER — it's a separate, Qt-free C++ library from Scintilla itself since Scintilla 5.0. This project exposes that library directly to Python. In practice, pyside6-scintilla is its only consumer, wired up via the set_lexer() convenience function (see Usage below) rather than raw SCI_SETILEXER pointer plumbing; it's kept as a separate package so this binding's release cadence and vendored Lexilla version can track upstream Lexilla releases independently of pyside6-scintilla's own release cycle — see docs/specs/mission.md for the full background.

Goals

lexilla aims to be:

  • MIT licensed — usable in open-source or closed-source projects freely
  • A faithful, low-level binding of Lexilla's CreateLexer/ILexer5 C++ API — not a redesign of it
  • Vendored and versioned independently of pyside6-scintilla — exposes the lexer as a raw pointer (SCI_SETILEXER-compatible), so this package can track upstream Lexilla releases on its own schedule
  • Available as pre-built wheels for Linux (x86_64, aarch64), Windows (x86_64), and macOS (arm64, x86_64)
  • Not affiliated with the Scintilla/Lexilla project

Installation

Install from PyPI:

pip install lexilla

Usage

from lexilla import Language, create_lexer
from lexilla.pyside6_scintilla import set_lexer
from pyside6_scintilla import ScintillaEdit

editor = ScintillaEdit()
lexer = create_lexer(Language.CPP)
assert lexer is not None
set_lexer(editor, lexer)

set_lexer() hands a created lexer to a pyside6-scintilla ScintillaEdit via SCI_SETILEXER, transferring ownership to it — see lexilla_highlighting for a complete example.

Versioning

Version numbers follow <Lexilla version>.<binding revision> — e.g. 5.5.0.0 is binding revision 0 for Lexilla 5.5.0. The binding revision increments for releases of this package that don't correspond to a new Lexilla version, and resets to 0 when Lexilla itself releases a new version.

Documentation

Doc Contents
docs/auditing.md How to verify the vendored Lexilla source matches upstream
docs/bindings.md How the nanobind bindings are built, and how they're expected to grow
docs/build.md Build prerequisites, local build/rebuild, wheels, and publishing
docs/documenting.md How the docs site is built (stub)
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/ No examples of its own — see pyside6-scintilla/examples/
GitHub Issues Ordered list of upcoming work
Project board Joint roadmap for lexilla-py and pyside6-scintilla; issues/PRs from both repos are auto-added

License

Release files for lexilla 5.5.0.1

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

Source distribution (sdist)

Source distribution for lexilla 5.5.0.1
File Size Uploaded
lexilla-5.5.0.1.tar.gz 1.0 MB Details

Built distributions (wheels)

Table of built distributions (wheels) for lexilla 5.5.0.1
File
lexilla-5.5.0.1-cp312-abi3-win_amd64.whl CPython 3.12 abi3 Windows x86-64 Details
lexilla-5.5.0.1-cp312-abi3-manylinux_2_39_aarch64.whl CPython 3.12 abi3 Linux glibc 2.39+ ARM64 Details
lexilla-5.5.0.1-cp312-abi3-manylinux_2_34_x86_64.whl CPython 3.12 abi3 Linux glibc 2.34+ x86-64 Details
lexilla-5.5.0.1-cp312-abi3-macosx_11_0_arm64.whl CPython 3.12 abi3 macOS 11.0+ ARM64 Details
lexilla-5.5.0.1-cp312-abi3-macosx_10_13_x86_64.whl CPython 3.12 abi3 macOS 10.13+ x86-64 Details
lexilla-5.5.0.1-cp311-cp311-win_amd64.whl CPython 3.11 CPython 3.11 Windows x86-64 Details
lexilla-5.5.0.1-cp311-cp311-manylinux_2_39_aarch64.whl CPython 3.11 CPython 3.11 Linux glibc 2.39+ ARM64 Details
lexilla-5.5.0.1-cp311-cp311-manylinux_2_34_x86_64.whl CPython 3.11 CPython 3.11 Linux glibc 2.34+ x86-64 Details
lexilla-5.5.0.1-cp311-cp311-macosx_11_0_x86_64.whl CPython 3.11 CPython 3.11 macOS 11.0+ x86-64 Details
lexilla-5.5.0.1-cp311-cp311-macosx_11_0_arm64.whl CPython 3.11 CPython 3.11 macOS 11.0+ ARM64 Details

Total release size: 10.2 MB

Release files / lexilla-5.5.0.1.tar.gz

Download URL lexilla-5.5.0.1.tar.gz
Size 1.0 MB
Tags Source
SHA-256 checksum
How to use checksums
cda0dc86102a9138b746216d2ec4c34dedf2736f7ccc1675125c09082592f58f
BLAKE2b-256 checksum
How to use checksums
ebb79e57cdf273f419ffd30fc548ef3b70d6305759a31876ed303b5858563c25
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.12

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 14, 2026.

Transparency log

Release files / lexilla-5.5.0.1-cp312-abi3-win_amd64.whl

Download URL lexilla-5.5.0.1-cp312-abi3-win_amd64.whl
Size 782.6 kB
Tags CPython 3.12 Windows x86-64 abi3
SHA-256 checksum
How to use checksums
b344841152275e3fb57f0243281ad09cf79505fc1e02c6338a47f3ab926d7876
BLAKE2b-256 checksum
How to use checksums
1299dd03411bc99e84506b7044d61a14a1c6f6cdd73a5394423bf10256b6689c
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.12

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 14, 2026.

Transparency log

Release files / lexilla-5.5.0.1-cp312-abi3-manylinux_2_39_aarch64.whl

Download URL lexilla-5.5.0.1-cp312-abi3-manylinux_2_39_aarch64.whl
Size 1.1 MB
Tags CPython 3.12 Linux glibc 2.39+ ARM64 abi3
SHA-256 checksum
How to use checksums
3f683c6cb1431f6308d78b73f3970eb31fd60bbbf00cca4376a2b91cfe117bd4
BLAKE2b-256 checksum
How to use checksums
38accad9b3d82fcd0b4bdbbbeb449d1244f8d02bf2f4dd98aabcc19b0bf19d2b
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.12

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 14, 2026.

Transparency log

Release files / lexilla-5.5.0.1-cp312-abi3-manylinux_2_34_x86_64.whl

Download URL lexilla-5.5.0.1-cp312-abi3-manylinux_2_34_x86_64.whl
Size 1.1 MB
Tags CPython 3.12 Linux glibc 2.34+ x86-64 abi3
SHA-256 checksum
How to use checksums
b0bfc642b94691010fa280a6e63247f46e60d5baa02c31e03f78d5112fa89b28
BLAKE2b-256 checksum
How to use checksums
0f5917bdff16a371e8eca8b8f6cf117b809a78396436295bf9013f93d0c05109
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.12

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 14, 2026.

Transparency log

Release files / lexilla-5.5.0.1-cp312-abi3-macosx_11_0_arm64.whl

Download URL lexilla-5.5.0.1-cp312-abi3-macosx_11_0_arm64.whl
Size 716.0 kB
Tags CPython 3.12 abi3 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
6842917bf468626df27e6ad4e6ce27dd47a840c09a0a81306b2e6848a4920e22
BLAKE2b-256 checksum
How to use checksums
15992f9d46775ab0e0c4c9dad5cdeb81e6e12c962f3be82b3e52d250e8e97c4a
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.12

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 14, 2026.

Transparency log

Release files / lexilla-5.5.0.1-cp312-abi3-macosx_10_13_x86_64.whl

Download URL lexilla-5.5.0.1-cp312-abi3-macosx_10_13_x86_64.whl
Size 849.9 kB
Tags CPython 3.12 abi3 macOS 10.13+ x86-64
SHA-256 checksum
How to use checksums
e05f9ddda41e9888a9331b68c84c0d76098d4e711cc7dafd03afa6ba6b09e902
BLAKE2b-256 checksum
How to use checksums
a0bf1cec42a3d408ea5562ba9f555bfb6703fe10c68d04c7503347c9c3d51042
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.12

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 14, 2026.

Transparency log

Release files / lexilla-5.5.0.1-cp311-cp311-win_amd64.whl

Download URL lexilla-5.5.0.1-cp311-cp311-win_amd64.whl
Size 784.7 kB
Tags CPython 3.11 Windows x86-64
SHA-256 checksum
How to use checksums
77b85fd040526aa81a1ede6aae2ef0c04176302dedf70f5e00b24bb2b5383e38
BLAKE2b-256 checksum
How to use checksums
482459313ec34fc335963f0314cb9e600beb0497d7b8b4e9c806f33c3790108f
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.12

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 14, 2026.

Transparency log

Release files / lexilla-5.5.0.1-cp311-cp311-manylinux_2_39_aarch64.whl

Download URL lexilla-5.5.0.1-cp311-cp311-manylinux_2_39_aarch64.whl
Size 1.1 MB
Tags CPython 3.11 Linux glibc 2.39+ ARM64
SHA-256 checksum
How to use checksums
a38badd42cc8745342018e88604110921aec4f75ed0208d4e7de388c77e4740c
BLAKE2b-256 checksum
How to use checksums
383983f76733eedc0cb71ec5c910fa7e14e03f4ee5927947d973ee60fff5396e
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.12

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 14, 2026.

Transparency log

Release files / lexilla-5.5.0.1-cp311-cp311-manylinux_2_34_x86_64.whl

Download URL lexilla-5.5.0.1-cp311-cp311-manylinux_2_34_x86_64.whl
Size 1.1 MB
Tags CPython 3.11 Linux glibc 2.34+ x86-64
SHA-256 checksum
How to use checksums
e66fb88b81abf2489229bc23edf0833f9434406b245fc7ba3d457637b8e1a1ca
BLAKE2b-256 checksum
How to use checksums
70e2c7bd31af34fe6336bbf2a3507958802de75315bb74342e61a6ad0065f833
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.12

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 14, 2026.

Transparency log

Release files / lexilla-5.5.0.1-cp311-cp311-macosx_11_0_x86_64.whl

Download URL lexilla-5.5.0.1-cp311-cp311-macosx_11_0_x86_64.whl
Size 852.5 kB
Tags CPython 3.11 macOS 11.0+ x86-64
SHA-256 checksum
How to use checksums
5e670e00a20594f87c508a8ce0d0ea2852e1e48c0411b322c52c796efb0d8b2f
BLAKE2b-256 checksum
How to use checksums
563e71bcf1f522dc06bebace7859ab03c3899c9c008f8b2822a87208db4749b0
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.12

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 14, 2026.

Transparency log

Release files / lexilla-5.5.0.1-cp311-cp311-macosx_11_0_arm64.whl

Download URL lexilla-5.5.0.1-cp311-cp311-macosx_11_0_arm64.whl
Size 718.4 kB
Tags CPython 3.11 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
690f070baca06bc7a3607ef9687e077cda34d8873ea9cd2148959574a6ead364
BLAKE2b-256 checksum
How to use checksums
52f0b6dcfab5a96d20dab949a3e87f87b87fa77dfd1c9ecfc1cc90d4c7532b0b
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.12

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 14, 2026.

Transparency log

Release history Release notifications | RSS feed

This release

5.5.0.1 This release

11 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