-
Notifications
You must be signed in to change notification settings - Fork 10
/
pyproject.toml
119 lines (104 loc) · 3.52 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
107
108
109
110
111
112
113
114
115
116
117
118
119
[build-system]
requires = ['setuptools']
build-backend = 'setuptools.build_meta'
[project]
name = 'map2loop'
description = 'Generate 3D model data from 2D maps.'
authors = [{name = 'Loop team'}]
readme = 'README.md'
requires-python = '>=3.8'
keywords = [ "earth sciences",
"geology",
"3-D modelling",
"structural geology",
"uncertainty",]
license = {text = 'MIT'}
classifiers = [
"Development Status :: 4 - Beta",
"Intended Audience :: Science/Research",
"Natural Language :: English",
"Programming Language :: Python",
"Programming Language :: Python :: 3",
"License :: OSI Approved :: MIT License",
"Operating System :: OS Independent",
"Topic :: Scientific/Engineering",
"Topic :: Scientific/Engineering :: GIS",
]
dynamic = ['version','dependencies']
[project.urls]
Documentation = 'https://Loop3d.org/map2loop/'
"Bug Tracker" = 'https://github.com/Loop3D/map2loop/issues'
"Source Code" = 'https://github.com/Loop3D/map2loop'
[tool.setuptools.dynamic]
dependencies = { file = ["dependencies.txt"]}
version = { attr = "map2loop.version.__version__" }
[tool.setuptools.packages.find]
include = ['map2loop', 'map2loop.*']
[tool.black]
line-length = 100
skip-string-normalization = true
target-version = ['py39']
exclude = '\.eggs|\.git|\.mypy_cache|\.tox|\.venv|_build|buck-out|build|dist|node_modules'
skip-magic-trailing-comma = true
# Add an option to remove the trailing comma of separated lists
# but it doesn't exist because python devs don't like beautiful code.
# black specifically adds trailing commas due to git diff lengths
# which is an insufficient reason to destroy beautiful code making
# it look like an unfinished thought or an incomplete
[tool.blackdoc]
# From https://numpydoc.readthedocs.io/en/latest/format.html
# The length of docstring lines should be kept to 75 characters to facilitate
# reading the docstrings in text terminals.
line-length = 75
[tool.build_sphinx]
source-dir = 'doc'
build-dir = './doc/build'
all_files = 1
[tool.upload_sphinx]
upload-dir = 'doc/build/html'
[tool.pydocstyle]
match = '(?!coverage).*.py'
convention = "numpy"
add-ignore = ["D404"]
[tool.codespell]
skip = '*.pyc,*.txt,*.gif,*.png,*.jpg,*.ply,*.vtk,*.vti,*.vtu,*.js,*.html,*.doctree,*.ttf,*.woff,*.woff2,*.eot,*.mp4,*.inv,*.pickle,*.ipynb,flycheck*,./.git/*,./.hypothesis/*,*.yml,doc/_build/*,./doc/images/*,./dist/*,*~,.hypothesis*,./doc/examples/*,*.mypy_cache/*,*cover,./tests/tinypages/_build/*,*/_autosummary/*'
quiet-level = 3
[tool.ruff]
exclude = ['.git', 'pycache__', 'build', 'dist', 'doc/examples', 'doc/_build']
line-length = 100
indent-width = 4
target-version = 'py39'
[tool.ruff.lint]
external = ["E131", "D102", "D105"]
ignore = [
# whitespace before ':'
"E203",
# line break before binary operator
# "W503",
# line length too long
"E501",
# do not assign a lambda expression, use a def
"E731",
# too many leading '#' for block comment
"E266",
# ambiguous variable name
"E741",
# module level import not at top of file
"E402",
# Quotes (temporary)
"Q0",
# bare excepts (temporary)
# "B001", "E722",
"E722",
# we already check black
# "BLK100",
# 'from module import *' used; unable to detect undefined names
"F403",
]
fixable = ["ALL"]
unfixable = []
extend-select = ["B007", "B010", "C4", "F", "NPY", "PGH004", "RSE", "RUF100"]
[tool.ruff.lint.flake8-comprehensions]
allow-dict-calls-with-keyword-arguments = true
[tool.ruff.lint.per-file-ignores]
"__init__.py" = ["F401"]