5. License Types

This documentation is only apply to Pyarmor 8.0 plus.

Pyarmor is published in PyPI, free trial version never expires. Try it by the following commands:

$ pip install pyarmor
$ pyarmor gen foo.py
$ python dist/foo.py

There are some limitations in free version, for example, can’t obfuscate big scripts etc. These limitations can be unlocked by different license types. Pyarmor has 4 kind of licenses:

  • Basic

  • Pro: Irreversible Obfuscation

  • Group: Offline build

  • CI: for CI/CD pipeline, new in v9.0

Table-1. Compare Different Licenses

Feature

Free

Basic

Pro

Group

CI

Big Script / Mix String 1

Y

Y

Y

Y

BCC / RFT / FLY mode 2

Y

Y

Y

Offline build 3

Y

Maximum build devices 4

100

100

200

0

Unlimited local dockers 5

Y

Work in CI/CD pipeline 6

Y

Y

Y

Notes

1
  • Big Script: file size exceeds a certain value.

  • Mix Str: obfuscating string constant in script

2
  • RFT Mode: renaming function/class/method/variable in Python scripts

  • BCC Mode: Transforming some Python functions in scripts to c functions, compile them to machine instructions directly

3

Offline build: the build device need not be online to verify Pyarmor License

4

Maximum devices could install Pyarmor, each docker run will be taken as one new build device, CI license only works in CI/CD pipeline

5

Unlimited local dockers: run docker container in local machine, may be offline or in private network

6

Work in CI/CD pipeline: it need special option to register Pyarmor in CI/CD pipeline

Important

All Pyarmor Licenses are only used to generate the obfuscated scripts in build device

It need neither install Pyarmor nor verify Pyarmor License to execute obfuscated scripts

The obfuscated scripts are generated by Pyarmor, but they are completely independent of Pyarmor

You can take them as normal Python scripts, so what the obfuscated scripts do is controlled by you, not by Pyarmor

5.1. Terms of Use

  1. Only use Pyarmor on your own scripts

    In any case, even you have purchased Pyarmor License, it’s not allowed to obfuscate other scripts of which you haven’t property. For example, call pyarmor in your app to obfuscate your customer’s scripts, provide obfuscation services based on Pyarmor by website etc.

  2. No profit no license required

    Free version can be used to obfuscate your scripts which COULD NOT make lot of money for you. Otherwise it need purchase Pyarmor License.

  3. One product one license

    One product means one kind of product, not one copy of product. For example, Micorsoft Excel is one product, even it’s installed on countless devices

    Each license has an unique number, the format is pyarmor-vax-xxxxxx, which x stands for a digital.

  4. Pay once

    Except CI License, all the other licenses work forever with Pyarmor version when this license is purchased, but may not work in future Pyarmor versions

  5. Fair use

    If you have purchased Pyarmor License for one product, but you have aother product, and the total revenue of the other project is less than 100 x Pyarmor License fee, you could rent this license in your aother product

    Pyarmor Pro License still could be used in CI/CD pipeline for low volume (100 runs per month)

    Pyarmor CI License has rate limit in CI/CD pipeline

In details check Pyarmor EULA

5.2. Privacy

License No. and product name will be embedded into obfuscated scripts, all the other user’s information, for example, regname, email are not

For Pyarmor Basic and Pro License, only Pyarmor License file, serial number of hard disk, Ethernet address, IPv4/IPv6 address, and hostname will be sent to Pyarmor License Server for verification

When using Basic or CI License in CI/CD pipeline, some information about docker like docker name, ethernet address, IPv4/IPv6 address, and license information will be sent to Pyarmor License Server for verification

No any user script will be uploaded to Pyarmor License Server

5.3. Technical Support

License fees only for unlock features, not include technical supports

Users need to learn Pyarmor features and how to use it by themself. Generally Pyarmor Team won’t help to debug users’ case and teach them how to use Pyarmor

Pyarmor provides comprehensive learning systems, including but not limited to the following ways:

  • Online documentation

  • Checklist and FAQs could fix 90% issues reported to Pyarmor Team

  • Discussions in Pyarmor project home

  • Full examples to show each option usage and common cases by command pyarmor man

  • Learn Pyarmor concepts by figure and animations in EKE Learning Platform (coming soon)

Rome was not bulit in a day. Pyarmor Team keeps improving documentation and learning systems according to users feedback to make it easy and effects

Report bugs and request new features in Pyarmor project home, Email to pyarmor@163.com is only for security and private issues, there may no reply for common technical issues.

Pyarmor team generally will handle submitted issues within 24 hours (working time), but may be extended during holidays or special circumstances

Pyarmor Team doesn’t provide any instant technical support by telphone or other similar tools.

5.4. Purchasing license

If you have Pyarmor 8.6+ installed, this command also could open shopping cart:

$ pyarmor reg --buy

Open Pyarmor Shopping Cart in any web browser:

5.5. Refund policy

If activation file isn’t used, and purchasing date is in 30 days, refund is acceptable.

Out of 30 days, or activation file has been used, refund request will be rejected.

5.6. Appendix

5.6.1. What is one product

First of all, if not for sale, all the Python scripts are belong to one product “non-profits”.

One product in Pyarmor world means a product name and everything that makes up this name.

It includes all the devices to develop, build, debug, test product.

It also includes product current version, history versions and all the future versions.

One product may has several variants, each variant name is composed of product name plus feature name. As long as the proportion of the variable part is far less than that of the common part, they’re considered as “one product”.

Pyarmor is one product, it includes:

  • Pyarmor basic, Pyarmor pro, and Pyarmor group

  • pyarmor-webui which provides graphics interface for pyarmor.

  • the order system of Pyarmor is a Django’s app running in cloud-server. This Django’s app also belongs to one product Pyarmor.

  • the laptop used to develop Pyarmor, the PCs used to test Pyarmor, the cloud-server to serve order system of Pyarmor, all of them belong to one product Pyarmor.

  • Pyarmor 7.x, Pyarmor 8.x and Pyarmor 9.x

Microsoft Office is not one product, because each product in Microsoft Office is functional independence. For example, Microsoft Word and Microsoft Excel belong to Microsoft Office, but they’re totally different.

Microsoft Word is one product, and Microsoft Word 2003,Word 2007 etc. are belong to one product Microsoft word.

5.6.2. Q & A

I noticed that the pricing table lists “0 Maximum build devices,” for the CI/CD plan which has left me a bit confused. Could you please clarify what this means?

It means CI License only works in CI/CD pipeline, can’t be used in local device.

If we are using the product in our CI/CD environment we can deploy it to unlimited number of kubernetes pods

If the product means the obfuscated scripts, Pyarmor has no any limitation on it.

Pyarmor License is only apply to build machine in which to generate the obfuscated scripts.