Skip to main content

emfreeze is a commandline tool to freeze a venv in a standalone embeddeable packages

Project description

emfreeze

Emfreeze is a command line tool for Windows to freeze a virtual environment as a standalone package. Contrary to cx_freeze or PyInstaller, emfreeze produces no additional executables. Instead it packs your scripts and dependencys together with the according python embeddable package. Therefore it is not good for standalone Python applications but ideal for an embedded use of Python inside another application. The main benefit is that the chance of implications with anti-virus software is reduced, because your freezed package only contains signed and commonly known executables.

Warning: Emfreeze does not hide your source code in any way. The most it will do is to compile your python entry points to pyc files, which can be easily decompiled.

Installation

pip install emfreeze

Usage

Inside of your virtual environment execute the emfreeze over the command line.

emfreeze

Emfreeze will download the according Python runtime and copys it along with your python entry points, site-packages and any directory beside the Include and the Scripts directory in the dist directory.

Additional arguments

usage: emfreeze [-h] [-d PATH] [--embeddable-package PATH] [-c] [--post-build-script PATH]

Emfreeze freezes a python virtual environment together with the python embeddable package, to make it easy to embed it into other software without creating executables.

optional arguments:
  -h, --help            show this help message and exit
  -d PATH, --dist-path PATH
                        Set the path of the final build
  --embeddable-package PATH
                        Path of a compatible python embeddable package zip file, if emfreeze should not download it
  -c, --compile         Compile your toplevel scripts
  --post-build-script PATH
                        Path of a executable script (e.g. Batch-Script) which executes inside your newly build package.

Requirements and Troubleshooting

Emfreeze works obviously only with Python versions which have an embeddable package version. If this is an issue or if you experience other issues related to the embeddable package Python distribution, you can replace the runtime via the --embeddable-package argument. Just download a different distribution and zip it.

Licensing

Emfreeze is MIT licensed. But since there is no part of emfreeze inside your distributed build, you don't have to worry about that. Keep in mind that Python and your dependencys have their own licenses, so please keep that in mind.

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

emfreeze-0.2.2.tar.gz (4.7 kB view details)

Uploaded Source

Built Distribution

emfreeze-0.2.2-py3-none-any.whl (6.0 kB view details)

Uploaded Python 3

File details

Details for the file emfreeze-0.2.2.tar.gz.

File metadata

  • Download URL: emfreeze-0.2.2.tar.gz
  • Upload date:
  • Size: 4.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.1 importlib_metadata/3.10.1 pkginfo/1.7.0 requests/2.25.0 requests-toolbelt/0.9.1 tqdm/4.56.0 CPython/3.9.0

File hashes

Hashes for emfreeze-0.2.2.tar.gz
Algorithm Hash digest
SHA256 5a5bc42122400ddac7450eb6f5d1fe4abef0d846751c3eb0a65372e325a4705b
MD5 e02f41ba06e898f09ddceb00e129b302
BLAKE2b-256 1b145344ff32091a9f3f48db14fb7cde7a36fa3a4a0316197b75f62e59d3d95c

See more details on using hashes here.

File details

Details for the file emfreeze-0.2.2-py3-none-any.whl.

File metadata

  • Download URL: emfreeze-0.2.2-py3-none-any.whl
  • Upload date:
  • Size: 6.0 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.1 importlib_metadata/3.10.1 pkginfo/1.7.0 requests/2.25.0 requests-toolbelt/0.9.1 tqdm/4.56.0 CPython/3.9.0

File hashes

Hashes for emfreeze-0.2.2-py3-none-any.whl
Algorithm Hash digest
SHA256 d5ef575a1936febb41d7b3c7b0566af55c4131fae8008870557a4fa93586f4fd
MD5 aa35f833dc132e5ffe7f49f39727440c
BLAKE2b-256 07f5c961483282ec11aa78994207ee6ddc90edc357e7f6529bb74b0f77d3fdb5

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