-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathpyproject.toml
85 lines (74 loc) · 2.18 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
[tool.poetry]
name = "frontmatter-format"
# Keep this a dev version, as the dynamic versioning plugin is used for actual release versions:
version = "0.0.0.dev"
description = "A micro-format for YAML metadata on any file."
authors = ["Joshua Levy <[email protected]>"]
readme = "README.md"
license = "MIT"
repository = "https://github.com/jlevy/frontmatter-format"
[tool.poetry.dependencies]
python = "^3.10"
ruamel-yaml = "^0.18.6"
[tool.poetry.group.dev.dependencies]
black = "^24.10.0"
pytest = "^8.3.3"
ruff = "^0.4.10"
usort = "^1.0.8.post1"
mypy = "^1.13.0"
codespell = "^2.3.0"
rich = "^13.9.3"
[build-system]
requires = ["poetry-core"]
build-backend = "poetry.core.masonry.api"
# Auto-generated version for builds based on git tag or commit.
#
# Preferred styles of versioning (PEP 440 compliant):
# 1.2.3 (stable release)
# 1.2.3a4 (pre-release, no dash or dots)
# 1.2.3rc1 (release candidate)
# 1.2.3.dev4+abcdef12 (development build, .dev for dev releases and +commit hash)
#
# Tags with a "v" prefix (e.g., v1.2.3) or additional dots (e.g., v1.2.3.rc1) are recognized
# but normalized to the preferred style for distribution.
# See: https://sam.hooke.me/note/2023/08/poetry-automatically-generated-package-version-from-git-commit/
[tool.poetry-dynamic-versioning]
enable = true
vcs = "git"
pattern = "^v?(?P<base>\\d+\\.\\d+\\.\\d+)(-?((?P<stage>[a-zA-Z]+)\\.?(?P<revision>\\d+)?))?"
format-jinja = """
{%- if distance == 0 -%}
{{- base -}}
{%- if stage -%}
{{ stage }}{{ revision | default("") }}
{%- endif -%}
{%- else -%}
{{- base }}.dev{{ distance }}+{{commit}}
{%- endif -%}
"""
[tool.poetry.scripts]
lint = "devtools.lint:main"
test = "pytest:main"
[tool.black]
line-length = 100
[tool.ruff]
line-length = 100
[tool.ruff.lint]
ignore = ["E402", "E731", "E712"]
[tool.mypy]
disable_error_code = [
"import-untyped",
]
[tool.codespell]
# ignore-words-list = "foo,bar"
# skip = "foo.py,bar.py"
[tool.pytest.ini_options]
python_files = ["*.py"]
python_classes = ["Test*"]
python_functions = ["test_*"]
testpaths = [
"frontmatter_format",
"tests",
]
norecursedirs = []
filterwarnings = []