freeze-core 0.1.0__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (71) hide show
  1. freeze_core-0.1.0/LICENSE +21 -0
  2. freeze_core-0.1.0/MANIFEST.in +6 -0
  3. freeze_core-0.1.0/Makefile +80 -0
  4. freeze_core-0.1.0/PKG-INFO +52 -0
  5. freeze_core-0.1.0/README.md +1 -0
  6. freeze_core-0.1.0/pyproject.toml +263 -0
  7. freeze_core-0.1.0/requirements-dev.txt +3 -0
  8. freeze_core-0.1.0/requirements.txt +6 -0
  9. freeze_core-0.1.0/setup.cfg +4 -0
  10. freeze_core-0.1.0/setup.py +336 -0
  11. freeze_core-0.1.0/src/freeze_core/__init__.py +3 -0
  12. freeze_core-0.1.0/src/freeze_core/bases/Win32GUI.c +238 -0
  13. freeze_core-0.1.0/src/freeze_core/bases/Win32Service.c +655 -0
  14. freeze_core-0.1.0/src/freeze_core/bases/__init__.py +1 -0
  15. freeze_core-0.1.0/src/freeze_core/bases/_common.c +483 -0
  16. freeze_core-0.1.0/src/freeze_core/bases/console.c +59 -0
  17. freeze_core-0.1.0/src/freeze_core/bases/dummy.rc +4 -0
  18. freeze_core-0.1.0/src/freeze_core/bases/manifest.rc +9 -0
  19. freeze_core-0.1.0/src/freeze_core/bases/python.manifest +35 -0
  20. freeze_core-0.1.0/src/freeze_core/icons/__init__.py +5 -0
  21. freeze_core-0.1.0/src/freeze_core/icons/launcher.icns +0 -0
  22. freeze_core-0.1.0/src/freeze_core/icons/launcher.ico +0 -0
  23. freeze_core-0.1.0/src/freeze_core/icons/launcher.svg +1 -0
  24. freeze_core-0.1.0/src/freeze_core/icons/logo.svg +1 -0
  25. freeze_core-0.1.0/src/freeze_core/icons/logox128.png +0 -0
  26. freeze_core-0.1.0/src/freeze_core/icons/py.icns +0 -0
  27. freeze_core-0.1.0/src/freeze_core/icons/py.ico +0 -0
  28. freeze_core-0.1.0/src/freeze_core/icons/py.png +0 -0
  29. freeze_core-0.1.0/src/freeze_core/icons/py.svg +1 -0
  30. freeze_core-0.1.0/src/freeze_core/icons/pyc.icns +0 -0
  31. freeze_core-0.1.0/src/freeze_core/icons/pyc.ico +0 -0
  32. freeze_core-0.1.0/src/freeze_core/icons/pyc.svg +1 -0
  33. freeze_core-0.1.0/src/freeze_core/icons/pyd.icns +0 -0
  34. freeze_core-0.1.0/src/freeze_core/icons/pyd.ico +0 -0
  35. freeze_core-0.1.0/src/freeze_core/icons/pyd.svg +1 -0
  36. freeze_core-0.1.0/src/freeze_core/icons/python.icns +0 -0
  37. freeze_core-0.1.0/src/freeze_core/icons/python.ico +0 -0
  38. freeze_core-0.1.0/src/freeze_core/icons/python.svg +1 -0
  39. freeze_core-0.1.0/src/freeze_core/icons/pythonw.icns +0 -0
  40. freeze_core-0.1.0/src/freeze_core/icons/pythonw.ico +0 -0
  41. freeze_core-0.1.0/src/freeze_core/icons/pythonw.svg +1 -0
  42. freeze_core-0.1.0/src/freeze_core/icons/pythonwx150.png +0 -0
  43. freeze_core-0.1.0/src/freeze_core/icons/pythonwx44.png +0 -0
  44. freeze_core-0.1.0/src/freeze_core/icons/pythonx150.png +0 -0
  45. freeze_core-0.1.0/src/freeze_core/icons/pythonx44.png +0 -0
  46. freeze_core-0.1.0/src/freeze_core/icons/pythonx50.png +0 -0
  47. freeze_core-0.1.0/src/freeze_core/icons/setup.icns +0 -0
  48. freeze_core-0.1.0/src/freeze_core/icons/setup.ico +0 -0
  49. freeze_core-0.1.0/src/freeze_core/icons/setup.svg +1 -0
  50. freeze_core-0.1.0/src/freeze_core/include/pythoncapi_compat.h +2301 -0
  51. freeze_core-0.1.0/src/freeze_core/initscripts/__init__.py +1 -0
  52. freeze_core-0.1.0/src/freeze_core/initscripts/__startup__.py +131 -0
  53. freeze_core-0.1.0/src/freeze_core/initscripts/console.py +25 -0
  54. freeze_core-0.1.0/src/freeze_core/initscripts/consolesetlibpath.py +39 -0
  55. freeze_core-0.1.0/src/freeze_core/initscripts/sharedlib.py +17 -0
  56. freeze_core-0.1.0/src/freeze_core/initscripts/sharedlibsource.py +25 -0
  57. freeze_core-0.1.0/src/freeze_core/legacy/Win32GUI.c +231 -0
  58. freeze_core-0.1.0/src/freeze_core/legacy/Win32Service.c +647 -0
  59. freeze_core-0.1.0/src/freeze_core/legacy/__init__.py +1 -0
  60. freeze_core-0.1.0/src/freeze_core/legacy/common.c +340 -0
  61. freeze_core-0.1.0/src/freeze_core/legacy/console.c +125 -0
  62. freeze_core-0.1.0/src/freeze_core/util.c +560 -0
  63. freeze_core-0.1.0/src/freeze_core/util.pyi +41 -0
  64. freeze_core-0.1.0/src/freeze_core.egg-info/PKG-INFO +52 -0
  65. freeze_core-0.1.0/src/freeze_core.egg-info/SOURCES.txt +69 -0
  66. freeze_core-0.1.0/src/freeze_core.egg-info/dependency_links.txt +1 -0
  67. freeze_core-0.1.0/src/freeze_core.egg-info/not-zip-safe +1 -0
  68. freeze_core-0.1.0/src/freeze_core.egg-info/requires.txt +25 -0
  69. freeze_core-0.1.0/src/freeze_core.egg-info/top_level.txt +1 -0
  70. freeze_core-0.1.0/tests/__init__.py +1 -0
  71. freeze_core-0.1.0/tests/requirements.txt +6 -0
@@ -0,0 +1,21 @@
1
+ MIT License
2
+
3
+ Copyright (c) 2025 Marcelo Duarte
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.
@@ -0,0 +1,6 @@
1
+ include Makefile
2
+ include requirements.txt
3
+ include requirements-dev.txt
4
+ recursive-include src *.c *.h *.rc python.manifest
5
+ recursive-include src/*/icons *.icns *.ico *.png *.svg
6
+ recursive-include tests *.md *.py *.txt
@@ -0,0 +1,80 @@
1
+ # Makefile to automate some tools
2
+ SHELL=/bin/bash
3
+ PATH := $(shell python -c "import sysconfig; print(sysconfig.get_path('scripts'))"):$(PATH)
4
+
5
+ PY_PLATFORM := $(shell python -c "import sysconfig; print(sysconfig.get_platform())")
6
+ PRE_COMMIT_OPTIONS := --show-diff-on-failure --color=always --all-files --hook-stage=manual
7
+
8
+ COV_TMPDIR := $(shell mktemp -d)
9
+
10
+ .PHONY: all
11
+ all: install
12
+
13
+ .PHONY: pre-commit
14
+ pre-commit: install
15
+ @(pre-commit run $(PRE_COMMIT_OPTIONS) || true) | more
16
+ @pre-commit gc
17
+
18
+ .PHONY: clean
19
+ clean:
20
+ @rm -f .coverage* || true
21
+ @rm -rf build dist wheelhouse
22
+
23
+ .PHONY: install
24
+ install:
25
+ ./ci/install-tools.sh --dev
26
+ if ! [ -f .git/hooks/pre-commit ]; then\
27
+ pre-commit install --install-hooks --overwrite -t pre-commit;\
28
+ fi
29
+
30
+ .PHONY: uninstall
31
+ uninstall:
32
+ @if [ -f .git/hooks/pre-commit ]; then\
33
+ pre-commit clean;\
34
+ pre-commit uninstall;\
35
+ rm -f .git/hooks/pre-commit;\
36
+ fi
37
+
38
+ .PHONY: upgrade
39
+ upgrade: uninstall clean install
40
+ pre-commit autoupdate
41
+ $(MAKE) pre-commit
42
+
43
+ .PHONY: tests
44
+ tests:
45
+ ./ci/install-tools.sh --tests
46
+ ./ci/build-wheel.sh
47
+ cp pyproject.toml $(COV_TMPDIR)/
48
+ cp -a tests/ $(COV_TMPDIR)/
49
+ cd $(COV_TMPDIR) && pytest -nauto -v || true
50
+
51
+ .PHONY: cov
52
+ cov:
53
+ ./ci/install-tools.sh --tests
54
+ ./ci/build-wheel.sh
55
+ @rm -rf build/coverage_html_report
56
+ cp pyproject.toml $(COV_TMPDIR)/
57
+ cp -a tests/ $(COV_TMPDIR)/
58
+ cd $(COV_TMPDIR) && coverage run || true
59
+ coverage combine --keep --quiet -a $(COV_TMPDIR)/
60
+ coverage report
61
+ coverage html
62
+
63
+ .PHONY: release
64
+ release:
65
+ bump-my-version show-bump 2>/dev/null
66
+ @echo "Run:"
67
+ @echo " bump-my-version bump <option>"
68
+ @echo "--or--"
69
+ @echo " bump-my-version bump patch --new-version=X.XX.X"
70
+ @echo "--then--"
71
+ @echo " git push origin `git branch --show-current` --tags"
72
+
73
+ .PHONY: release-dev
74
+ release-dev:
75
+ if (grep "current_version" pyproject.toml | grep -q "\-dev"); then\
76
+ bump-my-version bump --allow-dirty --no-tag build;\
77
+ else\
78
+ bump-my-version bump --allow-dirty --no-tag minor;\
79
+ fi
80
+ git log -1
@@ -0,0 +1,52 @@
1
+ Metadata-Version: 2.4
2
+ Name: freeze_core
3
+ Version: 0.1.0
4
+ Summary: Create standalone executables from Python scripts
5
+ Author-email: Marcelo Duarte <marcelotduarte@users.noreply.github.com>
6
+ License-Expression: MIT
7
+ Project-URL: Home, https://marcelotduarte.github.io/cx_Freeze
8
+ Project-URL: Changelog, https://github.com/marcelotduarte/freeze-core/CHANGELOG.md
9
+ Project-URL: Documentation, https://cx-freeze.readthedocs.io
10
+ Project-URL: Source, https://github.com/marcelotduarte/freeze-core
11
+ Project-URL: Tracker, https://github.com/marcelotduarte/cx_Freeze/issues
12
+ Keywords: cx-freeze cxfreeze cx_Freeze freeze python
13
+ Classifier: Development Status :: 5 - Production/Stable
14
+ Classifier: Intended Audience :: Developers
15
+ Classifier: Natural Language :: English
16
+ Classifier: Operating System :: OS Independent
17
+ Classifier: Programming Language :: C
18
+ Classifier: Programming Language :: Python
19
+ Classifier: Programming Language :: Python :: 3
20
+ Classifier: Programming Language :: Python :: 3 :: Only
21
+ Classifier: Programming Language :: Python :: 3.9
22
+ Classifier: Programming Language :: Python :: 3.10
23
+ Classifier: Programming Language :: Python :: 3.11
24
+ Classifier: Programming Language :: Python :: 3.12
25
+ Classifier: Programming Language :: Python :: 3.13
26
+ Classifier: Topic :: Software Development :: Build Tools
27
+ Classifier: Topic :: Software Development :: Libraries :: Python Modules
28
+ Classifier: Topic :: System :: Software Distribution
29
+ Classifier: Topic :: Utilities
30
+ Requires-Python: >=3.9
31
+ Description-Content-Type: text/markdown
32
+ License-File: LICENSE
33
+ Requires-Dist: filelock>=3.12.3
34
+ Requires-Dist: packaging>=24
35
+ Requires-Dist: tomli>=2.0.1; python_version < "3.11"
36
+ Requires-Dist: cabarchive>=0.2.4; sys_platform == "win32"
37
+ Requires-Dist: cx-logging>=3.1; sys_platform == "win32" and platform_machine != "ARM64"
38
+ Requires-Dist: striprtf>=0.0.26; sys_platform == "win32"
39
+ Provides-Extra: dev
40
+ Requires-Dist: bump-my-version==1.2.1; extra == "dev"
41
+ Requires-Dist: cibuildwheel==3.1.4; extra == "dev"
42
+ Requires-Dist: pre-commit==4.3.0; extra == "dev"
43
+ Provides-Extra: tests
44
+ Requires-Dist: coverage==7.10.6; extra == "tests"
45
+ Requires-Dist: pytest==8.4.1; extra == "tests"
46
+ Requires-Dist: pluggy==1.6.0; extra == "tests"
47
+ Requires-Dist: pytest-mock==3.14.1; extra == "tests"
48
+ Requires-Dist: pytest-timeout==2.4.0; extra == "tests"
49
+ Requires-Dist: pytest-xdist==3.8.0; extra == "tests"
50
+ Dynamic: license-file
51
+
52
+ # freeze-core
@@ -0,0 +1 @@
1
+ # freeze-core
@@ -0,0 +1,263 @@
1
+ [build-system]
2
+ requires = [
3
+ # setuptools 77.0.3+ supports PEP 639
4
+ "setuptools>=77.0.3,<=80.9.0",
5
+ "cx-logging>=3.1 ;sys_platform == 'win32'",
6
+ ]
7
+ build-backend = "setuptools.build_meta"
8
+
9
+ [project]
10
+ name = "freeze_core"
11
+ description = "Create standalone executables from Python scripts"
12
+ authors = [
13
+ {name = "Marcelo Duarte", email = "marcelotduarte@users.noreply.github.com"}
14
+ ]
15
+ classifiers = [
16
+ "Development Status :: 5 - Production/Stable",
17
+ "Intended Audience :: Developers",
18
+ "Natural Language :: English",
19
+ "Operating System :: OS Independent",
20
+ "Programming Language :: C",
21
+ "Programming Language :: Python",
22
+ "Programming Language :: Python :: 3",
23
+ "Programming Language :: Python :: 3 :: Only",
24
+ "Programming Language :: Python :: 3.9",
25
+ "Programming Language :: Python :: 3.10",
26
+ "Programming Language :: Python :: 3.11",
27
+ "Programming Language :: Python :: 3.12",
28
+ "Programming Language :: Python :: 3.13",
29
+ "Topic :: Software Development :: Build Tools",
30
+ "Topic :: Software Development :: Libraries :: Python Modules",
31
+ "Topic :: System :: Software Distribution",
32
+ "Topic :: Utilities",
33
+ ]
34
+ dependencies = [
35
+ "filelock>=3.12.3",
36
+ "packaging>=24",
37
+ "tomli>=2.0.1 ;python_version < '3.11'",
38
+ # Windows
39
+ "cabarchive>=0.2.4 ;sys_platform == 'win32'",
40
+ "cx-logging>=3.1 ;sys_platform == 'win32' and platform_machine != 'ARM64'",
41
+ "striprtf>=0.0.26 ;sys_platform == 'win32'",
42
+ ]
43
+ dynamic = ["version"]
44
+ keywords = ["cx-freeze cxfreeze cx_Freeze freeze python"]
45
+ license = "MIT"
46
+ license-files = ["LICENSE"]
47
+ readme = "README.md"
48
+ requires-python = ">=3.9"
49
+
50
+ [project.optional-dependencies]
51
+ dev = [
52
+ "bump-my-version==1.2.1",
53
+ "cibuildwheel==3.1.4",
54
+ "pre-commit==4.3.0", # python_version >= 3.9
55
+ ]
56
+ tests = [
57
+ "coverage==7.10.6",
58
+ "pytest==8.4.1",
59
+ "pluggy==1.6.0",
60
+ "pytest-mock==3.14.1",
61
+ "pytest-timeout==2.4.0",
62
+ "pytest-xdist==3.8.0",
63
+ ]
64
+
65
+ [project.urls]
66
+ Home = "https://marcelotduarte.github.io/cx_Freeze"
67
+ Changelog = "https://github.com/marcelotduarte/freeze-core/CHANGELOG.md"
68
+ Documentation = "https://cx-freeze.readthedocs.io"
69
+ Source = "https://github.com/marcelotduarte/freeze-core"
70
+ Tracker = "https://github.com/marcelotduarte/cx_Freeze/issues"
71
+
72
+ [tool.setuptools]
73
+ include-package-data = true
74
+ package-dir = {"" = "src"}
75
+ zip-safe = false
76
+
77
+ [tool.setuptools.dynamic]
78
+ version = {attr = "freeze_core.__version__"}
79
+
80
+ [tool.setuptools.packages.find]
81
+ namespaces = false
82
+ where = ["src"]
83
+
84
+ [tool.bumpversion]
85
+ commit = true
86
+ current_version = "0.1.0"
87
+ message = "Bump version: {current_version} → {new_version} [ci skip]"
88
+ parse = """(?x)
89
+ (?P<major>0|[1-9]\\d*)\\.
90
+ (?P<minor>0|[1-9]\\d*)\\.
91
+ (?P<patch>0|[1-9]\\d*)
92
+ (?:
93
+ \\.(?P<optional>0|[1-9]\\d*) # pull request number (optional)
94
+ )?
95
+ (?:
96
+ - # dash separator for pre-release section
97
+ (?P<pre>[a-zA-Z-]+)\\. # pre-release label
98
+ (?P<build>0|[1-9]\\d*) # pre-release version number
99
+ )? # pre-release section is optional
100
+ """
101
+ serialize = [
102
+ "{major}.{minor}.{patch}.{optional}-{pre}.{build}",
103
+ "{major}.{minor}.{patch}-{pre}.{build}",
104
+ "{major}.{minor}.{patch}"
105
+ ]
106
+ sign_tags = true
107
+ tag = true
108
+ tag_name = "{new_version}"
109
+ verbose = true
110
+
111
+ [[tool.bumpversion.files]]
112
+ filename = "src/freeze_core/__init__.py"
113
+
114
+ [tool.bumpversion.parts.pre]
115
+ values = ["dev", "final"]
116
+ optional_value = "final"
117
+
118
+ [tool.cibuildwheel]
119
+ before-build = "uv pip install -r pyproject.toml"
120
+ build-frontend = "build[uv]"
121
+ build-verbosity = 1
122
+ enable = ["cpython-freethreading"]
123
+ skip = [
124
+ "cp3{9,10,13,14}-musllinux_*",
125
+ "cp3{9,10,13,14}-manylinux_ppc64le",
126
+ "cp3{13,14}t-win*",
127
+ ]
128
+
129
+ [tool.cibuildwheel.linux]
130
+ archs = "x86_64 aarch64 ppc64le"
131
+ before-build = """
132
+ cd /opt/_internal && tar -xvf static-libs-for-embedding-only.tar.xz
133
+ """
134
+
135
+ [tool.cibuildwheel.macos]
136
+ archs = "universal2"
137
+ repair-wheel-command = """
138
+ delocate-wheel --require-archs {delocate_archs} -L bases/lib -w {dest_dir} {wheel}
139
+ """
140
+
141
+ [tool.coverage.html]
142
+ directory = "build/coverage_html_report"
143
+
144
+ [tool.coverage.report]
145
+ # Regexes for lines to exclude from consideration
146
+ exclude_also = [
147
+ # Don't complain about missing debug-only code:
148
+ "def __repr__",
149
+
150
+ # Don't complain about abstract methods, they aren't run:
151
+ "@(abc\\.)?abstractmethod",
152
+
153
+ # TYPE_CHECKING block is never executed during pytest run
154
+ "if TYPE_CHECKING:",
155
+ ]
156
+ ignore_errors = true
157
+ omit = [
158
+ "*/src/freeze_core/initscripts/*",
159
+ ]
160
+ precision = 2
161
+
162
+ [tool.coverage.paths]
163
+ source = [
164
+ "src/freeze_core/",
165
+ "*/src/freeze_core/",
166
+ ]
167
+
168
+ [tool.coverage.run]
169
+ command_line = "-m pytest -nauto"
170
+ source = ["freeze_core"]
171
+ parallel = true
172
+ patch = ["subprocess"]
173
+ relative_files = true
174
+
175
+ [tool.pytest.ini_options]
176
+ minversion = "7.0"
177
+ addopts = "-rpfEsXx"
178
+ testpaths = ["tests"]
179
+ filterwarnings = [
180
+ "ignore::DeprecationWarning:distutils.*",
181
+ "ignore::DeprecationWarning:pkg_resources.*",
182
+ "ignore::DeprecationWarning:setuptools.*",
183
+ ]
184
+
185
+ [tool.ruff]
186
+ line-length = 79
187
+
188
+ [tool.ruff.lint]
189
+ select = [
190
+ "A", # flake8-builtins
191
+ "ANN2", # flake8-annotations - missing return type
192
+ "ARG", # flake8-unused-arguments
193
+ "B", # flake8-bugbear
194
+ "BLE", # flake8-blind-except
195
+ "C4", # flake8-comprehensions
196
+ "D", # pydocstyle
197
+ "DTZ", # flake8-datetimez
198
+ "E", "W", # pycodestyle
199
+ "EXE", # flake8-executable
200
+ "EM", # flake8-errmsg
201
+ "ERA", # eradicate
202
+ "F", # flake8
203
+ "FA", # flake8-future-annotations
204
+ "FLY", # flynt
205
+ "G", # flake8-logging-format
206
+ "I", # isort
207
+ "ICN", # flake8-import-conventions
208
+ "INT", # flake8-gettext
209
+ "ISC003", # flake8-implicit-str-concat - explicit-string-concatenation
210
+ "LOG", # flake8-logging
211
+ "PERF", # Perflint
212
+ "PGH", # pygrep-hooks
213
+ "PIE", # flake8-pie
214
+ "PLC", "PLE", "PLR", "PLW", # pylint
215
+ "PT", # flake8-pytest-style
216
+ "PYI", # flake8-pyi
217
+ "Q004", # flake8-quotes - unnecessary-escaped-quote
218
+ "RET", # flake8-return
219
+ "RSE", # flake8-raise
220
+ "RUF", # Ruff-specific
221
+ "S", # flake8-bandit
222
+ "SIM", # flake8-simplify
223
+ "SLF", # flake8-self
224
+ "SLOT", # flake8-slots
225
+ "T10", # flake8-debugger
226
+ "TC", # flake8-type-checking
227
+ "TID", # flake8-tidy-imports
228
+ "TRY", # tryceratops
229
+ "UP", # pyupgrade
230
+ "YTT", # flake8-2020
231
+ ]
232
+ ignore = [
233
+ # ignored for now, but should be revised in future
234
+ # last revised using ruff 0.12.0
235
+ "D102", # Missing docstring in public method
236
+ "D205", # 1 blank line required between summary line and description
237
+ "D401", # First line of docstring should be in imperative mood
238
+ "PERF203", # `try`-`except` within a loop incurs performance overhead
239
+ # ignore the following
240
+ "D105", # Missing docstring in magic method
241
+ "D107", # Missing docstring in `__init__`
242
+ "D203", # conflict with D211
243
+ "D213", # conflict with D212
244
+ "PLR2004", # magic-value-comparison
245
+ "PLR0912", # too-many-branches
246
+ "PLR0913", # too-many-arguments
247
+ "PLR0915", # too-many-statements
248
+ "PYI021", # Docstrings should not be included in stubs
249
+ # avoid the rules that may cause conflict with formatter
250
+ "E501",
251
+ # prone to false positives (https://github.com/astral-sh/ruff/issues/4045)
252
+ "S603",
253
+ ]
254
+
255
+ [tool.ruff.lint.per-file-ignores]
256
+ "src/freeze_core/initscripts/*" = ["S102"]
257
+ "tests/*" = ["S101"]
258
+
259
+ [tool.ruff.lint.flake8-builtins]
260
+ strict-checking = true
261
+
262
+ [tool.ruff.lint.flake8-unused-arguments]
263
+ ignore-variadic-names = true
@@ -0,0 +1,3 @@
1
+ bump-my-version==1.2.1
2
+ cibuildwheel==3.1.4
3
+ pre-commit==4.3.0
@@ -0,0 +1,6 @@
1
+ filelock>=3.12.3
2
+ packaging>=24
3
+ tomli>=2.0.1 ;python_version < '3.11'
4
+ cabarchive>=0.2.4 ;sys_platform == 'win32'
5
+ cx-logging>=3.1 ;sys_platform == 'win32' and platform_machine != 'ARM64'
6
+ striprtf>=0.0.26 ;sys_platform == 'win32'
@@ -0,0 +1,4 @@
1
+ [egg_info]
2
+ tag_build =
3
+ tag_date = 0
4
+