CodeSafe Package Documentation
Package documentation for CodeSafe. An open-source Python library for code encryption, decryption, and safe evaluation using Python's built-in AST module, with complete control over execution.
Changelog
0.0.2 (Latest): Removed unnecessary print statements and added error handling for most functions. Related to https://github.com/Infinitode/CodeSafe/pull/1. Thanks to @0XC7R for contributing!
0.0.1: Initial release.
Installation
You can install CodeSafe using PyPi, please make sure that you are using Python 3.6 or later before installing CodeSafe:
pip install codesafe
CodeSafe is an experimental library, and we're still running some tests on it. Please let us know if you encounter any issues or have an edge use case.
Example Usage
Safe Eval
from codesafe import safe_eval
if __name__ == '__main__':
# Run a normal, safe expression
expression = "1 + 1"
disallowed_expression = "os.getcwd()"
result1 = safe_eval(expression, timeout=10, immediate_termination=True)
result2 = safe_eval(disallowed_expression, timeout=10, immediate_termination=True)
Encrypt & Run Code
from codesafe import encrypt_to_file, decrypt_to_file, run
code = """
greetJohnny = "Hello Johnny!"
def greet_someone(greeting):
print(greeting)
greet_someone(greetJohnny)
"""
# Encrypt the code
encrypted_file_path = "encrypted_code.encrypt"
encrypt_to_file(code, encrypted_file_path)
# Run the encrypted code
run(encrypted_file_path) # Hello Johnny!
# Decrypt code to another file
output_file = "decrypted_code.py"
decrypt_to_file(encrypted_file_path, output_file)
Last updated
Was this helpful?