Project

# manage projects and its settings
from mstrio.server import compare_project_settings, Environment, Project
from mstrio.connection import get_connection

PROJECT_NAME = '<Project_name>'
NODE_NAME = '<Node_name>'

PROJECT_DESCRIPTION = '<Description_of_project>'

PROJECT_1_NAME = '<Project_name>'
PROJECT_2_NAME = '<Project_name>'
CSV_FILE_EXPORT_IMPORT = 'path/to/file.csv'

conn = get_connection(workstationData, project_name=PROJECT_NAME)
env = Environment(connection=conn)

all_projects = env.list_projects()
loaded_projects = env.list_loaded_projects()

project = Project(connection=conn, name=PROJECT_NAME)
project.idle(on_nodes=[NODE_NAME])
project.resume(on_nodes=NODE_NAME)
project.unload(on_nodes=NODE_NAME)
project.load(on_nodes=NODE_NAME)

project_settings_df = project.settings.to_dataframe()

new_project = env.create_project(name=PROJECT_NAME, description=PROJECT_DESCRIPTION)

new_project.alter(description=PROJECT_DESCRIPTION)

project1 = Project(connection=conn, name=PROJECT_1_NAME)
project2 = Project(connection=conn, name=PROJECT_2_NAME)
df_cmp = compare_project_settings(projects=[project, project1, project2], show_diff_only=True)

project.settings.to_csv(name=CSV_FILE_EXPORT_IMPORT)
project.settings.import_from(file=CSV_FILE_EXPORT_IMPORT)

# change a setting of a project
project.settings.cubeIndexGrowthUpperBound = 501
project.settings.update()