Skip to main content

A tool used to obfuscate python scripts, bind obfuscated scripts to fixed machine or expire obfuscated scripts.

Project description

PyArmor is a command line tool used to obfuscate python scripts, bind obfuscated scripts to fixed machine or expire obfuscated scripts. It protects Python scripts by the following ways:

  • Obfuscate code object to protect constants and literal strings.

  • Obfuscate co_code of each function (code object) in runtime.

  • Clear f_locals of frame as soon as code object completed execution.

  • Verify the license file of obfuscated scripts while running it.

Look at what happened after is obfuscated by PyArmor. Here are the files list in the output path dist:

pytransform/ or _pytransform.dll or _pytransform.dylib

dist/ is obfuscated script, the content is:

from pytransform import pyarmor_runtime
__pyarmor__(__name__, __file__, b'\x06\x0f...', 1)

There is an extra folder pytransform called Runtime Package, which are the only required to run or import obfuscated scripts. So long as this package is in any Python path, the obfuscated script dist/ can be used as normal Python script.

The original python scripts can be replaced with obfuscated scripts seamlessly.

Support Platforms

  • Python 2.5, 2.6, 2.7 and Python3

  • win32, win_amd64, linux_i386, linux_x86_64, macosx_x86_64

  • Embedded Platform: Raspberry Pi, Banana Pi, Orange Pi, TS-4600 / TS-7600

Quick Start


pip install pyarmor

Obfuscate scripts:

pyarmor obfuscate

Run obfuscated scripts:

cd dist

Obfuscate scripts with an expired license:

pyarmor licenses --expired 2018-12-31 r001
pyarmor obfuscate --with-license licenses/r001/license.lic

Pack obfuscated scripts to one bundle:

pip install pyinstaller
pyarmor pack

There is also a web-ui package pyarmor-webui:

pip install pyarmor-webui

Start webui, open web page in browser:


If there is any question, first check these questions and solutions, it may help you solve the problem quickly.

If there is no solution, for technical issue, click here to report an issue according to the issue template, for business and security issue send email to

More Resources

Project details

Release history Release notifications | RSS feed

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution (2.3 MB view hashes)

Uploaded source

Built Distribution

pyarmor-7.7.0-py2.py3-none-any.whl (2.3 MB view hashes)

Uploaded py2 py3

Supported by

AWS AWS Cloud computing Datadog Datadog Monitoring Facebook / Instagram Facebook / Instagram PSF Sponsor Fastly Fastly CDN Google Google Object Storage and Download Analytics Huawei Huawei PSF Sponsor Microsoft Microsoft PSF Sponsor NVIDIA NVIDIA PSF Sponsor Pingdom Pingdom Monitoring Salesforce Salesforce PSF Sponsor Sentry Sentry Error logging StatusPage StatusPage Status page