forked from pyinstaller/pyinstaller
-
Notifications
You must be signed in to change notification settings - Fork 0
/
setup.cfg
174 lines (152 loc) · 5.65 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
164
165
166
167
168
169
170
171
172
173
174
[metadata]
name = pyinstaller
version = attr: PyInstaller.__version__
url = https://www.pyinstaller.org/
project_urls =
Source = https://github.com/pyinstaller/pyinstaller
description = PyInstaller bundles a Python application and all its dependencies into a single package.
# Long description consists of README.rst only
long_description = file: README.rst
long_description_content_type = text/x-rst
author = Hartmut Goebel, Giovanni Bajo, David Vierra, David Cortesi, Martin Zibricky
keywords =
packaging, app, apps, bundle, convert, standalone, executable
pyinstaller, cxfreeze, freeze, py2exe, py2app, bbfreeze
license = GPLv2-or-later with a special exception which allows to use PyInstaller to build and distribute non-free programs (including commercial ones)
license_file = COPYING.txt
classifiers =
Development Status :: 6 - Mature
Environment :: Console
Intended Audience :: Developers
Intended Audience :: Other Audience
Intended Audience :: System Administrators
License :: OSI Approved :: GNU General Public License v2 (GPLv2)
Natural Language :: English
Operating System :: MacOS :: MacOS X
Operating System :: Microsoft :: Windows
Operating System :: POSIX
Operating System :: POSIX :: AIX
Operating System :: POSIX :: BSD
Operating System :: POSIX :: Linux
Operating System :: POSIX :: SunOS/Solaris
Programming Language :: C
Programming Language :: Python
Programming Language :: Python :: 3
Programming Language :: Python :: 3 :: Only
Programming Language :: Python :: 3.7
Programming Language :: Python :: 3.8
Programming Language :: Python :: 3.9
Programming Language :: Python :: 3.10
Programming Language :: Python :: Implementation :: CPython
Topic :: Software Development
Topic :: Software Development :: Build Tools
Topic :: Software Development :: Interpreters
Topic :: Software Development :: Libraries :: Python Modules
Topic :: System :: Installation/Setup
Topic :: System :: Software Distribution
Topic :: Utilities
[options]
zip_safe = False
include_package_data = False
python_requires = >=3.7, <3.11
## IMPORTANT: Keep aligned with requirements.txt
install_requires =
setuptools
altgraph
pefile >= 2017.8.1 ; sys_platform == 'win32'
pywin32-ctypes >= 0.2.0 ; sys_platform == 'win32'
macholib >= 1.8 ; sys_platform == 'darwin'
pyinstaller-hooks-contrib >= 2021.4
importlib-metadata ; python_version < '3.8'
[options.extras_require]
; for 3rd-party packages testing their hooks in their CI:
hook_testing =
pytest >= 2.7.3
execnet >= 1.5.0
psutil
encryption =
tinyaes>=1.0.0
[options.entry_points]
console_scripts =
pyinstaller = PyInstaller.__main__:run
pyi-archive_viewer = PyInstaller.utils.cliutils.archive_viewer:run
pyi-bindepend = PyInstaller.utils.cliutils.bindepend:run
pyi-grab_version = PyInstaller.utils.cliutils.grab_version:run
pyi-makespec = PyInstaller.utils.cliutils.makespec:run
pyi-set_version = PyInstaller.utils.cliutils.set_version:run
[sdist]
# For release distribution generate .tar.gz archives only. These are
# about 10% smaller then .zip files.
formats=gztar
#[bdist_wheel]
# We MUST NOT create an universal wheel as PyInstaller has different
# dependencies per platforms and version and includes compiled binaries.
#universal = MUST NOT
[clean]
# Always fully clean. Otherwise, bootloaders for one platform remain in the
# build cache and end up blindly copied into wheels for another platform.
all=1
[catchlog]
# Restrict log-level to DEBUG because py.test cannot handle the volume of
# messages that TRACE produces.
log_level = DEBUG
[tool:pytest]
# Do not put timeout to all tests because it does not play nice with running
# tests in parallel. Rather put timeout to single tests: that are known to
# @pytest.mark.timeout(timeout=0)
# 'thread' timeout method adds more overhead but works in Travis containers.
# Add a global timeout to prevent a hung CI
timeout = 600
# Look for tests only in tests directories.
# Later we could change this to just "tests/**/test_*.py"
testpaths =
tests
python_files = "tests/functional/test_*.py" "tests/unit/test_*.py"
# Don't search test-data for test-cases
norecursedirs:
tests/functional/data
tests/functional/logs
tests/functional/modules
tests/functional/scripts
tests/functional/specs
tests/scripts
tests/unit/Tree_files
tests/unit/hookutils_files
tests/unit/test_modulegraph/testdata
tests/unit/test_modulegraph/testpkg-*
filterwarnings =
; in unit/test_altgraph/test_graph.py
ignore:Please use assertEqual instead.:DeprecationWarning
; tests/unit/test_modulegraph/test_modulegraph.py::TestFunctions::test_os_listdir
ignore:Use zipio.listdir instead of os_listdir:DeprecationWarning:
; Enable Python's improperly closed file handle detection...
error::ResourceWarning:
; ... and force pytest to raise an error if the ResourceWarning is emitted during test cleanup.
error::pytest.PytestUnraisableExceptionWarning:
# Display summary info for (s)skipped, (X)xpassed, (x)xfailed, (f)failed and (e)errored tests
# Skip doctest text files
# If you want to run just a subset of test use command
#
# pytest -k test_name
#
addopts = "-v" "-rsxXfE" "--doctest-glob="
markers =
darwin: only run on macOS
linux: only runs on GNU/Linux
win32: only runs on Windows
[flake8]
exclude =
.git,
doc/_build,
doc/conf.py,
build,
dist,
bootloader,
PyInstaller/lib,
tests/functional/data/sphinx/conf.py,
tests/functional/data/name_clash_with_entry_point
tests/unit/test_modulegraph,
show-source = True
# E265 - block comment should start with '# '
extend-ignore = E265
max-line-length=120