--- title: "system.tag.getConfiguration" description: "Retrieves tags from the Gateway as Python dictionaries." --- # system.tag.getConfiguration > Retrieves tags from the Gateway as Python dictionaries. This function is used in **Python Scripting**. ## Description Retrieves tags from the Gateway as Python dictionaries. These can be edited and then saved back using [system.tag.configure](appendix\scripting-functions\system-tag\system-tag-configure.md). :::note The configurations returned by this function can only contain properties that are **not** using their default values. Thus, if a property on a tag has not been modified from its default value, then it will **not** be included in the returned list. Should you need to read the value of a tag property, regardless of whether it's using the default value or not, use [system.tag.readBlocking](appendix\scripting-functions\system-tag\system-tag-readBlocking.md) instead: ``` system.tag.readBlocking(["[default]path/to/tag.engUnit"]) ``` ::: ## Client Permission Restrictions This scripting function has no [Client Permission](../../../ignition-modules/vision/vision-project-properties/vision-project-properties.md#vision-permissions-properties) restrictions. ## Syntax `system.tag.getConfiguration(basePath, recursive)` ### Parameters Type | Parameter | Description ------- | ------- | ------ String | `basePath` | The starting point where the tags will be retrieved. This can be a folder containing, and if `recursive` is true, then the function will retrieve all of the tags in the folder. Boolean | `recursive` | If true, the entire tag tree under the specified path will be retrieved. ### Returns **List** - A List of tag dictionaries. Nested tags are placed in a list under the `tags` key in the dictionary. ### Scope Gateway, Vision Client, Perspective Session ## Code Examples ```python title="Example #1 - Access a Single Property on a Single Tag" # This example will look up the name property on a Tag. path = '[default]My_Folder/My_Tag' config = system.tag.getConfiguration(path, False) # While the call above was directed at a single Tag, the function # still returns a list, so we access index 0 to examine the properties # (hence the "[0]"). # # Additionally, we can access the name property in a similar manner # to accessing a key in a Python Dictionary. print config[0]['name'] ``` ```python title="Example #2 - Get All Properties for a Single Configuration" # This example will get the configuration of a single Tag # Update the path here with the Tag path you're trying to reach path = '[default]Sine/Sine0' # Get the configurations tags = system.tag.getConfiguration(path) for tagDict in tags: # Iterate over the dictionary with the iteritems function for key, value in tagDict.iteritems(): # Do something with the keys and values print key, ' : ', value ``` ```python title="Example #3 - Return an Entire Folder of Tag Configurations" # This example will get the configurations of Tags under a folder. # Update the path here with the folder you want to start at folder = '[default]Folder/Another_Folder' # Get the configurations. We'll specify True for the second parameter to search # recursivly nodes = system.tag.getConfiguration(folder, True) # Iterate over the results for item in nodes: # Through the results, search each dictionary for key, value in item.iteritems(): # ...looking for a 'tags' key if key == 'tags': print '#######Found some tags!#######' # iterate over the Tag configurations we found for tagConfig in value: # Do something with the results. print tagConfig["name"] ``` ```python title="Example #4 - Get UDT Information" # This example gets information from a UDT called "tagNumber" and prints it out to the console. # Declare a variable and get the UDT path for the basePath parameter path = "[default]_types_/tagNumber" # Run the system function and assign the value to a variable tagDict = system.tag.getConfiguration(path, False) # Print the results print tagDict ```