Skip to main content

A pure Python library for reading and manipulating Windows Installer (MSI) files. Based on the rust msi crate and msitools utilities

Project description

pymsi logo

pymsi

PyPI PyPI - Downloads MIT License Python Versions CI Documentation Status pre-commit.ci status

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:

pip install pymsi

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
  suminfo - Print summary information
  customactions (ca) - Decode custom actions and static invocation sites
  analyze - Summarize installer behavior for review
  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


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

pymsi-0.0.0rc1.tar.gz (301.7 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

pymsi-0.0.0rc1-py3-none-any.whl (74.5 kB view details)

Uploaded Python 3

File details

Details for the file pymsi-0.0.0rc1.tar.gz.

File metadata

  • Download URL: pymsi-0.0.0rc1.tar.gz
  • Upload date:
  • Size: 301.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.14

File hashes

Hashes for pymsi-0.0.0rc1.tar.gz
Algorithm Hash digest
SHA256 8e1b82f2406dda3ac0ac2bf9fb9722190e898b0874240ec585c360f406259f5f
MD5 fb89780bbf59ec03730fdd748ca28613
BLAKE2b-256 dbad0baa590f62c03dcbb2f0f85792d0b12eb8a4416f410731845f2f312e6982

See more details on using hashes here.

Provenance

The following attestation bundles were made for pymsi-0.0.0rc1.tar.gz:

Publisher: release.yml on nightlark/pymsi

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file pymsi-0.0.0rc1-py3-none-any.whl.

File metadata

  • Download URL: pymsi-0.0.0rc1-py3-none-any.whl
  • Upload date:
  • Size: 74.5 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.14

File hashes

Hashes for pymsi-0.0.0rc1-py3-none-any.whl
Algorithm Hash digest
SHA256 b2d60a3bad11b522e359ca5aa7643c9c248877c833681b76a60a42b8bae2c37d
MD5 ea36e4242f49b2a1050c49d1368a25e6
BLAKE2b-256 17ece943bb5eb371d148f9911cfcf8644d61240183a6647df1d27df58197aec1

See more details on using hashes here.

Provenance

The following attestation bundles were made for pymsi-0.0.0rc1-py3-none-any.whl:

Publisher: release.yml on nightlark/pymsi

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page