-
Notifications
You must be signed in to change notification settings - Fork 20
Expand file tree
/
Copy pathpyproject.toml
More file actions
107 lines (94 loc) · 2.81 KB
/
pyproject.toml
File metadata and controls
107 lines (94 loc) · 2.81 KB
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
[project]
name = "pysen"
dynamic = ["version"]
dependencies = [
"GitPython>=3.0.0,<4.0.0",
"colorlog>=4.0.0,<5.0.0",
"dacite>=1.1.0,<2.0.0",
"tomlkit>=0.5.11,<1.0.0",
"unidiff>=0.6.0,<1.0.0",
]
requires-python = ">=3.10"
authors = [
{ name = "Yuki Igarashi", email = "me@bonprosoft.com" },
{ name = "Toru Ogawa", email = "ogawa@preferred.jp" },
{ name = "Ryo Miyajima", email = "ryo@preferred.jp" },
{ name = "Linsho Kaku", email = "linsho@preferred.jp" },
]
description = "Python linting made easy. Also a casual yet honorific way to address individuals who have entered an organization prior to you."
readme = "README.md"
license = "MIT"
classifiers = [
"Programming Language :: Python :: 3.10",
"Programming Language :: Python :: 3.11",
"Programming Language :: Python :: 3.12",
"Programming Language :: Python :: 3.13",
"Programming Language :: Python :: 3.14",
"Programming Language :: Python",
"License :: OSI Approved :: MIT License",
"Operating System :: POSIX",
"Operating System :: MacOS",
"Operating System :: Unix",
]
[project.optional-dependencies]
lint = [
"black>=19.10b0,<=22.10",
"flake8>=3.7,<5",
"flake8-bugbear", # flake8 doesn't have a dependency for bugbear plugin
"isort>=4.3,<5.2.0",
"mypy>=0.770,<0.800",
]
[project.scripts]
pysen = "pysen.cli:cli"
[project.urls]
Repository = "https://github.com/pfnet/pysen.git"
[build-system]
requires = ["hatchling>=1.25,<2"]
build-backend = "hatchling.build"
[tool.hatch.version]
path = "src/pysen/_version.py"
[tool.hatch.build.targets.wheel]
packages = ["src/pysen"]
[tool.pysen-cli]
settings_dir = "."
[tool.pysen]
version = "0.11"
[tool.pysen.lint]
enable_black = true
enable_flake8 = true
enable_isort = true
enable_mypy = true
mypy_preset = "very_strict"
py_version = "py310"
isort_known_first_party = ["fakes", "pysen"]
mypy_exclude = '''(?x)(
^examples/simple_package/simple_package/excluded.\.py$
| ^version_testing/.*\.py$
)'''
[[tool.pysen.lint.mypy_targets]]
paths = ["src/pysen/", "tests/"]
[[tool.pysen.lint.mypy_targets]]
paths = ["examples/advanced_example"]
[[tool.pysen.lint.mypy_targets]]
paths = ["examples/simple_package"]
[[tool.pysen.lint.mypy_targets]]
paths = ["examples/plugin_example"]
[tool.pysen.lint.source]
excludes = ["build/", "dist/", "examples/", ".tox", "version_testing/"]
[tool.pytest.ini_options]
markers = ["examples"]
[tool.black] # automatically generated by pysen
# pysen ignores and overwrites any modifications
line-length = 88
target-version = ["py310"]
[tool.isort] # automatically generated by pysen
# pysen ignores and overwrites any modifications
default_section = "THIRDPARTY"
ensure_newline_before_comments = true
force_grid_wrap = 0
force_single_line = false
include_trailing_comma = true
known_first_party = ["fakes", "pysen"]
line_length = 88
multi_line_output = 3
use_parentheses = true