1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110
|
[build-system]
requires = ["flit_core >=3.4,<4"]
build-backend = "flit_core.buildapi"
[project]
name = "sphinx_design"
dynamic = ["version"]
description = "A sphinx extension for designing beautiful, view size responsive web components."
authors = [{name = "Chris Sewell", email = "chrisj_sewell@hotmail.com"}]
readme = "README.md"
license = {file = "LICENSE"}
classifiers = [
"Development Status :: 4 - Beta",
"Framework :: Sphinx :: Extension",
"Intended Audience :: Developers",
"License :: OSI Approved :: MIT License",
"Programming Language :: Python :: 3",
"Programming Language :: Python :: 3.11",
"Programming Language :: Python :: 3.12",
"Programming Language :: Python :: 3.13",
"Programming Language :: Python :: 3.14",
"Programming Language :: Python :: Implementation :: CPython",
"Topic :: Software Development :: Libraries :: Python Modules",
"Topic :: Text Processing :: Markup",
"Topic :: Text Processing :: Markup :: Markdown",
"Topic :: Text Processing :: Markup :: reStructuredText",
]
keywords = ["sphinx", "extension", "material design", "web components"]
requires-python = ">=3.11"
dependencies = ["sphinx>=7,<10"]
[project.urls]
Homepage = "https://github.com/executablebooks/sphinx-design"
Documentation = "https://sphinx-design.readthedocs.io"
[project.optional-dependencies]
code-style = ["pre-commit>=3,<4"]
rtd = ["myst-parser>=4,<6"]
testing = [
"myst-parser>=4,<6",
"pytest~=8.3",
"pytest-cov",
"pytest-regressions",
"defusedxml",
]
testing-no-myst = [
"pytest~=8.3",
"pytest-cov",
"pytest-regressions",
"defusedxml",
]
theme-furo = ["furo>=2024.7.18,<2024.9.0"]
theme-pydata = ["pydata-sphinx-theme>=0.15.2,<0.17.0"]
theme-rtd = ["sphinx-rtd-theme>=2,<4"]
theme-sbt = ["sphinx-book-theme~=1.1"]
theme-im = ["sphinx-immaterial~=0.12.2"]
[dependency-groups]
mypy = ["mypy==1.19.1"]
ruff = ["ruff==0.14.11"]
[tool.flit.sdist]
exclude = [
"docs/",
"style/",
"tests/",
]
[tool.ruff.lint]
extend-select = [
"B", # flake8-bugbear
"C4", # flake8-comprehensions
# "FURB",# refurb (modernising code)
"I", # isort
"ICN", # flake8-import-conventions
"ISC", # flake8-implicit-str-concat
"N", # pep8-naming
"PERF",# perflint (performance anti-patterns)
"PGH", # pygrep-hooks
"PIE", # flake8-pie
"PL", # pylint
"PTH", # flake8-use-pathlib
"RUF", # Ruff-specific rules
"SIM", # flake8-simplify
"UP", # pyupgrade
"T20", # flake8-print
]
extend-ignore = [
"ISC001", # implicit-str-concat
"PLR2004",
"RUF012",
]
# [tool.ruff.lint.per-file-ignores]
# "..." = ["N801"]
[tool.ruff.lint.isort]
force-sort-within-sections = true
[tool.mypy]
show_error_codes = true
warn_unused_ignores = true
warn_redundant_casts = true
no_implicit_optional = true
strict_equality = true
[[tool.mypy.overrides]]
module = ["docutils.*"]
ignore_missing_imports = true
|