-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathpyproject.toml
106 lines (93 loc) · 3.24 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
101
102
103
104
105
106
[build-system]
requires = ["hatchling==1.26.3"]
build-backend = "hatchling.build"
[tool.hatch.build.targets.wheel]
# In wheel, what do we want to include and exclude?
packages = ["rendercv_tinytex"]
[tool.hatch.version]
path = "rendercv_tinytex/__init__.py"
[project]
name = 'rendercv_tinytex'
authors = [{ name = 'Sina Atalay', email = 'dev@atalay.biz' }]
description = 'A TinyTeX distribution for RenderCV'
license = "MIT"
readme = "README.md"
requires-python = '>=3.10'
classifiers = [
"Intended Audience :: Science/Research",
"Intended Audience :: Education",
]
dynamic = ["version"]
[project.urls]
Source = 'https://github.com/rendercv/rendercv-tinytex'
# ======================================================================================
# Virtual Environments Below ===========================================================
# ======================================================================================
[tool.hatch.envs.default]
installer = "uv"
python = "3.13"
dependencies = [
"ruff", # to lint and format the code
"black", # to format the code
"ipython", # for ipython shell
"pyright", # to check the types
"pytest", # for testing
]
[tool.hatch.envs.default.scripts]
format = "ruff check --fix && ruff format && black rendercv_tinytex" # hatch run format
lint = "ruff check" # hatch run lint
check-types = "pyright rendercv_tinytex" # hatch run check-types
test = "pytest tests" # hatch run test
[tool.hatch.envs.test]
template = "default"
[[tool.hatch.envs.test.matrix]]
python = ["3.10", "3.11", "3.12", "3.13"]
# ======================================================================================
# Virtual Environments Above ===========================================================
# ======================================================================================
[tool.ruff]
exclude = ["tinytex-release"]
line-length = 88
[tool.ruff.format]
docstring-code-format = true
[tool.ruff.lint]
extend-select = [
"B", # flake8-bugbear
"I", # isort
"ARG", # flake8-unused-arguments
"C4", # flake8-comprehensions
"EM", # flake8-errmsg
"ICN", # flake8-import-conventions
"ISC", # flake8-implicit-str-concat
"G", # flake8-logging-format
"PGH", # pygrep-hooks
"PIE", # flake8-pie
"PL", # pylint
"PT", # flake8-pytest-style
"PTH", # flake8-use-pathlib
"RET", # flake8-return
"RUF", # Ruff-specific
"SIM", # flake8-simplify
"T20", # flake8-print
"UP", # pyupgrade
"YTT", # flake8-2020
"EXE", # flake8-executable
"NPY", # NumPy specific rules
"PD", # pandas-vet
]
ignore = [
"PLR", # Design related pylint codes
"ISC001", # Conflicts with formatter
"UP007", # I like Optional type
"PGH003", # It would be nice to not ignore this
]
flake8-unused-arguments.ignore-variadic-names = true
[tool.black]
line-length = 88 # maximum line length
preview = true # to allow enable-unstable-feature
enable-unstable-feature = [
"string_processing",
] # to break strings into multiple lines
exclude = "tinytex-release" # don't format the files in this folder
[tool.pyright]
ignore = ["**/tinytex-release/"]