-
Notifications
You must be signed in to change notification settings - Fork 2
/
setup.cfg
163 lines (149 loc) · 4.49 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
160
161
162
163
# Discord educational bot for the Aerospace Engineering Python course
# Copyright (C) 2020 Delft University of Technology
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU Affero General Public License as
# published by the Free Software Foundation, either version 3 of the
# License, or (at your option) any later version.
# This program is distributed in the hope that it will be useful, but
# WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
# Affero General Public License for more details.
# You should have received a copy of the GNU Affero General Public
# License along with this program.
# If not, see <https://www.gnu.org/licenses/>.
[metadata]
name = edubot
description = Discord bot for the TU Delft Aerospace Engineering Python course
long_description = file: README.md
long_description_content_type = text/markdown
keywords =
discord
bot
python
online-lecturing
license = GNU Affero General Public License v3
license-file = LICENSE
url = https://github.com/TUDelft-CNS-ATM/EduBot
author = Joost Ellerbroek
author_email = j.ellerbroek@tudelft.nl
classifiers =
Development Status :: 3 - Alpha
Intended Audience :: Education
License :: OSI Approved :: GNU Affero General Public License v3
Operating System :: OS Independent
Programming Language :: Python :: 3.7
Programming Language :: Python :: 3.8
Topic :: Communications :: Chat
Topic :: Education
[options]
zip_safe = False
packages = find:
python_requires = >= 3.7
package_dir =
= src
install_requires =
discord.py
# discord.py[voice] Uncomment to use Voice API
matplotlib
emoji
Deprecated
Click
setup_requires =
setuptools_scm
setuptools >= 40
tests_require =
pytest
pytest-cov
# [options.package_data]
# edubot = static/*
[options.packages.find]
where = src
[options.entry_points]
console_scripts =
edubot = edubot.run:cli
[options.extras_require]
dev =
pytest
pytest-cov
pytest-asyncio
flake8
flake8-black
flake8-docstrings
flake8-isort
# docs =
# sphinx
# sphobjinv
# sphinx-autodoc-typehints
# sphinxcontrib-bibtex
# sphinxcontrib-plantuml
# sphinx_bootstrap_theme
[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 Installed Python modules/packages in .env
.env
# Cyclomatic McCabe Complexity
max-complexity = 10
# Forcing Google convention docstrings
docstring-convention = google
extend-ignore =
D107 # Silences missing Docstring in __init__()
D104 # Silences missing docstring in public package
D202 # Silences no blank lines allowed after docstring (for Black compat.)
W503 # Silences line-break not after operator (This is a new convention)
E203 # Silences whitespace before ':' (for Black compatibility)
# D101: Silences missing docstring in public class for tests directory
per-file-ignores =
tests/*:D101,D100
[tool:isort]
line_length = 79
# Sets the imports which should appear as third-party packages
known_third_party =
discord
emoji
matplotlib
pytest
# 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 =
edubot
.
# Excludes the following directories from the coverage report
# .env = Default name of the virtual environment from CONTRIBUTING.md
omit =
.env/*
tests/*
setup.py