[project]
name = "bscintillaedit"
readme = "docs/README.md"
description = "PySide6 bindings for the `BScintillaEdit` widget derived from [QScrollArea](https://doc.qt.io/qt-6/qscrollarea.html) that wraps a `ScintillaEditBase` widget from [Scintilla](https://www.scintilla.org/)"
license = { text = "MIT License, Scintilla License, GNU Library or Lesser General Public License, Other/Proprietary License" }
requires-python = ">=3.12"
authors = [{ name = "Ioan Călin", email = "iborco@gmail.com" }]
classifiers = [
    "Development Status :: 3 - Alpha",
    "Intended Audience :: Developers",
    "License :: OSI Approved :: MIT License",
    "Programming Language :: C++",
    "Programming Language :: Python :: 3",
    # "Typing :: Typed",
]
keywords = [
    "c++",
    "cmake",
    "cpp",
    "cxx",
    "example",
    "pyside6",
    "python",
    "scikit-build-core",
    "scintilla",
    "shiboken",
    "shiboken6",
]
dependencies = [
    "pyside6>=6.8.1; platform_system != \"Windows\"",
    "pyside6>=6.8.1,!=6.8.1.1; platform_system == \"Windows\"",
]
dynamic = ["version"]

# ---------------------------------------------------------------------------

[project.urls]
Homepage = "https://iborco-pyside.gitlab.io/bscintillaedit"
# Documentation = ""
Repository = "https://gitlab.com/iborco-pyside/bscintillaedit"
Issues = "https://gitlab.com/iborco-pyside/bscintillaedit/-/issues"
# Changelog = ""

# ---------------------------------------------------------------------------

[dependency-groups]
dev = [
    "pytest>=8.3.4",
    "scikit-build-core",
    # qt
    "shiboken6-generator>=6.8.1",
]

# ---------------------------------------------------------------------------

[build-system]
requires = [
    # build system
    "scikit-build-core",
    # build dependencies
    "pyside6>=6.8.1; platform_system != \"Windows\"",
    "pyside6>=6.8.1,!=6.8.1.1; platform_system == \"Windows\"",
    "shiboken6-generator>=6.8.1",
]
build-backend = "scikit_build_core.build"

[tool.scikit-build]
cmake.version = ">=3.29.5"
ninja.version = ">=1.12.1"
cmake.args = ["-GNinja", "-DWITH_BINDINGS=ON"]

[tool.scikit-build.metadata.version]
provider = "scikit_build_core.metadata.regex"
input = "src/bscintillaedit/__init__.py"

# ---------------------------------------------------------------------------

[tool.pylint.main]
extension-pkg-whitelist = ["PySide6", "bscintillaedit"]
ignore-patterns = ["^.*_ui\\.py$", "^.*_rc\\.py$"]
source-roots = ["src"]
disable = [
    "C0114", # missing-module-docstring
]

[tool.pylint.format]
max-line-length = 120

# ---------------------------------------------------------------------------

[tool.pytest.ini_options]
testpaths = ["tests/python"]
