Files
novelWriter/pyproject.toml
T
2025-04-03 01:15:52 +02:00

114 lines
2.8 KiB
TOML

[build-system]
requires = ["setuptools"]
build-backend = "setuptools.build_meta"
[project]
name = "novelWriter"
authors = [
{name = "Veronica Berglyd Olsen", email = "code@vkbo.net"},
]
description = "A markdown-like text editor for planning and writing novels"
readme = {file = "setup/description_pypi.md", content-type = "text/markdown"}
license = {text = "GNU General Public License v3"}
classifiers = [
"Programming Language :: Python :: 3 :: Only",
"Programming Language :: Python :: 3.10",
"Programming Language :: Python :: 3.11",
"Programming Language :: Python :: 3.12",
"Programming Language :: Python :: 3.13",
"Programming Language :: Python :: Implementation :: CPython",
"License :: OSI Approved :: GNU General Public License v3 (GPLv3)",
"Development Status :: 5 - Production/Stable",
"Operating System :: OS Independent",
"Intended Audience :: End Users/Desktop",
"Natural Language :: English",
"Topic :: Text Editors",
]
requires-python = ">=3.10"
dependencies = [
"pyqt6>=6.4",
"pyenchant>=3.0.0",
]
dynamic = ["version"]
[project.urls]
Homepage = "https://novelwriter.io"
Documentation = "https://docs.novelwriter.io"
Repository = "https://github.com/vkbo/novelWriter"
Issues = "https://github.com/vkbo/novelWriter/issues"
[project.gui-scripts]
novelwriter = "novelwriter:main"
[tool.setuptools.dynamic]
version = {attr = "novelwriter.__version__"}
[tool.setuptools.packages.find]
include = ["novelwriter*"]
[tool.isort]
py_version="310"
line_length = 99
wrap_length = 79
multi_line_output = 5
force_grid_wrap = 0
lines_between_types = 1
forced_separate = ["tests.*"]
[tool.ruff]
line-length = 99
[tool.ruff.lint]
select = [
"A", # flake8-builtins (A)
"B", # flake8-bugbear (B)
"E", # pycodestyle (E)
"F", # Pyflakes (F)
"W", # pycodestyle (W)
"UP",
]
ignore = [
"E221", # multiple-spaces-before-operator
"E226", # missing-whitespace-around-arithmetic-operator
"E228", # missing-whitespace-around-modulo-operator
"E241", # multiple-spaces-after-comma
"ANN401",
"UP015", # redundant-open-modes
"UP030", # format-literals
]
[tool.ruff.lint.per-file-ignores]
"tests/*" = []
[tool.ruff.format]
quote-style = "double"
[tool.pyright]
include = ["novelwriter"]
exclude = ["**/__pycache__"]
reportIncompatibleMethodOverride = false
reportGeneralTypeIssues = "information"
reportOptionalMemberAccess = "information"
reportOptionalOperand = "information"
reportOptionalSubscript = "information"
reportUnboundVariable = "error"
pythonVersion = "3.10"
[tool.pytest.ini_options]
log_level = "DEBUG"
qt_api = "pyqt6"
markers = [
"base: Base classes tests",
"core: Core classes tests",
"gui: GUI classes tests",
"serial",
]
[tool.coverage.run]
branch = false
[tool.coverage.report]
precision = 2