Repolode
takluyver

takluyver/pynsist

A tool that builds Windows installers for Python applications, bundling Python itself so users don't need it installed.

Stars
992
Forks
125
Open issues
36
Last commit
3 months ago

What is it?

Pynsist packages Python applications into Windows installers. The generated installer includes a Python interpreter, so people who don't have Python installed can run the application after installing it.

You describe the app in an installer.cfg file: its name, version, entry point, icon, and extra files. You also list dependencies, either as packages to fetch from PyPI (which must provide wheels) or as local wheel files. Running the pynsist command then produces the installer, using NSIS to build the executable.

The tool is installed from PyPI and can be run as a command or via python -m nsist, so it can be added as a step in a larger build pipeline.

Key features

  • 01Bundles a Python interpreter inside the Windows installer
  • 02Configured through a simple installer.cfg file
  • 03Fetches dependencies from PyPI as wheels or uses local wheel files
  • 04Includes extra files and data folders in the installer
  • 05Can be run as a command or via python -m nsist for build scripts

Use cases

  • Distributing a Python desktop application to Windows users who don't have Python
  • Automating installer creation as part of a release build pipeline
  • Shipping a self-contained Python tool with its dependencies to end users

Quick start

  1. 1

    Install NSIS from its download page

  2. 2

    Install pynsist from PyPI

    pip install pynsist
  3. 3

    Write an installer.cfg config file

  4. 4

    Generate the installer

    pynsist installer.cfg

Things to know

  • Builds Windows installers only, so it targets Windows distribution.
  • NSIS must be installed separately before use.
  • Pynsist 2.7 requires Python 3.6 or above; older Python versions need older Pynsist releases that no longer get updates.

In collections

Topics

FAQ

What is pynsist?
A tool that builds Windows installers for Python applications, bundling Python itself so users don't need it installed. Pynsist packages Python applications into Windows installers. The generated installer includes a Python interpreter, so people who don't have Python installed can run the application after installing it.
Is pynsist free to use? What license does it have?
pynsist is open source under the Other license. Check the license terms before using it in commercial products.
Is pynsist still maintained?
Updated within 6 months. The last commit to pynsist was on Aug 20, 2026.
What can I use pynsist for?
Distributing a Python desktop application to Windows users who don't have Python Automating installer creation as part of a release build pipeline Shipping a self-contained Python tool with its dependencies to end users
How do I install pynsist?
Install NSIS from its download page Install pynsist from PyPI: pip install pynsist Write an installer.cfg config file Generate the installer: pynsist installer.cfg
Where can I get pynsist?
The source code and installation instructions are on GitHub: https://github.com/takluyver/pynsist

Summary generated by AI from the project's README. GitHub stats refresh daily.

Related projects