- Notifications
You must be signed in to change notification settings - Fork0
A PyPi package to demonstrate Python code distribution in a safe and automated way
License
NotificationsYou must be signed in to change notification settings
dhchenx/SafePI
Folders and files
Name | Name | Last commit message | Last commit date | |
---|---|---|---|---|
Repository files navigation
A PyPi package to demonstrate Python code distribution in a safe and automated way
- Make a package with file structure like this demo package
- The src folder contains source code of the normal Python package project
- The src/libs contains necessary.pyd(.so) files
- The
libs_root.py
must be included at the head of py files where some pyd module is called. - The
src_cython
folder is the Cython files needed to protect and compile as pyd files. - The
build_pakcage.py
in the root andbuild_cython_libs.py
in the src_cython are automated scripts respectively. - Please see examples folder to see how to test a function from the PyPI package where the code is compiled and protected.
You cannot find the source code ofPerson.py in this package, which prevents code theft.
fromsafepi.Worldimportgreet_times# This function's algorithm is within a .pyd (.so in Linux) file compiled by Cython.# The source code cannot be found in the package and is therefore protected.greet_times(n=5)
build_package.py
: rapidly build Cython files, PyPI package and upload the package to PyPI website quickly. (your upload token is required!)
src_cython/build_cython_libs.py
: Rapidly build Cython files and deploy all*.pyd
files to to `src/libs' folder
TheSafePI
project is provided byDonghua Chen.