# IPWorks OpenPGP 2020 Python Edition

Questions / Feedback?

# Licensing Instructions

## Standard (Royalty-Free) Licensing

In Windows, run the setup .exe file to install a license. No other actions are required.

In Linux and macOS the install-license utility is used to activate a license. The install-license utility is located in the "install-license" folder in the root of the installation. For instance:

After activating the full version license obtain the RuntimeLicense from code. For instance:

After obtaining the RuntimeLicense value assign this to the RuntimeLicense property to license the application for deployment. For instance:

component.runtime_license = "<value from above>"

This provides a license to the component and your application will run without a license prompt on any machine to which it is distributed.

Note that each component instance in your code must be assigned a RuntimeLicense value.

## Trial Licensing

In Windows, run the setup .exe file to install a license. No other actions are required.

In Linux and macOS the install-license utility is used to activate a license. The install-license utility is located in the "install-license" folder in the root of the installation. For instance:

The trial license will be downloaded and stored in the ".nsoftware" folder of the user's home directory (i.e. "~/.nsoftware").

The components may then be used on the machine for 30 days.

## Single Machine Licensing

In Windows, run the setup .exe file to install a license. No other actions are required.

In Linux and macOS the install-license utility is used to activate a license. The install-license utility is located in the "install-license" folder in the root of the installation. For instance:

The single machine license will be downloaded and stored in the ".nsoftware" folder of the user's home directory (i.e. "~/.nsoftware").

At runtime a valid license must be present in either the current directory or the ".nsoftware" folder of the user's home directory.

## Deployment

After licensing your application using one of the above methods, no further steps are required to embed the license for distribution.

To deploy your application, simply ensure the module is installed on the deployment machine using pip:

  cd C:\path\to\install_dir
python -m pip install ipworksopenpgp-20.0.xxxx.tar.gz


Once the product's Python package has been installed, the module can be imported and used: from ipworksopenpgp import *. Nothing else is required to deploy the application.

As an alternative to installing the module using pip, you can manually deploy the application and module together. The module comes in two pieces, both of which must be deployed with the application.

• The Python module named ipworksopenpgp.py
• The native library (unmanaged) named as follows:
• Windows: pyipworksopenpgp20.dll (available for x64 and x86 processor architectures)
• Linux: libpyipworksopenpgp.so.20.0 (available for x64 and x86 processor architectures)
• macOS: libpyipworksopenpgp20.0.dylib (available for x64 and ARM64 processor architectures)

Both pieces are included in the product's Python package, <install_dir>\ipworksopenpgp-20.0.xxxx.tar.gz.

To package the module and native library alongside the application, first extract the archive then use the setuptools module to run the setup script setup.py. For instance:

  cd C:\path\to\install_dir\ipworksopenpgp-20.0.xxxx\
python setup.py build --build-lib=<app_dir>


The above setup command packages the module and native library for deployment. A folder is created in the app_dir directory with the module and the native library packaged inside.