Skip to main content

The quick and dirty Python packager for Windows

Project description

WinPackIt is the winpackit.py module, a Python script with no external dependency required. It will package your Python project into a stand-alone Windows distribution.

How does it work.

Python 3.5 introduced the embeddable package distribution on Windows: that is, an “almost complete” Python zipped in a single, non-installer file. While intended mainly for embedding purposes, the opposite is also possible: with some tinkering, one can make this package into a full-fledged self-contained Python environment ready to support a Python application.

Basically, that is what this script is for.

When you run WinPackIt,
  • it will download and unpack a Python embeddable package,

  • download and install Pip into it,

  • download and install any needed external dependency,

  • copy your project files,

  • optionally compile your file to .pyc,

  • leave a friendly install.bat file for the final user to run.

At this point, you may distribute the resulting “build” folder to the final users; all they have to do…
  • drop the folder anywhere on their Windows box,

  • open it and double-clic the install.bat file;

  • this in turn will produce Windows shortcut(s) to the entry-point(s) of your app to double-click, tailored for their machine.

Requirements.

You will need Python 3.6+ to run WinPackIt. No external dependency is required. On the target side, you can produce builds based on any Python 3.5+. You don’t have to match your own Python with the target Python.

Linux/Mac users.

The WinPackIt script runs on Linux too, of course. Except, the build process needs to run the target Python a few times in order to install external packages and compile .pyc files - and that will be impossible on Linux. Then again, if you need no external packages nor compiling, it should work as a charm. See docs for more details.

Usage.

  • pip install winpackit in your virtual environment, or even pipx install winpackit if your really like WinPackIt and would love to have it always at hand;

  • run python -m winpackit my_runner.py;

  • this will produce a my_runner.py runner file for WinPackIt: open it and customize to your liking;

  • run python my_runner.py;

  • this will produce a “build” folder of your project, as specified in the runner file settings, ready to be distributed to the final user.

See the doc file for more details.

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

WinPackIt-0.7.0.tar.gz (14.8 kB view details)

Uploaded Source

Built Distribution

WinPackIt-0.7.0-py3-none-any.whl (16.2 kB view details)

Uploaded Python 3

File details

Details for the file WinPackIt-0.7.0.tar.gz.

File metadata

  • Download URL: WinPackIt-0.7.0.tar.gz
  • Upload date:
  • Size: 14.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.22.0 setuptools/40.6.2 requests-toolbelt/0.9.1 tqdm/4.42.1 CPython/3.7.2

File hashes

Hashes for WinPackIt-0.7.0.tar.gz
Algorithm Hash digest
SHA256 2382e85b46dbb4450ba14202eb88c8651e2f8cea39b86d3188520f4fa1de547f
MD5 ac3caf9728177c463f796338715307b9
BLAKE2b-256 37dfd1f69a8febd968a44cac1314631edd8deaaef9349dccd90b89c08c2c0086

See more details on using hashes here.

File details

Details for the file WinPackIt-0.7.0-py3-none-any.whl.

File metadata

  • Download URL: WinPackIt-0.7.0-py3-none-any.whl
  • Upload date:
  • Size: 16.2 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.22.0 setuptools/40.6.2 requests-toolbelt/0.9.1 tqdm/4.42.1 CPython/3.7.2

File hashes

Hashes for WinPackIt-0.7.0-py3-none-any.whl
Algorithm Hash digest
SHA256 37d2745b2b78ce8b421cf63ed450e267603e0481d5e7c6214920ae58689c34ad
MD5 a5d1b180b1f10e6141917e7a24cf3a7d
BLAKE2b-256 a1db32de39018c9197b2a2bc4ebe759c8529c656e8dd7b05160f2ffac8561586

See more details on using hashes here.

Supported by

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