    

 ## On this page

  

 

 # py\_project

 Last update: 05.08.2026 

This module provides access to project settings.

Placeholders in project can be constructed in the following way (based on a oscillator example):

```default
# complete example in examples 02_python_examples/01_console/placeholders/create_oscillator_plus_placeholder.py
# reduced snippet with only one parameter

import py_placeholder

# create some placeholders
sensi = find_actor("oscillator")
project.create_placeholder_from_actor_property( actor_uuid = sensi.uuid, property_id = 'ParameterManager', create_as_expression = True )

project.set_placeholder( name='P_D_ref_val', user_level=py_placeholder.PLACEHOLDER_USERLEVEL_COMPUTATION_ENGINEER, value=0.02, value_type=py_placeholder.PLACEHOLDER_TYPE_REAL )
project.set_placeholder( name='P_D_lower_bound', user_level=py_placeholder.PLACEHOLDER_USERLEVEL_COMPUTATION_ENGINEER, value=0.01, value_type=py_placeholder.PLACEHOLDER_TYPE_REAL )
project.set_placeholder( name='P_D_upper_bound', user_level=py_placeholder.PLACEHOLDER_USERLEVEL_COMPUTATION_ENGINEER, value=0.03, value_type=py_placeholder.PLACEHOLDER_TYPE_REAL )

# Modify parameter manager
pm_expression_string = """
    {
    "parameter_container" :
    [
        {
            "deterministic_property" : {
                "domain_type" : { "value" : "real" },
                "kind" : { "value" : "continuous" },
                "lower_bound" : $(P_D_lower_bound),
                "upper_bound" : $(P_D_upper_bound)
            },
            "name" : "D",
            "reference_value" : $(P_D_ref_val),
            "type" : { "value" : "deterministic" }
        }
    ]
}"""
# Set placeholder expression for parameter manager back to project
project.set_placeholder( name = 'ParameterManager', overwrite = True, expression = pm_expression_string )

```

<a id="module-py_project"></a>

<a id="py_project.OSLFileProvider"></a>

## *class* py\_project.OSLFileProvider

<a id="py_project.OSLFileProvider.__init__"></a>

#### \_\_init\_\_()

Raises an exception This class cannot be instantiated from Python

<a id="py_project.Project"></a>

## *class* py\_project.Project

<a id="py_project.Project.__init__"></a>

#### \_\_init\_\_()

Raises an exception This class cannot be instantiated from Python

<a id="py_project.Project.assign_placeholder"></a>

#### assign\_placeholder(actor\_uuid: [UUID](id.md#id.UUID), property\_id: str, placeholder\_id: str)

Assign a placeholder in this project.

Parameters

actor\_uuid : Unique id to the actor

property\_id : Property ID.

placeholder\_id : Placeholder ID.

Raises

RuntimeError : Raised when placeholder does not exist, or when property does not exist, or when placeholder type and property type does not match.

<a id="py_project.Project.create_placeholder_from_actor_property"></a>

#### create\_placeholder\_from\_actor\_property(actor\_uuid: UUID, property\_id: str) → str

Create placeholder from actor property with new id if id already exist

Parameters

actor\_uuid : Unique id to the actor.

property\_id : Name of the actor property.

create\_as\_expression : Decide if the placeholder is created as value or as macro expression. False by default.

Returns

str : Actual ID of the generated placeholder.

Raises

RuntimeError : Raised when property id is not accessible at actor.

<a id="py_project.Project.get_actions"></a>

#### get\_actions() → [ProjectActions](#py_project.ProjectActions)

Get defined actions for project.

<a id="py_project.Project.get_file_provider"></a>

#### get\_file\_provider() → [OSLFileProvider](#py_project.OSLFileProvider)

Get central file registration for project.

<a id="py_project.Project.get_maximum_threads"></a>

#### get\_maximum\_threads() → int

Get the maximum number of threads used by this project.

<a id="py_project.Project.get_placeholder"></a>

#### get\_placeholder(placeholder\_id: str) → dict

Get placeholder by id from this project as dict.

Parameters

placeholder\_id : Placeholder ID.

Returns

dict name : str

&gt; Placeholder ID.

user\_level : User level.

description : Placeholder description.

range : Placeholder range.

value : Placeholder value. Datatype should match with the type argument.

type : Placeholder type.

expression : Placeholder macro expression.

Raises

RuntimeError : Raised when the placeholder does not exist.

<a id="py_project.Project.get_placeholder_ids"></a>

#### get\_placeholder\_ids() → [WStrList](stdcpp_python_export.md#stdcpp_python_export.WStrList)

Get placeholder ids from this project.

Returns

list : List of placeholder ids.

<a id="py_project.Project.get_protocol_file_path"></a>

#### get\_protocol\_file\_path() → [Path](stdcpp_python_export.md#stdcpp_python_export.Path)

Get the path of the protocol file.

<a id="py_project.Project.get_root_system"></a>

#### get\_root\_system() → [RunnableSystem](_optiSLang_Actors.md#optiSLang_Actors.RunnableSystem)

Get root system.

<a id="py_project.Project.get_run_scenario"></a>

#### get\_run\_scenario() → [ProjectRunScenario](#py_project.ProjectRunScenario)

Get run scenario for project.

<a id="py_project.Project.get_state"></a>

#### get\_state() → [ProjectStatus](#py_project.ProjectStatus)

Get state of project.

<a id="py_project.Project.name"></a>

#### *property* name

The project’s name as displayed.

<a id="py_project.Project.project_dir"></a>

#### *property* project\_dir

The project directory. Empty string if the project has not yet been saved.

<a id="py_project.Project.project_path"></a>

#### *property* project\_path

The project file path. Empty string if the project has not yet been saved.

<a id="py_project.Project.project_working_dir"></a>

#### *property* project\_working\_dir

The project working dir path. Empty string if the project has not yet been saved.

<a id="py_project.Project.reference_files_dir"></a>

#### *property* reference\_files\_dir

The reference files directory path.

<a id="py_project.Project.remove_placeholder"></a>

#### remove\_placeholder(placeholder\_id: str)

Remove a placeholder from this project.

Parameters

placeholder\_id : Placeholder ID.

<a id="py_project.Project.rename_placeholder"></a>

#### rename\_placeholder(existing\_placdeholder\_id: str, new\_placdeholder\_id: str)

Rename a placeholder in this project.

Parameters

placeholder\_id : Placeholder ID.

new\_placeholder\_id : New placeholder ID.

Raises

RuntimeError : Raised when placeholder does not exist.

<a id="py_project.Project.set_actions"></a>

#### set\_actions(actions: [ProjectActions](#py_project.ProjectActions))

Set defined actions for project.

<a id="py_project.Project.set_maximum_threads"></a>

#### set\_maximum\_threads(num\_threads: int)

Get the maximum number of threads used by this project.

<a id="py_project.Project.set_placeholder"></a>

#### set\_placeholder(, name: object=None \[, user\_level: object=None \[, description: object=None \[, range: object=None \[, value: object=None \[, value\_type: object=None \[, expression: object=None \[, overwrite: bool=False\]\]\]\]\]\]\]\]) → str

Create a new placeholder or overwrite an existing one.

Parameters: name : str, optional

&gt; Placeholder ID. In case of creating a new placeholder, the ID may be adapted to maintain ID uniqueness. None by default.

user\_level : User level. py\_placeholder.PLACEHOLDER\_USERLEVEL\_FLOW\_ENGINEER by default.

description : Placeholder description. None by default.

range : Placeholder range. None by default.

value : Placeholder value. Datatype should match with the type argument. Mutual exclusive with the expression argument. None by default

type : Placeholder type. py\_placeholder.PLACEHOLDER\_TYPE\_RAW by default.

expression : Placeholder macro expression. Mutual exclusive with the value argument. None by default.

overwrite : In case overwrite is True and placeholder is found by name, specified attributes will be overwritten. A new placeholder is created otherwise. False by default.

Returns

str : Actual ID of the generated/modified placeholder.

Raises

RuntimeError : Raised when the placeholder cannot be created/modified.

<a id="py_project.Project.settings"></a>

#### *property* settings

Project settings.

<a id="py_project.Project.unassign_placeholder"></a>

#### unassign\_placeholder(actor\_uuid: UUID, placeholder: str id)

Remove a placeholder assignment in this project.

Parameters

actor\_uuid : Unique id to the actor

property\_id : Property ID.

<a id="py_project.ProjectAction"></a>

## *class* py\_project.ProjectAction

<a id="py_project.ProjectAction.__init__"></a>

#### \_\_init\_\_()

Raises an exception This class cannot be instantiated from Python

<a id="py_project.ProjectAction.name"></a>

#### *property* name

Action name.

<a id="py_project.ProjectAction.point"></a>

#### *property* point

Action point.

<a id="py_project.ProjectAction.type"></a>

#### type() → [ProjectActionType](#py_project.ProjectActionType)

Action type.

<a id="py_project.ProjectActionList"></a>

## *class* py\_project.ProjectActionList

<a id="py_project.ProjectActionList.__contains__"></a>

#### \_\_contains\_\_(arg2: object) → bool

<a id="py_project.ProjectActionList.__delitem__"></a>

#### \_\_delitem\_\_(arg2: object)

<a id="py_project.ProjectActionList.__getitem__"></a>

#### \_\_getitem\_\_(arg2: object) → object

<a id="py_project.ProjectActionList.__init__"></a>

#### \_\_init\_\_()

<a id="py_project.ProjectActionList.__iter__"></a>

#### \_\_iter\_\_() → object

<a id="py_project.ProjectActionList.__len__"></a>

#### \_\_len\_\_() → int

<a id="py_project.ProjectActionList.__setitem__"></a>

#### \_\_setitem\_\_(arg2: object, arg3: object)

<a id="py_project.ProjectActionList.append"></a>

#### append(arg2: object)

<a id="py_project.ProjectActionList.extend"></a>

#### extend(arg2: object)

<a id="py_project.ProjectActionList.push"></a>

#### push(action: [ProjectAction](#py_project.ProjectAction))

<a id="py_project.ProjectActionList.size"></a>

#### size() → int

<a id="py_project.ProjectActionPoint"></a>

## *class* py\_project.ProjectActionPoint

**Enumeration**

Enumerates possible project action points.

<a id="py_project.ProjectActionPoint.PROJECT_ACTION_POINT_ANY"></a>

#### PROJECT\_ACTION\_POINT\_ANY *= py\_project.ProjectActionPoint.PROJECT\_ACTION\_POINT\_ANY*

<a id="py_project.ProjectActionPoint.PROJECT_ACTION_POINT_NONE"></a>

#### PROJECT\_ACTION\_POINT\_NONE *= py\_project.ProjectActionPoint.PROJECT\_ACTION\_POINT\_NONE*

<a id="py_project.ProjectActionPoint.PROJECT_ACTION_POINT_ON_PROJECT_ABOUT_TO_START"></a>

#### PROJECT\_ACTION\_POINT\_ON\_PROJECT\_ABOUT\_TO\_START *= py\_project.ProjectActionPoint.PROJECT\_ACTION\_POINT\_ON\_PROJECT\_ABOUT\_TO\_START*

<a id="py_project.ProjectActionPoint.PROJECT_ACTION_POINT_ON_PROJECT_OPEN"></a>

#### PROJECT\_ACTION\_POINT\_ON\_PROJECT\_OPEN *= py\_project.ProjectActionPoint.PROJECT\_ACTION\_POINT\_ON\_PROJECT\_OPEN*

<a id="py_project.ProjectActionPoint.PROJECT_ACTION_POINT_ON_PROJECT_OPENED"></a>

#### PROJECT\_ACTION\_POINT\_ON\_PROJECT\_OPENED *= py\_project.ProjectActionPoint.PROJECT\_ACTION\_POINT\_ON\_PROJECT\_OPENED*

<a id="py_project.ProjectActionPoint.PROJECT_ACTION_POINT_ON_PROJECT_SAVE"></a>

#### PROJECT\_ACTION\_POINT\_ON\_PROJECT\_SAVE *= py\_project.ProjectActionPoint.PROJECT\_ACTION\_POINT\_ON\_PROJECT\_SAVE*

<a id="py_project.ProjectActionPoint.PROJECT_ACTION_POINT_ON_PROJECT_SAVED"></a>

#### PROJECT\_ACTION\_POINT\_ON\_PROJECT\_SAVED *= py\_project.ProjectActionPoint.PROJECT\_ACTION\_POINT\_ON\_PROJECT\_SAVED*

<a id="py_project.ProjectActionPoint.PROJECT_ACTION_POINT_ON_PROJECT_STARTED"></a>

#### PROJECT\_ACTION\_POINT\_ON\_PROJECT\_STARTED *= py\_project.ProjectActionPoint.PROJECT\_ACTION\_POINT\_ON\_PROJECT\_STARTED*

<a id="py_project.ProjectActionPoint.PROJECT_ACTION_POINT_ON_PROJECT_STOPPED"></a>

#### PROJECT\_ACTION\_POINT\_ON\_PROJECT\_STOPPED *= py\_project.ProjectActionPoint.PROJECT\_ACTION\_POINT\_ON\_PROJECT\_STOPPED*

<a id="py_project.ProjectActionPoint.PROJECT_ACTION_POINT_ON_PROJECT_STOP_REQUESTED"></a>

#### PROJECT\_ACTION\_POINT\_ON\_PROJECT\_STOP\_REQUESTED *= py\_project.ProjectActionPoint.PROJECT\_ACTION\_POINT\_ON\_PROJECT\_STOP\_REQUESTED*

<a id="py_project.ProjectActionRunScript"></a>

## *class* py\_project.ProjectActionRunScript

<a id="py_project.ProjectActionRunScript.__init__"></a>

#### \_\_init\_\_()

#### \_\_init\_\_(arg2: str, arg3: str, arg4: [ProjectActionPoint](#py_project.ProjectActionPoint))

<a id="py_project.ProjectActionRunScript.script"></a>

#### *property* script

Script content to execute.

<a id="py_project.ProjectActionRunScriptFile"></a>

## *class* py\_project.ProjectActionRunScriptFile

<a id="py_project.ProjectActionRunScriptFile.__init__"></a>

#### \_\_init\_\_()

#### \_\_init\_\_(arg2: str, arg3: [ProvidedPath](py_file_access.md#py_file_access.ProvidedPath), arg4: [ProjectActionPoint](#py_project.ProjectActionPoint))

<a id="py_project.ProjectActionRunScriptFile.script"></a>

#### *property* script

Script file to execute.

<a id="py_project.ProjectActionType"></a>

## *class* py\_project.ProjectActionType

**Enumeration**

Enumerates possible project action types.

<a id="py_project.ProjectActionType.PROJECT_ACTION_RUN_SCRIPT"></a>

#### PROJECT\_ACTION\_RUN\_SCRIPT *= py\_project.ProjectActionType.PROJECT\_ACTION\_RUN\_SCRIPT*

<a id="py_project.ProjectActionType.PROJECT_ACTION_RUN_SCRIPT_FILE"></a>

#### PROJECT\_ACTION\_RUN\_SCRIPT\_FILE *= py\_project.ProjectActionType.PROJECT\_ACTION\_RUN\_SCRIPT\_FILE*

<a id="py_project.ProjectActions"></a>

## *class* py\_project.ProjectActions

<a id="py_project.ProjectActions.__init__"></a>

#### \_\_init\_\_()

<a id="py_project.ProjectActions.actions"></a>

#### *property* actions

Actions container.

<a id="py_project.ProjectActions.contains"></a>

#### contains(name: str) → bool

Test if action exists.

<a id="py_project.ProjectActions.register"></a>

#### register(action: [ProjectAction](#py_project.ProjectAction)) → bool

Register project action.

<a id="py_project.ProjectActions.unique_name"></a>

#### unique\_name(base: str) → str

Get unique action name.

<a id="py_project.ProjectActions.unregister"></a>

#### unregister(name: str) → bool

Unregister project action by name.

<a id="py_project.ProjectFilenameEscape"></a>

## *class* py\_project.ProjectFilenameEscape

**Enumeration**

Enumerates possible filename escape modes.

<a id="py_project.ProjectFilenameEscape.PROJECT_FE_FULL"></a>

#### PROJECT\_FE\_FULL *= py\_project.ProjectFilenameEscape.PROJECT\_FE\_FULL*

<a id="py_project.ProjectFilenameEscape.PROJECT_FE_RESERVED_ONLY"></a>

#### PROJECT\_FE\_RESERVED\_ONLY *= py\_project.ProjectFilenameEscape.PROJECT\_FE\_RESERVED\_ONLY*

<a id="py_project.ProjectRunScenario"></a>

## *class* py\_project.ProjectRunScenario

**Enumeration**

Enumerates possible project run scenarios.

<a id="py_project.ProjectRunScenario.PROJECT_RUN_SCENARIO_ABORTED"></a>

#### PROJECT\_RUN\_SCENARIO\_ABORTED *= py\_project.ProjectRunScenario.PROJECT\_RUN\_SCENARIO\_ABORTED*

<a id="py_project.ProjectRunScenario.PROJECT_RUN_SCENARIO_FINISHED"></a>

#### PROJECT\_RUN\_SCENARIO\_FINISHED *= py\_project.ProjectRunScenario.PROJECT\_RUN\_SCENARIO\_FINISHED*

<a id="py_project.ProjectRunScenario.PROJECT_RUN_SCENARIO_MODIFIED_ALL"></a>

#### PROJECT\_RUN\_SCENARIO\_MODIFIED\_ALL *= py\_project.ProjectRunScenario.PROJECT\_RUN\_SCENARIO\_MODIFIED\_ALL*

<a id="py_project.ProjectRunScenario.PROJECT_RUN_SCENARIO_MODIFIED_SOME"></a>

#### PROJECT\_RUN\_SCENARIO\_MODIFIED\_SOME *= py\_project.ProjectRunScenario.PROJECT\_RUN\_SCENARIO\_MODIFIED\_SOME*

<a id="py_project.ProjectRunScenario.PROJECT_RUN_SCENARIO_PARTIAL"></a>

#### PROJECT\_RUN\_SCENARIO\_PARTIAL *= py\_project.ProjectRunScenario.PROJECT\_RUN\_SCENARIO\_PARTIAL*

<a id="py_project.ProjectRunScenario.PROJECT_RUN_SCENARIO_PAUSED"></a>

#### PROJECT\_RUN\_SCENARIO\_PAUSED *= py\_project.ProjectRunScenario.PROJECT\_RUN\_SCENARIO\_PAUSED*

<a id="py_project.ProjectRunScenario.PROJECT_RUN_SCENARIO_PRISTINE"></a>

#### PROJECT\_RUN\_SCENARIO\_PRISTINE *= py\_project.ProjectRunScenario.PROJECT\_RUN\_SCENARIO\_PRISTINE*

<a id="py_project.ProjectSettings"></a>

## *class* py\_project.ProjectSettings

<a id="py_project.ProjectSettings.__init__"></a>

#### \_\_init\_\_()

<a id="py_project.ProjectSettings.actors_ignore_predecessor_failure"></a>

#### *property* actors\_ignore\_predecessor\_failure

Actors ignore predecessor failure flag.

<a id="py_project.ProjectSettings.auto_save_enabled"></a>

#### *property* auto\_save\_enabled

Auto save enabled flag.

<a id="py_project.ProjectSettings.custom_location"></a>

#### *property* custom\_location

Custom working directory location.

<a id="py_project.ProjectSettings.filename_escape_mode"></a>

#### *property* filename\_escape\_mode

Filename escape mode.

<a id="py_project.ProjectSettings.hide_number_of_message_queue_threads_warning"></a>

#### *property* hide\_number\_of\_message\_queue\_threads\_warning

Hide number of message queue threads warning flag.

<a id="py_project.ProjectSettings.maximum_auto_relocation_depth"></a>

#### *property* maximum\_auto\_relocation\_depth

Maximum auto relocation depth.

<a id="py_project.ProjectSettings.number_of_message_queue_threads"></a>

#### *property* number\_of\_message\_queue\_threads

Number of message queue threads.

<a id="py_project.ProjectSettings.project_actions"></a>

#### *property* project\_actions

Project actions.

<a id="py_project.ProjectSettings.project_id"></a>

#### *property* project\_id

Project id.

<a id="py_project.ProjectSettings.project_manager_id"></a>

#### *property* project\_manager\_id

Project manager id.

<a id="py_project.ProjectSettings.purge_on_save"></a>

#### *property* purge\_on\_save

Purge on save flag.

<a id="py_project.ProjectSettings.reference_files_directory_name"></a>

#### *property* reference\_files\_directory\_name

Reference files directory name.

<a id="py_project.ProjectSettings.remove_empty_directories_on_purge"></a>

#### *property* remove\_empty\_directories\_on\_purge

Remove empty directories on purge flag.

<a id="py_project.ProjectSettings.short_description"></a>

#### *property* short\_description

Project short description.

<a id="py_project.ProjectSettings.show_conditional_exec_ui"></a>

#### *property* show\_conditional\_exec\_ui

Conditional execution ui visibility flag.

<a id="py_project.ProjectSettings.show_environment_ui"></a>

#### *property* show\_environment\_ui

Environment ui visibility flag.

<a id="py_project.ProjectSettings.show_files_ui"></a>

#### *property* show\_files\_ui

Files ui visibility flag.

<a id="py_project.ProjectSettings.show_placeholders_ui"></a>

#### *property* show\_placeholders\_ui

Placeholders ui visibility flag.

<a id="py_project.ProjectSettings.show_run_options_ui"></a>

#### *property* show\_run\_options\_ui

Run options ui visibility flag.

<a id="py_project.ProjectSettings.show_variables_ui"></a>

#### *property* show\_variables\_ui

Variables ui visibility flag.

<a id="py_project.ProjectSettings.working_data_storage"></a>

#### *property* working\_data\_storage

Working data storage mode.

<a id="py_project.ProjectSettings.working_directory_location"></a>

#### *property* working\_directory\_location

Working directory location.

<a id="py_project.ProjectStatus"></a>

## *class* py\_project.ProjectStatus

**Enumeration**

Enumerates possible project states.

<a id="py_project.ProjectStatus.PROJECT_STATUS_ABORTED"></a>

#### PROJECT\_STATUS\_ABORTED *= py\_project.ProjectStatus.PROJECT\_STATUS\_ABORTED*

<a id="py_project.ProjectStatus.PROJECT_STATUS_ABORT_REQUESTED"></a>

#### PROJECT\_STATUS\_ABORT\_REQUESTED *= py\_project.ProjectStatus.PROJECT\_STATUS\_ABORT\_REQUESTED*

<a id="py_project.ProjectStatus.PROJECT_STATUS_FINISHED"></a>

#### PROJECT\_STATUS\_FINISHED *= py\_project.ProjectStatus.PROJECT\_STATUS\_FINISHED*

<a id="py_project.ProjectStatus.PROJECT_STATUS_IDLE"></a>

#### PROJECT\_STATUS\_IDLE *= py\_project.ProjectStatus.PROJECT\_STATUS\_IDLE*

<a id="py_project.ProjectStatus.PROJECT_STATUS_PAUSED"></a>

#### PROJECT\_STATUS\_PAUSED *= py\_project.ProjectStatus.PROJECT\_STATUS\_PAUSED*

<a id="py_project.ProjectStatus.PROJECT_STATUS_PAUSE_REQUESTED"></a>

#### PROJECT\_STATUS\_PAUSE\_REQUESTED *= py\_project.ProjectStatus.PROJECT\_STATUS\_PAUSE\_REQUESTED*

<a id="py_project.ProjectStatus.PROJECT_STATUS_PROCESSING"></a>

#### PROJECT\_STATUS\_PROCESSING *= py\_project.ProjectStatus.PROJECT\_STATUS\_PROCESSING*

<a id="py_project.ProjectStatus.PROJECT_STATUS_STOPPED"></a>

#### PROJECT\_STATUS\_STOPPED *= py\_project.ProjectStatus.PROJECT\_STATUS\_STOPPED*

<a id="py_project.ProjectStatus.PROJECT_STATUS_STOP_REQUESTED"></a>

#### PROJECT\_STATUS\_STOP\_REQUESTED *= py\_project.ProjectStatus.PROJECT\_STATUS\_STOP\_REQUESTED*

<a id="py_project.ProjectWorkingDataStorage"></a>

## *class* py\_project.ProjectWorkingDataStorage

**Enumeration**

Enumerates possible project working data storage modes.

<a id="py_project.ProjectWorkingDataStorage.PROJECT_WDL_EXTERNAL"></a>

#### PROJECT\_WDL\_EXTERNAL *= py\_project.ProjectWorkingDataStorage.PROJECT\_WDL\_EXTERNAL*

<a id="py_project.ProjectWorkingDataStorage.PROJECT_WDS_EMBEDDED"></a>

#### PROJECT\_WDS\_EMBEDDED *= py\_project.ProjectWorkingDataStorage.PROJECT\_WDS\_EMBEDDED*

<a id="py_project.ProjectWorkingDirectoryLocation"></a>

## *class* py\_project.ProjectWorkingDirectoryLocation

**Enumeration**

Enumerates possible project working diretory locations.

<a id="py_project.ProjectWorkingDirectoryLocation.PROJECT_WDL_ALONGSIDE_PROJECT"></a>

#### PROJECT\_WDL\_ALONGSIDE\_PROJECT *= py\_project.ProjectWorkingDirectoryLocation.PROJECT\_WDL\_ALONGSIDE\_PROJECT*

<a id="py_project.ProjectWorkingDirectoryLocation.PROJECT_WDL_CUSTOM"></a>

#### PROJECT\_WDL\_CUSTOM *= py\_project.ProjectWorkingDirectoryLocation.PROJECT\_WDL\_CUSTOM*