A pure Python library for reading and manipulating Windows Installer (MSI) files. Based on the rust msi crate and msitools utilities
Project description
pymsi
A pure Python library for reading and manipulating Windows Installer (MSI) files. Based on the rust msi crate and msitools utilities.
Getting Started
For a demo of what pymsi can do, check out the online MSI viewer and file extractor on our ReadTheDocs site. It's like lessmsi, but runs fully client-side in your browser.
For more in-depth documentation on pymsi usage and the API, see the documentation (very early WIP).
Installation
pymsi is available on PyPI (PEP 541 request for pymsi name is being processed):
pip install python-msi
It is recommended to either install it in a virtual environment, or use a tool such as pipx or uv to avoid potential conflicts with other Python modules on the same system.
Usage
To use pymsi as a library that gets called from other code:
import pymsi
To use pymsi as a command line tool:
pymsi <command> [path_to_msi_file] [output_folder]
Use the help command to see a list of supported commands:
Available commands:
tables - List all tables in the MSI file
dump - Dump the contents of the MSI file
test - Check if the file is a valid MSI file
extract - Extract files from the MSI file
help - Show this help message
Getting Involved
For questions or support, please create a new discussion on GitHub Discussions, or open an issue for bug reports and feature requests.
Contributing
Contributions are welcome. Bug fixes or minor changes are preferred via a pull request to the pymsi GitHub repository. For more information on contributing see the CONTRIBUTING file.
License
pymsi is released under the MIT license. See the LICENSE and NOTICE files for details. All new contributions must be made under this license.
SPDX-License-Identifier: MIT
LLNL-CODE-862419
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file python_msi-0.0.0b3.tar.gz.
File metadata
- Download URL: python_msi-0.0.0b3.tar.gz
- Upload date:
- Size: 243.1 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
6f3f2c132928b36c55bc8af053acc58ec36472a0d75953136aa884cc1bf170f0
|
|
| MD5 |
cda12cb125fff42c20c66af2e10c7982
|
|
| BLAKE2b-256 |
a817587a55d90925f8fbeadfb995b1a1039a491f89ab143f80433f76170f1ac8
|
Provenance
The following attestation bundles were made for python_msi-0.0.0b3.tar.gz:
Publisher:
release.yml on nightlark/pymsi
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
python_msi-0.0.0b3.tar.gz -
Subject digest:
6f3f2c132928b36c55bc8af053acc58ec36472a0d75953136aa884cc1bf170f0 - Sigstore transparency entry: 804041191
- Sigstore integration time:
-
Permalink:
nightlark/pymsi@99864af9c36eaaa4a78ad539f4f4cdd0e90f6da7 -
Branch / Tag:
refs/tags/v0.0.0b3 - Owner: https://github.com/nightlark
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@99864af9c36eaaa4a78ad539f4f4cdd0e90f6da7 -
Trigger Event:
push
-
Statement type:
File details
Details for the file python_msi-0.0.0b3-py3-none-any.whl.
File metadata
- Download URL: python_msi-0.0.0b3-py3-none-any.whl
- Upload date:
- Size: 49.9 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
ec3673f28737f2a3944100b199140ea27292aa548abda36cc97bce8b85c6a966
|
|
| MD5 |
1cc80047520ddbc840b0dcf7a62841c5
|
|
| BLAKE2b-256 |
754e71baedc1bf23439cb3bd59117b1975fee656a9bc89e59ac2574007c79f96
|
Provenance
The following attestation bundles were made for python_msi-0.0.0b3-py3-none-any.whl:
Publisher:
release.yml on nightlark/pymsi
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
python_msi-0.0.0b3-py3-none-any.whl -
Subject digest:
ec3673f28737f2a3944100b199140ea27292aa548abda36cc97bce8b85c6a966 - Sigstore transparency entry: 804041218
- Sigstore integration time:
-
Permalink:
nightlark/pymsi@99864af9c36eaaa4a78ad539f4f4cdd0e90f6da7 -
Branch / Tag:
refs/tags/v0.0.0b3 - Owner: https://github.com/nightlark
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@99864af9c36eaaa4a78ad539f4f4cdd0e90f6da7 -
Trigger Event:
push
-
Statement type: