Skip to main content

Protect your python source code with one command.

Project description

Goldenmask: Protect your python source code

简体中文

Goldenmask is a tool to protect your python source code easily. It has two methods at the moment: using Compileall or using Cython. It has a corresponding option named --layer/-l, you can choose your favorite method by yourself. Meanwhile, it can protect different file types: python files end with .py, wheel packages end with .whl and source package end with .tar.gz.

Goldenmask is a name derived from a Chinese kungfu named "JinZhongZhao". Because it is not a qualified phrase in a sense, this name is so unique that can be used as a temporary compilation directory named __goldenmask__ and a compilation information file named .goldenmask which contains the detailed python version string and the platform string.

Let's try to goldenmask now!

Quick Start

$ pip install goldenmask
# the default method is Compileall
$ goldenmask yourpythonfile.py
$ tree -a .
.
├── __goldenmask__
│   ├── .goldenmask
│   └── yourpythonfile.pyc
└── yourpythonfile.py

1 directory, 3 files
# repalce your python file
$ goldenmask -i yourpythonfile.py
$ tree -a .
.
├── .goldenmask
└── yourpythonfile.pyc

0 directories, 2 files
# protect python files under directory
$ goldenmask yourpythonmoduledir
# protect the wheel package
$ goldenmask goldenmask-0.1.2-py3-none-any.whl
# protect the source packege
$ goldenmask goldenmask-0.1.2.tar.gz

Installation

Goldenmask is distributed on PyPI and supports Python 3.6+. You can simply install goldenmask as below:

$ pip install -U goldenmask

However, it's a better choice to use a virtual environment:

$ python -m venv env
# On Windows:
$ .\venv\Scripts\activate
# On Linux:
$ source env/bin/activate
$ pip install goldenmask --upgrade

Because goldenmask depends on Cython, you should make sure that there is an appropriate C compiler on your machine. You can see the detailed guide on Cython's documentation. By the way, if you works on a Linux system, you can easily fetch everything you need with one command sudo apt-get install build-essential on Ubuntu and yum groupinstall "Development Tools" on Centos. However, If you are using Mac OS X or Windows, you may spend quite some time installing this compilers.

Usage

You can get everything using option --help:

$ goldenmask --help
Usage: goldenmask [OPTIONS] [FILES_OR_DIRS]...

  Goldenmask is a tool to protect your python source code easily.

  FILES_OR_DIRS can be python files, wheel packages,source packages or dirs
  contain python files.

Options:
  -l, --layer <int>  Level of protection: 1 - compileall; 2 - cython.
  -i, --inplace      Whether compile python files in place.
  --no_smart         This will copy and compile everything you specified.
  --help             Show this message and exit.

Credits

The blog from Prodesire.

Project details


Download files

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

Files for goldenmask, version 0.2.0
Filename, size File type Python version Upload date Hashes
Filename, size goldenmask-0.2.0-py3-none-any.whl (14.2 kB) File type Wheel Python version py3 Upload date Hashes View
Filename, size goldenmask-0.2.0.tar.gz (12.9 kB) File type Source Python version None Upload date Hashes View

Supported by

Pingdom Pingdom Monitoring Google Google Object Storage and Download Analytics Sentry Sentry Error logging AWS AWS Cloud computing DataDog DataDog Monitoring Fastly Fastly CDN DigiCert DigiCert EV certificate StatusPage StatusPage Status page