-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathsetup.cfg
More file actions
164 lines (142 loc) · 4.66 KB
/
setup.cfg
File metadata and controls
164 lines (142 loc) · 4.66 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
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
164
# Packaging Information
# =====================
#
# Epitome
[metadata]
name = pds_epitome
author = PDS
author_email = pds_operator@jpl.nasa.gov
description = A small demonstration of the PDS Python repository template
long_description = file: README.md
long_description_content_type = text/markdown
version = file: src/pds/epitome/VERSION.txt
license = apache-2.0
keywords = pds, epitome, exemplar, prototype, demonstration, example, exhibit
url = https://github.com/nasa-pds-engineering-node/epitome
download_url = https://github.com/nasa-pds-engineering-node/epitome/releases/
classifiers =
Programming Language :: Python :: 3
Programming Language :: Python :: 3.13
Operating System :: OS Independent
# Options
# -------
#
# The options here describe the morphology of the package, such as the
# packages it depends on, namespaces, and so forth.
[options]
install_requires = # nothing yet
zip_safe = True
include_package_data = True
package_dir =
= src
packages = find_namespace:
python_requires = >= 3.13
[options.extras_require]
dev =
black~=23.7.0
flake8~=6.1.0
flake8-bugbear~=23.7.10
flake8-docstrings~=1.7.0
pep8-naming~=0.13.3
mypy~=1.5.1
pydocstyle~=6.3.0
coverage~=7.3.0
pytest~=7.4.0
pytest-cov~=4.1.0
pytest-watch~=4.2.0
pytest-xdist~=3.3.1
pre-commit~=3.3.3
sphinx~=8.2.3
sphinx-rtd-theme~=3.0.2
alabaster~=1.0.0
tox~=4.11.0
Jinja2~=3.1.6
sphinxcontrib-googleanalytics ~= 0.5 # To reproduce NASA-PDS/roundup-action#157
[options.entry_points]
console_scripts =
pds-epitome = pds.epitome.main:main
[options.packages.find]
# Don't change this. Needed to find packages under src/
where = src
# Coverage Testing
# ----------------
#
# The ``coverage`` tool helps ensure that all parts of your code is actually
# used. The settings here tell what files we can skip. Feel free to adjust
# this.
#
# See https://coverage.readthedocs.io/ for more.
[coverage:run]
# omit = */_version.py,*/__init__.py # We no longer user Versioneer 😆
# Test Options
# ------------
#
# Generic unit, functional, integration, acceptance, etc., testing goes here.
# Right now it's blank.
[test]
# (Blank for now.)
# Pytest
# ------
#
# Pytest is the modern way to run all sorts of tests in code. It works with
# the ``unittest`` module in the Python Standard Library and also offers its
# own shortcuts to simplifying writing and running tests.
#
# See https://docs.pytest.org/ for more information.
[tool:pytest]
addopts = -n auto --cov=pds
# Installation Options
# --------------------
#
# Any custom options needed to install this package go here. Right now it's
# blank.
[install]
# (Blank for now.)
# Flake8
# ------
#
# Flake8 (pronounced "flay-kate") is a Python style guide tool. It checks your
# code against a library of "best practices" for writing Python and lets you
# know when things aren't quite the "best". There are numerous options below
# and you can read more about the tool at https://flake8.pycqa.org/
[flake8]
max-line-length = 120
extend-exclude = docs,tests,setup.py
docstring_convention = google
# Ignoring:
# E203 prevents flake8 from complaining about whitespace around slice
# components. Black formats per PEP8 and flake8 doesn't like some of
# this.
#
# E501 prevents flake8 from complaining line lengths > 79. We will use
# flake8-bugbear's B950 to handle line length lint errors. This trips
# when a line is > max-line-length + 10%.
extend-ignore = E203, E501
# Selects following test categories:
# D: Docstring errors and warnings
# E, W: PEP8 errors and warnings
# F: PyFlakes codes
# N: PEP8 Naming plugin codes
# B: flake8-bugbear codes
# B***: Specific flake8-bugbear opinionated warnings to trigger
# B902: Invalid first argument used for method. Use self for instance
# methods, and cls for class methods
# B903: Use collections.namedtuple (or typing.NamedTuple) for data classes
# that only set attributes in an __init__ method, and do nothing else.
# B950: Line too long. This is a pragmatic equivalent of pycodestyle's
# E501: it considers "max-line-length" but only triggers when the value
# has been exceeded by more than 10%.
select = D,E,F,N,W,B,B902,B903,B950
# mypy
# ----
#
# ``mypy`` checks your use of type annotations in modern Python code, similar
# to compile-time type checking in statically typed languages. This helps
# detect errors early instead of at run-time where they're much harder to
# debug.
#
# For more information about ``mypy``, see: https://mypy.readthedocs.io/
[mypy]
# The generic ``mypy`` settings are blank for now, but there are more specific
# options below. Note that the section syntax for ``mypy`` includes
# glob-style wildcards to match file patterns.