File: pyproject.toml

package info (click to toggle)
python-sphinx-chango 0.5.0-2
  • links: PTS
  • area: main
  • in suites: sid
  • size: 1,776 kB
  • sloc: python: 4,909; javascript: 74; makefile: 23
file content (132 lines) | stat: -rw-r--r-- 3,215 bytes parent folder | download | duplicates (2)
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
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
[build-system]
requires = ["hatchling"]
build-backend = "hatchling.build"

[project]
name = "chango"
dynamic = ["version"]
description = 'CHANgelog GOvernor for Your Project'
readme = "README.rst"
requires-python = ">=3.12"
license = "MIT"
keywords = ["releasenotes", "changelog", "development", "versioning"]
authors = [
  { name = "Hinrich Mahler", email = "chango@mahlerhome.de" },
]
classifiers = [
  "Development Status :: 4 - Beta",
  "Programming Language :: Python",
  "Programming Language :: Python :: 3.12",
  "Programming Language :: Python :: 3.13",
  "Intended Audience :: Developers",
  "Operating System :: OS Independent",
  "License :: OSI Approved :: MIT License",
  "Topic :: Software Development :: Documentation",
  "Topic :: Software Development :: Libraries :: Python Modules",
  "Framework :: Sphinx :: Extension",
]
dependencies = [
  "pydantic-settings~=2.3",
  "shortuuid~=1.0",
  "sphinx~=8.1",
  "tomlkit~=0.13",
  "typer~=0.12",
]

[dependency-groups]
docs = [
  "furo>=2024.8,<2026.0",
  "jinja2~=3.1",
  "sphinx~=8.1",
  "sphinx-click~=6.0",
  "sphinx-copybutton~=0.5",
  "sphinx-paramlinks~=0.6",
]
tests = [
  "build",
  "pre-commit",
  "pytest~=8.3",
  "pytest-cov",
  "pytest-randomly",
]
all = ["pre-commit", { include-group = "docs" }, { include-group = "tests" }]

[project.urls]
Documentation = "https://chango.readthedocs.io/"
Issues = "https://github.com/Bibo-Joshi/chango/issues"
Source = "https://github.com/Bibo-Joshi/chango"

# CLI
[project.scripts]
chango = "chango._cli:app"

# HATCH:
[tool.hatch.version]
path = "src/chango/__about__.py"

# See also https://github.com/pypa/hatch/issues/1230 for discussion
# the source distribution will include most of the files in the root directory
[tool.hatch.build.targets.sdist]
exclude = [".venv*", ".github"]
# the wheel will only include the src/chango package
[tool.hatch.build.targets.wheel]
packages = ["src/chango"]

# RUFF:
[tool.ruff]
line-length = 99
show-fixes = true

[tool.ruff.lint]
preview = true
explicit-preview-rules = true
select = ["E", "F", "I", "PL", "UP", "RUF", "PTH", "C4", "B", "PIE", "SIM", "RET", "RSE",
          "G", "ISC", "PT", "ASYNC", "TCH", "SLOT", "PERF", "PYI", "FLY", "AIR", "RUF022",
          "RUF023", "Q", "INP", "W", "YTT", "DTZ", "ARG"]
ignore = ["ISC001", "DTZ011"]

[tool.ruff.lint.isort]
split-on-trailing-comma = false

[tool.ruff.lint.per-file-ignores]
"docs/**.py" = ["INP001"]
"tests/**.py" = ["PLR0913", "ARG005"]
"tests/data/**.py" = ["INP001"]

[tool.ruff.format]
docstring-code-format = true
skip-magic-trailing-comma = true

# MYPY:
[tool.mypy]
warn_unused_ignores = true
warn_unused_configs = true
disallow_untyped_defs = true
disallow_incomplete_defs = true
disallow_untyped_decorators = true
show_error_codes = true
python_version = "3.12"

# PYTEST:
[tool.pytest.ini_options]
pythonpath= ["src", "tests"]

# COVERAGE:
[tool.coverage.run]
source_pkgs = ["chango"]
branch = true
parallel = true

[tool.coverage.report]
exclude_also = [
  "@overload",
  "@abstractmethod",
  "if TYPE_CHECKING:",
  "class .*\\bProtocol\\):",
  "if __name__ == .__main__.:"
]

# CHANGO
[tool.chango]
sys_path = "changes"
chango_instance = { name= "chango_instance", module = "config" }