python-msilib 0.1.1__tar.gz → 0.3.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.

Potentially problematic release.


This version of python-msilib might be problematic. Click here for more details.

Files changed (29) hide show
  1. {python_msilib-0.1.1 → python_msilib-0.3.0}/Makefile +1 -1
  2. python_msilib-0.3.0/PKG-INFO +91 -0
  3. python_msilib-0.3.0/README.md +56 -0
  4. {python_msilib-0.1.1 → python_msilib-0.3.0}/pyproject.toml +12 -13
  5. {python_msilib-0.1.1 → python_msilib-0.3.0}/src/msilib/__init__.py +281 -109
  6. {python_msilib-0.1.1 → python_msilib-0.3.0}/src/msilib/_msi.c +333 -358
  7. python_msilib-0.3.0/src/msilib/include/_msi.h +699 -0
  8. {python_msilib-0.1.1 → python_msilib-0.3.0}/src/msilib/include/pythoncapi_compat.h +40 -1
  9. python_msilib-0.3.0/src/msilib/schema.py +5757 -0
  10. python_msilib-0.3.0/src/msilib/sequence.py +132 -0
  11. python_msilib-0.3.0/src/msilib/text.py +292 -0
  12. python_msilib-0.3.0/src/python_msilib.egg-info/PKG-INFO +91 -0
  13. {python_msilib-0.1.1 → python_msilib-0.3.0}/src/python_msilib.egg-info/requires.txt +0 -4
  14. python_msilib-0.3.0/tests/test_msilib.py +135 -0
  15. python_msilib-0.1.1/PKG-INFO +0 -39
  16. python_msilib-0.1.1/README.md +0 -1
  17. python_msilib-0.1.1/src/msilib/include/_msi.h +0 -696
  18. python_msilib-0.1.1/src/msilib/schema.py +0 -1007
  19. python_msilib-0.1.1/src/msilib/sequence.py +0 -126
  20. python_msilib-0.1.1/src/msilib/text.py +0 -129
  21. python_msilib-0.1.1/src/python_msilib.egg-info/PKG-INFO +0 -39
  22. python_msilib-0.1.1/tests/test_msilib.py +0 -163
  23. {python_msilib-0.1.1 → python_msilib-0.3.0}/LICENSE +0 -0
  24. {python_msilib-0.1.1 → python_msilib-0.3.0}/MANIFEST.in +0 -0
  25. {python_msilib-0.1.1 → python_msilib-0.3.0}/setup.cfg +0 -0
  26. {python_msilib-0.1.1 → python_msilib-0.3.0}/src/python_msilib.egg-info/SOURCES.txt +0 -0
  27. {python_msilib-0.1.1 → python_msilib-0.3.0}/src/python_msilib.egg-info/dependency_links.txt +0 -0
  28. {python_msilib-0.1.1 → python_msilib-0.3.0}/src/python_msilib.egg-info/not-zip-safe +0 -0
  29. {python_msilib-0.1.1 → python_msilib-0.3.0}/src/python_msilib.egg-info/top_level.txt +0 -0
@@ -60,7 +60,7 @@ cov: wheel
60
60
  cd $(COV_TMPDIR) && coverage run || true
61
61
  coverage combine --keep --quiet -a $(COV_TMPDIR)/
62
62
  coverage report
63
- coverage html
63
+ coverage html --show-contexts
64
64
 
65
65
  .PHONY: release
66
66
  release:
@@ -0,0 +1,91 @@
1
+ Metadata-Version: 2.4
2
+ Name: python-msilib
3
+ Version: 0.3.0
4
+ Summary: Read and write Microsoft Installer files
5
+ Author-email: Marcelo Duarte <marcelotduarte@users.noreply.github.com>
6
+ License-Expression: PSF-2.0
7
+ Project-URL: Source, https://github.com/marcelotduarte/python-msilib
8
+ Keywords: msilib
9
+ Classifier: Development Status :: 5 - Production/Stable
10
+ Classifier: Intended Audience :: Developers
11
+ Classifier: Natural Language :: English
12
+ Classifier: Operating System :: OS Independent
13
+ Classifier: Programming Language :: C
14
+ Classifier: Programming Language :: Python
15
+ Classifier: Programming Language :: Python :: 3
16
+ Classifier: Programming Language :: Python :: 3 :: Only
17
+ Classifier: Programming Language :: Python :: 3.13
18
+ Classifier: Programming Language :: Python :: 3.14
19
+ Classifier: Programming Language :: Python :: Free Threading :: 2 - Beta
20
+ Classifier: Topic :: Software Development :: Build Tools
21
+ Classifier: Topic :: Software Development :: Libraries :: Python Modules
22
+ Classifier: Topic :: System :: Software Distribution
23
+ Classifier: Topic :: Utilities
24
+ Requires-Python: >=3.13
25
+ Description-Content-Type: text/markdown
26
+ License-File: LICENSE
27
+ Provides-Extra: dev
28
+ Requires-Dist: bump-my-version==1.2.3; extra == "dev"
29
+ Requires-Dist: cibuildwheel==3.2.0; extra == "dev"
30
+ Requires-Dist: pre-commit==4.3.0; extra == "dev"
31
+ Provides-Extra: tests
32
+ Requires-Dist: coverage==7.10.7; extra == "tests"
33
+ Requires-Dist: pytest==8.4.2; extra == "tests"
34
+ Dynamic: license-file
35
+
36
+ # python-msilib
37
+
38
+ Read and write Microsoft Installer files.
39
+
40
+ This library is legacy code borrowed from Python 3.12, intended to allow
41
+ cx_Freeze's bdist_msi command to continue working in Python 3.13 and 3.14.
42
+
43
+ [![PyPI version](https://img.shields.io/pypi/v/python-msilib)](https://pypi.org/project/python-msilib/)
44
+ [![PyPi Downloads](https://img.shields.io/pypi/dm/python-msilib)](https://pypistats.org/packages/python-msilib)
45
+ [![Conda Version](https://img.shields.io/conda/vn/conda-forge/python-msilib.svg)](https://anaconda.org/conda-forge/python-msilib)
46
+ [![Conda Downloads](https://anaconda.org/conda-forge/python-msilib/badges/downloads.svg)](https://anaconda.org/conda-forge/python-msilib)
47
+ [![Python](https://img.shields.io/pypi/pyversions/python-msilib)](https://www.python.org/)
48
+ [![Coverage](https://raw.githubusercontent.com/marcelotduarte/python-msilib/python-coverage-comment-action-data/badge.svg)](https://htmlpreview.github.io/?https://github.com/marcelotduarte/python-msilib/blob/python-coverage-comment-action-data/htmlcov/index.html)
49
+ [![Ruff](https://img.shields.io/endpoint?url=https://raw.githubusercontent.com/astral-sh/ruff/main/assets/badge/v2.json)](https://github.com/astral-sh/ruff)
50
+
51
+ ## Installation
52
+
53
+ Choose the Python package manager according to your system. See how the
54
+ installation works with the most common ones, which are pip and conda.
55
+
56
+ To install the latest version of `python-msilib` into a virtual environment:
57
+
58
+ ```
59
+ uv pip install --upgrade python-msilib
60
+ ```
61
+
62
+ If using pip:
63
+
64
+ ```
65
+ pip install --upgrade python-msilib
66
+ ```
67
+
68
+ From the conda-forge channel:
69
+
70
+ ```
71
+ conda install conda-forge::python-msilib
72
+ ```
73
+
74
+ To install the latest development build:
75
+
76
+ ```
77
+ uv pip uninstall python-msilib
78
+ uv pip install --extra-index-url https://test.pypi.org/simple/ python-msilib --prerelease=allow --index-strategy=unsafe-best-match
79
+ ```
80
+
81
+ If using pip:
82
+
83
+ ```
84
+ pip uninstall python-msilib
85
+ pip install --extra-index-url https://test.pypi.org/simple/ python-msilib --pre --no-cache
86
+ ```
87
+
88
+ ## Documentation
89
+
90
+ Please read the documentation at Python
91
+ [docs](https://docs.python.org/3.12/library/msilib.html).
@@ -0,0 +1,56 @@
1
+ # python-msilib
2
+
3
+ Read and write Microsoft Installer files.
4
+
5
+ This library is legacy code borrowed from Python 3.12, intended to allow
6
+ cx_Freeze's bdist_msi command to continue working in Python 3.13 and 3.14.
7
+
8
+ [![PyPI version](https://img.shields.io/pypi/v/python-msilib)](https://pypi.org/project/python-msilib/)
9
+ [![PyPi Downloads](https://img.shields.io/pypi/dm/python-msilib)](https://pypistats.org/packages/python-msilib)
10
+ [![Conda Version](https://img.shields.io/conda/vn/conda-forge/python-msilib.svg)](https://anaconda.org/conda-forge/python-msilib)
11
+ [![Conda Downloads](https://anaconda.org/conda-forge/python-msilib/badges/downloads.svg)](https://anaconda.org/conda-forge/python-msilib)
12
+ [![Python](https://img.shields.io/pypi/pyversions/python-msilib)](https://www.python.org/)
13
+ [![Coverage](https://raw.githubusercontent.com/marcelotduarte/python-msilib/python-coverage-comment-action-data/badge.svg)](https://htmlpreview.github.io/?https://github.com/marcelotduarte/python-msilib/blob/python-coverage-comment-action-data/htmlcov/index.html)
14
+ [![Ruff](https://img.shields.io/endpoint?url=https://raw.githubusercontent.com/astral-sh/ruff/main/assets/badge/v2.json)](https://github.com/astral-sh/ruff)
15
+
16
+ ## Installation
17
+
18
+ Choose the Python package manager according to your system. See how the
19
+ installation works with the most common ones, which are pip and conda.
20
+
21
+ To install the latest version of `python-msilib` into a virtual environment:
22
+
23
+ ```
24
+ uv pip install --upgrade python-msilib
25
+ ```
26
+
27
+ If using pip:
28
+
29
+ ```
30
+ pip install --upgrade python-msilib
31
+ ```
32
+
33
+ From the conda-forge channel:
34
+
35
+ ```
36
+ conda install conda-forge::python-msilib
37
+ ```
38
+
39
+ To install the latest development build:
40
+
41
+ ```
42
+ uv pip uninstall python-msilib
43
+ uv pip install --extra-index-url https://test.pypi.org/simple/ python-msilib --prerelease=allow --index-strategy=unsafe-best-match
44
+ ```
45
+
46
+ If using pip:
47
+
48
+ ```
49
+ pip uninstall python-msilib
50
+ pip install --extra-index-url https://test.pypi.org/simple/ python-msilib --pre --no-cache
51
+ ```
52
+
53
+ ## Documentation
54
+
55
+ Please read the documentation at Python
56
+ [docs](https://docs.python.org/3.12/library/msilib.html).
@@ -1,16 +1,14 @@
1
1
  [build-system]
2
2
  requires = [
3
3
  # setuptools 77.0.3+ supports PEP 639
4
- "setuptools>=77.0.3,<=80.9.0",
4
+ # setuptools 78.1.1 fix path traversal vulnerability
5
+ "setuptools>=78.1.1,<=80.9.0",
5
6
  ]
6
7
  build-backend = "setuptools.build_meta"
7
8
 
8
9
  [project]
9
10
  name = "python-msilib"
10
11
  description = "Read and write Microsoft Installer files"
11
- authors = [
12
- {name = "Marcelo Duarte", email = "marcelotduarte@users.noreply.github.com"}
13
- ]
14
12
  classifiers = [
15
13
  "Development Status :: 5 - Production/Stable",
16
14
  "Intended Audience :: Developers",
@@ -22,6 +20,7 @@ classifiers = [
22
20
  "Programming Language :: Python :: 3 :: Only",
23
21
  "Programming Language :: Python :: 3.13",
24
22
  "Programming Language :: Python :: 3.14",
23
+ "Programming Language :: Python :: Free Threading :: 2 - Beta",
25
24
  "Topic :: Software Development :: Build Tools",
26
25
  "Topic :: Software Development :: Libraries :: Python Modules",
27
26
  "Topic :: System :: Software Distribution",
@@ -34,6 +33,10 @@ license-files = ["LICENSE"]
34
33
  readme = "README.md"
35
34
  requires-python = ">=3.13"
36
35
 
36
+ [[project.authors]]
37
+ name = "Marcelo Duarte"
38
+ email = "marcelotduarte@users.noreply.github.com"
39
+
37
40
  [project.optional-dependencies]
38
41
  dev = [
39
42
  "bump-my-version==1.2.3",
@@ -43,10 +46,6 @@ dev = [
43
46
  tests = [
44
47
  "coverage==7.10.7",
45
48
  "pytest==8.4.2",
46
- "pluggy==1.6.0",
47
- "pytest-mock==3.15.1",
48
- "pytest-timeout==2.4.0",
49
- "pytest-xdist==3.8.0",
50
49
  ]
51
50
 
52
51
  [project.urls]
@@ -75,7 +74,7 @@ where = ["src"]
75
74
 
76
75
  [tool.bumpversion]
77
76
  commit = true
78
- current_version = "0.1.1"
77
+ current_version = "0.3.0"
79
78
  message = "Bump version: {current_version} → {new_version} [ci skip]"
80
79
  parse = """(?x)
81
80
  (?P<major>0|[1-9]\\d*)\\.
@@ -110,7 +109,7 @@ optional_value = "final"
110
109
  [tool.cibuildwheel]
111
110
  build-frontend = "build[uv]"
112
111
  build-verbosity = 1
113
- #enable = ["cpython-freethreading"]
112
+ enable = ["cpython-freethreading"]
114
113
 
115
114
  [tool.coverage.html]
116
115
  directory = "build/coverage_html_report"
@@ -132,15 +131,15 @@ precision = 2
132
131
 
133
132
  [tool.coverage.paths]
134
133
  source = [
135
- "msilib/",
134
+ "src/msilib/",
136
135
  "*/msilib/",
137
136
  ]
138
137
 
139
138
  [tool.coverage.run]
140
- command_line = "-m pytest -nauto"
139
+ command_line = "-m pytest"
140
+ dynamic_context = "test_function"
141
141
  source = ["msilib"]
142
142
  parallel = true
143
- patch = ["subprocess"]
144
143
  relative_files = true
145
144
 
146
145
  [tool.pytest.ini_options]