-
Notifications
You must be signed in to change notification settings - Fork 3
/
pyproject.toml
100 lines (89 loc) · 3.21 KB
/
pyproject.toml
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
[tool.poetry]
name = "mkslides"
version = "1.0.2"
description = "MkSlides - Slides with Markdown using the power of Reveal.js."
authors = ["MartenBE"]
homepage = "https://martenbe.github.io/mkslides"
repository = "https://github.com/MartenBE/mkslides"
license = "MIT"
readme = "README.md"
packages = [{ include = "mkslides", from = "src" }]
[tool.poetry.dependencies]
python = "^3.12"
Jinja2 = "^3.1.4"
python-frontmatter = "^1.1.0"
PyYAML = "^6.0.2"
rich = "^13.8.0"
click = "^8.1.7"
jsonschema = "^4.23.0"
natsort = "^8.4.0"
emoji = "^2.12.1"
livereload = "^2.7.1"
markdown = "^3.7"
beautifulsoup4 = "^4.12.3"
types-markdown = "^3.7.0.20240822"
types-beautifulsoup4 = "^4.12.0.20241020"
omegaconf = "^2.3.0"
[tool.poetry.group.dev.dependencies]
bumpver = "^2023.1129"
mypy = "^1.11.2"
types-pyyaml = "^6.0.12.20240808"
ruff = "^0.6.4"
[tool.poetry.group.test.dependencies]
pytest = "^8.3.3"
[tool.poetry.scripts]
mkslides = "mkslides.__main__:cli"
[build-system]
requires = ["poetry-core"]
build-backend = "poetry.core.masonry.api"
[tool.bumpver]
current_version = "1.0.2"
version_pattern = "MAJOR.MINOR.PATCH[PYTAGNUM]"
commit_message = "Bump version {old_version} to {new_version}"
tag_message = "{new_version}"
tag_scope = "default"
pre_commit_hook = "cli-help-output-to-docs.py"
post_commit_hook = ""
commit = true
tag = true
push = true
[tool.bumpver.file_patterns]
"src/mkslides/__init__.py" = ['^__version__ = "{version}"']
"pyproject.toml" = ['^version = "{version}"', '^current_version = "{version}"']
[tool.pytest.ini_options]
pythonpath = ["assets"]
[tool.ruff.lint]
ignore = [
"ANN401", # Dynamically typed expressions (typing.Any) are disallowed
"D100", # Missing docstring in public module
"D101", # Missing docstring in public class
"D103", # Missing docstring in public function
"D102", # Missing docstring in public method
"D104", # Missing docstring in public package"
"D107", # Missing docstring in `__init__`
"D203", # one-blank-line-before-class
"D212", # multi-line-summary-first-line
"E501", # Line too long
"FA100", # Add `from __future__ import annotations` to simplify `typing.Optional`
"FA102", # Missing `from __future__ import annotations`, but uses PEP 585 collection
"FBT001", # Boolean-typed positional argument in function definition
"G004", # Logging statement uses f-string"
#
"PLR0913", # Too many arguments in function definition
"RET504", # Unnecessary assignment to `...` before `return` statement
"S101", # Use of `assert` detected
"S603", # `subprocess` call: check for execution of untrusted input
"S607", # Starting a process with a partial executable path
"TD002", # Missing author in TODO; try: `# TODO(<author_name>): ...` or `# TODO @<author_name>: ...`
"TD003", # Missing issue link on the line following this TODO
"TRY003", # Avoid specifying long messages outside the exception class
]
select = ["ALL"]
# https://github.com/astral-sh/ruff/issues/8794
[tool.ruff.lint.per-file-ignores]
"tests/**/*.py" = [
"INP001", # File `tests/test_preprocessors/replace_ats.py` is part of an implicit namespace package. Add an `__init__.py`.
]
"cli-help-output-to-docs.py" = [
"T201", # `print` found
]