multi-version-pyz-builder
The Multi-Version PYZ Builder Script is a command-line tool designed to create a Universal Python Module optimized for cross-platform and multi-version compatibility. It allows developers to bundle multiple protected .pyc files—each corresponding to a different Python version—into a single .pyz archive.
https://github.com/alphabetanetcom/multi-version-pyz-builder
Science Score: 67.0%
This score indicates how likely this project is to be science-related based on various indicators:
-
✓CITATION.cff file
Found CITATION.cff file -
✓codemeta.json file
Found codemeta.json file -
✓.zenodo.json file
Found .zenodo.json file -
✓DOI references
Found 2 DOI reference(s) in README -
✓Academic publication links
Links to: zenodo.org -
○Academic email domains
-
○Institutional organization owner
-
○JOSS paper metadata
-
○Scientific vocabulary similarity
Low similarity (14.7%) to scientific vocabulary
Keywords
Repository
The Multi-Version PYZ Builder Script is a command-line tool designed to create a Universal Python Module optimized for cross-platform and multi-version compatibility. It allows developers to bundle multiple protected .pyc files—each corresponding to a different Python version—into a single .pyz archive.
Basic Info
- Host: GitHub
- Owner: alphabetanetcom
- License: other
- Language: Python
- Default Branch: main
- Homepage: https://alphabetanet.com
- Size: 19.3 MB
Statistics
- Stars: 1
- Watchers: 1
- Forks: 0
- Open Issues: 0
- Releases: 2
Topics
Metadata Files
README.md
Multi-Version PYZ Builder Script Documentation
Version: 1.3\ © 2024 αβ.net (alphabetanet.com) - Alpha Beta Network. All Rights Reserved.
Note: This project is currently in Beta Testing and available for free.
Table of Contents
- 1. Introduction
- 2. Installation
- 3. Main Functions of the Script
- 4. Detailed Description of Operation
- 5. Usage Examples
- 6. Recommendations and Best Practices
- Appendix A: Installation of Required Packages
- Appendix B: Real-World Example - Universal Python Module with Multi-Version Compatibility
- Appendix C: Contact Information
1. Introduction
The Multi-Version PYZ Builder Script is a command-line tool designed to create a Universal Python Module optimized for cross-platform and multi-version compatibility. It allows developers to bundle multiple protected .pyc files—each corresponding to a different Python version—into a single .pyz archive. This approach significantly enhances Python code security by using previously compiled and protected versions of code, making it more difficult for others to reverse-engineer or analyze the source code.
Key features of the script include:
Cross-Platform Compatibility: The generated
.pyzfiles can be executed on any operating system where Python 3.6+ is installed, including Windows, macOS, and Linux/Unix systems.Multi-Version Support: Supports multiple Python versions by including protected
.pycfiles for each targeted Python version. Automatically detects the current Python interpreter version at runtime and executes the corresponding code.Enhanced Code Protection: Integrates with the Local Python Code Protector Script or any other protection tool to use previously compiled and protected
.pycfiles, adding layers of code obfuscation and encryption.Secure Code Sharing: Facilitates secure code distribution without exposing the original source code, aligning with Python code security best practices.
This tool is ideal for developers who need to distribute their Python modules securely across different platforms and Python versions while maintaining a high level of code protection.
2. Installation
Before using the Multi-Version PYZ Builder Script, ensure that you have Python 3.6+ installed on your system.
2.1 Installing Required Packages
The script requires the following Python packages:
requests
psutil
cryptography
astor
You can install them using pip:
bash
pip install requests psutil cryptography astor
Ensure that you are using the correct version of pip associated with your Python 3 installation. If you are using a virtual environment, activate it before installing the packages.
Note: The script automatically checks for required packages and installs them if they are missing.
3. Main Functions of the Script
The Multi-Version PYZ Builder Script provides the following functionalities:
Bundling Multiple Protected
.pycFiles: Combines multiple.pycfiles, each corresponding to a different Python version, into a single.pyzarchive.Automatic Python Version Detection: The generated
.pyzfile automatically detects the Python version at runtime and executes the appropriate protected.pycfile.Integration with Code Protection Tools: Designed to work seamlessly with protected
.pycfiles generated by the Local Python Code Protector Script or similar tools, enhancing code security through obfuscation and encryption.
4. Detailed Description of Operation
4.1 Prerequisites
To use the Multi-Version PYZ Builder Script effectively, you need:
Protected
.pycFiles: Compiled and protected.pycfiles for each Python version you wish to support. These can be generated using the Local Python Code Protector Script.Naming Convention: The naming convention for the
.pycfiles should follow this pattern:
module_name_python36.pyc (for Python 3.6)
module_name_python37.pyc (for Python 3.7)
module_name_python38.pyc (for Python 3.8)
module_name_python39.pyc (for Python 3.9)
module_name_python310.pyc (for Python 3.10)
module_name_python311.pyc (for Python 3.11)
module_name_python312.pyc (for Python 3.12)
module_name_python313.pyc (for Python 3.13)
- Script Placement: Place the
multi_version_pyz_builder.pyscript in the same directory as the compiled.pycfiles.
4.2 How the Script Works
Scans for Protected
.pycFiles: The script searches the current directory for all.pycfiles that match the naming pattern.Groups Files by Module Name: Files are grouped based on their base module names.
Generates a Multi-Version
__main__.py: For each module, the script generates a__main__.pyfile that contains code to detect the Python version at runtime and execute the corresponding.pycfile.Creates the
.pyzArchive: Packages the__main__.pyand the protected.pycfiles into a single.pyzarchive using Python'szipappmodule.Outputs the Universal Module: The resulting
.pyzfile is a universal Python module that can be executed on different platforms and Python versions.
5. Usage Examples
5.1 Basic Usage
Assuming you have prepared the protected .pyc files for different Python versions, follow these steps:
Place the Script and
.pycFiles Together: Ensure that themulti_version_pyz_builder.pyscript and your protected.pycfiles are in the same directory.Run the Script:
bash
python multi_version_pyz_builder.py
- Output:
The script will generate a
.pyzfile for each module found. For example, if your module is namedmy_module, the output will bemy_module.pyz.The script will display messages indicating the progress and successful creation of the
.pyzfile.
5.2 Example with Detailed Steps
Step 1: Prepare Protected .pyc Files
Use the Local Python Code Protector Script to generate protected .pyc files for your module for each desired Python version.
```bash
Example for Python 3.6
python localpythoncodeprotector.py -f mymodule.py ```
Repeat the process for other Python versions, adjusting as necessary (e.g., using virtual environments with different Python versions).
Step 2: Place Files in the Same Directory
Ensure that all the my_module_python*.pyc files and multi_version_pyz_builder.py are in the same directory.
Step 3: Run the Multi-Version PYZ Builder Script
bash
python multi_version_pyz_builder.py
Step 4: Distribute the my_module.pyz File
The generated my_module.pyz file can now be distributed and executed on any platform with Python 3.6+.
Step 5: Running the Universal Module
Users can execute the module using:
bash
python my_module.pyz
6. Recommendations and Best Practices
Enhance Protection with Multiple Layers: To strengthen the security of your code, consider applying the Local Python Code Protector Script multiple times to each
.pycfile before using them with the Multi-Version PYZ Builder. This adds additional layers of protection through obfuscation and encryption.Ensure Version Compatibility: Generate protected
.pycfiles for all Python versions you intend to support. This guarantees that your module will run seamlessly across different environments, adhering to cross-platform compatibility.Test Thoroughly: Before distributing the universal
.pyzfile, test it on different operating systems and Python versions to confirm functionality and compatibility.Follow Naming Conventions: Adhere strictly to the naming conventions for
.pycfiles to ensure that the script correctly identifies and packages them.Maintain Secure Code Practices: Combine this approach with other Python code security best practices to maximize protection and ensure the integrity of your code.
Appendix A: Installation of Required Packages
The multi_version_pyz_builder.py script requires the following Python packages:
requests
psutil
cryptography
astor
Installing Packages with pip
You can install these packages using the following command:
bash
pip install requests psutil cryptography astor
Ensure that you are using the correct version of pip associated with your Python 3 installation. If you are working within a virtual environment, activate it before installing the packages.
Appendix B: Real-World Example - Universal Python Module with Multi-Version Compatibility
In this appendix, we present a real-world example of using the Multi-Version PYZ Builder Script to create a secure, cross-platform, and multi-version compatible Python module.
B.1 Overview
The file system_hardware_id_generator.pyz is a universal Python module that encapsulates multiple protected .pyc files, each corresponding to a different Python version. It is optimized for cross-platform and multi-version compatibility, automatically detecting the current Python interpreter version and executing the appropriate protected module.
B.2 Construction of the Universal Module
B.2.1 Protected .pyc Files
Eight protected .pyc files were generated for different Python versions using the Local Python Code Protector Script. The protection process was applied twice to each file to strengthen the security.
Protected files:
system_hardware_id_generator_python36.pyc(Python 3.6)system_hardware_id_generator_python37.pyc(Python 3.7)system_hardware_id_generator_python38.pyc(Python 3.8)system_hardware_id_generator_python39.pyc(Python 3.9)system_hardware_id_generator_python310.pyc(Python 3.10)system_hardware_id_generator_python311.pyc(Python 3.11)system_hardware_id_generator_python312.pyc(Python 3.12)system_hardware_id_generator_python313.pyc(Python 3.13)
B.2.2 Using Multi-Version PYZ Builder
The integration of these files into a single .pyz archive was achieved using the Multi-Version PYZ Builder.
Steps:
- Place Files in the Same Directory:
- Ensure that all the
system_hardware_id_generator_python*.pycfiles andmulti_version_pyz_builder.pyare in the same directory.
- Run the Multi-Version PYZ Builder Script:
bash
python multi_version_pyz_builder.py
- Output:
- The script generates
system_hardware_id_generator.pyz.
B.3 Using the Universal Module
To generate the Hardware ID (HWID) on any supported platform:
- Execute the
.pyzfile:
bash
python system_hardware_id_generator.pyz
- The module will display the HWID:
Your Hardware ID (HWID) is: 123456789012345678
Notes:
Ensures secure code execution without exposing the original source code.
Compatible with multiple Python versions, making it an ideal solution for environments with varied Python installations.
B.4 Advantages of Using a Universal .pyz File
Secure Code Sharing: The source code is deeply protected from analysis and recovery, ensuring high levels of Python code security and code obfuscation.
Simplified Distribution: Only one
.pyzfile needs to be distributed, regardless of the Python version or operating system of the end-user.Enhanced Protection: By using pre-compiled and protected versions of the code, it adds an extra layer of security against decompilation and unauthorized access.
Appendix C: Contact Information
If you experience issues or have questions not covered in this documentation, please contact the Alpha Beta Network Research Team.
Website: https://alphabetanet.com | https://αβ.net
Official Telegram Channel: https://t.me/alphabetanetcom
Stay connected to receive updates, provide feedback, and get early access to extended functionality.
© 2024 αβ.net (alphabetanet.com) - Alpha Beta Network. All Rights Reserved.
Owner
- Name: Pavel Izosimov (Alpha Beta Network)
- Login: alphabetanetcom
- Kind: user
- Website: https://alphabetanet.com/
- Repositories: 1
- Profile: https://github.com/alphabetanetcom
🚀 Creator of αβ.net - Python Code Sharing Platform 🔒 Focused on Secure Code Transfer 🌐 Open Source Enthusiast 🔬 Research & Development in Code Security
Citation (CITATION.cff)
cff-version: 1.2.0
title: Multi-Version PYZ Builder
message: >-
If you use this software, please cite it using the
metadata from this file.
type: software
authors:
- given-names: Pavel
family-names: Izosimov
affiliation: Alpha Beta Network
orcid: 'https://orcid.org/0009-0004-7126-6743'
website: 'https://alphabetanet.com'
repository-code: >-
https://github.com/alphabetanetcom/multi-version-pyz-builder
url: 'https://alphabetanet.com/'
repository: >-
https://gitlab.com/alphabetanetcom/multi-version-pyz-builder
repository-artifact: >-
https://github.com/alphabetanetcom/multi-version-pyz-builder/releases
abstract: >-
The Multi-Version PYZ Builder Script is a command-line tool
designed to create a Universal Python Module optimized for
cross-platform and multi-version compatibility. It allows
developers to bundle multiple protected .pyc files—each
corresponding to a different Python version—into a single .pyz
archive. This approach significantly enhances Python code
security by using previously compiled and protected versions of
code, making it more difficult for others to reverse-engineer
or analyze the source code.
keywords:
- secure code sharing
- source code protection
- python code encryption
- python security
- code protection
- secure file transfer
- python development
- intellectual property protection
- code security
- secure distribution
- security tools
- secure sharing
- cross platform
version: v1.3.1-beta.1
date-released: '2024-11-20'
license-url: 'https://github.com/alphabetanetcom/multi-version-pyz-builder/blob/main/LICENSE.md'
GitHub Events
Total
- Release event: 1
- Watch event: 1
- Push event: 18
- Gollum event: 3
- Create event: 4
Last Year
- Release event: 1
- Watch event: 1
- Push event: 18
- Gollum event: 3
- Create event: 4
Dependencies
- astor *
- cryptography *
- psutil *
- requests *