Every Prism project needs a prism_project.py file. This file serves two purposes:
It tells Prism that the directory is indeed a project
It contains information about your Python environment and project.
Here's what the default prism_project.py file looks like:
# prism_project.py"""Prism project"""# Importsfrom prism.admin import generate_run_id, generate_run_slugimport loggingfrom pathlib import Path# Project metadataNAME=""AUTHOR=""VERSION=""DESCRIPTION=""""""# AdminRUN_ID=generate_run_id()SLUG=generate_run_slug()# sys.path config. This gives your tasks access to local modules / packages that exist# outside of your project structure.SYS_PATH_CONF=[Path(__file__).parent,# Add more paths here!]# Thread count: number of workers to use to execute tasks concurrently. If set to 1,# then 1 task is run at a time.THREADS=1# Profile directory and namePROFILE_YML_PATH=Path(__file__).parent /'profile.yml'PROFILE="default"# LoggerPRISM_LOGGER= logging.getLogger("PRISM_LOGGER")# TriggersTRIGGERS_YML_PATH=Path(__file__).parent /'triggers.yml'TRIGGERS={'on_success':[],'on_failure':[],}# Other variables / parameters. Make sure to capitalize all of these!VAR_1={'a':'b'}VAR_2=200VAR_3='2015-01-01'# PathsWKDIR=Path(__file__).parentDATA=WKDIR/'data'OUTPUT=WKDIR/'output'
Critical: All prism projects require a prism_project.py file. This file tells prism that it is working inside a valid project.
The prism_project.py is a normal Python module with variables representing Prism settings and project parameters. Next, we provide some more detail on specific settings, such as: