-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathsetup.cfg
159 lines (148 loc) · 4.25 KB
/
setup.cfg
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
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
# Copyright 2020 Kilian Swannet, San Kilkis
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
# implied. See the License for the specific language governing
# permissions and limitations under the License.
[metadata]
name = numfoil
description = A Thin Airfoil Theory Solver
long_description = file: README.md, CHANGELOG.md
long_description_content_type = text/markdown
keywords =
aerodynamics
aircraft
license = Apache License Version 2.0
license-file = LICENSE.md
url = https://github.com/skilkis/pybot
author = Kilian Swannet, San Kilkis
classifiers =
Development Status :: 3 - Alpha
Intended Audience :: Education
License :: OSI Approved :: Apache License Version 2.0
Operating System :: OS Independent
Programming Language :: Python :: 3.8
Topic :: Education
[options]
zip_safe = false
packages = find:
python_requires = >= 3.8
package_dir =
= src
install_requires =
matplotlib
numpy
Deprecated
scipy
numba
setup_requires =
setuptools >= 40
setuptools_scm
tests_require =
pytest
pytest-cov
# [options.package_data]
# numfoil = ../bin/*
[options.packages.find]
where = src
[options.extras_require]
dev =
colorama
flake8
flake8-black
flake8-docstrings
flake8-isort
pytest
pytest-cov
pyyaml
xfoil =
xfoil@git+https://github.com/skilkis/xfoil_wrapper.git
[flake8]
# Strict PEP-8 Guidelines for Line-Length and Doc-Strings
max-line-length = 79
max-doc-length = 72
exclude =
# No need to traverse our git directory
.git
# There's no value in checking cache directories
**/*__pycache__
# Exclude VS Code Folder
.vscode
# Exclude Python Packages in .env
.env*
# Temporary location of packaged files during pip install
build
# Setuptools .egg directory
.eggs
# Legacy numfoil files
src/numfoil/legacy/*
# Cyclomatic McCabe Complexity
max-complexity = 10
# Forcing Google convention docstrings
docstring-convention = google
extend-ignore =
D104 # Silences missing docstring in public package
D107 # Silences missing Docstring in __init__()
D202 # Silences no blank lines allowed after docstring (for Black compat.)
E203 # Silences whitespace before ':' (for Black compatibility)
W503 # Silences line-break not after operator (This is a new convention)
# D101: Silences missing docstring in public class for tests directory
per-file-ignores =
tests/*:D101,D100
*/jit_funcs.py:D103
[tool:isort]
line_length = 79
# Sets the imports which should appear as third-party packages
known_third_party =
matplotlib
numpy
Deprecated
xfoil
known_first_party =
numfoil
# The settings below add compatibility for use with the Black formatter
# See: https://github.com/psf/black/issues/127#issuecomment-520760380
multi_line_output = 3
include_trailing_comma = True
# [doc8]
# Style-guide enforcement for .rst files
# file-encoding =
[tool:pytest]
# Runs coverage.py through use of the pytest-cov plugin
# An xml report is generated and results are output to the terminal
addopts =
--cov
--cov-report xml:coverage.xml
--cov-report term
filterwarnings =
ignore::DeprecationWarning:jinja2.*:
markers =
sphinx
# Sets the minimum allowed pytest version
minversion = 5.0
# Sets the path where test files are located (Speeds up Test Discovery)
testpaths = tests
[coverage:run]
# Due to a strange bug with xml output of coverage.py not writing the full-path
# of the sources, the full root directory is presented as a source alongside
# the main package. As a result any importable Python file/package needs to be
# included in the omit
source =
numfoil
.
# Excludes the following directories from the coverage report
# .env = Default name of the virtual environment from CONTRIBUTING.md
# Global
omit =
*/.env*/*
*/tests/*
*/assignment/*
*/setup.py
*/docs/*