-
Notifications
You must be signed in to change notification settings - Fork 3
/
Copy pathpyproject.toml
124 lines (108 loc) · 3.6 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
120
121
122
123
124
[build-system]
requires = ["setuptools", "wheel"]
build-backend = "setuptools.build_meta"
[project]
name = "LoopProjectFile"
description = "Open source structural geology data storage for Loop Projects"
authors = [{ name = "Roy Thomson", email = "roy.thomson@monash.edu" }]
license = { text = 'MIT' }
keywords = [
"earth sciences",
"data storage",
"structural geology",
"geology",
"loop3d",
]
readme = 'README.md'
requires-python = ">=3.8"
classifiers = [
'Development Status :: 5 - Production/Stable',
'Intended Audience :: Science/Research',
'Topic :: Scientific/Engineering :: Information Analysis',
'License :: OSI Approved :: MIT License',
'Operating System :: Microsoft :: Windows',
'Operating System :: POSIX',
'Operating System :: MacOS',
'Programming Language :: Python :: 3.8',
'Programming Language :: Python :: 3.9',
'Programming Language :: Python :: 3.10',
'Programming Language :: Python :: 3.11',
'Programming Language :: Python :: 3.12',
]
dependencies = ["numpy", "pandas", "netCDF4"]
dynamic = ['version']
[project.urls]
Documentation = 'https://Loop3d.org/LoopProjectFile/'
"Bug Tracker" = 'https://github.com/loop3d/LoopProjectFile/issues'
"Source Code" = 'https://github.com/loop3d/LoopProjectFile'
[tool.setuptools.dynamic]
version = { attr = 'LoopProjectFile.version.__version__' }
[tool.setuptools.packages.find]
include = ['LoopProjectFile']
[tool.isort]
profile = 'black'
line_length = 100
# Sort by name, don't cluster "from" vs "import"
force_sort_within_sections = true
# Combines "as" imports on the same line
combine_as_imports = true
[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'
[tool.blackdoc]
# From https://numpydoc.readthedocs.io/en/latest/format.html
# Extended discussion: https://github.com/pyvista/pyvista/pull/4129
# 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']
lint.external = ["E131", "D102", "D105"]
line-length = 100
indent-width = 4
target-version = 'py39'
lint.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",
]
lint.fixable = ["ALL"]
lint.unfixable = []
lint.extend-select = ["B007", "B010", "C4", "F", "NPY", "PGH004", "RSE", "RUF100"]
[tool.ruff.lint.flake8-comprehensions]
allow-dict-calls-with-keyword-arguments = true