-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathpyproject.toml
More file actions
131 lines (108 loc) · 3.06 KB
/
pyproject.toml
File metadata and controls
131 lines (108 loc) · 3.06 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
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
[build-system]
build-backend = "setuptools.build_meta"
requires = [ "setuptools>=77.0.3" ]
[project]
name = "femethods"
description = "Implementation of Finite Element Analysis"
readme = "README.md"
authors = [
{ name = "Joseph Contreras", email = '26684136+JosephJContreras@users.noreply.github.com' },
]
requires-python = ">=3.11"
classifiers = [
# https://pypi.org/classifiers/
"Development Status :: 2 - Pre-Alpha",
"Intended Audience :: Developers",
"Operating System :: OS Independent",
"Programming Language :: Python :: 3 :: Only",
"Programming Language :: Python :: 3.11",
"Programming Language :: Python :: 3.12",
"Programming Language :: Python :: 3.13",
"Programming Language :: Python :: 3.14",
]
dynamic = [ "version" ]
dependencies = [
"matplotlib",
"numpy",
]
optional-dependencies.dev = [
"black",
"coverage",
"coveralls",
"flake8",
"isort",
"mypy",
"pip-tools",
"pre-commit",
"pylint",
"pyproject-fmt",
"pytest",
"pytest-cov",
"twine",
"validate-pyproject[all]",
]
optional-dependencies.docs = [
"sphinx",
]
urls.Homepage = "https://femethods.readthedocs.io/en/latest/index.html"
urls.Source = "https://github.com/JJCoding01/FEmethods"
[tool.setuptools.dynamic]
version = { attr = "femethods.__version__" }
[tool.setuptools.packages.find]
include = [ 'femethods' ]
[tool.black]
line-length = 88
[tool.isort]
force_alphabetical_sort_within_sections = true
group_by_package = true
lines_between_sections = 1
lines_between_types = 1
multi_line_output = 3
profile = "black"
src_paths = [ "femethods", "tests", "docs" ]
known_first_party = [ "femethods" ]
[tool.pytest.ini_options]
# See https://docs.pytest.org/en/6.2.x/usage.html for more details
addopts = [
# "--maxfail=3", # stop tests after this many fails
"-rfE", # Short summary of failed tests in terminal
"-qq", # quiet mode (displays less verbose output). Can also stack to -qqq
"--cov-context=test",
]
testpaths = [ "tests" ]
[tool.mypy]
plugins = [
]
# setup some defaults for incremental typing
strict = true
allow_subclassing_any = true
follow_imports = "silent" # options: "skip", "normal", "silent"
no_implicit_reexport = false
show_error_codes = true
warn_return_any = true
warn_unused_configs = true
warn_unused_ignores = true
# only check the areas of the project that have been typed so far
files = [ # whitelist files as typing is added to the project
# white list typed modules here
"femethods/core",
"femethods/reactions",
"femethods/loads",
"femethods/elements",
# optionally, white list specific files here
# "femethods/elements/__base.py",
"femethods/elements/beam/__base.py",
# module level files
"femethods/validation.py",
"femethods/mesh.py",
]
exclude = [
# black list any non-typed files that are inside a white-listed module.
# these are regex patterns, so anchor the start to the begining of the
# package name
".*distributed.*.py",
"^femethods/elements/beam/*",
]
disable_error_code = [
"attr-defined", # this allows imports without module being in __all__
]