forked from pyinstaller/pyinstaller
-
Notifications
You must be signed in to change notification settings - Fork 2
/
setup.cfg
194 lines (170 loc) · 6.23 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
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
[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_files = 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.8
Programming Language :: Python :: 3.9
Programming Language :: Python :: 3.10
Programming Language :: Python :: 3.11
Programming Language :: Python :: 3.12
Programming Language :: Python :: 3.13
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]
packages = find:
zip_safe = False
include_package_data = False
python_requires = >=3.8, <3.14
install_requires =
setuptools >= 42.0.0
altgraph
# pefile 2024.8.26 contains performance regression that heavily impacts our binary dependency analysis
pefile >= 2022.5.30, != 2024.8.26; sys_platform == 'win32'
pywin32-ctypes >= 0.2.1 ; sys_platform == 'win32'
macholib >= 1.8 ; sys_platform == 'darwin'
pyinstaller-hooks-contrib >= 2024.9
importlib_metadata >= 4.6 ; python_version < "3.10"
packaging >= 22.0
[options.packages.find]
include =
PyInstaller
PyInstaller.*
[options.package_data]
PyInstaller =
# Include all bootloaders in wheels by default.
bootloader/*/*
# These files need to be explicitly included as well.
fake-modules/*.py
fake-modules/_pyi_rth_utils/*.py
hooks/rthooks.dat
lib/README.rst
[options.extras_require]
; for 3rd-party packages testing their hooks in their CI:
hook_testing =
pytest >= 2.7.3
execnet >= 1.5.0
psutil
; for CLI tab completion
completion =
argcomplete
[options.entry_points]
console_scripts =
pyinstaller = PyInstaller.__main__:_console_script_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" "-rsfE" "--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