user: What is Preferences Operators and how is it used in Blender Python scripting?

assistant: # Preferences Operators

bpy.ops.preferences.addon_disable(*\**, *module=''*)
:   Turn off this add-on

    Parameters:
    :   **module** (*string**,* *(**optional**,* *never None**)*) – Module, Module name of the add-on to disable

    File:
    :   [startup/bl_operators/userpref.py:547](https://projects.blender.org/blender/blender/src/branch/main/scripts/startup/bl_operators/userpref.py#L547)

bpy.ops.preferences.addon_enable(*\**, *module=''*)
:   Turn on this add-on

    Parameters:
    :   **module** (*string**,* *(**optional**,* *never None**)*) – Module, Module name of the add-on to enable

    File:
    :   [startup/bl_operators/userpref.py:483](https://projects.blender.org/blender/blender/src/branch/main/scripts/startup/bl_operators/userpref.py#L483)

bpy.ops.preferences.addon_expand(*\**, *module=''*)
:   Display information and preferences for this add-on

    Parameters:
    :   **module** (*string**,* *(**optional**,* *never None**)*) – Module, Module name of the add-on to expand

    File:
    :   [startup/bl_operators/userpref.py:924](https://projects.blender.org/blender/blender/src/branch/main/scripts/startup/bl_operators/userpref.py#L924)

bpy.ops.preferences.addon_install(*\**, *overwrite=True*, *enable_on_install=False*, *target=''*, *filepath=''*, *filter_folder=True*, *filter_python=True*, *filter_glob='\*.py;\*.zip'*)
:   Install an add-on

    Parameters:
    :   - **overwrite** (*boolean**,* *(**optional**)*) – Overwrite, Remove existing add-ons with the same ID
        - **enable_on_install** (*boolean**,* *(**optional**)*) – Enable on Install, Enable after installing
        - **target** (*enum in* *[**]**,* *(**optional**)*) – Target Path
        - **filepath** (*string**,* *(**optional**,* *never None**)*) – filepath
        - **filter_folder** (*boolean**,* *(**optional**)*) – Filter folders
        - **filter_python** (*boolean**,* *(**optional**)*) – Filter Python
        - **filter_glob** (*string**,* *(**optional**,* *never None**)*) – filter_glob

    File:
    :   [startup/bl_operators/userpref.py:712](https://projects.blender.org/blender/blender/src/branch/main/scripts/startup/bl_operators/userpref.py#L712)

bpy.ops.preferences.addon_refresh()
:   Scan add-on directories for new modules

    File:
    :   [startup/bl_operators/userpref.py:645](https://projects.blender.org/blender/blender/src/branch/main/scripts/startup/bl_operators/userpref.py#L645)

bpy.ops.preferences.addon_remove(*\**, *module=''*)
:   Delete the add-on from the file system

    Parameters:
    :   **module** (*string**,* *(**optional**,* *never None**)*) – Module, Module name of the add-on to remove

    File:
    :   [startup/bl_operators/userpref.py:873](https://projects.blender.org/blender/blender/src/branch/main/scripts/startup/bl_operators/userpref.py#L873)

bpy.ops.preferences.addon_show(*\**, *module=''*)
:   Show add-on preferences

    Parameters:
    :   **module** (*string**,* *(**optional**,* *never None**)*) – Module, Module name of the add-on to expand

    File:
    :   [startup/bl_operators/userpref.py:950](https://projects.blender.org/blender/blender/src/branch/main/scripts/startup/bl_operators/userpref.py#L950)

bpy.ops.preferences.app_template_install(*\**, *overwrite=True*, *filepath=''*, *filter_folder=True*, *filter_glob='\*.zip'*)
:   Install an application template

    Parameters:
    :   - **overwrite** (*boolean**,* *(**optional**)*) – Overwrite, Remove existing template with the same ID
        - **filepath** (*string**,* *(**optional**,* *never None**)*) – filepath
        - **filter_folder** (*boolean**,* *(**optional**)*) – Filter folders
        - **filter_glob** (*string**,* *(**optional**,* *never None**)*) – filter_glob

    File:
    :   [startup/bl_operators/userpref.py:1000](https://projects.blender.org/blender/blender/src/branch/main/scripts/startup/bl_operators/userpref.py#L1000)

bpy.ops.preferences.asset_library_add(*\**, *directory=''*, *hide_props_region=True*, *check_existing=False*, *filter_blender=False*, *filter_backup=False*, *filter_image=False*, *filter_movie=False*, *filter_python=False*, *filter_font=False*, *filter_sound=False*, *filter_text=False*, *filter_archive=False*, *filter_btx=False*, *filter_alembic=False*, *filter_usd=False*, *filter_obj=False*, *filter_volume=False*, *filter_folder=True*, *filter_blenlib=False*, *filemode=9*, *display_type='DEFAULT'*, *sort_method=''*)
:   Add a directory to be used by the Asset Browser as source of assets

    Parameters:
    :   - **directory** (*string**,* *(**optional**,* *never None**)*) – Directory, Directory of the file
        - **hide_props_region** (*boolean**,* *(**optional**)*) – Hide Operator Properties, Collapse the region displaying the operator settings
        - **check_existing** (*boolean**,* *(**optional**)*) – Check Existing, Check and warn on overwriting existing files
        - **filter_blender** (*boolean**,* *(**optional**)*) – Filter .blend files
        - **filter_backup** (*boolean**,* *(**optional**)*) – Filter .blend files
        - **filter_image** (*boolean**,* *(**optional**)*) – Filter image files
        - **filter_movie** (*boolean**,* *(**optional**)*) – Filter movie files
        - **filter_python** (*boolean**,* *(**optional**)*) – Filter Python files
        - **filter_font** (*boolean**,* *(**optional**)*) – Filter font files
        - **filter_sound** (*boolean**,* *(**optional**)*) – Filter sound files
        - **filter_text** (*boolean**,* *(**optional**)*) – Filter text files
        - **filter_archive** (*boolean**,* *(**optional**)*) – Filter archive files
        - **filter_btx** (*boolean**,* *(**optional**)*) – Filter btx files
        - **filter_alembic** (*boolean**,* *(**optional**)*) – Filter Alembic files
        - **filter_usd** (*boolean**,* *(**optional**)*) – Filter USD files
        - **filter_obj** (*boolean**,* *(**optional**)*) – Filter OBJ files
        - **filter_volume** (*boolean**,* *(**optional**)*) – Filter OpenVDB volume files
        - **filter_folder** (*boolean**,* *(**optional**)*) – Filter folders
        - **filter_blenlib** (*boolean**,* *(**optional**)*) – Filter Blender IDs
        - **filemode** (*int in* *[**1**,* *9**]**,* *(**optional**)*) – File Browser Mode, The setting for the file browser mode to load a .blend file, a library or a special file
        - **display_type** (enum in [`'DEFAULT'`, `'LIST_VERTICAL'`, `'LIST_HORIZONTAL'`, `'THUMBNAIL'`], (optional)) –

          Display Type

          - `DEFAULT`
            Default – Automatically determine display type for files.
          - `LIST_VERTICAL`
            Short List – Display files as short list.
          - `LIST_HORIZONTAL`
            Long List – Display files as a detailed list.
          - `THUMBNAIL`
            Thumbnails – Display files as thumbnails.
        - **sort_method** (*enum in* *[**]**,* *(**optional**)*) – File sorting mode

bpy.ops.preferences.asset_library_remove(*\**, *index=0*)
:   Remove a path to a .blend file, so the Asset Browser will not attempt to show it anymore

    Parameters:
    :   **index** (*int in* *[**0**,* *inf**]**,* *(**optional**)*) – Index

bpy.ops.preferences.associate_blend()
:   Use this installation for .blend files and to display thumbnails

bpy.ops.preferences.autoexec_path_add()
:   Add path to exclude from auto-execution

bpy.ops.preferences.autoexec_path_remove(*\**, *index=0*)
:   Remove path to exclude from auto-execution

    Parameters:
    :   **index** (*int in* *[**0**,* *inf**]**,* *(**optional**)*) – Index

bpy.ops.preferences.copy_prev()
:   Copy settings from previous version

    File:
    :   [startup/bl_operators/userpref.py:170](https://projects.blender.org/blender/blender/src/branch/main/scripts/startup/bl_operators/userpref.py#L170)

bpy.ops.preferences.extension_repo_add(*\**, *name=''*, *remote_url=''*, *use_access_token=False*, *access_token=''*, *use_sync_on_startup=False*, *use_custom_directory=False*, *custom_directory=''*, *type='REMOTE'*)
:   Add a new repository used to store extensions

    Parameters:
    :   - **name** (*string**,* *(**optional**,* *never None**)*) – Name, Unique repository name
        - **remote_url** (*string**,* *(**optional**,* *never None**)*) – URL, Remote URL to the extension repository, the file-system may be referenced using the file URI scheme: “<file://>”
        - **use_access_token** (*boolean**,* *(**optional**)*) – Requires Access Token, Repository requires an access token
        - **access_token** (*string**,* *(**optional**,* *never None**)*) – Secret, Personal access token, may be required by some repositories
        - **use_sync_on_startup** (*boolean**,* *(**optional**)*) – Check for Updates on Startup, Allow Blender to check for updates upon launch
        - **use_custom_directory** (*boolean**,* *(**optional**)*) – Custom Directory, Manually set the path for extensions to be stored. When disabled a user’s extensions directory is created.
        - **custom_directory** (*string**,* *(**optional**,* *never None**)*) – Custom Directory, The local directory containing extensions
        - **type** (enum in [`'REMOTE'`, `'LOCAL'`], (optional)) –

          Type, The kind of repository to add

          - `REMOTE`
            Add Remote Repository – Add a repository referencing a remote repository with support for listing and updating extensions.
          - `LOCAL`
            Add Local Repository – Add a repository managed manually without referencing an external repository.

bpy.ops.preferences.extension_repo_remove(*\**, *index=0*, *remove_files=False*)
:   Remove an extension repository

    Parameters:
    :   - **index** (*int in* *[**0**,* *inf**]**,* *(**optional**)*) – Index
        - **remove_files** (*boolean**,* *(**optional**)*) – Remove Files, Remove extension files when removing the repository

bpy.ops.preferences.extension_url_drop(*\**, *url=''*)
:   Handle dropping an extension URL

    Parameters:
    :   **url** (*string**,* *(**optional**,* *never None**)*) – URL, Location of the extension to install

bpy.ops.preferences.keyconfig_activate(*\**, *filepath=''*)
:   Undocumented, consider [contributing](https://developer.blender.org/).

    Parameters:
    :   **filepath** (*string**,* *(**optional**,* *never None**)*) – filepath

    File:
    :   [startup/bl_operators/userpref.py:91](https://projects.blender.org/blender/blender/src/branch/main/scripts/startup/bl_operators/userpref.py#L91)

bpy.ops.preferences.keyconfig_export(*\**, *all=False*, *filepath=''*, *filter_folder=True*, *filter_text=True*, *filter_python=True*)
:   Export key configuration to a Python script

    Parameters:
    :   - **all** (*boolean**,* *(**optional**)*) – All Keymaps, Write all keymaps (not just user modified)
        - **filepath** (*string**,* *(**optional**,* *never None**)*) – filepath
        - **filter_folder** (*boolean**,* *(**optional**)*) – Filter folders
        - **filter_text** (*boolean**,* *(**optional**)*) – Filter text
        - **filter_python** (*boolean**,* *(**optional**)*) – Filter Python

    File:
    :   [startup/bl_operators/userpref.py:324](https://projects.blender.org/blender/blender/src/branch/main/scripts/startup/bl_operators/userpref.py#L324)

bpy.ops.preferences.keyconfig_import(*\**, *filepath='keymap.py'*, *filter_folder=True*, *filter_text=True*, *filter_python=True*, *keep_original=True*)
:   Import key configuration from a Python script

    Parameters:
    :   - **filepath** (*string**,* *(**optional**,* *never None**)*) – filepath
        - **filter_folder** (*boolean**,* *(**optional**)*) – Filter folders
        - **filter_text** (*boolean**,* *(**optional**)*) – Filter text
        - **filter_python** (*boolean**,* *(**optional**)*) – Filter Python
        - **keep_original** (*boolean**,* *(**optional**)*) – Keep Original, Keep original file after copying to configuration folder

    File:
    :   [startup/bl_operators/userpref.py:259](https://projects.blender.org/blender/blender/src/branch/main/scripts/startup/bl_operators/userpref.py#L259)

bpy.ops.preferences.keyconfig_remove()
:   Remove key config

    File:
    :   [startup/bl_operators/userpref.py:463](https://projects.blender.org/blender/blender/src/branch/main/scripts/startup/bl_operators/userpref.py#L463)

bpy.ops.preferences.keyconfig_test()
:   Test key configuration for conflicts

    File:
    :   [startup/bl_operators/userpref.py:194](https://projects.blender.org/blender/blender/src/branch/main/scripts/startup/bl_operators/userpref.py#L194)

bpy.ops.preferences.keyitem_add()
:   Add key map item

    File:
    :   [startup/bl_operators/userpref.py:411](https://projects.blender.org/blender/blender/src/branch/main/scripts/startup/bl_operators/userpref.py#L411)

bpy.ops.preferences.keyitem_remove(*\**, *item_id=0*)
:   Remove key map item

    Parameters:
    :   **item_id** (*int in* *[**-inf**,* *inf**]**,* *(**optional**)*) – Item Identifier, Identifier of the item to remove

    File:
    :   [startup/bl_operators/userpref.py:443](https://projects.blender.org/blender/blender/src/branch/main/scripts/startup/bl_operators/userpref.py#L443)

bpy.ops.preferences.keyitem_restore(*\**, *item_id=0*)
:   Restore key map item

    Parameters:
    :   **item_id** (*int in* *[**-inf**,* *inf**]**,* *(**optional**)*) – Item Identifier, Identifier of the item to restore

    File:
    :   [startup/bl_operators/userpref.py:395](https://projects.blender.org/blender/blender/src/branch/main/scripts/startup/bl_operators/userpref.py#L395)

bpy.ops.preferences.keymap_restore(*\**, *all=False*)
:   Restore key map(s)

    Parameters:
    :   **all** (*boolean**,* *(**optional**)*) – All Keymaps, Restore all keymaps to default

    File:
    :   [startup/bl_operators/userpref.py:366](https://projects.blender.org/blender/blender/src/branch/main/scripts/startup/bl_operators/userpref.py#L366)

bpy.ops.preferences.reset_default_theme()
:   Reset to the default theme colors

bpy.ops.preferences.script_directory_add(*\**, *directory=''*, *filter_folder=True*)
:   Undocumented, consider [contributing](https://developer.blender.org/).

    Parameters:
    :   - **directory** (*string**,* *(**optional**,* *never None**)*) – directory
        - **filter_folder** (*boolean**,* *(**optional**)*) – Filter Folders

    File:
    :   [startup/bl_operators/userpref.py:1256](https://projects.blender.org/blender/blender/src/branch/main/scripts/startup/bl_operators/userpref.py#L1256)

bpy.ops.preferences.script_directory_remove(*\**, *index=0*)
:   Undocumented, consider [contributing](https://developer.blender.org/).

    Parameters:
    :   **index** (*int in* *[**-inf**,* *inf**]**,* *(**optional**)*) – Index, Index of the script directory to remove

    File:
    :   [startup/bl_operators/userpref.py:1286](https://projects.blender.org/blender/blender/src/branch/main/scripts/startup/bl_operators/userpref.py#L1286)

bpy.ops.preferences.studiolight_copy_settings(*\**, *index=0*)
:   Copy Studio Light settings to the Studio Light editor

    Parameters:
    :   **index** (*int in* *[**-inf**,* *inf**]**,* *(**optional**)*) – index

    File:
    :   [startup/bl_operators/userpref.py:1227](https://projects.blender.org/blender/blender/src/branch/main/scripts/startup/bl_operators/userpref.py#L1227)

bpy.ops.preferences.studiolight_install(*\**, *files=None*, *directory=''*, *filter_folder=True*, *filter_glob='\*.png;\*.jpg;\*.hdr;\*.exr'*, *type='MATCAP'*)
:   Install a user defined light

    Parameters:
    :   - **files** (`bpy_prop_collection` of `OperatorFileListElement`, (optional)) – File Path
        - **directory** (*string**,* *(**optional**,* *never None**)*) – directory
        - **filter_folder** (*boolean**,* *(**optional**)*) – Filter Folders
        - **filter_glob** (*string**,* *(**optional**,* *never None**)*) – filter_glob
        - **type** (enum in [`'MATCAP'`, `'WORLD'`, `'STUDIO'`], (optional)) –

          Type

          - `MATCAP`
            MatCap – Install custom MatCaps.
          - `WORLD`
            World – Install custom HDRIs.
          - `STUDIO`
            Studio – Install custom Studio Lights.

    File:
    :   [startup/bl_operators/userpref.py:1110](https://projects.blender.org/blender/blender/src/branch/main/scripts/startup/bl_operators/userpref.py#L1110)

bpy.ops.preferences.studiolight_new(*\**, *filename='StudioLight'*)
:   Save custom studio light from the studio light editor settings

    Parameters:
    :   **filename** (*string**,* *(**optional**,* *never None**)*) – Name

    File:
    :   [startup/bl_operators/userpref.py:1157](https://projects.blender.org/blender/blender/src/branch/main/scripts/startup/bl_operators/userpref.py#L1157)

bpy.ops.preferences.studiolight_uninstall(*\**, *index=0*)
:   Delete Studio Light

    Parameters:
    :   **index** (*int in* *[**-inf**,* *inf**]**,* *(**optional**)*) – index

    File:
    :   [startup/bl_operators/userpref.py:1208](https://projects.blender.org/blender/blender/src/branch/main/scripts/startup/bl_operators/userpref.py#L1208)

bpy.ops.preferences.theme_install(*\**, *overwrite=True*, *filepath=''*, *filter_folder=True*, *filter_glob='\*.xml'*)
:   Load and apply a Blender XML theme file

    Parameters:
    :   - **overwrite** (*boolean**,* *(**optional**)*) – Overwrite, Remove existing theme file if exists
        - **filepath** (*string**,* *(**optional**,* *never None**)*) – filepath
        - **filter_folder** (*boolean**,* *(**optional**)*) – Filter folders
        - **filter_glob** (*string**,* *(**optional**,* *never None**)*) – filter_glob

    File:
    :   [startup/bl_operators/userpref.py:598](https://projects.blender.org/blender/blender/src/branch/main/scripts/startup/bl_operators/userpref.py#L598)

bpy.ops.preferences.unassociate_blend()
:   Remove this installation’s associations with .blend files