Skip to main content
Pre-release

This release is a pre-release and may not be stable for production use.

SafePI

A PyPi package to demonstrate Python code distribution in a safe and automated way

Steps

  1. Make a package with file structure like this demo package
  2. The src folder contains source code of the normal Python package project
  3. The src/libs contains necessary .pyd(.so) files
  4. The libs_root.py must be included at the head of py files where some pyd module is called.
  5. The src_cython folder is the Cython files needed to protect and compile as pyd files.
  6. The build_pakcage.py in the root and build_cython_libs.py in the src_cython are automated scripts respectively.
  7. Please see examples folder to see how to test a function from the PyPI package where the code is compiled and protected.

Functions

You cannot find the source code of Person.py in this package, which prevents code theft.

from safepi.World import greet_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

License

The SafePI project is provided by Donghua Chen.

Metadata

Release files for SafePI 0.0.1a1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for SafePI 0.0.1a1
File Size Uploaded
SafePI-0.0.1a1.tar.gz 31.8 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for SafePI 0.0.1a1
File Interpreter ABI Platform
SafePI-0.0.1a1-py3-none-any.whl Python 3 none any Details

Total release size: 61.0 kB

Release files / SafePI-0.0.1a1.tar.gz

Download URL SafePI-0.0.1a1.tar.gz
Size 31.8 kB
Tags Source
SHA-256 checksum
How to use checksums
a83f2b34b4cf6a4cd8fad5a503169414b7f1652b29d0df42af764b6214296455
BLAKE2b-256 checksum
How to use checksums
2134c06e92eeed96485549624a7206bf64cb3333763ac1ee28c75fd901280e2b
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/3.4.2 importlib_metadata/4.8.1 pkginfo/1.7.1 requests/2.21.0 requests-toolbelt/0.9.1 tqdm/4.31.1 CPython/3.6.6

Release files / SafePI-0.0.1a1-py3-none-any.whl

Download URL SafePI-0.0.1a1-py3-none-any.whl
Size 29.1 kB
Tags Python 3
SHA-256 checksum
How to use checksums
f90a1d28556d7c998eab3db518d41353b0b1fe7777f646e2d75074d8317d3d73
BLAKE2b-256 checksum
How to use checksums
6ce2123a3181d6aa6ab6f7261809cab9fb6d57ae3f5659635f1265ce18422f82
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/3.4.2 importlib_metadata/4.8.1 pkginfo/1.7.1 requests/2.21.0 requests-toolbelt/0.9.1 tqdm/4.31.1 CPython/3.6.6

Release history Release notifications | RSS feed

This release

0.0.1a1 This release

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page