Skip to content

YepCode Python Code Rules

This file provides guidelines for LLMs to write Python code compatible with YepCode platform and ready to use its specific helpers.

Download this file

  • Use Python 3.13 features
  • Define main() function for debugging support
  • Use type hints when appropriate
  • Follow PEP 8 style guidelines
def main():
# Access input parameters
parameters = yepcode.context.parameters
# Your code here
# Return result
return { "message": "Success!" }
  • Access execution info: id, comment = yepcode.execution.id, yepcode.execution.comment
  • Access process info: processId, processName = yepcode.execution.process.id, yepcode.execution.process.name
  • Access schedule info: scheduleId, scheduleComment = yepcode.execution.get("schedule", {}).values()
  • Access team timezone: timezone = yepcode.execution.timezone
  • Use environment variables: api_key = os.getenv("API_KEY") # (or yepcode.env.API_KEY)
  • Import YepCode modules: my_func = yepcode.import_module("module-name")
    • Caution: you can’t use variables as module names, just hardcoded strings
  • Import YepCode modules with specific version: my_func = yepcode.import_module("module-name", "v1.0")
  • Run another process: yepcode.processes.run("process-identifier", options)
print("INFO message") # Generates INFO level log
logger.debug("DEBUG message")
logger.info("INFO message")
logger.warn("WARNING message")
logger.error("ERROR message")
  • You may use external npm packages
  • Just add the require statement to the code and the package will be installed automatically
  • If package import name is different than the package name, you must use the the add-package comment:
# @add-package requests
import requests
import os
# Calculate the path to the temporary file
file_path = os.path.join(os.environ.get("TMP_DATA_DIR"), "myfile.txt")
# Writing a file
with open(file_path, 'w') as f:
f.write('Hello from YepCode!')
# Setting a value
yepcode.datastore.set("key", "value");
# Setting a object value
yepcode.datastore.set("key", json.dumps({ "name": "John", "age": 30 }));
# Getting a value
value = yepcode.datastore.get("key");
# Deleting a value
yepcode.datastore.delete("key");
import os
local_path = os.path.join(os.environ.get("TMP_DATA_DIR"), "localfile.txt")
// Uploading a file
with open(local_path, "rb") as f:
obj = yepcode.storage.upload("path/myfile.txt", f)
print("Uploaded:", obj.name, obj.size, obj.link)
// Listing files
objects = yepcode.storage.list()
// Downloading a file
content = yepcode.storage.download("path/myfile.txt")
with open(local_path, "wb") as f:
f.write(content)
// Deleting a file
yepcode.storage.delete("path/myfile.txt")
return { "message": "Success!" }
  • This is the format for custom HTTP status codes:
return {
"status": 404,
"body": { "message": "Not found" },
"headers": { "Content-Type": "application/json" }
}
return {
"transient": True,
"data": sensitive_data
}