Copy disabled (too large)
Download .txt
Showing preview only (26,541K chars total). Download the full file to get everything.
Repository: LumaPictures/cg-stubs
Branch: master
Commit: 3a97b71975bd
Files: 2046
Total size: 24.9 MB
Directory structure:
gitextract_ouwlqh9d/
├── .gitignore
├── .moon/
│ ├── hooks/
│ │ └── pre-commit.sh
│ ├── tasks/
│ │ └── tag-stubs.yml
│ ├── tasks.yml
│ ├── toolchain.yml
│ └── workspace.yml
├── .pre-commit-config.yaml
├── LICENSE.txt
├── README.md
├── common/
│ ├── moon.yml
│ ├── pyproject.toml
│ ├── src/
│ │ └── stubgenlib/
│ │ ├── __init__.py
│ │ ├── build.py
│ │ ├── cpptypeconvert.py
│ │ ├── moduleinspect.py
│ │ ├── notifier.py
│ │ ├── py.typed
│ │ ├── siggen/
│ │ │ ├── __init__.py
│ │ │ ├── advanced.py
│ │ │ ├── boost.py
│ │ │ ├── default.py
│ │ │ ├── docstring.py
│ │ │ └── sigfixer.py
│ │ ├── stubgen/
│ │ │ ├── __init__.py
│ │ │ └── delegate.py
│ │ ├── test_helpers.py
│ │ └── utils.py
│ └── tests/
│ ├── test_stubgenlib.py
│ └── test_utils.py
├── houdini/
│ ├── .interpreter
│ ├── README.md
│ ├── hou_cleanup_config.py
│ ├── moon.yml
│ ├── pyproject.toml
│ ├── stubgen_houdini.py
│ ├── stubgen_houdini.sh.bak
│ ├── stubs/
│ │ └── hou-stubs/
│ │ ├── __init__.pyi
│ │ └── py.typed
│ └── test_stubs.py
├── katana/
│ ├── .interpreter
│ ├── README.md
│ ├── katanapy
│ ├── moon.yml
│ ├── mypy.ini
│ ├── pyproject.toml
│ ├── stubgen_katana.py
│ ├── stubgen_katana.sh
│ └── stubs/
│ ├── AssetAPI/
│ │ ├── __init__.pyi
│ │ └── py.typed
│ ├── AssetAPI_cmodule/
│ │ ├── __init__.pyi
│ │ └── py.typed
│ ├── AssetBrowser/
│ │ ├── Browser.pyi
│ │ ├── BrowserColumn.pyi
│ │ ├── BrowserSettings.pyi
│ │ ├── FileBrowser.pyi
│ │ ├── FileInfo.pyi
│ │ ├── Manifest.pyi
│ │ ├── NonexclusiveCheckboxPopup.pyi
│ │ ├── __init__.pyi
│ │ └── py.typed
│ ├── CacheManager/
│ │ ├── __init__.pyi
│ │ └── py.typed
│ ├── Callbacks/
│ │ ├── Callbacks.pyi
│ │ ├── Manifest.pyi
│ │ ├── __init__.pyi
│ │ └── py.typed
│ ├── CatalogAPI/
│ │ ├── Catalog.pyi
│ │ ├── CatalogItem.pyi
│ │ ├── CatalogUtils.pyi
│ │ ├── Client.pyi
│ │ ├── __init__.pyi
│ │ └── py.typed
│ ├── ConditionalStateGrammar/
│ │ ├── Parser.pyi
│ │ ├── __init__.pyi
│ │ └── py.typed
│ ├── ConfigurationAPI_cmodule/
│ │ ├── __init__.pyi
│ │ └── py.typed
│ ├── DrawingModule/
│ │ ├── AutoPosition.pyi
│ │ ├── CustomColors.pyi
│ │ ├── Manifest.pyi
│ │ ├── NodeShapeAttrUtil.pyi
│ │ ├── __init__.pyi
│ │ └── py.typed
│ ├── GeoAPI/
│ │ ├── Lookfiles.pyi
│ │ ├── Manifest.pyi
│ │ ├── Transform.pyi
│ │ ├── Util/
│ │ │ ├── ArgsFileUtil.pyi
│ │ │ ├── CelUtil.pyi
│ │ │ ├── GenericAppenderUtil.pyi
│ │ │ ├── HintDictUtil.pyi
│ │ │ ├── LookFileUtil.pyi
│ │ │ ├── Manifest.pyi
│ │ │ ├── Matrix.pyi
│ │ │ └── __init__.pyi
│ │ ├── __init__.pyi
│ │ └── py.typed
│ ├── Katana/
│ │ ├── __init__.pyi
│ │ └── py.typed
│ ├── KatanaResources/
│ │ ├── Manifest.pyi
│ │ ├── ResourceFiles.pyi
│ │ ├── __init__.pyi
│ │ └── py.typed
│ ├── LoggingAPI/
│ │ ├── __init__.pyi
│ │ └── py.typed
│ ├── LookFileBakeAPI/
│ │ ├── Constants.pyi
│ │ ├── Exceptions.pyi
│ │ ├── LookFileBaker.pyi
│ │ ├── LookFileUtil.pyi
│ │ ├── OutputFormatAPI.pyi
│ │ ├── Utils.pyi
│ │ ├── __init__.pyi
│ │ └── py.typed
│ ├── MachineInfo/
│ │ ├── KatanaInfo.pyi
│ │ ├── MachineInfo.pyi
│ │ ├── __init__.pyi
│ │ └── py.typed
│ ├── Main/
│ │ ├── __init__.pyi
│ │ └── py.typed
│ ├── MediaCacheHandler/
│ │ ├── Core.pyi
│ │ ├── DiskUtil.pyi
│ │ ├── ImageUtil.pyi
│ │ ├── KatanaUtil.pyi
│ │ ├── __init__.pyi
│ │ └── py.typed
│ ├── Naming/
│ │ ├── SafeIdentifier.pyi
│ │ ├── UniqueName.pyi
│ │ ├── __init__.pyi
│ │ └── py.typed
│ ├── NodeGraphView/
│ │ ├── Manifest.pyi
│ │ ├── Utility.pyi
│ │ ├── __init__.pyi
│ │ └── py.typed
│ ├── NodegraphAPI/
│ │ ├── BypassParameterManager.pyi
│ │ ├── CallbackTypes.pyi
│ │ ├── ComplexConnector.pyi
│ │ ├── Constants/
│ │ │ ├── ApplyWhenOptions.pyi
│ │ │ ├── ApplyWhereOptions.pyi
│ │ │ ├── ExecutionModeOptions.pyi
│ │ │ └── __init__.pyi
│ │ ├── DynamicParameters.pyi
│ │ ├── ExpressionModule.pyi
│ │ ├── Flavor.pyi
│ │ ├── GroupStack.pyi
│ │ ├── InteractiveRenderFilters.pyi
│ │ ├── LiveGroup.pyi
│ │ ├── Manifest.pyi
│ │ ├── NodeDelegateManager.pyi
│ │ ├── NodeExtensions.pyi
│ │ ├── NodeGraphViewExtensions.pyi
│ │ ├── NodeNameFromParamManager.pyi
│ │ ├── NodeXmlIO.pyi
│ │ ├── NodegraphChangedEvents.pyi
│ │ ├── NodegraphGlobals.pyi
│ │ ├── ParameterValueOption.pyi
│ │ ├── PythonRenderScript.pyi
│ │ ├── RenderFilter.pyi
│ │ ├── RenderScript.pyi
│ │ ├── StructuredPorts.pyi
│ │ ├── SuperTool.pyi
│ │ ├── UserParameters.pyi
│ │ ├── Util.pyi
│ │ ├── Version/
│ │ │ ├── Manifest.pyi
│ │ │ ├── Registry.pyi
│ │ │ ├── UpdateNodeTypeVersions.pyi
│ │ │ ├── Updater.pyi
│ │ │ ├── Utils.pyi
│ │ │ └── __init__.pyi
│ │ ├── Xio.pyi
│ │ ├── __init__.pyi
│ │ └── py.typed
│ ├── NodegraphAPI_cmodule/
│ │ ├── __init__.pyi
│ │ └── py.typed
│ ├── Nodes2DAPI/
│ │ ├── Expression.pyi
│ │ ├── FileInNodeUtil.pyi
│ │ ├── FileOutNodeUtil.pyi
│ │ ├── GradientNodeUtil.pyi
│ │ ├── Manifest.pyi
│ │ ├── NodeColorDelegate.pyi
│ │ ├── ThumbnailManager.pyi
│ │ ├── TransformUtil.pyi
│ │ ├── __init__.pyi
│ │ └── py.typed
│ ├── Nodes2DAPI_cmodule/
│ │ ├── Views.pyi
│ │ ├── __init__.pyi
│ │ └── py.typed
│ ├── Nodes3DAPI/
│ │ ├── AbstractTransform.pyi
│ │ ├── Alembic_In.pyi
│ │ ├── AttributeCopy.pyi
│ │ ├── AttributeEditor.pyi
│ │ ├── AttributeFile_In.pyi
│ │ ├── AttributeSet.pyi
│ │ ├── BlockerCreate.pyi
│ │ ├── BoundsAdjust.pyi
│ │ ├── CameraClippingPlaneEdit.pyi
│ │ ├── CameraCreate.pyi
│ │ ├── CameraImagePlaneCreate.pyi
│ │ ├── CollectionCreate.pyi
│ │ ├── ConstraintCache.pyi
│ │ ├── ConstraintListEdit.pyi
│ │ ├── Constraints/
│ │ │ ├── AimConstraint.pyi
│ │ │ ├── BaseConstraint.pyi
│ │ │ ├── BillboardConstraint.pyi
│ │ │ ├── CameraScreenWindowConstraint.pyi
│ │ │ ├── ClippingConstraint.pyi
│ │ │ ├── ConstraintEdit.pyi
│ │ │ ├── ConstraintResolve.pyi
│ │ │ ├── DollyConstraint.pyi
│ │ │ ├── FOVConstraint.pyi
│ │ │ ├── OrientConstraint.pyi
│ │ │ ├── ParentChildConstraint.pyi
│ │ │ ├── PointConstraint.pyi
│ │ │ ├── ReflectionConstraint.pyi
│ │ │ ├── ScaleConstraint.pyi
│ │ │ ├── ScreenCoordinateConstraint.pyi
│ │ │ └── __init__.pyi
│ │ ├── CoordinateSystemDefine.pyi
│ │ ├── CreateUtil.pyi
│ │ ├── DynamicParameterUtil.pyi
│ │ ├── ErrorNode.pyi
│ │ ├── Expressions.pyi
│ │ ├── FaceSelect.pyi
│ │ ├── FaceSelectionManager.pyi
│ │ ├── Fork3D.pyi
│ │ ├── GenericAssign.pyi
│ │ ├── GenericAssignRegistry.pyi
│ │ ├── GenericGeo.pyi
│ │ ├── GenericOp.pyi
│ │ ├── GroupMerge.pyi
│ │ ├── HierarchyCopy.pyi
│ │ ├── HierarchyCreate.pyi
│ │ ├── IncomingSceneOpDelegates.pyi
│ │ ├── IncomingTest.pyi
│ │ ├── InfoCreate.pyi
│ │ ├── InputGraphBasedCacheManager.pyi
│ │ ├── Isolate.pyi
│ │ ├── JackGeometry.pyi
│ │ ├── LODMerge.pyi
│ │ ├── LODRangeAssign.pyi
│ │ ├── LODSelect.pyi
│ │ ├── LightCreate.pyi
│ │ ├── LightLink.pyi
│ │ ├── LightLinkConstants.pyi
│ │ ├── LightLinkEdit.pyi
│ │ ├── LightLinkResolve.pyi
│ │ ├── LightLinkSetup.pyi
│ │ ├── LightListEdit.pyi
│ │ ├── LocationCreate.pyi
│ │ ├── LocationGenerate.pyi
│ │ ├── LookFileBake.pyi
│ │ ├── LookFileBaking.pyi
│ │ ├── LookFileGlobalsAssignBaseType.pyi
│ │ ├── LookFileMaterialsIn.pyi
│ │ ├── LookFileMaterialsOut.pyi
│ │ ├── LookFileOverrideEnable.pyi
│ │ ├── LookFileResolve.pyi
│ │ ├── Manifest.pyi
│ │ ├── Material.pyi
│ │ ├── MaterialResolve.pyi
│ │ ├── MaterialStack.pyi
│ │ ├── Merge.pyi
│ │ ├── NetworkMaterial.pyi
│ │ ├── NetworkMaterialInterfaceControls.pyi
│ │ ├── NetworkMaterialParameterEdit.pyi
│ │ ├── NetworkMaterialSplice.pyi
│ │ ├── Node3D.pyi
│ │ ├── Node3DEventTypes.pyi
│ │ ├── Node3D_geolib3.pyi
│ │ ├── NodeLayoutAttributes.pyi
│ │ ├── NodeTypeBuilder.pyi
│ │ ├── OpCacheManager.pyi
│ │ ├── OpResolve.pyi
│ │ ├── OpScript.pyi
│ │ ├── OpWrite.pyi
│ │ ├── OutputChannelDefine.pyi
│ │ ├── PonyCreate.pyi
│ │ ├── PortOpClient.pyi
│ │ ├── PrimitiveCreate.pyi
│ │ ├── ProxyGeoPromote.pyi
│ │ ├── Prune.pyi
│ │ ├── Rename.pyi
│ │ ├── RenderNode.pyi
│ │ ├── RenderNodeUtil.pyi
│ │ ├── RenderOutputDefine.pyi
│ │ ├── RenderSettingsBaseType.pyi
│ │ ├── RendererProceduralArgs.pyi
│ │ ├── Rendering.pyi
│ │ ├── RenderingUtil.pyi
│ │ ├── Resolve.pyi
│ │ ├── Resources/
│ │ │ ├── Material.pyi
│ │ │ └── __init__.pyi
│ │ ├── ReverseNormals.pyi
│ │ ├── ScenegraphManager.pyi
│ │ ├── ScenegraphMask.pyi
│ │ ├── ShadingNodeArrayConnector.pyi
│ │ ├── ShadingNodeBase.pyi
│ │ ├── ShadingNodeSubnet.pyi
│ │ ├── ShadingNodeUtil.pyi
│ │ ├── TerminalOpDelegates/
│ │ │ ├── ExampleTimeTerminalOpDelegate.pyi
│ │ │ ├── TerminalOpDelegate.pyi
│ │ │ ├── WorkingSetTerminalOpDelegate.pyi
│ │ │ └── __init__.pyi
│ │ ├── TimingUtils.pyi
│ │ ├── Transform3D.pyi
│ │ ├── TransformEdit.pyi
│ │ ├── TransformUtil.pyi
│ │ ├── Unfork3D.pyi
│ │ ├── UpdateModes.pyi
│ │ ├── VariableSwitchUtil.pyi
│ │ ├── VelocityApply.pyi
│ │ ├── WorkingSetDebug.pyi
│ │ ├── ZoomToRect.pyi
│ │ ├── __init__.pyi
│ │ └── py.typed
│ ├── Nodes3DAPI_cmodule/
│ │ ├── __init__.pyi
│ │ └── py.typed
│ ├── PackageSuperToolAPI/
│ │ ├── BaseEditor.pyi
│ │ ├── BaseNode.pyi
│ │ ├── NodeUtils.pyi
│ │ ├── PackageNameItemDelegate.pyi
│ │ ├── Packages.pyi
│ │ ├── Policies.pyi
│ │ ├── UIDelegate.pyi
│ │ ├── __init__.pyi
│ │ └── py.typed
│ ├── PluginAPI/
│ │ ├── BaseLiveRenderAction.pyi
│ │ ├── BaseProxyLoader.pyi
│ │ ├── BaseViewerPluginExtension.pyi
│ │ ├── __init__.pyi
│ │ └── py.typed
│ ├── PluginSystemAPI/
│ │ ├── __init__.pyi
│ │ └── py.typed
│ ├── PyFCurve/
│ │ ├── __init__.pyi
│ │ └── py.typed
│ ├── PyFnAttribute/
│ │ ├── Util.pyi
│ │ ├── __init__.pyi
│ │ └── py.typed
│ ├── PyFnGeolib/
│ │ ├── Util.pyi
│ │ ├── __init__.pyi
│ │ └── py.typed
│ ├── PyFnGeolibProducers/
│ │ ├── RendererOutputUtil.pyi
│ │ ├── __init__.pyi
│ │ └── py.typed
│ ├── PyFnGeolibServices/
│ │ ├── ArgsFile.pyi
│ │ ├── AttributeFunctionUtil.pyi
│ │ ├── ExpressionMath.pyi
│ │ ├── HintUtils.pyi
│ │ ├── LookFile.pyi
│ │ ├── MaterialResolveUtil.pyi
│ │ ├── OpArgsBuilders.pyi
│ │ ├── XFormUtil.pyi
│ │ ├── __init__.pyi
│ │ └── py.typed
│ ├── PyQt5/
│ │ ├── Qt.pyi
│ │ ├── QtCompat.pyi
│ │ ├── QtCore.pyi
│ │ ├── QtGui.pyi
│ │ ├── QtHelp.pyi
│ │ ├── QtLocation.pyi
│ │ ├── QtMultimedia.pyi
│ │ ├── QtMultimediaWidgets.pyi
│ │ ├── QtNetwork.pyi
│ │ ├── QtOpenGL.pyi
│ │ ├── QtPositioning.pyi
│ │ ├── QtPrintSupport.pyi
│ │ ├── QtQml.pyi
│ │ ├── QtQuick.pyi
│ │ ├── QtQuickWidgets.pyi
│ │ ├── QtSensors.pyi
│ │ ├── QtSerialPort.pyi
│ │ ├── QtSql.pyi
│ │ ├── QtSvg.pyi
│ │ ├── QtTest.pyi
│ │ ├── QtWebChannel.pyi
│ │ ├── QtWebEngineCore.pyi
│ │ ├── QtWebEngineWidgets.pyi
│ │ ├── QtWebSockets.pyi
│ │ ├── QtWidgets.pyi
│ │ ├── QtXml.pyi
│ │ ├── QtXmlPatterns.pyi
│ │ ├── __init__.pyi
│ │ └── py.typed
│ ├── PyResolutionTableFn/
│ │ ├── __init__.pyi
│ │ └── py.typed
│ ├── PyUtilModule/
│ │ ├── AttrDump.pyi
│ │ ├── ChildProcess.pyi
│ │ ├── ColorPaletteManager.pyi
│ │ ├── Decorators.pyi
│ │ ├── Documentation.pyi
│ │ ├── EnvUtils.pyi
│ │ ├── ExternalTextEditor.pyi
│ │ ├── FarmAPI/
│ │ │ ├── BaseFarmPlugin.pyi
│ │ │ ├── FarmManager.pyi
│ │ │ ├── FarmPluginManager.pyi
│ │ │ └── __init__.pyi
│ │ ├── FileUtils.pyi
│ │ ├── Hints.pyi
│ │ ├── IRFs.pyi
│ │ ├── KatanaFile.pyi
│ │ ├── LiveRenderAPI/
│ │ │ ├── PluginActionRegistry.pyi
│ │ │ └── __init__.pyi
│ │ ├── NodeDebugOutput.pyi
│ │ ├── NonUIPluginManager.pyi
│ │ ├── OpDocumentationGenerator.pyi
│ │ ├── ProjectSnapshot.pyi
│ │ ├── RegisterToCamera.pyi
│ │ ├── RenderManager/
│ │ │ ├── Constants.pyi
│ │ │ ├── Exceptions.pyi
│ │ │ ├── InteractiveRenderDelegateManager.pyi
│ │ │ ├── NodegraphUtils.pyi
│ │ │ ├── RenderCore.pyi
│ │ │ ├── RenderGlobals.pyi
│ │ │ ├── RenderSettings.pyi
│ │ │ ├── RenderTriggers.pyi
│ │ │ ├── ResolutionTableUtils.pyi
│ │ │ ├── ScenegraphUtils.pyi
│ │ │ └── __init__.pyi
│ │ ├── RenderingCommon.pyi
│ │ ├── ScenegraphBookmarkManager.pyi
│ │ ├── ScenegraphUtils.pyi
│ │ ├── Shelves.pyi
│ │ ├── StartupScripts.pyi
│ │ ├── SuperToolPlugins.pyi
│ │ ├── UndoEntries.pyi
│ │ ├── UserNodes.pyi
│ │ ├── VirtualKatana.pyi
│ │ ├── WorkingSet.pyi
│ │ ├── WorkingSetClient.pyi
│ │ ├── WorkingSetManager.pyi
│ │ ├── __init__.pyi
│ │ └── py.typed
│ ├── PyXmlIO/
│ │ ├── __init__.pyi
│ │ └── py.typed
│ ├── QT4Browser/
│ │ ├── BrowserFiltering.pyi
│ │ ├── BrowserSettings.pyi
│ │ ├── FileBrowser.pyi
│ │ ├── FileInfo.pyi
│ │ ├── FileSelect.pyi
│ │ ├── Manifest.pyi
│ │ ├── __init__.pyi
│ │ └── py.typed
│ ├── QT4Color/
│ │ ├── ASCColorCorrector.pyi
│ │ ├── ColorComponentFormWidget.pyi
│ │ ├── ColorDropWidget.pyi
│ │ ├── ColorFormWidget.pyi
│ │ ├── ColorPicker.pyi
│ │ ├── ColorPolicy.pyi
│ │ ├── ColorTextWidget.pyi
│ │ ├── ColorTransforms.pyi
│ │ ├── Degenerate.pyi
│ │ ├── DropType.pyi
│ │ ├── GammaWidget.pyi
│ │ ├── Globals.pyi
│ │ ├── Gradient1D.pyi
│ │ ├── Gradient2D.pyi
│ │ ├── Histogram.pyi
│ │ ├── HueColorWidget.pyi
│ │ ├── LumaSliderWidget.pyi
│ │ ├── Manifest.pyi
│ │ ├── ScreenScraper.pyi
│ │ ├── Swatches.pyi
│ │ ├── TempColorWidget.pyi
│ │ ├── WidgetUtils.pyi
│ │ ├── __init__.pyi
│ │ └── py.typed
│ ├── QT4FormWidgets/
│ │ ├── ArrayFormWidget.pyi
│ │ ├── ArrayItemEntry.pyi
│ │ ├── BaseValueFormWidget.pyi
│ │ ├── CapsuleFormWidget.pyi
│ │ ├── CheckBoxFormWidget.pyi
│ │ ├── Conditional.pyi
│ │ ├── EditWrench.pyi
│ │ ├── ExpressionEditDialog.pyi
│ │ ├── ExternalEditorDialog.pyi
│ │ ├── FWidget.pyi
│ │ ├── FilterablePopupFormWidget.pyi
│ │ ├── FixableBoxLayout.pyi
│ │ ├── FormClose.pyi
│ │ ├── FormDialog.pyi
│ │ ├── FormWidget.pyi
│ │ ├── FormWidgetLabel.pyi
│ │ ├── FormWidgetTools.pyi
│ │ ├── GroupFormWidget.pyi
│ │ ├── HintUtils.pyi
│ │ ├── InputWidgets.pyi
│ │ ├── Manifest.pyi
│ │ ├── MenuGroupFormWidget.pyi
│ │ ├── MenuUtils.pyi
│ │ ├── MultiFormWidget.pyi
│ │ ├── MultiStateBadge.pyi
│ │ ├── NullFormWidget.pyi
│ │ ├── NumberFormWidget.pyi
│ │ ├── OpenState.pyi
│ │ ├── PaintingUtils.pyi
│ │ ├── PolicyMimeData.pyi
│ │ ├── PopupFormWidget.pyi
│ │ ├── PythonValuePolicy.pyi
│ │ ├── StateChangeAction.pyi
│ │ ├── StringFormWidget.pyi
│ │ ├── TabGroupFormWidget.pyi
│ │ ├── TextFormWidget.pyi
│ │ ├── ValueAdjustment.pyi
│ │ ├── ValuePolicy.pyi
│ │ ├── ValuePolicyAdapter.pyi
│ │ ├── WideEditDialog.pyi
│ │ ├── WidgetFactory.pyi
│ │ ├── __init__.pyi
│ │ └── py.typed
│ ├── QT4GLLayerStack/
│ │ ├── CheckerboardLayer.pyi
│ │ ├── ClearLayer.pyi
│ │ ├── EdgeScrollingLayer.pyi
│ │ ├── EventEaterLayer.pyi
│ │ ├── FrameAllLayer.pyi
│ │ ├── LayerStack.pyi
│ │ ├── Manifest.pyi
│ │ ├── PanInteractionLayer.pyi
│ │ ├── RectangleLayer.pyi
│ │ ├── Util.pyi
│ │ ├── ZoomAnimationLayer.pyi
│ │ ├── ZoomInteractionLayer.pyi
│ │ ├── __init__.pyi
│ │ └── py.typed
│ ├── QT4Panels/
│ │ ├── DragOverlay.pyi
│ │ ├── DragTabs.pyi
│ │ ├── Edge.pyi
│ │ ├── Layouts.pyi
│ │ ├── Manifest.pyi
│ │ ├── PanelFrame.pyi
│ │ ├── PanelLayout.pyi
│ │ ├── __init__.pyi
│ │ └── py.typed
│ ├── QT4Widgets/
│ │ ├── CapsuleCombo.pyi
│ │ ├── CustomMenu.pyi
│ │ ├── CustomQLineEdit.pyi
│ │ ├── DarkMojo.pyi
│ │ ├── ExpandingLabel.pyi
│ │ ├── FilterFieldWidget.pyi
│ │ ├── FilterablePopupButton.pyi
│ │ ├── InteractiveIconTabBar.pyi
│ │ ├── LogView.pyi
│ │ ├── Manifest.pyi
│ │ ├── MenuButton.pyi
│ │ ├── NavigationToolbar.pyi
│ │ ├── PopdownLabel.pyi
│ │ ├── PopupMenuOption.pyi
│ │ ├── Profile.pyi
│ │ ├── PythonConsole.pyi
│ │ ├── QtAttributes.pyi
│ │ ├── Settings.pyi
│ │ ├── SliderWidget.pyi
│ │ ├── SortableTreeWidget.pyi
│ │ ├── StretchBox.pyi
│ │ ├── TextEditorUtils.pyi
│ │ ├── Threads.pyi
│ │ ├── Timebar.pyi
│ │ ├── Timeline.pyi
│ │ ├── ToolbarButton.pyi
│ │ ├── TopWindows.pyi
│ │ ├── TreeWidgetUtil.pyi
│ │ ├── VerticalDivider.pyi
│ │ ├── WidgetUtils.pyi
│ │ ├── __init__.pyi
│ │ └── py.typed
│ ├── QTFCurve/
│ │ ├── FCurveGraphValueListWidget.pyi
│ │ ├── FCurveListView.pyi
│ │ ├── FCurveSnapSettingsMenu.pyi
│ │ ├── FCurveValueEdit.pyi
│ │ ├── Manifest.pyi
│ │ ├── MixedGroupState.pyi
│ │ ├── UniqueListDict.pyi
│ │ ├── __init__.pyi
│ │ └── py.typed
│ ├── RenderingAPI/
│ │ ├── Manifest.pyi
│ │ ├── RenderOutputs.pyi
│ │ ├── RenderPlugins.pyi
│ │ ├── __init__.pyi
│ │ └── py.typed
│ ├── RenderingAPI_cmodule/
│ │ ├── RenderOutputLocation.pyi
│ │ ├── Renderer.pyi
│ │ ├── RendererInfo.pyi
│ │ ├── __init__.pyi
│ │ └── py.typed
│ ├── RerenderEventMapper/
│ │ ├── LiveRenderOpChain.pyi
│ │ ├── LiveRenderPortOpObserver.pyi
│ │ ├── NukeBridgeAPI.pyi
│ │ ├── NukeSessionMonitor.pyi
│ │ ├── RerenderEvents.pyi
│ │ ├── __init__.pyi
│ │ └── py.typed
│ ├── ResourceFiles/
│ │ ├── IconManager.pyi
│ │ ├── Manifest.pyi
│ │ ├── ResourceManager.pyi
│ │ ├── __init__.pyi
│ │ └── py.typed
│ ├── UI4/
│ │ ├── App/
│ │ │ ├── AboutKatana.pyi
│ │ │ ├── AutoSave.pyi
│ │ │ ├── Hotkeys.pyi
│ │ │ ├── Icon.pyi
│ │ │ ├── KeyboardShortcutManager/
│ │ │ │ ├── KeyboardShortcutItem.pyi
│ │ │ │ ├── KeyboardShortcutManager.pyi
│ │ │ │ ├── KeyboardShortcutManagerMixin.pyi
│ │ │ │ ├── KeyboardShortcutModel.pyi
│ │ │ │ ├── ManagedAction.pyi
│ │ │ │ └── __init__.pyi
│ │ │ ├── Layouts.pyi
│ │ │ ├── MainMenu.pyi
│ │ │ ├── MainWindow.pyi
│ │ │ ├── OGL.pyi
│ │ │ ├── Preferences.pyi
│ │ │ ├── RecentFiles.pyi
│ │ │ ├── Splash.pyi
│ │ │ ├── Tabs.pyi
│ │ │ ├── TimelineWidget.pyi
│ │ │ └── __init__.pyi
│ │ ├── FormMaster/
│ │ │ ├── ArgsExportDialog.pyi
│ │ │ ├── ArrayParameterPolicy.pyi
│ │ │ ├── AttributeHints.pyi
│ │ │ ├── AttributePolicy.pyi
│ │ │ ├── BaseParameterPolicy.pyi
│ │ │ ├── CurveParameterPolicy.pyi
│ │ │ ├── DocDump.pyi
│ │ │ ├── EditorCache.pyi
│ │ │ ├── Editors/
│ │ │ │ ├── AdjustMaxToDisplayWindowNumberFormWidget.pyi
│ │ │ │ ├── AssetApiPluginPopup.pyi
│ │ │ │ ├── AssetId.pyi
│ │ │ │ ├── AttributeEditor.pyi
│ │ │ │ ├── AttributeName.pyi
│ │ │ │ ├── AttributeSetEditor.pyi
│ │ │ │ ├── AttributeType.pyi
│ │ │ │ ├── BaseRamp.pyi
│ │ │ │ ├── CallbackButtonFormWidget.pyi
│ │ │ │ ├── CameraPickerFormWidget.pyi
│ │ │ │ ├── CelEditor.pyi
│ │ │ │ ├── ChannelEditors.pyi
│ │ │ │ ├── ColorArrayFormWidget.pyi
│ │ │ │ ├── ColorEditors.pyi
│ │ │ │ ├── ColorRamp.pyi
│ │ │ │ ├── ConditionalHints.pyi
│ │ │ │ ├── ConditionalStateSortableGroup.pyi
│ │ │ │ ├── CropWindow.pyi
│ │ │ │ ├── Curves.pyi
│ │ │ │ ├── DeferredGroupTree.pyi
│ │ │ │ ├── DotNode.pyi
│ │ │ │ ├── DynamicArrayFormWidget.pyi
│ │ │ │ ├── DynamicTemplateGroup.pyi
│ │ │ │ ├── EmbeddedFCurve.pyi
│ │ │ │ ├── FaceSelect.pyi
│ │ │ │ ├── FileFormatPopupEditor.pyi
│ │ │ │ ├── FileInEditors.pyi
│ │ │ │ ├── FileOutEditors.pyi
│ │ │ │ ├── FilterablePopupFWidget.pyi
│ │ │ │ ├── FindingGroup.pyi
│ │ │ │ ├── FloatRamp.pyi
│ │ │ │ ├── Fork.pyi
│ │ │ │ ├── GradientEditors.pyi
│ │ │ │ ├── GraphStateVariablesFormWidget.pyi
│ │ │ │ ├── GroupStack.pyi
│ │ │ │ ├── HideTitleGroup.pyi
│ │ │ │ ├── HierarchyCreate.pyi
│ │ │ │ ├── HintedFilterablePopupFormWidget.pyi
│ │ │ │ ├── HomogeneousTransform.pyi
│ │ │ │ ├── HtmlEditorWidget.pyi
│ │ │ │ ├── InterwovenArrayGroup.pyi
│ │ │ │ ├── Isolate.pyi
│ │ │ │ ├── KatanaColor.pyi
│ │ │ │ ├── KeyboardShortcutFormWidget.pyi
│ │ │ │ ├── LODInput.pyi
│ │ │ │ ├── Layers/
│ │ │ │ │ ├── LayerWithTransform.pyi
│ │ │ │ │ ├── PolicyHelpers.pyi
│ │ │ │ │ ├── Reposition.pyi
│ │ │ │ │ ├── Transform2D.pyi
│ │ │ │ │ └── __init__.pyi
│ │ │ │ ├── LocationEditor.pyi
│ │ │ │ ├── LookFileBake.pyi
│ │ │ │ ├── LookFileMaterialPopup.pyi
│ │ │ │ ├── LookFilePassname.pyi
│ │ │ │ ├── ManipulatorGroup.pyi
│ │ │ │ ├── MaterialStack.pyi
│ │ │ │ ├── MultiInputPortNodeEditor.pyi
│ │ │ │ ├── NetworkMaterialParameterEdit.pyi
│ │ │ │ ├── Node2DGroup.pyi
│ │ │ │ ├── NodeDropWidget.pyi
│ │ │ │ ├── NodeGroup.pyi
│ │ │ │ ├── NodeName.pyi
│ │ │ │ ├── NodeProxyPlaceholder.pyi
│ │ │ │ ├── NonexclusiveCheckboxPopupFormWidget.pyi
│ │ │ │ ├── Number.pyi
│ │ │ │ ├── OpScriptNode.pyi
│ │ │ │ ├── OpWriteNode.pyi
│ │ │ │ ├── PageGroupWidget.pyi
│ │ │ │ ├── PeerHeaderGroup.pyi
│ │ │ │ ├── PluginPopup.pyi
│ │ │ │ ├── Point.pyi
│ │ │ │ ├── PolicyFindPopup.pyi
│ │ │ │ ├── PortNameAndOrderWidget.pyi
│ │ │ │ ├── PortNamePopup.pyi
│ │ │ │ ├── PresetsGroup.pyi
│ │ │ │ ├── Rectangle.pyi
│ │ │ │ ├── Render.pyi
│ │ │ │ ├── Resolution.pyi
│ │ │ │ ├── ScenegraphColumnDescription.pyi
│ │ │ │ ├── ScenegraphLocation.pyi
│ │ │ │ ├── ScenegraphLocationArray.pyi
│ │ │ │ ├── ScriptButton.pyi
│ │ │ │ ├── ScriptEditor.pyi
│ │ │ │ ├── SeparatorFormWidget.pyi
│ │ │ │ ├── ShaderPopup.pyi
│ │ │ │ ├── ShadingNetworkMaterialAppendNodeName.pyi
│ │ │ │ ├── ShadingNetworkMaterialInterfaceOrder.pyi
│ │ │ │ ├── ShadingNetworkPopupButton.pyi
│ │ │ │ ├── ShadingNodeConnectedParameter.pyi
│ │ │ │ ├── ShadingNodeSubnet.pyi
│ │ │ │ ├── SortableArray.pyi
│ │ │ │ ├── SortableAttributeDropEditor.pyi
│ │ │ │ ├── SortableDelimitedString.pyi
│ │ │ │ ├── SortableGroups.pyi
│ │ │ │ ├── SortableParams.pyi
│ │ │ │ ├── Teleparam.pyi
│ │ │ │ ├── TeleportNode.pyi
│ │ │ │ ├── TexturesGroup.pyi
│ │ │ │ ├── Transform3DNodeEditor.pyi
│ │ │ │ ├── UserParameters.pyi
│ │ │ │ ├── UserParametersDialogs.pyi
│ │ │ │ ├── ViewSelectCapsule.pyi
│ │ │ │ └── __init__.pyi
│ │ │ ├── EnableableParameterPolicy.pyi
│ │ │ ├── FnAttributePolicy.pyi
│ │ │ ├── GenericAssignParameterPolicy.pyi
│ │ │ ├── GenericAssignParameterPolicy_geolib3.pyi
│ │ │ ├── GraphStateVariablePolicy.pyi
│ │ │ ├── GroupParameterPolicy.pyi
│ │ │ ├── HintsDelegate.pyi
│ │ │ ├── KatanaFactory.pyi
│ │ │ ├── KatanaVisibilityOps.pyi
│ │ │ ├── LiveAttributePolicy.pyi
│ │ │ ├── MaterialNodePolicy.pyi
│ │ │ ├── NodeActionDelegate/
│ │ │ │ ├── BaseNodeActionDelegate.pyi
│ │ │ │ ├── DisplayOutputsActionDelegate.pyi
│ │ │ │ ├── GroupActionDelegate.pyi
│ │ │ │ ├── LiveGroupActionDelegate.pyi
│ │ │ │ ├── NodeActionDelegate.pyi
│ │ │ │ └── __init__.pyi
│ │ │ ├── NodeBypassPolicy.pyi
│ │ │ ├── NodeHints/
│ │ │ │ ├── Common2D.pyi
│ │ │ │ ├── General.pyi
│ │ │ │ ├── ImageAddMix.pyi
│ │ │ │ ├── ImageBackgroundColor.pyi
│ │ │ │ ├── ImageBlur.pyi
│ │ │ │ ├── ImageBlur_Original.pyi
│ │ │ │ ├── ImageBrightness.pyi
│ │ │ │ ├── ImageChannels.pyi
│ │ │ │ ├── ImageCheckerboard.pyi
│ │ │ │ ├── ImageClamp.pyi
│ │ │ │ ├── ImageColor.pyi
│ │ │ │ ├── ImageContrast.pyi
│ │ │ │ ├── ImageConvolve.pyi
│ │ │ │ ├── ImageCrop.pyi
│ │ │ │ ├── ImageDefocus.pyi
│ │ │ │ ├── ImageDistort.pyi
│ │ │ │ ├── ImageExposure.pyi
│ │ │ │ ├── ImageFade.pyi
│ │ │ │ ├── ImageGamma.pyi
│ │ │ │ ├── ImageInvert.pyi
│ │ │ │ ├── ImageLevels.pyi
│ │ │ │ ├── ImageMatteMix.pyi
│ │ │ │ ├── ImageMerge.pyi
│ │ │ │ ├── ImageMix.pyi
│ │ │ │ ├── ImageOrient.pyi
│ │ │ │ ├── ImagePlane.pyi
│ │ │ │ ├── ImagePosition.pyi
│ │ │ │ ├── ImagePremultiply.pyi
│ │ │ │ ├── ImageRamp.pyi
│ │ │ │ ├── ImageRead.pyi
│ │ │ │ ├── ImageReformat.pyi
│ │ │ │ ├── ImageSaturation.pyi
│ │ │ │ ├── ImageText.pyi
│ │ │ │ ├── ImageThreshold.pyi
│ │ │ │ ├── ImageUnpremultiply.pyi
│ │ │ │ ├── ImageWrite.pyi
│ │ │ │ ├── ImageZMerge.pyi
│ │ │ │ ├── Nodes3D.pyi
│ │ │ │ ├── OCIOCDLTransform.pyi
│ │ │ │ ├── OCIOColorSpace.pyi
│ │ │ │ ├── OCIODisplay.pyi
│ │ │ │ ├── OCIOFileTransform.pyi
│ │ │ │ ├── OCIOLogConvert.pyi
│ │ │ │ ├── OCIOLookTransform.pyi
│ │ │ │ ├── Render.pyi
│ │ │ │ ├── Transform2D.pyi
│ │ │ │ └── __init__.pyi
│ │ │ ├── NodeMimeData.pyi
│ │ │ ├── OpaqueParameterPolicy.pyi
│ │ │ ├── Pages.pyi
│ │ │ ├── ParameterCurveEditSet.pyi
│ │ │ ├── ParameterKeyMimeData.pyi
│ │ │ ├── ParameterPolicy.pyi
│ │ │ ├── PythonValuePolicy.pyi
│ │ │ ├── RenderNodeReferencePolicy.pyi
│ │ │ ├── ScalarParameterPolicy.pyi
│ │ │ ├── Scripts/
│ │ │ │ ├── ConstraintCache.pyi
│ │ │ │ └── __init__.pyi
│ │ │ ├── ShadingNodePolicy.pyi
│ │ │ ├── States.pyi
│ │ │ ├── WrenchDelegate.pyi
│ │ │ └── __init__.pyi
│ │ ├── KatanaPrefs/
│ │ │ ├── KatanaPrefsObject.pyi
│ │ │ ├── PrefNames.pyi
│ │ │ └── __init__.pyi
│ │ ├── MainUI.pyi
│ │ ├── Manifest.pyi
│ │ ├── ManifestUtil.pyi
│ │ ├── NodeMaster/
│ │ │ ├── NodeInteractionDelegateManager.pyi
│ │ │ ├── NodeInteractionDelegates/
│ │ │ │ ├── AttributeEditorDelegate.pyi
│ │ │ │ ├── FaceSetCreateDelegate.pyi
│ │ │ │ ├── FileIn.pyi
│ │ │ │ ├── GroupStackDelegate.pyi
│ │ │ │ ├── IsolateDelegate.pyi
│ │ │ │ ├── MaterialAssignDelegate.pyi
│ │ │ │ ├── MaterialDelegate.pyi
│ │ │ │ ├── MaterialStackDelegate.pyi
│ │ │ │ ├── PruneDelegate.pyi
│ │ │ │ ├── RendererProceduralAssignDelegate.pyi
│ │ │ │ ├── Transform3D.pyi
│ │ │ │ └── __init__.pyi
│ │ │ └── __init__.pyi
│ │ ├── Tabs/
│ │ │ ├── AttributesTab/
│ │ │ │ ├── AttributesTab.pyi
│ │ │ │ └── __init__.pyi
│ │ │ ├── BaseTab.pyi
│ │ │ ├── BaseViewerTab.pyi
│ │ │ ├── CELScratchPad/
│ │ │ │ ├── CELScratchPad.pyi
│ │ │ │ └── __init__.pyi
│ │ │ ├── Catalog/
│ │ │ │ ├── CatalogPanel.pyi
│ │ │ │ ├── CatalogSaveDialog.pyi
│ │ │ │ ├── CatalogWidget.pyi
│ │ │ │ ├── CatalogWidgetItem.pyi
│ │ │ │ ├── ImageImportDialog.pyi
│ │ │ │ └── __init__.pyi
│ │ │ ├── ColorPaletteTab.pyi
│ │ │ ├── CurveEditorTab.pyi
│ │ │ ├── DopeSheet/
│ │ │ │ ├── DopeSheet.pyi
│ │ │ │ ├── DopeSheetTree.pyi
│ │ │ │ ├── KeyDrawingLayer.pyi
│ │ │ │ ├── KeyInteractionLayer.pyi
│ │ │ │ ├── KeyLayerStack.pyi
│ │ │ │ ├── PanAndScrollLayer.pyi
│ │ │ │ └── __init__.pyi
│ │ │ ├── EnhancedTerminalTab/
│ │ │ │ ├── TerminalTab.pyi
│ │ │ │ └── __init__.pyi
│ │ │ ├── ExampleProjectsTab/
│ │ │ │ ├── ExampleProjectsTab.pyi
│ │ │ │ └── __init__.pyi
│ │ │ ├── FileInTab.pyi
│ │ │ ├── Help.pyi
│ │ │ ├── Histogram.pyi
│ │ │ ├── History.pyi
│ │ │ ├── KeyboardShortcutsTab.pyi
│ │ │ ├── LayeredMenuAPI.pyi
│ │ │ ├── Messages.pyi
│ │ │ ├── Monitor/
│ │ │ │ ├── CatalogGLHelpers.pyi
│ │ │ │ ├── CommentWidgets.pyi
│ │ │ │ ├── DisplayDetailsWidgets.pyi
│ │ │ │ ├── Layers/
│ │ │ │ │ ├── CropWindowLayer.pyi
│ │ │ │ │ ├── HotkeyLayer.pyi
│ │ │ │ │ ├── ImageLayer.pyi
│ │ │ │ │ ├── ImageLayer3D.pyi
│ │ │ │ │ ├── ImageLayerBase.pyi
│ │ │ │ │ ├── LinearSwipeLayer.pyi
│ │ │ │ │ ├── MaskLayer.pyi
│ │ │ │ │ ├── PixelProbeLayer.pyi
│ │ │ │ │ ├── RectangleSwipeLayer.pyi
│ │ │ │ │ ├── RenderFocusLayer.pyi
│ │ │ │ │ ├── RoiLayer.pyi
│ │ │ │ │ ├── SolidBoundsLayer.pyi
│ │ │ │ │ └── __init__.pyi
│ │ │ │ ├── Manipulators.pyi
│ │ │ │ ├── MenuUtils.pyi
│ │ │ │ ├── MonitorPanel.pyi
│ │ │ │ ├── MonitorWidget.pyi
│ │ │ │ └── __init__.pyi
│ │ │ ├── NodeGraphTab/
│ │ │ │ ├── Flipbook.pyi
│ │ │ │ ├── Layers/
│ │ │ │ │ ├── BandSelectionLayer.pyi
│ │ │ │ │ ├── BookmarkJumpMenuLayer.pyi
│ │ │ │ │ ├── CustomMenuLayer.pyi
│ │ │ │ │ ├── DragAndDropLayer.pyi
│ │ │ │ │ ├── FloatingNodeLayer.pyi
│ │ │ │ │ ├── GroupInteractionLayer.pyi
│ │ │ │ │ ├── LinkConnectionLayer.pyi
│ │ │ │ │ ├── LinkInteractionLayer.pyi
│ │ │ │ │ ├── MenuLayer.pyi
│ │ │ │ │ ├── MergeNodeInteractionLayer.pyi
│ │ │ │ │ ├── NetworkMaterialNodeInteractionLayer.pyi
│ │ │ │ │ ├── NodeCreationMenuLayer.pyi
│ │ │ │ │ ├── NodeDrawingLayer.pyi
│ │ │ │ │ ├── NodeGraphViewDrawingLayer.pyi
│ │ │ │ │ ├── NodeGraphViewInteractionLayer.pyi
│ │ │ │ │ ├── NodeGraphViewStateLayer.pyi
│ │ │ │ │ ├── NodeInteractionLayer.pyi
│ │ │ │ │ ├── NodeOverlayLayer.pyi
│ │ │ │ │ ├── OffscreenFlagDisplayLayer.pyi
│ │ │ │ │ ├── PortInteractionLayer.pyi
│ │ │ │ │ ├── StickyNoteInteractionLayer.pyi
│ │ │ │ │ ├── StructuredPortsNodeInteractionLayer.pyi
│ │ │ │ │ ├── StructuredPortsNodeLinkConnectionLayer.pyi
│ │ │ │ │ ├── TransientLayer.pyi
│ │ │ │ │ └── __init__.pyi
│ │ │ │ ├── NodeBreadcrumbsFrame.pyi
│ │ │ │ ├── NodeFindPopupButton.pyi
│ │ │ │ ├── NodeGoRootButton.pyi
│ │ │ │ ├── NodeGoUpButton.pyi
│ │ │ │ ├── NodeStateFilterFrame.pyi
│ │ │ │ ├── NodegraphPanel.pyi
│ │ │ │ ├── NodegraphWidget.pyi
│ │ │ │ └── __init__.pyi
│ │ │ ├── NodeTypes.pyi
│ │ │ ├── ParameterFindAndReplace.pyi
│ │ │ ├── ParametersTab/
│ │ │ │ ├── ParameterPanel.pyi
│ │ │ │ ├── ProjectSettings.pyi
│ │ │ │ └── __init__.pyi
│ │ │ ├── RenderLog.pyi
│ │ │ ├── SceneGraphTab/
│ │ │ │ ├── LightListPopup.pyi
│ │ │ │ ├── SceneGraphBookmarkButton.pyi
│ │ │ │ ├── SceneGraphTab.pyi
│ │ │ │ ├── SceneGraphTabColumn.pyi
│ │ │ │ ├── SceneGraphTabItems.pyi
│ │ │ │ ├── SceneGraphTabNameItemDelegate.pyi
│ │ │ │ └── __init__.pyi
│ │ │ ├── UVPanel/
│ │ │ │ ├── ExtendedInfoLabel.pyi
│ │ │ │ ├── FaceSelectionHelper.pyi
│ │ │ │ ├── Layers/
│ │ │ │ │ ├── HotkeyLayer.pyi
│ │ │ │ │ ├── SelectionLayer.pyi
│ │ │ │ │ └── __init__.pyi
│ │ │ │ ├── UVPanel.pyi
│ │ │ │ ├── UVWidget.pyi
│ │ │ │ └── __init__.pyi
│ │ │ └── __init__.pyi
│ │ ├── Util/
│ │ │ ├── AbstractSyntaxHighlighter.pyi
│ │ │ ├── AnamorphDisplayOptions.pyi
│ │ │ ├── AssetId.pyi
│ │ │ ├── AssetWidgetDelegatePlugins.pyi
│ │ │ ├── AttributeHistory.pyi
│ │ │ ├── BuiltinNotifications.pyi
│ │ │ ├── CMakeSyntaxHighlighter.pyi
│ │ │ ├── Caches.pyi
│ │ │ ├── CatalogEventHandlers.pyi
│ │ │ ├── CatalogEventReceiver.pyi
│ │ │ ├── ClientManager.pyi
│ │ │ ├── Color.pyi
│ │ │ ├── CppSyntaxHighlighter.pyi
│ │ │ ├── CropWindow.pyi
│ │ │ ├── Cursors.pyi
│ │ │ ├── DrawState.pyi
│ │ │ ├── Events.pyi
│ │ │ ├── ExternalTools.pyi
│ │ │ ├── FCurveUtil.pyi
│ │ │ ├── FaceSelect.pyi
│ │ │ ├── FileHelpers.pyi
│ │ │ ├── GLContextManager.pyi
│ │ │ ├── GLDrawingRoutines.pyi
│ │ │ ├── HotRender.pyi
│ │ │ ├── IconManager.pyi
│ │ │ ├── KatanaMediaCache.pyi
│ │ │ ├── LayeredMenuUtils.pyi
│ │ │ ├── LogRecord.pyi
│ │ │ ├── LogRecordHandler.pyi
│ │ │ ├── LogRecordItemModel.pyi
│ │ │ ├── LuaSyntaxHighlighter.pyi
│ │ │ ├── ManipulatorManager.pyi
│ │ │ ├── NodeDialogs.pyi
│ │ │ ├── NodeErrors.pyi
│ │ │ ├── NodeGraphTab.pyi
│ │ │ ├── NotificationManager.pyi
│ │ │ ├── Number.pyi
│ │ │ ├── PluginManager.pyi
│ │ │ ├── PythonSyntaxHighlighter.pyi
│ │ │ ├── PythonWidgetIntrospector.pyi
│ │ │ ├── Record.pyi
│ │ │ ├── RecordItemModel.pyi
│ │ │ ├── RenderMenu.pyi
│ │ │ ├── ScenegraphIconManager.pyi
│ │ │ ├── ScenegraphLocation.pyi
│ │ │ ├── ScriptButton.pyi
│ │ │ ├── Shader.pyi
│ │ │ ├── TextureManager.pyi
│ │ │ ├── TransformManipulatorLayer.pyi
│ │ │ ├── UndoGrouping.pyi
│ │ │ ├── Views.pyi
│ │ │ ├── WorkingSets.pyi
│ │ │ ├── WorldCursorCircleLayer.pyi
│ │ │ └── __init__.pyi
│ │ ├── Widgets/
│ │ │ ├── AssetIDLabel.pyi
│ │ │ ├── AttributeDropLabel.pyi
│ │ │ ├── AttributeEditorIndicatorLabel.pyi
│ │ │ ├── AttributeHistoryWidgets.pyi
│ │ │ ├── AutoKeyToggle.pyi
│ │ │ ├── BaseLayoutResizer.pyi
│ │ │ ├── BaseNodeGraphLayerStack.pyi
│ │ │ ├── BaseWidgets.pyi
│ │ │ ├── CameraPickerButton.pyi
│ │ │ ├── CatalogChannelsWidget.pyi
│ │ │ ├── CatalogFrameRangeWidget.pyi
│ │ │ ├── CatalogHistogramWidget.pyi
│ │ │ ├── CatalogItemWidget.pyi
│ │ │ ├── CatalogLockWidget.pyi
│ │ │ ├── CatalogNameWidget.pyi
│ │ │ ├── CatalogProgressWidget.pyi
│ │ │ ├── CatalogRenderLogWidget.pyi
│ │ │ ├── CatalogRenderStatsWidget.pyi
│ │ │ ├── CatalogResolutionWidget.pyi
│ │ │ ├── CatalogStopWidget.pyi
│ │ │ ├── CatalogThumbnailWidget.pyi
│ │ │ ├── CelResultsWidget.pyi
│ │ │ ├── CheckableTreeDialog.pyi
│ │ │ ├── Checkbox.pyi
│ │ │ ├── CollectAndSelect.pyi
│ │ │ ├── ColorProbeButton.pyi
│ │ │ ├── ComboBoxNoWheel.pyi
│ │ │ ├── CrashFileSelectorDialog.pyi
│ │ │ ├── CustomMenu.pyi
│ │ │ ├── DoubleClickSizeGrip.pyi
│ │ │ ├── DoubleSpinBox.pyi
│ │ │ ├── DropdownArrowButton.pyi
│ │ │ ├── EditWrenchButton.pyi
│ │ │ ├── FarmDefaultDialog.pyi
│ │ │ ├── FastLabel.pyi
│ │ │ ├── FilterPopups.pyi
│ │ │ ├── FlipbookDialog.pyi
│ │ │ ├── GeolibProcessingStateWidget.pyi
│ │ │ ├── GetSetMenu.pyi
│ │ │ ├── GradientLayer.pyi
│ │ │ ├── GraphStateVariablesPopupButton.pyi
│ │ │ ├── HBoxLayoutResizer.pyi
│ │ │ ├── HighlightWidget.pyi
│ │ │ ├── HistogramLayer.pyi
│ │ │ ├── HorizontalDivider.pyi
│ │ │ ├── HtmlEditorWidget.pyi
│ │ │ ├── IconLabelFrame.pyi
│ │ │ ├── ImageOptionsWidgets.pyi
│ │ │ ├── ImplicitFilterToggle.pyi
│ │ │ ├── IndicatorLabelFrame.pyi
│ │ │ ├── KeyboardShortcutLineEdit.pyi
│ │ │ ├── LightingToolsLayer/
│ │ │ │ ├── LightingToolsGafferComboBox.pyi
│ │ │ │ ├── LightingToolsToolBar.pyi
│ │ │ │ ├── LightingToolsUI.pyi
│ │ │ │ ├── LightingToolsUtils.pyi
│ │ │ │ └── __init__.pyi
│ │ │ ├── LineNumberAreaWidget.pyi
│ │ │ ├── LiveRenderViewerCameraButton.pyi
│ │ │ ├── LogRecordTreeView.pyi
│ │ │ ├── LookFileMaterialComboBox.pyi
│ │ │ ├── MessageBox.pyi
│ │ │ ├── MessagesToolbarButton.pyi
│ │ │ ├── MetaCheckBox.pyi
│ │ │ ├── ModalProcessInterruptWidget.pyi
│ │ │ ├── MonitorLayer/
│ │ │ │ ├── MonitorLayer.pyi
│ │ │ │ ├── Utils.pyi
│ │ │ │ ├── Widgets.pyi
│ │ │ │ └── __init__.pyi
│ │ │ ├── MonitorManipulatorButton.pyi
│ │ │ ├── NavigationToolbar.pyi
│ │ │ ├── NodeButton.pyi
│ │ │ ├── NodeChooserButton.pyi
│ │ │ ├── NodeColorsMenu.pyi
│ │ │ ├── NodeMenu.pyi
│ │ │ ├── NodePopupMenu.pyi
│ │ │ ├── NodeTypePopup.pyi
│ │ │ ├── NonexclusiveCheckboxPopup.pyi
│ │ │ ├── NotificationToolbarButton.pyi
│ │ │ ├── PaneButtons.pyi
│ │ │ ├── PanelScrollArea.pyi
│ │ │ ├── PanelWidget.pyi
│ │ │ ├── PolicyHelpButton.pyi
│ │ │ ├── PopdownLabel.pyi
│ │ │ ├── PopupButton.pyi
│ │ │ ├── PortNameLineEdit.pyi
│ │ │ ├── ProductSaveWidgets.pyi
│ │ │ ├── ProgressDialog.pyi
│ │ │ ├── ProxyResCombo.pyi
│ │ │ ├── PublicInterfaceParameters.pyi
│ │ │ ├── RenderModePopup.pyi
│ │ │ ├── RenderSelectedToggle.pyi
│ │ │ ├── RenderViewWidgets.pyi
│ │ │ ├── ResizeToggleArrow.pyi
│ │ │ ├── ResolutionComboBox.pyi
│ │ │ ├── RoiCombo.pyi
│ │ │ ├── RolloverPixmap.pyi
│ │ │ ├── SceneGraphView/
│ │ │ │ ├── AttributeValuePopupWidgetManager.pyi
│ │ │ │ ├── Bridge.pyi
│ │ │ │ ├── BridgeImpl.pyi
│ │ │ │ ├── ColumnDataType.pyi
│ │ │ │ ├── ColumnManager.pyi
│ │ │ │ ├── ColumnPresetManager.pyi
│ │ │ │ ├── ContextMenuEvent.pyi
│ │ │ │ ├── DataRoles.pyi
│ │ │ │ ├── DebugViewLink.pyi
│ │ │ │ ├── Filtering/
│ │ │ │ │ ├── Criteria.pyi
│ │ │ │ │ ├── Evaluator.pyi
│ │ │ │ │ ├── Rule.pyi
│ │ │ │ │ ├── RuleConfigDialog.pyi
│ │ │ │ │ ├── RuleManager.pyi
│ │ │ │ │ ├── Target.pyi
│ │ │ │ │ └── __init__.pyi
│ │ │ │ ├── HorizontalHeaderView.pyi
│ │ │ │ ├── ItemDelegates/
│ │ │ │ │ ├── BaseItemDelegate.pyi
│ │ │ │ │ ├── ColorItemDelegate.pyi
│ │ │ │ │ ├── LightLinkItemDelegate.pyi
│ │ │ │ │ ├── MuteAndSoloItemDelegates.pyi
│ │ │ │ │ ├── NameItemDelegate.pyi
│ │ │ │ │ ├── NumberItemDelegate.pyi
│ │ │ │ │ ├── ParameterItemDelegate.pyi
│ │ │ │ │ ├── ShaderItemDelegate.pyi
│ │ │ │ │ ├── StateItemDelegate.pyi
│ │ │ │ │ ├── WorkingSetItemDelegate.pyi
│ │ │ │ │ └── __init__.pyi
│ │ │ │ ├── SceneGraphFindButton.pyi
│ │ │ │ ├── SceneGraphHandle.pyi
│ │ │ │ ├── SceneGraphLocationTranslation.pyi
│ │ │ │ ├── SceneGraphTree.pyi
│ │ │ │ ├── SceneGraphView.pyi
│ │ │ │ ├── SceneGraphViewClientManager.pyi
│ │ │ │ ├── SceneGraphViewColumn.pyi
│ │ │ │ ├── SceneGraphViewIconManager.pyi
│ │ │ │ ├── TreeWidgetItems.pyi
│ │ │ │ ├── TreeWidgetViewLink.pyi
│ │ │ │ ├── ViewLink.pyi
│ │ │ │ └── __init__.pyi
│ │ │ ├── ScrollAreaMemory.pyi
│ │ │ ├── ServiceProviderListWidget.pyi
│ │ │ ├── SetVersionFilterablePopup.pyi
│ │ │ ├── ShaderComboBox.pyi
│ │ │ ├── ShelfButton.pyi
│ │ │ ├── SortableGroups.pyi
│ │ │ ├── SortableListWidget.pyi
│ │ │ ├── SortablePanel.pyi
│ │ │ ├── SortableParams.pyi
│ │ │ ├── StatefulMenu.pyi
│ │ │ ├── StopButton.pyi
│ │ │ ├── SwitchingBoxLayout.pyi
│ │ │ ├── TabDockWidget.pyi
│ │ │ ├── ToolbarButton.pyi
│ │ │ ├── ToolbarWidget.pyi
│ │ │ ├── TreeWidget.pyi
│ │ │ ├── TriangleButton.pyi
│ │ │ ├── UpdateModeWidgets.pyi
│ │ │ ├── VBoxLayoutResizer.pyi
│ │ │ ├── VPStateButton.pyi
│ │ │ ├── VariablesPopup.pyi
│ │ │ ├── VerticalDivider.pyi
│ │ │ ├── ViewIndicatorLabel.pyi
│ │ │ ├── ViewerWorkingSetButton.pyi
│ │ │ ├── ViewportPane.pyi
│ │ │ ├── ViewportWidget.pyi
│ │ │ ├── WheelEventIgnoringTabBar.pyi
│ │ │ ├── WidgetHilightBox.pyi
│ │ │ ├── WorkingSetWidgets.pyi
│ │ │ └── __init__.pyi
│ │ ├── __init__.pyi
│ │ └── py.typed
│ ├── Utils/
│ │ ├── Decorators.pyi
│ │ ├── EventModule.pyi
│ │ ├── EventModuleCommon.pyi
│ │ ├── EventModuleDefault.pyi
│ │ ├── EventModuleUI.pyi
│ │ ├── Exceptions.pyi
│ │ ├── MimeData.pyi
│ │ ├── OpenGLGPUTiming.pyi
│ │ ├── OpenGLTraceMarker.pyi
│ │ ├── Plugins.pyi
│ │ ├── UndoStack.pyi
│ │ ├── WeakMethod.pyi
│ │ ├── __init__.pyi
│ │ └── py.typed
│ ├── ViewerAPI/
│ │ ├── ImplicitOpsManager.pyi
│ │ ├── ManipulatorBridge.pyi
│ │ ├── __init__.pyi
│ │ └── py.typed
│ ├── WorkQueue/
│ │ ├── Manifest.pyi
│ │ ├── WorkQueue.pyi
│ │ ├── __init__.pyi
│ │ └── py.typed
│ ├── _FnKatanaCoreUI/
│ │ ├── __init__.pyi
│ │ └── py.typed
│ ├── _PyOpenColorIO/
│ │ ├── __init__.pyi
│ │ └── py.typed
│ └── drawing_cmodule/
│ ├── __init__.pyi
│ └── py.typed
├── mari/
│ ├── README.md
│ ├── maripy
│ ├── moon.yml
│ ├── mypy.ini
│ ├── pyproject.toml
│ ├── stubgen_mari.py
│ ├── stubgen_mari.sh
│ ├── stubs/
│ │ └── mari-stubs/
│ │ ├── __init__.pyi
│ │ ├── current/
│ │ │ └── __init__.pyi
│ │ ├── examples/
│ │ │ ├── __init__.pyi
│ │ │ ├── action_manager.pyi
│ │ │ ├── asset_management.pyi
│ │ │ ├── c_api_channel_export.pyi
│ │ │ ├── cameras.pyi
│ │ │ ├── channels.pyi
│ │ │ ├── colorspace.pyi
│ │ │ ├── command_port.pyi
│ │ │ ├── convert_channel.pyi
│ │ │ ├── create_blacksmith_project.pyi
│ │ │ ├── create_project.pyi
│ │ │ ├── custom_layer.pyi
│ │ │ ├── custom_shader.pyi
│ │ │ ├── drag_and_drop_callbacks.pyi
│ │ │ ├── export_dialog.pyi
│ │ │ ├── export_shelf.pyi
│ │ │ ├── filters.pyi
│ │ │ ├── image_filters.pyi
│ │ │ ├── layered_channels_for_layered_shaders.pyi
│ │ │ ├── layered_channels_from_layered_shaders.pyi
│ │ │ ├── layers.pyi
│ │ │ ├── layers_NPMA_tiled_RGB.pyi
│ │ │ ├── layers_disable_all_amount_values.pyi
│ │ │ ├── lights.pyi
│ │ │ ├── linked_patches.pyi
│ │ │ ├── mGo.pyi
│ │ │ ├── mGo_Materialiser.pyi
│ │ │ ├── mGo_Shortcut_Actions.pyi
│ │ │ ├── maya_export.pyi
│ │ │ ├── nodes.pyi
│ │ │ ├── paint_buffer.pyi
│ │ │ ├── post_processing_filters.pyi
│ │ │ ├── projectors.pyi
│ │ │ ├── register_which_transforms.pyi
│ │ │ ├── resource_info.pyi
│ │ │ ├── selection_groups.pyi
│ │ │ ├── shaders.pyi
│ │ │ ├── shaderstacks.pyi
│ │ │ ├── vector_brush.pyi
│ │ │ └── vector_channel.pyi
│ │ ├── py.typed
│ │ ├── session/
│ │ │ ├── __init__.pyi
│ │ │ ├── exceptions.pyi
│ │ │ ├── menu.pyi
│ │ │ ├── preferences.pyi
│ │ │ ├── types/
│ │ │ │ ├── __init__.pyi
│ │ │ │ ├── adjustable_layer.pyi
│ │ │ │ ├── adjustment_layer.pyi
│ │ │ │ ├── camera.pyi
│ │ │ │ ├── channel.pyi
│ │ │ │ ├── channel_layer.pyi
│ │ │ │ ├── container/
│ │ │ │ │ ├── __init__.pyi
│ │ │ │ │ ├── path.pyi
│ │ │ │ │ ├── storage.pyi
│ │ │ │ │ └── utils.pyi
│ │ │ │ ├── entity_node_graph.pyi
│ │ │ │ ├── environment_light.pyi
│ │ │ │ ├── geo_entity.pyi
│ │ │ │ ├── geo_entity_version.pyi
│ │ │ │ ├── geo_patch.pyi
│ │ │ │ ├── graph_layer.pyi
│ │ │ │ ├── group_layer.pyi
│ │ │ │ ├── image.pyi
│ │ │ │ ├── image_set.pyi
│ │ │ │ ├── layer.pyi
│ │ │ │ ├── layer_stack.pyi
│ │ │ │ ├── light.pyi
│ │ │ │ ├── mari_entity.pyi
│ │ │ │ ├── metadata.pyi
│ │ │ │ ├── multichannel_layer.pyi
│ │ │ │ ├── node_graph.pyi
│ │ │ │ ├── paintable_layer.pyi
│ │ │ │ ├── point_light.pyi
│ │ │ │ ├── procedural_layer.pyi
│ │ │ │ ├── project.pyi
│ │ │ │ ├── projector.pyi
│ │ │ │ ├── shader.pyi
│ │ │ │ ├── shader_layer.pyi
│ │ │ │ └── sibling_shared_layer.pyi
│ │ │ ├── ui/
│ │ │ │ ├── __init__.pyi
│ │ │ │ ├── change_path_dialog.pyi
│ │ │ │ ├── channel_dialog.pyi
│ │ │ │ ├── export_dialog.pyi
│ │ │ │ ├── import_dialog.pyi
│ │ │ │ ├── message_dialog.pyi
│ │ │ │ ├── node_graph_dialog.pyi
│ │ │ │ ├── patch_export_options_dialog.pyi
│ │ │ │ ├── patch_grid_widget.pyi
│ │ │ │ ├── patch_item.pyi
│ │ │ │ ├── patch_selector_dialog.pyi
│ │ │ │ ├── shader_dialog.pyi
│ │ │ │ ├── tree_widget/
│ │ │ │ │ └── __init__.pyi
│ │ │ │ └── utils.pyi
│ │ │ └── utils/
│ │ │ ├── __init__.pyi
│ │ │ ├── export_session.pyi
│ │ │ ├── import_session.pyi
│ │ │ ├── misc.pyi
│ │ │ └── temp_dir.pyi
│ │ ├── system/
│ │ │ ├── __init__.pyi
│ │ │ ├── _finalise.pyi
│ │ │ ├── _modo_contexts.pyi
│ │ │ ├── _modo_session.pyi
│ │ │ ├── _modo_ui.pyi
│ │ │ ├── _modo_utils.pyi
│ │ │ ├── _modosock.pyi
│ │ │ ├── _ocio_toolbar.pyi
│ │ │ ├── _particle_channel_transfer.pyi
│ │ │ ├── _particle_layer_transfer.pyi
│ │ │ ├── _particle_ops.pyi
│ │ │ ├── _particle_transfer.pyi
│ │ │ ├── _setup.pyi
│ │ │ ├── _test.pyi
│ │ │ ├── bake_new_layer.pyi
│ │ │ ├── base_item_model.pyi
│ │ │ ├── batch_export_dialog.pyi
│ │ │ ├── enable_server_connection.pyi
│ │ │ ├── material_ingest.pyi
│ │ │ ├── material_ingest_dialog.pyi
│ │ │ ├── megascans.pyi
│ │ │ ├── megascans_parser.pyi
│ │ │ ├── modo_bridge.pyi
│ │ │ ├── nuke_bridge.pyi
│ │ │ ├── snapshots.pyi
│ │ │ └── textureSets.pyi
│ │ └── utils/
│ │ ├── __init__.pyi
│ │ ├── misc.pyi
│ │ ├── node_generator.pyi
│ │ ├── ocio.pyi
│ │ ├── redirector.pyi
│ │ ├── show_help.pyi
│ │ ├── signal_helpers.pyi
│ │ └── ui.pyi
│ └── symbols.txt
├── maya/
│ ├── .interpreter
│ ├── moon.yml
│ ├── pyproject.toml
│ ├── stubgen_maya.py
│ └── stubs/
│ ├── maya-stubs/
│ │ ├── OpenMaya.pyi
│ │ ├── OpenMayaAnim.pyi
│ │ ├── OpenMayaMPx.pyi
│ │ ├── OpenMayaRender.pyi
│ │ ├── OpenMayaUI.pyi
│ │ ├── __init__.pyi
│ │ ├── api/
│ │ │ ├── MDGContextGuard.pyi
│ │ │ ├── OpenMaya.pyi
│ │ │ ├── OpenMayaAnim.pyi
│ │ │ ├── OpenMayaRender.pyi
│ │ │ ├── OpenMayaUI.pyi
│ │ │ ├── _OpenMayaAnim_py2.pyi
│ │ │ ├── _OpenMayaRender_py2.pyi
│ │ │ ├── _OpenMayaUI_py2.pyi
│ │ │ ├── _OpenMaya_py2.pyi
│ │ │ └── __init__.pyi
│ │ ├── cmds/
│ │ │ └── __init__.pyi
│ │ ├── mel/
│ │ │ └── __init__.pyi
│ │ ├── py.typed
│ │ └── standalone.pyi
│ └── ufe-stubs/
│ ├── __init__.pyi
│ └── py.typed
├── moon.yml
├── nox-requirements.txt
├── noxfile.py
├── nuke/
│ ├── README.md
│ ├── moon.yml
│ ├── nukepy
│ ├── pyproject.toml
│ ├── stubgen_nuke.sh
│ └── stubs/
│ └── nuke-stubs/
│ ├── __init__.pyi
│ ├── _curveknob.pyi
│ ├── _curvelib.pyi
│ ├── _geo.pyi
│ ├── _localization.pyi
│ ├── _nuke.pyi
│ ├── _nuke_color.pyi
│ ├── _splinewarp.pyi
│ ├── callbacks.pyi
│ ├── colorspaces.pyi
│ ├── curveknob.pyi
│ ├── curvelib.pyi
│ ├── executeInMain.pyi
│ ├── geo.pyi
│ ├── localization.pyi
│ ├── overrides.pyi
│ ├── rotopaint.pyi
│ ├── scripts.pyi
│ ├── splinewarp.pyi
│ └── utils.pyi
├── ocio/
│ ├── README.md
│ ├── moon.yml
│ ├── pyproject.toml
│ ├── stubgen_ocio.py
│ ├── stubgen_ocio.sh
│ └── stubs/
│ └── PyOpenColorIO-stubs/
│ ├── __init__.pyi
│ ├── command_line.pyi
│ └── py.typed
├── openexr/
│ ├── moon.yml
│ ├── pyproject.toml
│ ├── stubgen_openexr.py
│ ├── stubgen_openexr.sh
│ └── stubs/
│ └── OpenEXR/
│ ├── __init__.pyi
│ └── py.typed
├── otio/
│ ├── README.md
│ ├── pyproject.toml
│ ├── stubgen_otio.sh
│ └── stubs/
│ └── opentimelineio-stubs/
│ ├── __init__.pyi
│ ├── _opentime.pyi
│ ├── _otio.pyi
│ ├── adapters/
│ │ ├── __init__.pyi
│ │ ├── adapter.pyi
│ │ ├── file_bundle_utils.pyi
│ │ ├── otio_json.pyi
│ │ ├── otiod.pyi
│ │ └── otioz.pyi
│ ├── algorithms/
│ │ ├── __init__.pyi
│ │ ├── filter.pyi
│ │ ├── stack_algo.pyi
│ │ ├── timeline_algo.pyi
│ │ └── track_algo.pyi
│ ├── console/
│ │ ├── __init__.pyi
│ │ ├── autogen_plugin_documentation.pyi
│ │ ├── autogen_serialized_datamodel.pyi
│ │ ├── autogen_version_map.pyi
│ │ ├── console_utils.pyi
│ │ ├── otiocat.pyi
│ │ ├── otioconvert.pyi
│ │ ├── otiopluginfo.pyi
│ │ ├── otiostat.pyi
│ │ └── otiotool.pyi
│ ├── core/
│ │ ├── __init__.pyi
│ │ ├── _core_utils.pyi
│ │ ├── composable.pyi
│ │ ├── composition.pyi
│ │ ├── item.pyi
│ │ └── mediaReference.pyi
│ ├── exceptions.pyi
│ ├── hooks.pyi
│ ├── media_linker.pyi
│ ├── opentime.pyi
│ ├── plugins/
│ │ ├── __init__.pyi
│ │ ├── manifest.pyi
│ │ └── python_plugin.pyi
│ ├── py.typed
│ ├── schema/
│ │ ├── __init__.pyi
│ │ ├── box2d.pyi
│ │ ├── clip.pyi
│ │ ├── effect.pyi
│ │ ├── external_reference.pyi
│ │ ├── generator_reference.pyi
│ │ ├── image_sequence_reference.pyi
│ │ ├── marker.pyi
│ │ ├── schemadef.pyi
│ │ ├── serializable_collection.pyi
│ │ ├── timeline.pyi
│ │ ├── transition.pyi
│ │ └── v2d.pyi
│ ├── schemadef/
│ │ └── __init__.pyi
│ ├── url_utils.pyi
│ └── versioning.pyi
├── pyproject.toml
├── pyside/
│ ├── .python-version
│ ├── README.md
│ ├── moon.yml
│ ├── pyproject.toml
│ ├── stubgen_pyside.py
│ ├── stubs/
│ │ ├── PySide2-stubs/
│ │ │ ├── Qt3DAnimation.pyi
│ │ │ ├── Qt3DCore.pyi
│ │ │ ├── Qt3DExtras.pyi
│ │ │ ├── Qt3DInput.pyi
│ │ │ ├── Qt3DLogic.pyi
│ │ │ ├── Qt3DRender.pyi
│ │ │ ├── QtCharts.pyi
│ │ │ ├── QtConcurrent.pyi
│ │ │ ├── QtCore.pyi
│ │ │ ├── QtDataVisualization.pyi
│ │ │ ├── QtGui.pyi
│ │ │ ├── QtHelp.pyi
│ │ │ ├── QtLocation.pyi
│ │ │ ├── QtMacExtras.pyi
│ │ │ ├── QtMultimedia.pyi
│ │ │ ├── QtMultimediaWidgets.pyi
│ │ │ ├── QtNetwork.pyi
│ │ │ ├── QtOpenGL.pyi
│ │ │ ├── QtOpenGLFunctions.pyi
│ │ │ ├── QtPositioning.pyi
│ │ │ ├── QtPrintSupport.pyi
│ │ │ ├── QtQml.pyi
│ │ │ ├── QtQuick.pyi
│ │ │ ├── QtQuickControls2.pyi
│ │ │ ├── QtQuickWidgets.pyi
│ │ │ ├── QtRemoteObjects.pyi
│ │ │ ├── QtScript.pyi
│ │ │ ├── QtScriptTools.pyi
│ │ │ ├── QtScxml.pyi
│ │ │ ├── QtSensors.pyi
│ │ │ ├── QtSerialPort.pyi
│ │ │ ├── QtSql.pyi
│ │ │ ├── QtSvg.pyi
│ │ │ ├── QtTest.pyi
│ │ │ ├── QtTextToSpeech.pyi
│ │ │ ├── QtUiTools.pyi
│ │ │ ├── QtWebChannel.pyi
│ │ │ ├── QtWebEngine.pyi
│ │ │ ├── QtWebEngineCore.pyi
│ │ │ ├── QtWebEngineWidgets.pyi
│ │ │ ├── QtWebSockets.pyi
│ │ │ ├── QtWidgets.pyi
│ │ │ ├── QtXml.pyi
│ │ │ ├── QtXmlPatterns.pyi
│ │ │ ├── __init__.pyi
│ │ │ ├── _config.pyi
│ │ │ ├── _git_pyside_version.pyi
│ │ │ ├── py.typed
│ │ │ ├── scripts/
│ │ │ │ ├── __init__.pyi
│ │ │ │ └── pyside_tool.pyi
│ │ │ └── support/
│ │ │ ├── __init__.pyi
│ │ │ ├── deprecated.pyi
│ │ │ └── generate_pyi.pyi
│ │ └── shiboken2-stubs/
│ │ ├── __init__.pyi
│ │ ├── _config.pyi
│ │ ├── _git_shiboken_module_version.pyi
│ │ ├── py.typed
│ │ └── shiboken2.pyi
│ ├── tests/
│ │ ├── conftest.py
│ │ ├── qlineedit.py
│ │ ├── qmenu.py
│ │ ├── test_general.py
│ │ ├── test_qflag.py
│ │ └── test_slot.py
│ └── tox.ini
├── pyside6/
│ ├── .python-version
│ ├── README.md
│ ├── pyproject.toml
│ ├── stubgen_pyside6.py
│ ├── stubs/
│ │ ├── PySide6-stubs/
│ │ │ ├── Qt3DAnimation.pyi
│ │ │ ├── Qt3DCore.pyi
│ │ │ ├── Qt3DExtras.pyi
│ │ │ ├── Qt3DInput.pyi
│ │ │ ├── Qt3DLogic.pyi
│ │ │ ├── Qt3DRender.pyi
│ │ │ ├── QtAsyncio/
│ │ │ │ ├── __init__.pyi
│ │ │ │ ├── events.pyi
│ │ │ │ ├── futures.pyi
│ │ │ │ └── tasks.pyi
│ │ │ ├── QtBluetooth.pyi
│ │ │ ├── QtCharts.pyi
│ │ │ ├── QtConcurrent.pyi
│ │ │ ├── QtCore.pyi
│ │ │ ├── QtDBus.pyi
│ │ │ ├── QtDataVisualization.pyi
│ │ │ ├── QtDesigner.pyi
│ │ │ ├── QtGraphs.pyi
│ │ │ ├── QtGraphsWidgets.pyi
│ │ │ ├── QtGui.pyi
│ │ │ ├── QtHelp.pyi
│ │ │ ├── QtHttpServer.pyi
│ │ │ ├── QtLocation.pyi
│ │ │ ├── QtMultimedia.pyi
│ │ │ ├── QtMultimediaWidgets.pyi
│ │ │ ├── QtNetwork.pyi
│ │ │ ├── QtNetworkAuth.pyi
│ │ │ ├── QtNfc.pyi
│ │ │ ├── QtOpenGL.pyi
│ │ │ ├── QtOpenGLWidgets.pyi
│ │ │ ├── QtPdf.pyi
│ │ │ ├── QtPdfWidgets.pyi
│ │ │ ├── QtPositioning.pyi
│ │ │ ├── QtPrintSupport.pyi
│ │ │ ├── QtQml.pyi
│ │ │ ├── QtQuick.pyi
│ │ │ ├── QtQuick3D.pyi
│ │ │ ├── QtQuickControls2.pyi
│ │ │ ├── QtQuickTest.pyi
│ │ │ ├── QtQuickWidgets.pyi
│ │ │ ├── QtRemoteObjects.pyi
│ │ │ ├── QtScxml.pyi
│ │ │ ├── QtSensors.pyi
│ │ │ ├── QtSerialBus.pyi
│ │ │ ├── QtSerialPort.pyi
│ │ │ ├── QtSpatialAudio.pyi
│ │ │ ├── QtSql.pyi
│ │ │ ├── QtStateMachine.pyi
│ │ │ ├── QtSvg.pyi
│ │ │ ├── QtSvgWidgets.pyi
│ │ │ ├── QtTest.pyi
│ │ │ ├── QtTextToSpeech.pyi
│ │ │ ├── QtUiTools.pyi
│ │ │ ├── QtWebChannel.pyi
│ │ │ ├── QtWebEngineCore.pyi
│ │ │ ├── QtWebEngineQuick.pyi
│ │ │ ├── QtWebEngineWidgets.pyi
│ │ │ ├── QtWebSockets.pyi
│ │ │ ├── QtWebView.pyi
│ │ │ ├── QtWidgets.pyi
│ │ │ ├── QtXml.pyi
│ │ │ ├── __init__.pyi
│ │ │ ├── _config.pyi
│ │ │ ├── _git_pyside_version.pyi
│ │ │ ├── py.typed
│ │ │ ├── scripts/
│ │ │ │ ├── __init__.pyi
│ │ │ │ ├── android_deploy.pyi
│ │ │ │ ├── deploy.pyi
│ │ │ │ ├── deploy_lib/
│ │ │ │ │ └── __init__.pyi
│ │ │ │ ├── metaobjectdump.pyi
│ │ │ │ ├── project.pyi
│ │ │ │ ├── project_lib/
│ │ │ │ │ ├── __init__.pyi
│ │ │ │ │ ├── design_studio_project.pyi
│ │ │ │ │ ├── newproject.pyi
│ │ │ │ │ ├── project_data.pyi
│ │ │ │ │ ├── pyproject_json.pyi
│ │ │ │ │ ├── pyproject_parse_result.pyi
│ │ │ │ │ ├── pyproject_toml.pyi
│ │ │ │ │ └── utils.pyi
│ │ │ │ ├── pyside_tool.pyi
│ │ │ │ ├── qml.pyi
│ │ │ │ └── qtpy2cpp.pyi
│ │ │ └── support/
│ │ │ ├── __init__.pyi
│ │ │ ├── deprecated.pyi
│ │ │ └── generate_pyi.pyi
│ │ └── shiboken6-stubs/
│ │ ├── Shiboken.pyi
│ │ ├── __init__.pyi
│ │ ├── _config.pyi
│ │ ├── _git_shiboken_module_version.pyi
│ │ └── py.typed
│ └── tests/
│ ├── conftest.py
│ ├── qlineedit.py
│ ├── qmenu.py
│ ├── test_general.py
│ ├── test_qflag.py
│ └── test_slot.py
├── rez/
│ ├── README.md
│ ├── moon.yml
│ ├── pyproject.toml
│ ├── stubgen_rez.sh
│ └── stubs/
│ ├── rez-stubs/
│ │ ├── __init__.pyi
│ │ ├── bind/
│ │ │ ├── PyQt.pyi
│ │ │ ├── PySide.pyi
│ │ │ ├── __init__.pyi
│ │ │ ├── _pymodule.pyi
│ │ │ ├── _utils.pyi
│ │ │ ├── arch.pyi
│ │ │ ├── cmake.pyi
│ │ │ ├── gcc.pyi
│ │ │ ├── hello_world.pyi
│ │ │ ├── os.pyi
│ │ │ ├── pip.pyi
│ │ │ ├── platform.pyi
│ │ │ ├── python.pyi
│ │ │ ├── rez.pyi
│ │ │ ├── rezgui.pyi
│ │ │ ├── setuptools.pyi
│ │ │ └── sip.pyi
│ │ ├── build_process.pyi
│ │ ├── build_system.pyi
│ │ ├── bundle_context.pyi
│ │ ├── cli/
│ │ │ ├── __init__.pyi
│ │ │ ├── _complete_util.pyi
│ │ │ ├── _entry_points.pyi
│ │ │ ├── _main.pyi
│ │ │ ├── _util.pyi
│ │ │ ├── benchmark.pyi
│ │ │ ├── bind.pyi
│ │ │ ├── build.pyi
│ │ │ ├── bundle.pyi
│ │ │ ├── complete.pyi
│ │ │ ├── config.pyi
│ │ │ ├── context.pyi
│ │ │ ├── cp.pyi
│ │ │ ├── depends.pyi
│ │ │ ├── diff.pyi
│ │ │ ├── env.pyi
│ │ │ ├── forward.pyi
│ │ │ ├── gui.pyi
│ │ │ ├── help.pyi
│ │ │ ├── interpret.pyi
│ │ │ ├── memcache.pyi
│ │ │ ├── mv.pyi
│ │ │ ├── pip.pyi
│ │ │ ├── pkg-cache.pyi
│ │ │ ├── pkg-ignore.pyi
│ │ │ ├── plugins.pyi
│ │ │ ├── python.pyi
│ │ │ ├── release.pyi
│ │ │ ├── rm.pyi
│ │ │ ├── search.pyi
│ │ │ ├── selftest.pyi
│ │ │ ├── status.pyi
│ │ │ ├── suite.pyi
│ │ │ ├── view.pyi
│ │ │ └── yaml2py.pyi
│ │ ├── command.pyi
│ │ ├── config.pyi
│ │ ├── deprecations.pyi
│ │ ├── developer_package.pyi
│ │ ├── exceptions.pyi
│ │ ├── package_bind.pyi
│ │ ├── package_cache.pyi
│ │ ├── package_copy.pyi
│ │ ├── package_filter.pyi
│ │ ├── package_help.pyi
│ │ ├── package_maker.pyi
│ │ ├── package_move.pyi
│ │ ├── package_order.pyi
│ │ ├── package_py_utils.pyi
│ │ ├── package_remove.pyi
│ │ ├── package_repository.pyi
│ │ ├── package_resources.pyi
│ │ ├── package_search.pyi
│ │ ├── package_serialise.pyi
│ │ ├── package_test.pyi
│ │ ├── packages.pyi
│ │ ├── pip.pyi
│ │ ├── plugin_managers.pyi
│ │ ├── py.typed
│ │ ├── release_hook.pyi
│ │ ├── release_vcs.pyi
│ │ ├── resolved_context.pyi
│ │ ├── resolver.pyi
│ │ ├── rex.pyi
│ │ ├── rex_bindings.pyi
│ │ ├── rezconfig.pyi
│ │ ├── serialise.pyi
│ │ ├── shells.pyi
│ │ ├── solver.pyi
│ │ ├── status.pyi
│ │ ├── suite.pyi
│ │ ├── system.pyi
│ │ ├── util.pyi
│ │ ├── utils/
│ │ │ ├── __init__.pyi
│ │ │ ├── _version.pyi
│ │ │ ├── amqp.pyi
│ │ │ ├── backcompat.pyi
│ │ │ ├── base26.pyi
│ │ │ ├── colorize.pyi
│ │ │ ├── data_utils.pyi
│ │ │ ├── diff_packages.pyi
│ │ │ ├── elf.pyi
│ │ │ ├── execution.pyi
│ │ │ ├── filesystem.pyi
│ │ │ ├── formatting.pyi
│ │ │ ├── graph_utils.pyi
│ │ │ ├── installer.pyi
│ │ │ ├── lint_helper.pyi
│ │ │ ├── logging_.pyi
│ │ │ ├── memcached.pyi
│ │ │ ├── patching.pyi
│ │ │ ├── pip.pyi
│ │ │ ├── platform_.pyi
│ │ │ ├── platform_mapped.pyi
│ │ │ ├── py_dist.pyi
│ │ │ ├── resolve_graph.pyi
│ │ │ ├── resources.pyi
│ │ │ ├── schema.pyi
│ │ │ ├── scope.pyi
│ │ │ ├── sourcecode.pyi
│ │ │ ├── typing.pyi
│ │ │ ├── which.pyi
│ │ │ └── yaml.pyi
│ │ ├── version/
│ │ │ ├── __init__.pyi
│ │ │ ├── _requirement.pyi
│ │ │ ├── _util.pyi
│ │ │ └── _version.pyi
│ │ └── wrapper.pyi
│ └── rezplugins-stubs/
│ ├── __init__.pyi
│ ├── build_process/
│ │ ├── __init__.pyi
│ │ ├── local.pyi
│ │ ├── remote.pyi
│ │ └── rezconfig.pyi
│ ├── build_system/
│ │ ├── __init__.pyi
│ │ ├── cmake.pyi
│ │ ├── custom.pyi
│ │ ├── make.pyi
│ │ └── rezconfig.pyi
│ ├── command/
│ │ └── __init__.pyi
│ ├── package_repository/
│ │ ├── __init__.pyi
│ │ ├── filesystem.pyi
│ │ ├── memory.pyi
│ │ └── rezconfig.pyi
│ ├── py.typed
│ ├── release_hook/
│ │ ├── __init__.pyi
│ │ ├── amqp.pyi
│ │ ├── command.pyi
│ │ ├── emailer.pyi
│ │ └── rezconfig.pyi
│ ├── release_vcs/
│ │ ├── __init__.pyi
│ │ ├── git.pyi
│ │ ├── hg.pyi
│ │ ├── rezconfig.pyi
│ │ ├── stub.pyi
│ │ └── svn.pyi
│ └── shell/
│ ├── __init__.pyi
│ ├── _utils/
│ │ ├── __init__.pyi
│ │ ├── powershell_base.pyi
│ │ └── windows.pyi
│ ├── bash.pyi
│ ├── cmd.pyi
│ ├── csh.pyi
│ ├── gitbash.pyi
│ ├── powershell.pyi
│ ├── pwsh.pyi
│ ├── rezconfig.pyi
│ ├── sh.pyi
│ ├── tcsh.pyi
│ └── zsh.pyi
├── runtests.sh
├── shotgun/
│ ├── .python-version
│ ├── README.md
│ ├── pyproject.toml
│ ├── stubgen_shotgun.sh
│ └── stubs/
│ └── shotgun_api3-stubs/
│ ├── __init__.pyi
│ ├── lib/
│ │ ├── __init__.pyi
│ │ ├── certifi/
│ │ │ ├── __init__.pyi
│ │ │ └── core.pyi
│ │ ├── httplib2/
│ │ │ ├── __init__.pyi
│ │ │ ├── auth.pyi
│ │ │ ├── certs.pyi
│ │ │ ├── error.pyi
│ │ │ ├── iri2uri.pyi
│ │ │ └── socks.pyi
│ │ ├── mimetypes.pyi
│ │ ├── mockgun/
│ │ │ ├── __init__.pyi
│ │ │ ├── errors.pyi
│ │ │ ├── mockgun.pyi
│ │ │ └── schema.pyi
│ │ ├── pyparsing.pyi
│ │ ├── sgsix.pyi
│ │ ├── sgtimezone.pyi
│ │ └── sgutils.pyi
│ ├── py.typed
│ └── shotgun.pyi
├── substance_painter/
│ ├── README.md
│ ├── moon.yml
│ ├── pyproject.toml
│ ├── stubgen_substance_painter.py
│ └── stubs/
│ ├── _substance_painter-stubs/
│ │ ├── __init__.pyi
│ │ ├── analytics.pyi
│ │ ├── application.pyi
│ │ ├── async_utils.pyi
│ │ ├── baking.pyi
│ │ ├── colormanagement.pyi
│ │ ├── data_tweak.pyi
│ │ ├── display.pyi
│ │ ├── event.pyi
│ │ ├── exception.pyi
│ │ ├── export.pyi
│ │ ├── feature.pyi
│ │ ├── fiber.pyi
│ │ ├── interop.pyi
│ │ ├── js.pyi
│ │ ├── layerstack.pyi
│ │ ├── levels.pyi
│ │ ├── logging.pyi
│ │ ├── project.pyi
│ │ ├── py.typed
│ │ ├── resource.pyi
│ │ ├── source.pyi
│ │ ├── textureset.pyi
│ │ └── ui.pyi
│ └── substance_painter-stubs/
│ ├── __init__.pyi
│ ├── _executor.pyi
│ ├── _utility.pyi
│ ├── _version.pyi
│ ├── application.pyi
│ ├── async_utils.pyi
│ ├── baking.pyi
│ ├── colormanagement.pyi
│ ├── display.pyi
│ ├── event.pyi
│ ├── exception.pyi
│ ├── export.pyi
│ ├── js.pyi
│ ├── layerstack.pyi
│ ├── levels.pyi
│ ├── logging.pyi
│ ├── project.pyi
│ ├── properties.pyi
│ ├── py.typed
│ ├── resource.pyi
│ ├── source.pyi
│ ├── textureset.pyi
│ └── ui.pyi
├── taskfile.common.yml
├── taskfile.yml
├── usd/
│ ├── .python-version
│ ├── README.md
│ ├── builddocs.sh
│ ├── buildusd.sh
│ ├── checkstubs.sh
│ ├── comparedocs.sh
│ ├── fixtures/
│ │ ├── destination_forwarding.usda
│ │ ├── input.usda
│ │ ├── invalid_1.usda
│ │ ├── invalid_2.usda
│ │ ├── invalid_2b.usda
│ │ ├── invalid_2c.usda
│ │ ├── invalid_2d.usda
│ │ ├── over.usda
│ │ ├── source_forwarding.usda
│ │ ├── usd_resolve_info.usda
│ │ ├── valid_1.usda
│ │ ├── valid_2.usda
│ │ ├── valid_3.usda
│ │ ├── valid_4.usda
│ │ └── valid_5.usda
│ ├── moon.yml
│ ├── pyproject.toml
│ ├── runtests.sh
│ ├── stubgen_usd.py
│ ├── stubgen_usd.sh
│ ├── stubs/
│ │ ├── Boost-stubs/
│ │ │ ├── Python.pyi
│ │ │ ├── __init__.pyi
│ │ │ └── py.typed
│ │ └── pxr-stubs/
│ │ ├── Ar/
│ │ │ └── __init__.pyi
│ │ ├── CameraUtil/
│ │ │ └── __init__.pyi
│ │ ├── Garch/
│ │ │ └── __init__.pyi
│ │ ├── GeomUtil/
│ │ │ └── __init__.pyi
│ │ ├── Gf/
│ │ │ └── __init__.pyi
│ │ ├── Glf/
│ │ │ └── __init__.pyi
│ │ ├── Kind/
│ │ │ └── __init__.pyi
│ │ ├── Ndr/
│ │ │ └── __init__.pyi
│ │ ├── Pcp/
│ │ │ └── __init__.pyi
│ │ ├── Plug/
│ │ │ └── __init__.pyi
│ │ ├── PxOsd/
│ │ │ └── __init__.pyi
│ │ ├── Sdf/
│ │ │ └── __init__.pyi
│ │ ├── Sdr/
│ │ │ ├── __init__.pyi
│ │ │ └── shaderParserTestUtils.pyi
│ │ ├── SdrGlslfx/
│ │ │ └── __init__.pyi
│ │ ├── Tf.pyi
│ │ ├── Trace/
│ │ │ └── __init__.pyi
│ │ ├── Ts/
│ │ │ ├── TsTest_Comparator.pyi
│ │ │ ├── TsTest_CompareBaseline.pyi
│ │ │ ├── TsTest_Grapher.pyi
│ │ │ └── __init__.pyi
│ │ ├── Usd/
│ │ │ └── __init__.pyi
│ │ ├── UsdAppUtils/
│ │ │ ├── __init__.pyi
│ │ │ ├── cameraArgs.pyi
│ │ │ ├── colorArgs.pyi
│ │ │ ├── complexityArgs.pyi
│ │ │ ├── framesArgs.pyi
│ │ │ └── rendererArgs.pyi
│ │ ├── UsdBakeMtlx/
│ │ │ └── __init__.pyi
│ │ ├── UsdGeom/
│ │ │ └── __init__.pyi
│ │ ├── UsdHydra/
│ │ │ └── __init__.pyi
│ │ ├── UsdImagingGL/
│ │ │ └── __init__.pyi
│ │ ├── UsdLux/
│ │ │ └── __init__.pyi
│ │ ├── UsdMedia/
│ │ │ └── __init__.pyi
│ │ ├── UsdMtlx/
│ │ │ └── __init__.pyi
│ │ ├── UsdPhysics/
│ │ │ └── __init__.pyi
│ │ ├── UsdProc/
│ │ │ └── __init__.pyi
│ │ ├── UsdRender/
│ │ │ └── __init__.pyi
│ │ ├── UsdResolverExample/
│ │ │ └── __init__.pyi
│ │ ├── UsdRi/
│ │ │ └── __init__.pyi
│ │ ├── UsdSchemaExamples/
│ │ │ └── __init__.pyi
│ │ ├── UsdShade/
│ │ │ └── __init__.pyi
│ │ ├── UsdShaders/
│ │ │ └── __init__.pyi
│ │ ├── UsdSkel/
│ │ │ └── __init__.pyi
│ │ ├── UsdUI/
│ │ │ └── __init__.pyi
│ │ ├── UsdUtils/
│ │ │ ├── __init__.pyi
│ │ │ ├── complianceChecker.pyi
│ │ │ ├── constantsGroup.pyi
│ │ │ ├── fixBrokenPixarSchemas.pyi
│ │ │ ├── toolPaths.pyi
│ │ │ ├── updateSchemaWithSdrNode.pyi
│ │ │ └── usdzUtils.pyi
│ │ ├── UsdVol/
│ │ │ └── __init__.pyi
│ │ ├── Usdviewq/
│ │ │ ├── __init__.pyi
│ │ │ ├── adjustDefaultMaterial.pyi
│ │ │ ├── adjustDefaultMaterialUI.pyi
│ │ │ ├── adjustFreeCamera.pyi
│ │ │ ├── adjustFreeCameraUI.pyi
│ │ │ ├── appController.pyi
│ │ │ ├── appEventFilter.pyi
│ │ │ ├── arrayAttributeView.pyi
│ │ │ ├── attributeValueEditor.pyi
│ │ │ ├── attributeValueEditorUI.pyi
│ │ │ ├── attributeViewContextMenu.pyi
│ │ │ ├── common.pyi
│ │ │ ├── configController.pyi
│ │ │ ├── customAttributes.pyi
│ │ │ ├── debugFlagsWidget.pyi
│ │ │ ├── frameSlider.pyi
│ │ │ ├── freeCamera.pyi
│ │ │ ├── headerContextMenu.pyi
│ │ │ ├── hydraSceneBrowser.pyi
│ │ │ ├── layerStackContextMenu.pyi
│ │ │ ├── legendUtil.pyi
│ │ │ ├── mainWindowUI.pyi
│ │ │ ├── overridableLineEdit.pyi
│ │ │ ├── plugin.pyi
│ │ │ ├── preferences.pyi
│ │ │ ├── preferencesUI.pyi
│ │ │ ├── prettyPrint.pyi
│ │ │ ├── primContextMenu.pyi
│ │ │ ├── primContextMenuItems.pyi
│ │ │ ├── primLegend.pyi
│ │ │ ├── primLegendUI.pyi
│ │ │ ├── primTreeWidget.pyi
│ │ │ ├── primViewItem.pyi
│ │ │ ├── propertyLegend.pyi
│ │ │ ├── propertyLegendUI.pyi
│ │ │ ├── pythonInterpreter.pyi
│ │ │ ├── qt.pyi
│ │ │ ├── rootDataModel.pyi
│ │ │ ├── scalarTypes.pyi
│ │ │ ├── selectionDataModel.pyi
│ │ │ ├── settings.pyi
│ │ │ ├── stageView.pyi
│ │ │ ├── usdviewApi.pyi
│ │ │ ├── usdviewContextMenuItem.pyi
│ │ │ ├── variantComboBox.pyi
│ │ │ └── viewSettingsDataModel.pyi
│ │ ├── Vt/
│ │ │ └── __init__.pyi
│ │ ├── Work/
│ │ │ └── __init__.pyi
│ │ ├── __init__.pyi
│ │ └── py.typed
│ └── tests/
│ ├── test_asset_info.py
│ ├── test_batch_namespace_edit.py
│ ├── test_bounding_box.py
│ ├── test_cache_utils.py
│ ├── test_caching.py
│ ├── test_check.py
│ ├── test_comment.py
│ ├── test_debugging.py
│ ├── test_destination_forwarding.py
│ ├── test_edit.py
│ ├── test_explicit.py
│ ├── test_iter_contains.py
│ ├── test_keyframe.py
│ ├── test_kind.py
│ ├── test_material.py
│ ├── test_notice.py
│ ├── test_notice_send_custom.py
│ ├── test_notice_send_derived.py
│ ├── test_notice_send_global.py
│ ├── test_orphaned_over.py
│ ├── test_purpose.py
│ ├── test_reference_into_prim.py
│ ├── test_sdf_change_block.py
│ ├── test_shot.py
│ ├── test_source_forwarding.py
│ ├── test_specializes.py
│ ├── test_template_and_explicit.py
│ ├── test_uniquify.py
│ ├── test_usd_resolve_info.py
│ ├── test_usd_stubs.py
│ ├── test_user.py
│ ├── test_value_caching.py
│ ├── test_variant_set.py
│ ├── usd_resolve_info.usda
│ ├── valid_1.usda
│ ├── valid_2.usda
│ ├── valid_3.usda
│ ├── valid_4.usda
│ └── valid_5.usda
└── xrun.sh
================================================
FILE CONTENTS
================================================
================================================
FILE: .gitignore
================================================
.venv*
.nox
dist
__pycache__
*.pyc
usd/stubs/**/__DOC.pyi
usd/stubs/**/_[a-z]*.pyi
*.egg-info
.env
# moon
.moon/cache
.moon/docker
================================================
FILE: .moon/hooks/pre-commit.sh
================================================
#!/usr/bin/env bash
set -eo pipefail
# Automatically generated by moon. DO NOT MODIFY!
# https://moonrepo.dev/docs/guides/vcs-hooks
moon run common:black --affected
================================================
FILE: .moon/tasks/tag-stubs.yml
================================================
tasks:
generate:
description: 'Create the stubs'
command: 'generate'
inputs:
- 'stubgen_*'
publish:
description: 'Publish the stub package to PyPI'
deps: ['~:generate']
command: 'publish'
inputs:
- 'pyproject.toml'
- 'README.md'
develop:
description: 'Install the stubs into the current venv'
command: 'develop'
================================================
FILE: .moon/tasks.yml
================================================
tasks:
mypy:
script: uv run mypy
mypy-silent:
# don't use uv run because we do NOT want the real library present in the venv.
# specificallly target ./stubs to silencing errors in tests, etc
script: uvx mypy ./stubs | uvx mypy-silent
generate:
script: ./stubgen_${project}.sh
build:
script: uv build --wheel
publish:
script: uv publish
deps: [^:build]
format:
script: uvx ruff==0.11.13 format --exit-non-zero-on-format
check:
script: uvx ruff==0.11.13 check --fix --exit-non-zero-on-fix
lint:
deps: [format, check]
test:
script: uv run pytest tests
================================================
FILE: .moon/toolchain.yml
================================================
python:
# rootRequirementsOnly: true
version: '3.11.10'
pip: {}
================================================
FILE: .moon/workspace.yml
================================================
# https://moonrepo.dev/docs/config/workspace
$schema: 'https://moonrepo.dev/schemas/workspace.json'
# Require a specific version of moon while running commands, otherwise fail.
# versionConstraint: '>=1.0.0'
# Extend and inherit an external configuration file. Must be a valid HTTPS URL or file system path.
# extends: './shared/workspace.yml'
# REQUIRED: A map of all projects found within the workspace, or a list or file system globs.
# When using a map, each entry requires a unique project ID as the map key, and a file system
# path to the project folder as the map value. File paths are relative from the workspace root,
# and cannot reference projects located outside the workspace boundary.
projects:
- '.'
- '*/moon.yml'
vcs:
hooks:
pre-commit:
- 'moon run :lint'
================================================
FILE: .pre-commit-config.yaml
================================================
repos:
- repo: local
hooks:
- id: precommit_gen
name: precommit_gen
entry: nox
args: [-s, precommit_gen, --no-install, --]
language: system
pass_filenames: false
require_serial: false
stages: [commit, push]
files: ^noxfile[.]py$
================================================
FILE: LICENSE.txt
================================================
Apache License
Version 2.0, January 2004
http://www.apache.org/licenses/
TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
1. Definitions.
"License" shall mean the terms and conditions for use, reproduction,
and distribution as defined by Sections 1 through 9 of this document.
"Licensor" shall mean the copyright owner or entity authorized by
the copyright owner that is granting the License.
"Legal Entity" shall mean the union of the acting entity and all
other entities that control, are controlled by, or are under common
control with that entity. For the purposes of this definition,
"control" means (i) the power, direct or indirect, to cause the
direction or management of such entity, whether by contract or
otherwise, or (ii) ownership of fifty percent (50%) or more of the
outstanding shares, or (iii) beneficial ownership of such entity.
"You" (or "Your") shall mean an individual or Legal Entity
exercising permissions granted by this License.
"Source" form shall mean the preferred form for making modifications,
including but not limited to software source code, documentation
source, and configuration files.
"Object" form shall mean any form resulting from mechanical
transformation or translation of a Source form, including but
not limited to compiled object code, generated documentation,
and conversions to other media types.
"Work" shall mean the work of authorship, whether in Source or
Object form, made available under the License, as indicated by a
copyright notice that is included in or attached to the work
(an example is provided in the Appendix below).
"Derivative Works" shall mean any work, whether in Source or Object
form, that is based on (or derived from) the Work and for which the
editorial revisions, annotations, elaborations, or other modifications
represent, as a whole, an original work of authorship. For the purposes
of this License, Derivative Works shall not include works that remain
separable from, or merely link (or bind by name) to the interfaces of,
the Work and Derivative Works thereof.
"Contribution" shall mean any work of authorship, including
the original version of the Work and any modifications or additions
to that Work or Derivative Works thereof, that is intentionally
submitted to Licensor for inclusion in the Work by the copyright owner
or by an individual or Legal Entity authorized to submit on behalf of
the copyright owner. For the purposes of this definition, "submitted"
means any form of electronic, verbal, or written communication sent
to the Licensor or its representatives, including but not limited to
communication on electronic mailing lists, source code control systems,
and issue tracking systems that are managed by, or on behalf of, the
Licensor for the purpose of discussing and improving the Work, but
excluding communication that is conspicuously marked or otherwise
designated in writing by the copyright owner as "Not a Contribution."
"Contributor" shall mean Licensor and any individual or Legal Entity
on behalf of whom a Contribution has been received by Licensor and
subsequently incorporated within the Work.
2. Grant of Copyright License. Subject to the terms and conditions of
this License, each Contributor hereby grants to You a perpetual,
worldwide, non-exclusive, no-charge, royalty-free, irrevocable
copyright license to reproduce, prepare Derivative Works of,
publicly display, publicly perform, sublicense, and distribute the
Work and such Derivative Works in Source or Object form.
3. Grant of Patent License. Subject to the terms and conditions of
this License, each Contributor hereby grants to You a perpetual,
worldwide, non-exclusive, no-charge, royalty-free, irrevocable
(except as stated in this section) patent license to make, have made,
use, offer to sell, sell, import, and otherwise transfer the Work,
where such license applies only to those patent claims licensable
by such Contributor that are necessarily infringed by their
Contribution(s) alone or by combination of their Contribution(s)
with the Work to which such Contribution(s) was submitted. If You
institute patent litigation against any entity (including a
cross-claim or counterclaim in a lawsuit) alleging that the Work
or a Contribution incorporated within the Work constitutes direct
or contributory patent infringement, then any patent licenses
granted to You under this License for that Work shall terminate
as of the date such litigation is filed.
4. Redistribution. You may reproduce and distribute copies of the
Work or Derivative Works thereof in any medium, with or without
modifications, and in Source or Object form, provided that You
meet the following conditions:
(a) You must give any other recipients of the Work or
Derivative Works a copy of this License; and
(b) You must cause any modified files to carry prominent notices
stating that You changed the files; and
(c) You must retain, in the Source form of any Derivative Works
that You distribute, all copyright, patent, trademark, and
attribution notices from the Source form of the Work,
excluding those notices that do not pertain to any part of
the Derivative Works; and
(d) If the Work includes a "NOTICE" text file as part of its
distribution, then any Derivative Works that You distribute must
include a readable copy of the attribution notices contained
within such NOTICE file, excluding those notices that do not
pertain to any part of the Derivative Works, in at least one
of the following places: within a NOTICE text file distributed
as part of the Derivative Works; within the Source form or
documentation, if provided along with the Derivative Works; or,
within a display generated by the Derivative Works, if and
wherever such third-party notices normally appear. The contents
of the NOTICE file are for informational purposes only and
do not modify the License. You may add Your own attribution
notices within Derivative Works that You distribute, alongside
or as an addendum to the NOTICE text from the Work, provided
that such additional attribution notices cannot be construed
as modifying the License.
You may add Your own copyright statement to Your modifications and
may provide additional or different license terms and conditions
for use, reproduction, or distribution of Your modifications, or
for any such Derivative Works as a whole, provided Your use,
reproduction, and distribution of the Work otherwise complies with
the conditions stated in this License.
5. Submission of Contributions. Unless You explicitly state otherwise,
any Contribution intentionally submitted for inclusion in the Work
by You to the Licensor shall be under the terms and conditions of
this License, without any additional terms or conditions.
Notwithstanding the above, nothing herein shall supersede or modify
the terms of any separate license agreement you may have executed
with Licensor regarding such Contributions.
6. Trademarks. This License does not grant permission to use the trade
names, trademarks, service marks, or product names of the Licensor,
except as required for reasonable and customary use in describing the
origin of the Work and reproducing the content of the NOTICE file.
7. Disclaimer of Warranty. Unless required by applicable law or
agreed to in writing, Licensor provides the Work (and each
Contributor provides its Contributions) on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
implied, including, without limitation, any warranties or conditions
of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
PARTICULAR PURPOSE. You are solely responsible for determining the
appropriateness of using or redistributing the Work and assume any
risks associated with Your exercise of permissions under this License.
8. Limitation of Liability. In no event and under no legal theory,
whether in tort (including negligence), contract, or otherwise,
unless required by applicable law (such as deliberate and grossly
negligent acts) or agreed to in writing, shall any Contributor be
liable to You for damages, including any direct, indirect, special,
incidental, or consequential damages of any character arising as a
result of this License or out of the use or inability to use the
Work (including but not limited to damages for loss of goodwill,
work stoppage, computer failure or malfunction, or any and all
other commercial damages or losses), even if such Contributor
has been advised of the possibility of such damages.
9. Accepting Warranty or Additional Liability. While redistributing
the Work or Derivative Works thereof, You may choose to offer,
and charge a fee for, acceptance of support, warranty, indemnity,
or other liability obligations and/or rights consistent with this
License. However, in accepting such obligations, You may act only
on Your own behalf and on Your sole responsibility, not on behalf
of any other Contributor, and only if You agree to indemnify,
defend, and hold each Contributor harmless for any liability
incurred by, or claims asserted against, such Contributor by reason
of your accepting any such warranty or additional liability.
END OF TERMS AND CONDITIONS
APPENDIX: How to apply the Apache License to your work.
To apply the Apache License to your work, attach the following
boilerplate notice, with the fields enclosed by brackets "[]"
replaced with your own identifying information. (Don't include
the brackets!) The text should be enclosed in the appropriate
comment syntax for the file format. We also recommend that a
file or class name and description of purpose be included on the
same "printed page" as the copyright notice for easier
identification within third-party archives.
Copyright [yyyy] [name of copyright owner]
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
================================================
FILE: README.md
================================================
# CG Stubs
## Python stubs for VFX and Animation
These stubs are intended to be used with a type checker like [`mypy`](https://mypy.readthedocs.io/en/stable/) to provide [static type checking](https://realpython.com/python-type-checking/) of python code, as well as analysis and completion in IDEs like PyCharm and VSCode with Pylance.
Supported libraries and applications:
- [USD](https://pypi.org/project/types-usd/)
- [houdini](https://pypi.org/project/types-houdini/)
- [katana](https://pypi.org/project/types-katana/)
- [mari](https://pypi.org/project/types-mari/)
- [maya](https://pypi.org/project/types-maya-strict/)
- [nuke](https://pypi.org/project/types-nuke/)
- [opencolorio](https://pypi.org/project/types-opencolorio/)
- [PySide2](https://pypi.org/project/types-PySide2/)
- [substance_painter](https://pypi.org/project/types-substance_painter/)
Note that [pymel](https://pypi.org/project/pymel/) now has very excellent stubs included (more info [here](https://dev.to/chadrik/pymels-new-type-stubs-2die)).
## Installing
These are distributed as "stubs-only" python packages, so you can just `pip install` whichever packages you need:
```
pip install types-usd types-houdini types-katana types-mari types-nuke types-opencolorio types-PySide2 types-substance_painter
```
## Generating the stubs
You only need to do this if your goal is to help improve the stubs. Otherwise, just use `pip`,
as explained above.
Building the stubs requires python 3.9 or greater.
### Step 1: Install `uv`
You can do this using [`pipx`](https://github.com/pypa/pipx):
```bash
pipx install uv
```
### Step 2: Configure your environment
Look at the `.env` file within the project that you want to build. Either uncomment the necessary
environment variables and paste in the proper values, or configure your shell environment to set
these variables before the next step, for example using a package manager like `rez`.
### Step 3: Run the generate task
Replace `maya` with the project you want to build:
```bash
uv run --dev nox -s 'generate(maya)'
```
> [!NOTE]
> Some generators have extra options. For example, you can generate stubs for
> specific Maya versions by running `nox -s 'generate(maya) --
> --maya-version=2025`. See each individual subfolders to learn more.
### Testing while Developing
The easiest way to use the stubs while you're developing them is to create an editable install.
Simply create a `.pth` file in the site-packages directory of the venv where your other deps live:
```
echo "/path/to/cg-stubs/maya/stubs/" > /path/to/venv/lib/python3.7/site-packages/maya.pth
```
The name of the .pth file does not matter.
Note that if you're using the mypy daemon, be sure to run `dmypy stop` to reread freshly modified stubs.
### Generating the USD stubs
The USD stubs currently require you to build a special fork of USD, until the necessary changes are merged.
```
git clone https://github.com/chadrik/USD
git checkout doc-stubs2
python3.9 -m venv .venv
. .venv/bin/activate
pip install PySide6 PyOpenGL
python3.9 build_scripts/build_usd.py --python-docs --docs .build-23.08-py39
```
Then update the variables in `stubgen_usd.sh` and generate as normal.
### Generating the Substance Painter stubs
These must be generated from within the UI, because I could not figure out how to run a standlone interpreter.
```
import mypy.stubgen;mypy.stubgen.main(['-p', '_substance_painter'])
```
Then generate as normal to cleanup the stubs.
[Detailed instructions here](/substance_painter/README.md).
## Publishing to PyPI
To publish to pypi.org, first run the nox installation steps from the Generating section, then run
the `publish` task (replacing `maya` with the package to publish):
```
nox -s 'publish(maya)'
```
> [!NOTE]
> Publishing to PyPI requires an [API token](https://pypi.org/help/#apitoken).
>
> the `nox -s 'publish(xyz)'` command will forward additional arguments through to the underlying `uv publish` command, so passing in `--token <TOKEN>` will work for authentication. Example: `nox -s 'publish(maya)' -- --token TOKEN`
>
> Since `uv publish` also [currently does not support `~/.pypirc`](https://github.com/astral-sh/uv/issues/7676) , the token must be copied in during the publish command itself.
>
> If the token is not provided on the command line, since the password field does not display the token after pasting, it is important that the pasted token does not include any newlines or control characters.
================================================
FILE: common/moon.yml
================================================
type: 'library'
================================================
FILE: common/pyproject.toml
================================================
[project]
name = "stubgenlib"
version = "0.3.0"
dependencies = [
"mypy >= 1.15.0, < 1.20.0",
"typeguard",
]
#readme = "README.md"
authors = [{name="Chad Dombrova"}]
description = "Utilities for improving the output of mypy's stubgen tool"
license = "MIT"
classifiers = [
"Development Status :: 4 - Beta",
"Programming Language :: Python :: 2",
"Programming Language :: Python :: 3",
"License :: OSI Approved :: MIT License",
"Operating System :: OS Independent",
"Intended Audience :: Developers",
]
repository = "https://github.com/LumaPictures/cg-stubs"
homepage = "https://github.com/LumaPictures/cg-stubs"
keywords = ["mypy", "typing", "stubs"]
[dependency-groups]
dev = [
"pytest",
]
[build-system]
requires = ["hatchling"]
build-backend = "hatchling.build"
[tool.mypy]
follow_imports = "silent"
check_untyped_defs = true
files = ["src", "tests"]
#[mypy-PySide2.*]
#ignore_missing_imports = true
#
#[mypy-lark.*]
#ignore_missing_imports =
================================================
FILE: common/src/stubgenlib/__init__.py
================================================
from __future__ import absolute_import, print_function
================================================
FILE: common/src/stubgenlib/build.py
================================================
from __future__ import absolute_import, print_function
import pathlib
def add_stubs_suffix(path: pathlib.Path) -> None:
"""Add a -stubs suffix to packages prior to building.
This ensures that they are PEP 561 compatible when we distribute them, but
will be found by mypy as a normal package.
"""
import shutil
# do these at the end to improve time to git refresh
to_delete = []
for child in path.iterdir():
if child.is_dir() and not child.name.endswith("-stubs"):
name = child.stem + "-stubs"
newpath = child.with_name(name)
if newpath.exists():
backup = newpath.with_suffix(".bak")
newpath.rename(backup)
to_delete.append(backup)
print(f"Renaming to {newpath}")
child.rename(newpath)
marker = newpath / "py.typed"
marker.touch()
for dir in to_delete:
shutil.rmtree(dir)
================================================
FILE: common/src/stubgenlib/cpptypeconvert.py
================================================
from __future__ import absolute_import, annotations, division, print_function
import pathlib
import re
from functools import lru_cache
from typing import Iterator
class CppTypeConverter:
IDENTIFIER = r"([a-zA-Z_][a-zA-Z0-9_]*)"
TYPE_DEF_INCLUDES: list[str] = []
STRIP = r"\b(?:const|friend|constexpr|class)\b"
ARG_TYPE_MAP = [
(r"\bstd::vector\b", "typing.Iterable"),
(r"\bstd::set\b", "typing.Iterable"),
(r"\bstd::unordered_set\b", "typing.Iterable"),
]
RESULT_TYPE_MAP = [
(r"\bstd::vector\b", "list"),
(r"\bstd::set\b", "list"),
(r"\bstd::unordered_set\b", "list"),
]
TYPE_MAP = [
(r"\bstd::string\b", "str"),
(r"\bstd::map\b", "dict"),
(r"\bstd::unordered_map\b", "dict"),
(r"\bstd::unique_ptr\b", ""),
(r"\bstd::ostream\b", "typing.TextIO"),
(r"\bstring\b", "str"),
(r"\bsize_t\b", "int"),
(r"\bint64\b", "int"),
(r"\bshort\b", "int"),
(r"\bchar\b", "str"),
# note that argname gets stripped. see stubgen_usd.test
(
r"\bstd::function\s*<\s*(?P<result>.+)\(\s*(?P<argtype>\w+)(?P<argname>.*)\)>",
r"typing.Callable[[\g<argtype>], \g<result>]",
),
(r"\bstd::pair\b", "tuple"),
(r"\bdouble\b", "float"),
(r"\bvoid\b", "None"),
]
RENAMES: list[tuple[str, str]] = []
def __init__(
self,
srcdir: str | None = None,
verbose: bool = False,
) -> None:
self.srcdir = srcdir
self._typedefs: list[tuple[str, str]] | None = None
self.verbose = verbose
self._typedef_reg = re.compile(r"\btypedef ([^;]+);")
self._using_reg = re.compile(
r"\busing\s+([a-zA-Z_][a-zA-Z0-9_]*)\s*=\s*([^;]+);"
)
def _get_typedefs(self) -> list[tuple[str, str]]:
if not self.srcdir:
return []
if self._typedefs is None:
self._typedefs = []
srcdir = pathlib.Path(self.srcdir)
for include_file in self.TYPE_DEF_INCLUDES:
for alias, type in self._parse_typedefs(srcdir.joinpath(include_file)):
self._typedefs.append((alias, type))
return self._typedefs
def _parse_typedefs(self, include_file: pathlib.Path) -> Iterator[tuple[str, str]]:
text = include_file.read_text().replace("\n", " ")
for match in self._typedef_reg.finditer(text):
typedef_str = match.group(1)
type, alias = typedef_str.rsplit(" ", 1)
alias = alias.replace(" ", "")
type = type.strip()
# fixup type. kinda ugly, but it's easier to do it now before types are
# full expanded
if type.startswith("std::unordered_map<"):
parts = type.split(",")
if len(parts) == 3:
type = ",".join(parts[:-1]) + ">"
yield alias, type
for match in self._using_reg.finditer(text):
alias = match.group(1).strip()
type = match.group(2).strip()
yield alias, type
def _replace_typedefs(self, typestr: str) -> str:
typedefs = self._get_typedefs()
if not typedefs:
return typestr
def replace_typedefs(typ: str) -> str:
for alias, replace in typedefs:
typ = re.sub(rf"\b{alias}\b", replace, typ)
return typ
replacements = [typestr]
while True:
new_typestr = replace_typedefs(typestr)
if new_typestr == typestr:
break
replacements.append(new_typestr)
typestr = new_typestr
if len(replacements) > 1:
chain = " >> ".join(repr(r) for r in replacements)
print(f"Typedef resolution: {chain}")
return typestr
@lru_cache
def cpp_arg_to_py_type(self, cpp_type: str, is_result: bool) -> str:
"""
Convert a c++ type string to a python type string
Returns the new typestring and whether the type appears to be a return value
"""
typestr = cpp_type
is_ptr = "*" in typestr
typestr = self._replace_typedefs(typestr)
parts = typestr.split()
# remove extraneous bits
parts = [
re.sub(self.STRIP, "", x).replace("*", "").replace("&", "").strip()
for x in parts
]
parts = [x for x in parts if not self.should_strip_part(x)]
typestr = " ".join(parts)
renames = dict(self.RENAMES)
new_typestr = renames.get(typestr.replace(" ", ""))
if new_typestr is not None:
return new_typestr
for pattern, replace in self.TYPE_MAP + (
self.RESULT_TYPE_MAP if is_ptr or is_result else self.ARG_TYPE_MAP
):
typestr = re.sub(pattern, replace, typestr)
# swap container syntax
typestr = typestr.replace("<", "[")
typestr = typestr.replace(">", "]")
# convert to python identifers
parts = [x for x in re.split(self.IDENTIFIER, typestr) if x]
parts = [(self.to_python_id(x) or x) for x in parts]
typestr = "".join(parts)
typestr = typestr.replace("::", ".")
typestr = typestr.replace(" ", "")
typestr = typestr.replace(",", ", ")
if is_ptr:
typestr = self.process_ptr(typestr, is_result)
return typestr
def process_ptr(self, converted_type: str, is_result: bool) -> str:
return converted_type
def to_python_id(self, cpp_type: str) -> str:
return cpp_type
def should_strip_part(self, x: str) -> bool:
"""
whether the part looks like a c++ keyword
"""
return not x
================================================
FILE: common/src/stubgenlib/moduleinspect.py
================================================
from __future__ import absolute_import, print_function
import mypy.moduleinspect
class ModuleInspect:
"""
Patch ModuleInspect so that it imports modules directly into the current process rather than
using multiprocessing.
"""
def get_package_properties(
self, package_id: str
) -> mypy.moduleinspect.ModuleProperties:
return mypy.moduleinspect.get_package_properties(package_id)
def __enter__(self):
print("Bypassing multiprocessing for module inspection")
return self
def __exit__(self, exc_type, exc_val, exc_tb):
return
def patch():
import mypy.stubgen
import mypy.stubutil
mypy.moduleinspect.ModuleInspect = ModuleInspect
mypy.stubutil.ModuleInspect = ModuleInspect
mypy.stubgen.ModuleInspect = ModuleInspect
================================================
FILE: common/src/stubgenlib/notifier.py
================================================
from __future__ import absolute_import, annotations, division, print_function
from collections import defaultdict
class Notifier:
"""
Class to display and filter warnings
"""
def __init__(self) -> None:
self._seen_msgs: defaultdict[tuple[str, str, str], int] = defaultdict(int)
self._seen_keys: defaultdict[str, int] = defaultdict(int)
self._modules: list[str] | None = None
self._keys: list[str] | None = None
def set_modules(self, modules: list[str]) -> None:
self._modules = modules
def set_keys(self, keys: list[str]) -> None:
self._keys = keys
def warn(self, key: str, module: str, msg: str) -> None:
if (key, module, msg) not in self._seen_msgs:
if (self._modules is None or module in self._modules) and (
self._keys is None or key in self._keys
):
print(f"({module}) {key}: {msg}")
self._seen_msgs[(key, module, msg)] += 1
self._seen_keys[key] += 1
def accumulate(self, key: str) -> None:
self._seen_keys[key] += 1
def print_summary(self) -> None:
print()
print("Warning Summary:")
for key in sorted(self._seen_keys):
count = self._seen_keys[key]
print(f" {key}: {count}")
def get_key_count(self, key: str) -> int:
return self._seen_keys[key]
================================================
FILE: common/src/stubgenlib/py.typed
================================================
================================================
FILE: common/src/stubgenlib/siggen/__init__.py
================================================
from __future__ import absolute_import, print_function
from .advanced import (
AdvancedSigMatcher as AdvancedSigMatcher,
)
from .advanced import (
AdvancedSignatureGenerator as AdvancedSignatureGenerator,
)
from .advanced import (
Optionality as Optionality,
)
from .boost import BoostDocstringSignatureGenerator as BoostDocstringSignatureGenerator
from .default import DefaultSigGenerator as DefaultSigGenerator
from .docstring import DocstringSignatureGenerator as DocstringSignatureGenerator
from .sigfixer import (
DocstringTypeFixer as DocstringTypeFixer,
)
from .sigfixer import (
SignatureFixer as SignatureFixer,
)
================================================
FILE: common/src/stubgenlib/siggen/advanced.py
================================================
from __future__ import absolute_import, annotations, division, print_function
import fnmatch
import re
from dataclasses import dataclass, field
from typing import Literal, NamedTuple, TypeVar, cast
from mypy.stubdoc import infer_sig_from_docstring
from mypy.stubgenc import (
ArgSig,
FunctionContext,
FunctionSig,
SignatureGenerator,
)
from mypy.stubgenc import (
DocstringSignatureGenerator as CDocstringSignatureGenerator,
)
T = TypeVar("T")
class Optionality(NamedTuple):
accepts_none: bool
has_default: bool = True
@dataclass
class AdvancedSigMatcher(object):
"""
Defines rules for matching objects within inspected modules and correcting
or overriding their inspected signature.
"""
# Full signature replacements.
# name_pattern: sig_str
# e.g. "*.VolatileBool.set": "(self, a: object) -> None"
signature_overrides: dict[str, str | list[str]] = field(default_factory=dict)
# Override argument types
# (name_pattern, arg, type): arg_type
# e.g. ("*", "flags", "int"): "typing.SupportsInt"
arg_type_overrides: dict[tuple[str, str, str | re.Pattern[str] | None], str] = (
field(default_factory=dict)
)
# Override result types
# (name_pattern, type): result_type
# e.g. ("*", "int"): "typing.SupportsInt"
result_type_overrides: dict[tuple[str, str | re.Pattern[str] | None], str] = field(
default_factory=dict
)
# Override property types
# (name_pattern, type): type
# e.g. ("*", "int"): "typing.SupportsInt"
property_type_overrides: dict[tuple[str, str | re.Pattern[str] | None], str] = (
field(default_factory=dict)
)
# Types that have implicit alternatives.
# type_str: list of types that can be used instead
# e.g. "PySide2.QtGui.QKeySequence": ["str"],
implicit_arg_types: dict[str, list[str]] = field(default_factory=dict)
# Args which should be made Optional[].
# (name_pattern, arg, type): Optionality
optional_args: dict[tuple[str, str, str | re.Pattern[str] | None], Optionality] = (
field(default_factory=dict)
)
# Results which should be made Optional[].
optional_result: list[str] = field(default_factory=list)
# Add new overloads to existing functions.
# name_pattern: list of sig_str
# e.g. "*.VolatileBool.set": ["(self, a: object) -> None"]
new_overloads: dict[str, list[str]] = field(default_factory=dict)
def __post_init__(self) -> None:
# insert OptionalKeys
self.arg_type_overrides.update(
{
# method, arg name, type
(
"*",
"*",
orig,
): "typing.Union[{},{}]".format(orig, ",".join(alt))
for orig, alt in self.implicit_arg_types.items()
}
)
self.arg_type_overrides.update(
{
# method, arg name, type
(
"*",
"*",
"typing.Union[{},NoneType]".format(orig),
): "typing.Union[{},{},NoneType]".format(orig, ",".join(alt))
for orig, alt in self.implicit_arg_types.items()
}
)
# restructure this so that it can be used with find_result_match
self._optional_result: dict[tuple[str, str | re.Pattern[str] | None], bool] = {
(name, "*"): True for name in self.optional_result
}
# self.arg_name_replacements = {
# tuple(OptionalKey(k) for k in key): value
# for key, value in self._arg_name_replacements.items()
# }
def find_func_match(self, fullname: str, items: dict[str, T]) -> T | None:
"""Look for a match in the given dictionary of function/method overrides"""
for pattern, value in items.items():
if fnmatch.fnmatchcase(fullname, pattern):
return value
return None
def _type_match(
self,
type_match: str | re.Pattern[str] | None,
new_value: T,
orig_type: str | None,
) -> T | None:
"""Return the matched type or None if there was no match.
if type_match is a regular expression, the new_value may be altered by subsitutions,
otherwise the value returned will be new_value.
"""
if orig_type is None:
return new_value if (type_match is None or type_match == "*") else None
elif isinstance(type_match, re.Pattern):
if not isinstance(new_value, str):
raise ValueError(
f"{type_match} is a regex, but {repr(new_value)} is not a string"
)
new_type = type_match.sub(new_value, orig_type)
if new_type != orig_type:
return cast("T | None", new_type)
else:
return None
elif type_match:
return new_value if fnmatch.fnmatchcase(orig_type, type_match) else None
else:
return None
def find_arg_match(
self,
fullname: str,
arg_name: str,
arg_type: str | None,
items: dict[tuple[str, str, str | re.Pattern[str] | None], T],
) -> T | None:
"""Look for a match in the given dictionary of argument overrides
arg_type : if None means only replace if the type is unset (None).
items : key is (name_pattern, arg, type). value is whatever we're trying to find.
"""
for (method_match, arg_name_match, arg_type_match), value in items.items():
if fnmatch.fnmatchcase(fullname, method_match) and fnmatch.fnmatchcase(
arg_name, arg_name_match
):
new_value = self._type_match(arg_type_match, value, arg_type)
if new_value is not None:
return new_value
return None
def find_result_match(
self,
fullname: str,
ret_type: str | None,
items: dict[tuple[str, str | re.Pattern[str] | None], T],
) -> T | None:
"""Look for a match in the given dictionary of argument overrides"""
for (method_match, ret_type_match), value in items.items():
if fnmatch.fnmatchcase(fullname, method_match):
new_value = self._type_match(ret_type_match, value, ret_type)
if new_value is not None:
return new_value
return None
# FIXME: generate a report of rules that were not used atexit.
class AdvancedSignatureGenerator(SignatureGenerator):
"""
A signature generator that uses an AdvancedSigMatcher to override all or
part of a function signature.
"""
WHITESPACE_FIX = re.compile(",(?=\w)")
sig_matcher: AdvancedSigMatcher
def __init__(
self,
fallback_sig_gen=CDocstringSignatureGenerator(),
merge_overrides_with_fallback: bool = False,
select_overload_to_merge: Literal["first", "by_index"] = "first",
) -> None:
"""
fallback_sig_gen: used to find a signature when signature_overrides has no match.
"""
self.fallback_sig_gen = fallback_sig_gen
self.merge_overrides_with_fallback = merge_overrides_with_fallback
self.select_overload_to_merge = select_overload_to_merge
def get_signature_str(self, ctx: FunctionContext) -> str | list[str] | None:
"""Look for a docstring signature in signature_overrides"""
return self.sig_matcher.find_func_match(
ctx.fullname, self.sig_matcher.signature_overrides
)
def process_arg(self, ctx: FunctionContext, arg: ArgSig) -> None:
"""Update ArgSig in place"""
# if key in self.arg_name_replacements:
# arg.name = self.arg_name_replacements[key]
optionality = self.sig_matcher.find_arg_match(
ctx.fullname, arg.name, arg.type, self.sig_matcher.optional_args
)
if optionality is not None:
if optionality.has_default:
arg.default = True
if optionality.accepts_none:
arg.type = "typing.Union[{},NoneType]".format(arg.type)
# FIXME: I think we want an else here, since arg.type is set, above
arg_type_override = self.sig_matcher.find_arg_match(
ctx.fullname, arg.name, arg.type, self.sig_matcher.arg_type_overrides
)
if arg_type_override is not None:
arg.type = arg_type_override
if arg.type:
# fixes the removal of whitepsace caused by infer_sig_from_docstring
arg.type = self.WHITESPACE_FIX.sub(", ", arg.type)
def process_sig(self, ctx: FunctionContext, sig: FunctionSig) -> FunctionSig:
"""
Check if the AdvancedSigMatcher matches `sig` and if it does, apply
fixes.
"""
for arg in sig.args:
self.process_arg(ctx, arg)
if self.sig_matcher.find_result_match(
ctx.fullname, sig.ret_type, self.sig_matcher._optional_result
):
# make result optional
sig = sig._replace(ret_type=f"typing.Optional[{sig.ret_type}]")
else:
# override result type
ret_override = self.sig_matcher.find_result_match(
ctx.fullname, sig.ret_type, self.sig_matcher.result_type_overrides
)
if ret_override:
sig = sig._replace(ret_type=ret_override)
if sig.ret_type:
# fixes the removal of whitepsace caused by infer_sig_from_docstring
fixed_type = self.WHITESPACE_FIX.sub(", ", sig.ret_type)
if sig.ret_type != fixed_type:
sig = sig._replace(ret_type=fixed_type)
return sig
def process_sigs(
self, ctx: FunctionContext, results: list[FunctionSig]
) -> list[FunctionSig]:
"""
Process all of the signatures
"""
for i, inferred in enumerate(results):
results[i] = self.process_sig(ctx, inferred)
new_overloads = self.sig_matcher.find_func_match(
ctx.fullname, self.sig_matcher.new_overloads
)
if new_overloads:
docstr = "\n".join(ctx.name + overload for overload in new_overloads)
new_sigs = infer_sig_from_docstring(docstr, ctx.name)
if new_sigs:
results.extend(new_sigs)
return results
def get_overridden_signatures(
self, ctx: FunctionContext
) -> list[FunctionSig] | None:
"""
Return a full replacement for the docstring signature, if it has
been provded by the AdvancedSigMatcher.
"""
docstr_override = self.get_signature_str(ctx)
if docstr_override:
name = ctx.name
docstr = docstr_override
def prep_doc(d: str) -> str:
if not d.startswith(name):
d = name + d
return d
# process our override
if isinstance(docstr, list):
docstr = "\n".join(prep_doc(d) for d in docstr)
else:
docstr = prep_doc(docstr)
return infer_sig_from_docstring(docstr, name)
else:
return None
def get_function_sig(
self, default_sig: FunctionSig, ctx: FunctionContext
) -> list[FunctionSig] | None:
"""Main override to apply the signature overrides"""
from stubgenlib.utils import merge_signature_kwargs
results = self.get_overridden_signatures(ctx)
if results and self.merge_overrides_with_fallback:
fallback = self.fallback_sig_gen.get_function_sig(default_sig, ctx)
if fallback:
if self.select_overload_to_merge == "first":
for i, result in enumerate(results):
results[i] = merge_signature_kwargs(result, fallback[0])
elif self.select_overload_to_merge == "by_index":
assert len(results) == len(fallback)
for i, (result, fb) in enumerate(zip(results, fallback)):
results[i] = merge_signature_kwargs(result, fb)
else:
raise ValueError(self.select_overload_to_merge)
if not results:
# call the standard docstring-based generator.
results = self.fallback_sig_gen.get_function_sig(default_sig, ctx)
if results is None:
results = [default_sig]
if results:
return self.process_sigs(ctx, results)
return results
def get_property_type(
self, default_type: str | None, ctx: FunctionContext
) -> str | None:
"""Return the type of the given property"""
ret_type = self.fallback_sig_gen.get_property_type(default_type, ctx)
type_override = self.sig_matcher.find_result_match(
ctx.fullname, ret_type, self.sig_matcher.property_type_overrides
)
if type_override is not None:
return type_override
else:
return ret_type
================================================
FILE: common/src/stubgenlib/siggen/boost.py
================================================
from __future__ import absolute_import, annotations, division, print_function
import contextlib
import io
import re
import tokenize
from mypy.stubdoc import _ARG_NAME_RE, is_valid_type
from mypy.stubgenc import (
ArgSig,
FunctionContext,
FunctionSig,
SignatureGenerator,
)
from typing_extensions import Final
# this is adapted from mypy.stubdoc
# States of the docstring parser.
STATE_INIT: Final = 1
STATE_FUNCTION_NAME: Final = 2
STATE_ARGUMENT_LIST: Final = 3
STATE_ARGUMENT_TYPE: Final = 4
STATE_ARGUMENT_DEFAULT: Final = 5
STATE_RETURN_VALUE: Final = 6
STATE_OPEN_BRACKET: Final = 7 # For generic types.
class BoostDocStringParser:
"""Parse function signatures in documentation."""
def __init__(self, function_name: str, verbose: bool = False) -> None:
# Only search for signatures of function with this name.
self.function_name = function_name
self.state = [STATE_INIT]
self.accumulator = ""
self.arg_type: str | None = None
self.arg_name = ""
self.arg_default: str | None = None
self.ret_type = "typing.Any"
self.defaults: str | bool = False
self.found = False
self.args: list[ArgSig] = []
# Valid signatures found so far.
self.signatures: list[FunctionSig] = []
self.verbose = verbose
def debug(self, *msg) -> None:
if self.verbose:
print(*msg)
def pop_state(self, reason) -> None:
prev = self.state.pop()
self.debug("pop state {} {} -> {}".format(reason, prev, self.state[-1]))
def add_token(self, token: tokenize.TokenInfo) -> None:
"""Process next token from the token stream."""
if (
token.type == tokenize.NAME
and token.string == self.function_name
and self.state[-1] == STATE_INIT
):
self.debug()
self.debug("STATE_FUNCTION_NAME")
self.state.append(STATE_FUNCTION_NAME)
elif (
token.type == tokenize.OP
and token.string == "("
and self.state[-1] == STATE_FUNCTION_NAME
):
self.pop_state("START ARGS")
self.accumulator = ""
self.found = True
self.debug("STATE_ARGUMENT_LIST")
self.state.append(STATE_ARGUMENT_LIST)
elif self.state[-1] == STATE_FUNCTION_NAME:
# Reset state, function name not followed by '('.
self.pop_state("RESET")
elif (
token.type == tokenize.OP
and token.string == "("
and self.state[-1] == STATE_ARGUMENT_LIST
):
self.debug("STATE_ARGUMENT_TYPE")
self.state.append(STATE_ARGUMENT_TYPE)
elif (
token.type == tokenize.OP
and token.string == "["
and self.state[-1] in (STATE_ARGUMENT_LIST, STATE_ARGUMENT_DEFAULT)
):
self.debug("setting defaults")
if self.defaults is False:
self.defaults = "next"
elif (
token.type == tokenize.OP
and token.string == "]"
and self.state[-1] == STATE_ARGUMENT_LIST
):
pass
elif (
token.type == tokenize.OP
and token.string == ")"
and self.state[-1] == STATE_ARGUMENT_TYPE
):
self.arg_type = self.accumulator
self.debug("accumulate type", repr(self.arg_type))
self.accumulator = ""
self.pop_state("END ARG TYPE")
elif (
token.type == tokenize.OP
and token.string in ("[", "(", "{")
and self.state[-1] != STATE_INIT
):
self.accumulator += token.string
self.debug("STATE_OPEN_BRACKET", token.string)
self.state.append(STATE_OPEN_BRACKET)
elif (
token.type == tokenize.OP
and token.string in ("]", ")", "}")
and self.state[-1] == STATE_OPEN_BRACKET
):
self.accumulator += token.string
self.pop_state(f"END OPEN BRACKET {token.string}")
elif (
token.type == tokenize.OP
and token.string == "="
and self.state[-1] in (STATE_ARGUMENT_LIST, STATE_ARGUMENT_TYPE)
):
if self.state[-1] == STATE_ARGUMENT_TYPE:
self.arg_type = self.accumulator
self.debug("STATE_ARGUMENT_DEFAULT. type", self.arg_type)
self.pop_state("END ARG TYPE")
else:
self.arg_name = self.accumulator
self.debug("STATE_ARGUMENT_DEFAULT. name", self.arg_name)
self.accumulator = ""
self.state.append(STATE_ARGUMENT_DEFAULT)
elif (
token.type == tokenize.OP
and token.string in (",", ")")
and self.state[-1] in (STATE_ARGUMENT_LIST, STATE_ARGUMENT_DEFAULT)
):
if self.state[-1] == STATE_ARGUMENT_DEFAULT:
self.arg_default = self.accumulator
self.debug("accumulate default", repr(self.arg_default))
self.pop_state("END ARG DEFAULT")
elif self.state[-1] == STATE_ARGUMENT_LIST:
self.arg_name = self.accumulator
self.debug("accumulate arg_name", repr(self.arg_name))
if not (
token.string == ")" and self.accumulator.strip() == ""
) and not _ARG_NAME_RE.match(self.arg_name):
# Invalid argument name.
self.debug("reset. invalid arg name", repr(self.arg_name))
self.reset()
return
if token.string == ")":
self.pop_state("END PAREN")
# arg_name is empty when there are no args. e.g. func()
if self.arg_name:
default = True if self.defaults is True else bool(self.arg_default)
if self.arg_type and not is_valid_type(self.arg_type):
arg_type = None
else:
arg_type = self.arg_type
self.args.append(
ArgSig(
name=self.arg_name,
type=arg_type,
default=default,
)
)
if self.defaults == "next":
self.defaults = True
self.arg_name = ""
self.arg_type = None
self.arg_default = None
self.accumulator = ""
elif (
token.type == tokenize.OP
and token.string == "->"
and self.state[-1] == STATE_INIT
):
self.debug("STATE_RETURN_VALUE", repr(self.accumulator))
self.accumulator = ""
self.state.append(STATE_RETURN_VALUE)
# ENDMAKER is necessary for python 3.4 and 3.5.
elif (
token.type in (tokenize.NEWLINE, tokenize.ENDMARKER)
or token.type == tokenize.OP
and token.string == ":"
) and self.state[-1] in (
STATE_INIT,
STATE_RETURN_VALUE,
):
if self.state[-1] == STATE_RETURN_VALUE:
if not is_valid_type(self.accumulator):
self.debug("reset: invalid return", repr(self.accumulator))
self.reset()
return
self.ret_type = self.accumulator
self.accumulator = ""
self.pop_state("END RETURN")
if self.found:
self.signatures.append(
FunctionSig(
name=self.function_name, args=self.args, ret_type=self.ret_type
)
)
self.found = False
self.args = []
self.ret_type = "typing.Any"
self.defaults = False
# Leave state as INIT.
else:
self.debug("catchall", self.state[-1], repr(token.string))
self.accumulator += token.string
def reset(self) -> None:
self.state = [STATE_INIT]
self.args = []
self.found = False
self.accumulator = ""
def get_signatures(self) -> list[FunctionSig]:
"""Return sorted copy of the list of signatures found so far."""
def has_arg(name: str, signature: FunctionSig) -> bool:
return any(x.name == name for x in signature.args)
def args_kwargs(signature: FunctionSig) -> bool:
return has_arg("*args", signature) and has_arg("**kwargs", signature)
# Move functions with (*args, **kwargs) in their signature to last place.
return list(sorted(self.signatures, key=lambda x: 1 if args_kwargs(x) else 0))
def infer_sig_from_boost_docstring(
docstr: str | None, name: str
) -> list[FunctionSig] | None:
if not docstr:
return None
state = BoostDocStringParser(name)
# Return all found signatures, even if there is a parse error after some are found.
with contextlib.suppress(tokenize.TokenError):
try:
tokens = tokenize.tokenize(io.BytesIO(docstr.encode("utf-8")).readline)
for token in tokens:
state.add_token(token)
except IndentationError:
return None
sigs = state.get_signatures()
return sigs
# def is_unique_args(sig: FunctionSig) -> bool:
# """return true if function argument names are unique"""
# return len(sig.args) == len({arg.name for arg in sig.args})
# # Return only signatures that have unique argument names. Mypy fails on non-unique arg names.
# return [sig for sig in sigs if is_unique_args(sig)]
class BoostDocstringSignatureGenerator(SignatureGenerator):
"""
Parses boost-python style signatures
"""
def get_function_sig(
self, default_sig: FunctionSig, ctx: FunctionContext
) -> list[FunctionSig] | None:
if ctx.docstring:
return infer_sig_from_boost_docstring(ctx.docstring, ctx.name)
return None
@classmethod
def is_default_boost_arg(cls, arg_name: str) -> bool:
return bool(re.match("^arg[0-9]+$", arg_name))
# def boost_parser() -> None:
# from lark import Lark
#
# parser = Lark(
# r"""
# identifier : (CNAME ".")* CNAME
#
# type_list : type ("," type)*
#
# generic_type : identifier "[" type_list "]"
#
# ?base_type : ["unsigned" " "+] identifier | pointer_type | reference_type | const_type
#
# ?type : base_type | generic_type
#
# signature : identifier "(" [type_list] ")" ["const"]
#
# %import common.CNAME
# %import common.WS
# %ignore WS
# """,
# start='signature',
# )
#
# text = "Mari::ExportItem::setUvIndexList(QList<int> const&, int, char const*)"
# print(parser.parse(text).pretty())
================================================
FILE: common/src/stubgenlib/siggen/default.py
================================================
from __future__ import absolute_import, annotations, division, print_function
from mypy.stubgenc import (
FunctionContext,
FunctionSig,
SignatureGenerator,
)
class DefaultSigGenerator(SignatureGenerator):
"""Sig Gen that uses the signature extracted from the source code"""
def get_function_sig(
self, default_sig: FunctionSig, ctx: FunctionContext
) -> list[FunctionSig] | None:
return [default_sig]
================================================
FILE: common/src/stubgenlib/siggen/docstring.py
================================================
from __future__ import absolute_import, annotations, division, print_function
from mypy.stubgenc import (
ArgSig,
FunctionContext,
FunctionSig,
SignatureGenerator,
)
class DocstringSignatureGenerator(SignatureGenerator):
"""
Generate signatures from docstrings.
Unlike the built-in parser which targets signatures created by C++ binding
generators, this works with standard docstring formats such as numpy,
google, and epydoc (which Katana uses).
"""
def prepare_docstring(self, docstr: str) -> str:
return docstr
def get_function_sig(
self, default_sig: FunctionSig, ctx: FunctionContext
) -> list[FunctionSig] | None:
import docstring_parser
if ctx.docstring:
parsed = docstring_parser.parse(self.prepare_docstring(ctx.docstring))
args = []
return_type = None
if parsed.params:
for param in parsed.params:
# param.default can be unreliable. in the case of google-style docs
# the default is parsed from human description, whereas is_optional is
# taken from a more concrete convention: `arg_name(list of in, optional)`
args.append(
ArgSig(
param.arg_name,
param.type_name,
default=bool(param.is_optional),
)
)
if parsed.returns:
if parsed.returns.type_name:
return_type = parsed.returns.type_name
elif parsed.returns.description and ":" in parsed.returns.description:
# the parser fails to extract the type when it encounters
# "list of {blah}" in google doctrings, so try a last ditch
# effort to grab the type
return_type = parsed.returns.description.split(":", 1)[0]
else:
return_type = None
sig = FunctionSig(ctx.name, args, return_type)
return [sig]
return None
================================================
FILE: common/src/stubgenlib/siggen/sigfixer.py
================================================
from __future__ import absolute_import, annotations, division, print_function
import re
from mypy.fastparse import parse_type_comment
from mypy.stubgenc import (
ArgSig,
FunctionContext,
FunctionSig,
SignatureGenerator,
)
from typing_extensions import Literal
from stubgenlib.utils import merge_signatures
class SignatureFixer(SignatureGenerator):
"""
Signature generator that handles the boilerplate of cleaning up a signature
from an external source, such as documentation.
This class should be subclassed to implement cleanup_type(), then paired
with a concrete SignatureGenerator class (the fixer should come first).
It will call super().get_function_sig() then apply the fixes defined by
cleanup_type() to all types in the signatures.
"""
def __init__(
self,
sig_gen: SignatureGenerator,
default_sig_handling: Literal["ignore", "merge"] = "merge",
) -> None:
"""
sig_gen: signature generator to call to get signatures to fix.
default_sig_handling
How to use the default signature.
"ignore": only use the sigs from this generator. don't use the default sig.
"merge": merge the sigs from this generator into the default.
"""
self.sig_gen = sig_gen
self.default_sig_handling = default_sig_handling
@staticmethod
def is_valid(type_name: str) -> bool:
try:
parse_type_comment(type_name, 0, 0, None)
except Exception:
return False
else:
return True
def cleanup_type(
self,
type_name: str,
ctx: FunctionContext,
is_result: bool,
default_value: str | None = None,
) -> str:
"""Override this to implement logic to fix a type"""
return type_name
def cleanup_sigs_types(
self,
sigs: list[FunctionSig],
ctx: FunctionContext,
) -> list[FunctionSig]:
"""Call cleanup_type on the types of all sigs"""
return [self.cleanup_sig_types(sig, ctx) for sig in sigs]
def cleanup_sig_types(
self, sig: FunctionSig, ctx: FunctionContext, docstring: str | None = None
) -> FunctionSig:
"""Call cleanup_type on the types of the sig (args and return type)"""
args = []
return_type = None
invalid = []
for arg in sig.args:
type_name = None
if arg.type:
type_name = self.cleanup_type(
arg.type, ctx, is_result=False, default_value=arg.default_value
)
if not self.is_valid(type_name):
invalid.append(
"Invalid arg {} (orig: {} converted: {})".format(
repr(arg.name), repr(arg.type), repr(type_name)
)
)
type_name = None
args.append(
ArgSig(
arg.name,
type_name,
default=arg.default,
default_value=arg.default_value,
)
)
if sig.ret_type:
return_type = self.cleanup_type(sig.ret_type, ctx, is_result=True)
if not self.is_valid(return_type):
invalid.append(
"Invalid ret (orig: {} converted: {})".format(
repr(sig.ret_type), repr(return_type)
)
)
return_type = None
# FIXME: only copy if something has changed?
converted = sig._replace(args=args, ret_type=return_type)
if docstring:
converted = converted._replace(docstring=docstring)
if invalid:
print(f"Invalid type after cleanup: {ctx.fullname}")
print(" orig: {}".format(sig.format_sig()))
print(" new: {}".format(converted.format_sig()))
for item in invalid:
print(" {}".format(item))
return converted
def get_function_sig(
self, default_sig: FunctionSig, ctx: FunctionContext
) -> list[FunctionSig] | None:
"""Gets the signatures from sig_gen, then cleans up the types"""
sigs = self.sig_gen.get_function_sig(default_sig, ctx)
if sigs:
for i, sig in enumerate(sigs):
sig = self.cleanup_sig_types(sig, ctx)
if self.default_sig_handling == "ignore":
merged_sig = sig
elif default_sig.is_catchall_signature() or (
default_sig.has_catchall_args()
and default_sig.ret_type == sig.ret_type
):
merged_sig = sig
else:
merged_sig = merge_signatures(default_sig, sig)
sigs[i] = merged_sig
return sigs
class DocstringTypeFixer(SignatureFixer):
"""
fixes human-defined types in docstrings
"""
PYPATH = re.compile(r"((?:[a-zA-Z_][a-zA-Z0-9_]*)(?:[.][a-zA-Z_][a-zA-Z0-9_]*)*)")
EPY_REG = re.compile(r"([LC]\{([^}]+)\})")
LIST_OF_REG = re.compile(r"\b(list|Sequence|Iterable|Iterator) of (.*)")
TUPLE_OF_REG = re.compile(r"\btuple of ([a-zA-Z0-9_.,() ]*)")
SET_OF_REG = re.compile(r"\bset of ([a-zA-Z0-9_.]*)")
DICT_OF_REG = re.compile(r"\bdict of ([a-zA-Z0-9_.]*) (?:of|to) ([a-zA-Z0-9_.]*)")
NUMERIC_TUPLE_REG = re.compile(r"\b(int|float)\[(\d+)\]")
REPLACEMENTS = [
("number", "float"),
("List", "list"),
("Dict", "dict"),
("Type", "type"),
("module", "types.ModuleType"),
("traceback", "types.TracebackType"),
("function", "typing.Callable"),
("callable", "typing.Callable"),
("hashable", "typing.Hashable"),
("iterable", "typing.Iterable"),
("class", "type"),
("sequence", "typing.Sequence"),
("generator", "typing.Iterator"),
("buffer", "typing_extensions.Buffer"),
("long", "int"),
("strings?", "str"),
("Str", "str"),
("int_", "int"),
("none", "None"),
]
def get_replacements(self, is_result: bool) -> list[tuple[str, str]]:
repl = self.REPLACEMENTS
if is_result:
return repl + [("object", "Any")]
return repl
def get_full_name(self, obj_name: str) -> str:
return obj_name
def cleanup_type(
self,
type_name: str,
ctx: FunctionContext,
is_result: bool,
default_value: str | None = None,
) -> str:
type_name = type_name.replace("`", "")
type_name = type_name.replace("\n", " ")
type_name = type_name.replace("<", "[")
type_name = type_name.replace(">", "]")
type_name = type_name.rstrip(".")
type_name = self.EPY_REG.sub(lambda m: m.group(2), type_name).strip()
type_name = re.sub(r"\bNoneType\b", "None", type_name)
# special case
optional = False
if type_name.endswith(", or None"):
optional = True
type_name = type_name[: len(", or None")]
for find, replace in self.get_replacements(is_result):
type_name = re.sub(r"\b{}\b".format(find), replace, type_name)
type_name = type_name.replace(" or ", " | ")
type_name = type_name.replace(
"object convertible to a float", "typing.SupportsFloat"
)
def list_sub(m) -> str:
return "{}[{}]".format(m.group(1), m.group(2))
type_name = self.LIST_OF_REG.sub(list_sub, type_name, count=1)
def tuple_sub(m) -> str:
members = [s.strip() for s in m.group(1).replace(" and ", " , ").split(",")]
if len(members) == 1:
members.append("...")
return "tuple[{}]".format(", ".join(members))
type_name = self.TUPLE_OF_REG.sub(tuple_sub, type_name, count=1)
def set_sub(m) -> str:
return "set[{}]".format(m.group(1))
type_name = self.SET_OF_REG.sub(set_sub, type_name, count=1)
def dict_sub(m) -> str:
return "dict[{}, {}]".format(m.group(1), m.group(2))
type_name = self.DICT_OF_REG.sub(dict_sub, type_name, count=1)
def numeric_tuple_sub(m) -> str:
count = int(m.group(2))
return "tuple[{}]".format(", ".join([m.group(1)] * count))
type_name = self.NUMERIC_TUPLE_REG.sub(numeric_tuple_sub, type_name, count=1)
if optional:
type_name = "typing.Optional[{}]".format(type_name)
parts = []
for part in self.PYPATH.split(type_name):
if part and part[0].isalpha():
parts.append(self.get_full_name(part))
else:
parts.append(part)
return "".join(parts)
================================================
FILE: common/src/stubgenlib/stubgen/__init__.py
================================================
from __future__ import absolute_import, print_function
================================================
FILE: common/src/stubgenlib/stubgen/delegate.py
================================================
from __future__ import absolute_import, print_function
import fnmatch
from typing import Any, Generic, TypeVar
T = TypeVar("T")
class GeneratorDelegate(Generic[T]):
"""Choose a StubGenerator based on module name rules"""
def __init__(self, rules: dict[str, type[T]], fallback: type[T]):
"""
Args:
rules: mapping of module names (supports globs) to StubGenerator type
fallback: StubGenerator type to use if there are no matches
"""
self.rules = rules
self.fallback = fallback
def __call__(self, module_name: str, *args: Any, **kwargs: Any) -> T:
for pattern, generator in self.rules.items():
if fnmatch.fnmatchcase(module_name, pattern):
return generator(module_name, *args, **kwargs)
return self.fallback(module_name, *args, **kwargs)
================================================
FILE: common/src/stubgenlib/test_helpers.py
================================================
from __future__ import absolute_import, print_function
from typing import TYPE_CHECKING
import typeguard
from typeguard import TypeCheckError as TypeCheckError
if TYPE_CHECKING:
from typing_extensions import assert_type as assert_type
else:
def assert_type(val, typ, /):
return typeguard.check_type(val, typ)
================================================
FILE: common/src/stubgenlib/utils.py
================================================
from __future__ import absolute_import, annotations, division, print_function
import itertools
from dataclasses import dataclass, field
from typing import Iterable, TypeVar
from mypy.stubgenc import (
ArgSig,
FunctionContext,
FunctionSig,
)
T = TypeVar("T")
@dataclass
class ArgGroups:
pos_only: list[ArgSig] = field(default_factory=list)
pos_or_kw: list[ArgSig] = field(default_factory=list)
star_args: ArgSig | None = None
kw_only: list[ArgSig] = field(default_factory=list)
star_kwargs: ArgSig | None = None
def all_args(self) -> list[ArgSig]:
args = []
if self.pos_only:
args += self.pos_only + [ArgSig("/", None)]
args += self.pos_or_kw
if self.star_args:
args += [self.star_args]
args += self.kw_only
if self.star_kwargs:
args += [self.star_kwargs]
return args
def insert_typevars(import_lines: str, typevars: list[str]) -> str:
imports = import_lines.split("\n")
if "import typing" not in imports:
imports.append("import typing")
return "\n".join(imports + typevars)
def merge_args_by_name(
dest: list[ArgSig],
other: list[ArgSig],
force: bool = False,
add_extra: bool = False,
) -> list[ArgSig]:
args: list[ArgSig] = []
other_args = {arg.name: arg for arg in other}
for arg in dest:
other_arg = other_args.pop(arg.name, None)
if other_arg is not None:
if (arg.type is None or force) and other_arg.type is not None:
arg = ArgSig(
arg.name,
other_arg.type,
default=arg.default,
default_value=arg.default_value,
)
args.append(arg)
if add_extra:
args.extend(other_args.values())
return args
def merge_signatures(
dest: FunctionSig, other: FunctionSig, force: bool = False
) -> FunctionSig:
"""Merge the `other` signature into `dest`, returning a new signature.
The other signature can have fewer arguments: args will be matched by position
for special methods and name otherwise.
If force is True, types from other signature will override dest one even if
dest has non-None types.
"""
if dest.is_special_method() and len(other.args) == len(dest.args):
args: list[ArgSig] = []
# ignore argument names for special methods
for arg, other_arg in zip(dest.args, other.args):
if (arg.type is None or force) and other_arg.type is not None:
arg = ArgSig(
arg.name,
other_arg.type,
default=arg.default,
default_value=arg.default_value,
)
args.append(arg)
else:
# TODO: strict mode that ignores donor sig if arg length doesn't match?
args = merge_args_by_name(dest.args, other.args)
ret_type = dest.ret_type
if (ret_type is None or force) and other.ret_type:
ret_type = other.ret_type
new_sig = FunctionSig(name=dest.name, args=args, ret_type=ret_type)
other_docstring = getattr(other, "docstring", None)
dest_docstring = getattr(dest, "docstring", None)
if other_docstring is not None or dest_docstring is not None:
new_sig.docstring = dest_docstring or other_docstring
return new_sig
def is_star_arg(arg_name):
return arg_name == "*" or (
len(arg_name) >= 2 and arg_name[0] == "*" and arg_name[1] != "*"
)
def get_arg_groups(sig: FunctionSig) -> ArgGroups:
"""
def foo(pos_or_kw, **kwargs)
def foo(pos_only, /, pos_or_kw, **kwargs)
def foo(pos_only, /, pos_or_kw, *, kw_only, **kwargs)
def foo(pos_or_kw, *, kw_only, **kwargs)
"""
groups = ArgGroups()
current = groups.pos_or_kw
for arg in sig.args:
if arg.name == "/":
groups.pos_only = groups.pos_or_kw
current = groups.pos_or_kw = []
elif is_star_arg(arg.name):
groups.star_args = arg
current = groups.kw_only
elif arg.name.startswith("**"):
groups.star_kwargs = arg
current = None
else:
current.append(arg)
return groups
def merge_signature_kwargs(
dest: FunctionSig,
other: FunctionSig,
force: bool = False,
replace_kwargs=False,
) -> FunctionSig:
"""Replace **kwargs with keyword-only arguments.
This is only safe if dest has **kwargs and source has keyword only args (i.e. a *-arg exists)
Args:
replace_kwargs: if True, remove **kwargs argumenet if any keyword replacements are made
"""
dest_groups = get_arg_groups(dest)
if dest_groups.star_kwargs is not None:
# FIXME: handle name conflicts with other arg groups
source_groups = get_arg_groups(other)
dest_groups.kw_only = merge_args_by_name(
dest_groups.kw_only, source_groups.kw_only, force=force, add_extra=True
)
if replace_kwargs:
dest_groups.star_kwargs = None
if source_groups.kw_only and dest_groups.star_args is None:
dest_groups.star_args = ArgSig("*")
ret_type = dest.ret_type
if (ret_type is None or force) and other.ret_type:
ret_type = other.ret_type
new_sig = FunctionSig(
name=dest.name, args=dest_groups.all_args(), ret_type=ret_type
)
other_docstring = getattr(other, "docstring", None)
dest_docstring = getattr(dest, "docstring", None)
if other_docstring is not None or dest_docstring is not None:
new_sig.docstring = dest_docstring or other_docstring
return new_sig
class CFunctionStub:
"""
Class that mimics a C function in order to provide parseable docstrings.
"""
def __init__(self, name: str, doc: str, is_abstract=False) -> None:
# Use special dunder names so that this object is interpreted as desired during inspection.
self.__name__ = name
self.__doc__ = doc
self.__abstractmethod__ = is_abstract
@classmethod
def _from_sig(cls, sig: FunctionSig, is_abstract=False) -> CFunctionStub:
return CFunctionStub(
sig.name, sig.format_sig().replace(": ...", ""), is_abstract
)
@classmethod
def _from_sigs(cls, sigs: list[FunctionSig], is_abstract=False) -> CFunctionStub:
return CFunctionStub(
sigs[0].name,
"\n".join(sig.format_sig().replace(": ...", "") for sig in sigs),
is_abstract,
)
def __get__(self) -> None:
"""
This exists to make this object look like a method descriptor and thus
return true for InspectionStubGenerator.ismethod()
"""
# FIXME: should this include the return type?
def sig_sort_key(py_sig: FunctionSig) -> tuple[int, tuple[str, ...]]:
return (len(py_sig.args), tuple([arg.name for arg in py_sig.args]))
def remove_overlapping_overloads(
sigs: list[FunctionSig], sort: bool = False
) -> list[FunctionSig]:
if len(sigs) <= 1:
return sigs
# when searching for overlapping sigs, we must search in order of decreasing specificity
sorted_sigs = sorted(sigs, key=sig_sort_key, reverse=True)
# find singatures that overlap with other overloads
redundant = []
for a, b in itertools.combinations(sorted_sigs, 2):
if contains_other_overload(a, b):
redundant.append(b)
elif contains_other_overload(b, a):
redundant.append(a)
if sort:
results = sorted_sigs
else:
results = sigs
# now filter
results = [sig for sig in results if sig not in redundant]
if not results:
msg = "removed too many overlapping overloads\n"
msg += f" signatures:\n"
for x in sigs:
msg += f" {x}\n"
msg += f" redundant:\n"
for x in sigs:
msg += f" {x}\n"
raise ValueError(msg)
return results
def remove_unhashable_duplicates(objects: Iterable[T]) -> list[T]:
"""General utility to remove objects from the input iterable that evaluate as equal."""
result = []
for x in objects:
if x not in result:
result.append(x)
return result
def reduce_overloads(
sigs: list[FunctionSig],
sort: bool = False,
) -> list[FunctionSig]:
"""
Remove unsupported and redundant overloads.
- Some overloads are a subset of other overloads and can be pruned.
- Some methods implement both classmethod and instancemethod overloads, and mypy prevents
mixing these and does not correctly analyze them. We have to drop one, and we've chosen
to remove classmethods. It is possible to implement a "universalmethod" decorator, but
we could not use overloads to distinguish their arguments.
sort : if True, order functions so that functions with more arguments are
before those with fewer. This is likley the desired behavior, but at some point the order
was reversed, so it is now opt-in.
"""
classmethods = []
instancmethods = []
new_sigs = remove_unhashable_duplicates(sigs)
for sig in new_sigs:
if sig.args and sig.args[0].name == "self":
instancmethods.append(sig)
else:
classmethods.append(sig)
if classmethods and instancmethods:
new_sigs = instancmethods
return remove_overlapping_overloads(new_sigs, sort=sort)
def contains_other_overload(sig: FunctionSig, other: FunctionSig) -> bool:
"""
Return whether an overload is fully covered by another overload, and thus redundant.
"""
if other.ret_type != sig.ret_type:
# not compatible
return False
num_other_args = len(other.args)
if len(sig.args) < num_other_args:
# other has more args, sig cannot contain other
return False
if sig.args[:num_other_args] == other.args and all(
a.default for a in sig.args[num_other_args:]
):
# sig contains all of other's args, and the remaining sig args all have defaults
return True
return False
def add_positional_only_args(ctx: FunctionContext, py_sig: FunctionSig) -> FunctionSig:
"""
Analyze the signature and add a '/' argument if necessary to mark
arguments which cannot be access by name.
Before:
def foo(arg0, arg1, this=True, that='with_default')
After:
def foo(arg0, arg1, /, this=True, that='with_default')
Before:
def foo(arg0, arg1, this=True, that)
After:
def foo(arg0, arg1, /, this=True, *, that)
"""
from stubgenlib.siggen.boost import BoostDocstringSignatureGenerator
args = []
requires_pos_only: bool | None = None
has_defaults: bool | None = False
for arg_num, py_arg in enumerate(py_sig.args):
if BoostDocstringSignatureGenerator.is_default_boost_arg(py_arg.name):
if requires_pos_only is False:
raise ValueError(
f"{ctx.fullname}: Unnamed argument appears after named one: {py_sig.format_sig()}"
)
requires_pos_only = True
else:
if requires_pos_only:
# force arguments before this to be positional only
args.append(ArgSig("/"))
if not (arg_num == 0 and py_arg.name in ("self", "cls")):
requires_pos_only = False
if has_defaults is False and py_arg.default:
has_defaults = True
elif has_defaults and not py_arg.default:
# force arguments after this to be keyword only
args.append(ArgSig("*"))
has_defaults = None
args.append(py_arg)
if requires_pos_only:
# force arguments before this to be positional only
args.append(ArgSig("/"))
return py_sig._replace(args=args)
def get_mypy_ignore_directive(codes: list[str]) -> str:
return '# mypy: disable-error-code="{}"\n\n'.format(", ".join(codes))
================================================
FILE: common/tests/test_stubgenlib.py
================================================
import pytest
from mypy.stubdoc import ArgSig, FunctionSig
from stubgenlib.siggen.boost import infer_sig_from_boost_docstring
# def test_boost_docstrings():
# docstr = """
# __init__( (object)arg1) -> None
# __init__( (object)arg1 [, (Camera)arg2]) -> None
# __init__( (object)arg1 [, (Matrix4d)transform=Gf.Matrix4d(1.0, 0.0, 0.0, 0.0,
# 0.0, 0.0, 0.0, 1.0) [, (object)projection=Gf.Camera.Perspective [, (float)horizontalAperture=20.955 [, (float)verticalAperture=15.290799999999999 [, (float)horizontalApertureOffset=0.0 [, (float)verticalApertureOffset=0.0 [, (float)focalLength=50.0 [, (Range1f)clippingRange=Gf.Range1f(1.0, 1000000.0) [, (object)clippingPlanes=[] [, (float)fStop=0.0 [, (float)focusDistance=0.0]]]]]]]]]]]) -> None"""
# expected = """
# __init__( arg1: object) -> None
# __init__( arg1: object , arg2: Camera = ...) -> None
# __init__( arg1: object , transform: Matrix4d = ..., projection: object = ..., horizontalAperture: float = ..., verticalAperture: float = ..., horizontalApertureOffset: float = ..., verticalApertureOffset: float = ..., focalLength: float = ..., clippingRange: Range1f = ..., clippingPlanes: object = ..., fStop: float = ..., focusDistance: float = ...) -> None"""
# print(stubgenlib.BoostDocstringSignatureGenerator.standardize_docstring(docstr))
# assert stubgenlib.BoostDocstringSignatureGenerator.standardize_docstring(docstr) == expected
# docstr = """
# __init__( (object)arg1, (object)arg2) -> None
# __init__( (object)arg1 [, (Path)arg2]) -> None"""
# expected = """
# __init__( arg1: object, arg2: object) -> None
# __init__( arg1: object , arg2: Path = ...) -> None"""
# print(stubgenlib.BoostDocstringSignatureGenerator.standardize_docstring(docstr))
# assert stubgenlib.BoostDocstringSignatureGenerator.standardize_docstring(docstr) == expected
def test_boost_docstring_overloads():
docstr = """
__init__( (object)arg1) -> None
__init__( (object)arg1 [, (Camera)arg2]) -> None :
__init__( (object)arg1 [, (Matrix4d)transform=Gf.Matrix4d(1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0) [, (object)projection=Gf.Camera.Perspective [, (float)apertureOffset=0.0 [, (Range1f)clippingRange=Gf.Range1f(1.0, 10000.0) [, (object)clippingPlanes=[] [, (float)fStop=0.0]]]]]]) -> None"""
result = infer_sig_from_boost_docstring(docstr, "__init__")
import pprint
pprint.pprint(result)
assert result == [
FunctionSig(
name="__init__",
args=[ArgSig(name="arg1", type="object", default=False)],
ret_type="None",
),
FunctionSig(
name="__init__",
args=[
ArgSig(name="arg1", type="object", default=False),
ArgSig(name="arg2", type="Camera", default=True),
],
ret_type="None",
),
FunctionSig(
name="__init__",
args=[
ArgSig(name="arg1", type="object", default=False),
ArgSig(name="transform", type="Matrix4d", default=True),
ArgSig(name="projection", type="object", default=True),
ArgSig(name="apertureOffset", type="float", default=True),
ArgSig(name="clippingRange", type="Range1f", default=True),
ArgSig(name="clippingPlanes", type="object", default=True),
ArgSig(name="fStop", type="float", default=True),
],
ret_type="None",
),
]
def test_boost_docstring_multiline_sig():
docstr = """
WriteToFile( (DrawTarget)arg1, (object)attachment, (object)filename [, (Matrix4d)viewMatrix=Gf.Matrix4d(1.0, 0.0, 0.0, 0.0,
0.0, 1.0, 0.0, 0.0,
0.0, 0.0, 1.0, 0.0,
0.0, 0.0, 0.0, 1.0) [, (Matrix4d)projectionMatrix=Gf.Matrix4d(1.0, 0.0, 0.0, 0.0,
0.0, 1.0, 0.0, 0.0,
0.0, 0.0, 1.0, 0.0,
0.0, 0.0, 0.0, 1.0)]]) -> bool"""
@pytest.mark.skip(reason="Unclear if both sigs should be found")
def test_boost_docstring_existing_description():
docstr = """
Find( (object)identifier [, (dict)args={}]) -> Layer :
Find(filename) -> LayerPtr
filename : string
Returns the open layer with the given filename, or None. Note that this is a static class method.
"""
result = infer_sig_from_boost_docstring(docstr, "Find")
# FIXME: the original test (which hasn't been run regularly) assumed only one match was found.
# Does USD rely on this behavior?
# assert result == [
# FunctionSig(
# name="Find",
# args=[
# ArgSig(name="identifier", type="object", default=False),
# ArgSig(name="args", type="dict", default=True),
# ],
# ret_type="Layer",
# )
# ]
assert result == [
FunctionSig(
name="Find",
args=[
ArgSig(name="identifier", type="object", default=False),
ArgSig(name="args", type="dict", default=True),
],
ret_type="Layer",
),
FunctionSig(
name="Find",
args=[ArgSig(name="filename", type=None, default=False)],
ret_type="LayerPtr",
type_args="",
),
]
================================================
FILE: common/tests/test_utils.py
================================================
from __future__ import absolute_import, print_function
from mypy.stubgenc import ArgSig, FunctionSig
from stubgenlib.utils import merge_signature_kwargs, merge_signatures
def test_basic_merge():
# ok if argument length does not match:
assert merge_signatures(
FunctionSig(
name="foo",
args=[
ArgSig("first"),
ArgSig("second"),
],
ret_type="str",
),
FunctionSig(
name="foo",
args=[
ArgSig("second", type="str"),
],
ret_type="str",
),
) == FunctionSig(
name="foo",
args=[
ArgSig("first"),
ArgSig("second", type="str"),
],
ret_type="str",
)
# extra arguments in the second sig are not copied to the first
assert merge_signatures(
FunctionSig(
name="foo",
args=[
ArgSig("first"),
ArgSig("second"),
],
ret_type="str",
),
FunctionSig(
name="foo",
args=[
ArgSig("third", type="str"),
],
ret_type="str",
),
) == FunctionSig(
name="foo",
args=[
ArgSig("first"),
ArgSig("second"),
],
ret_type="str",
)
def test_special_merge():
dest = FunctionSig(
name="__getitem__",
args=[
ArgSig("self"),
ArgSig("arg"),
],
ret_type="str",
)
assert dest.is_special_method()
assert merge_signatures(
dest,
FunctionSig(
name="__getitem__",
args=[
ArgSig("self"),
# different name
ArgSig("item", type="str"),
],
ret_type="str",
),
) == FunctionSig(
name="__getitem__",
args=[
ArgSig("self"),
ArgSig("arg", type="str"),
],
ret_type="str",
)
assert merge_signatures(
FunctionSig(
name="__getitem__",
args=[
ArgSig("self"),
ArgSig("arg"),
],
ret_type="str",
),
FunctionSig(
name="__getitem__",
args=[
ArgSig("self"),
# different number of args
ArgSig("first"),
ArgSig("second", type="str"),
],
ret_type="str",
),
) == FunctionSig(
name="__getitem__",
args=[
ArgSig("self"),
ArgSig("arg"),
],
ret_type="str",
)
def test_kwarg_merge():
assert merge_signature_kwargs(
FunctionSig(
name="foo",
args=[
ArgSig("*args", type="str"),
ArgSig("**kwargs"),
],
ret_type=None,
),
FunctionSig(
name="foo",
args=[
ArgSig("arg"),
ArgSig("*"),
ArgSig("keyword1", type="str"),
ArgSig("keyword2", type="int"),
],
ret_type="str",
),
replace_kwargs=True,
) == FunctionSig(
name="foo",
args=[
ArgSig("*args", type="str"),
ArgSig("keyword1", type="str"),
ArgSig("keyword2", type="int"),
],
ret_type="str",
)
# No change in args, bc kwargs is missing
assert merge_signature_kwargs(
FunctionSig(
name="foo",
args=[
ArgSig("*args", type="str"),
],
ret_type=None,
),
FunctionSig(
name="foo",
args=[
ArgSig("arg"),
ArgSig("*"),
ArgSig("keyword1", type="str"),
ArgSig("keyword2", type="int"),
],
ret_type="str",
),
replace_kwargs=True,
) == FunctionSig(
name="foo",
args=[
ArgSig("*args", type="str"),
],
ret_type="str",
)
assert merge_signature_kwargs(
FunctionSig(
name="foo",
args=[
ArgSig("arg"),
ArgSig("**kwargs"),
],
ret_type=None,
),
FunctionSig(
name="foo",
args=[
ArgSig("*"),
ArgSig("keyword1", type="str"),
ArgSig("keyword2", type="int"),
],
ret_type="str",
),
replace_kwargs=True,
) == FunctionSig(
name="foo",
args=[
ArgSig("arg"),
ArgSig("*"),
ArgSig("keyword1", type="str"),
ArgSig("keyword2", type="int"),
],
ret_type="str",
)
assert merge_signature_kwargs(
FunctionSig(
name="foo",
args=[
ArgSig("pos_only"),
ArgSig("/"),
ArgSig("pos_or_kw"),
ArgSig("*"),
ArgSig("kw_only"),
ArgSig("**kwargs"),
],
ret_type=None,
),
FunctionSig(
name="foo",
args=[
ArgSig("*"),
ArgSig("keyword1", type="str"),
ArgSig("keyword2", type="int"),
],
ret_type="str",
),
replace_kwargs=True,
) == FunctionSig(
name="foo",
args=[
ArgSig("pos_only"),
ArgSig("/"),
ArgSig("pos_or_kw"),
ArgSig("*"),
ArgSig("kw_only"),
ArgSig("keyword1", type="str"),
ArgSig("keyword2", type="int"),
],
ret_type="str",
)
================================================
FILE: houdini/.interpreter
================================================
hython
================================================
FILE: houdini/README.md
================================================
# Unofficial python stubs for SideFX Houdini
These stubs are designed to be used with a type checker like `mypy` to provide static type checking of python code, as well as to provide analysis and completion in IDEs like PyCharm and VSCode (with Pylance).
## Installing
```commandline
pip install types-houdini
```
The version of the package corresponds to the version of Houdini that it is generated from,
plus a version suffix for the revision of the stubs
================================================
FILE: houdini/hou_cleanup_config.py
================================================
"""Configuration hou stub generation clean up.
The constants in this module act as overrides for the automatic type annotations we get from
the C++ type analysis.
"""
_TYPE_ALIAS_COMPONENTS = {
"ATTRIB": ["int", "float", "str"],
"PARM": ["bool", "int", "float", "str", "dict[str, str]", "'Ramp'", "'Geometry'"],
"PARM_ARG_ONLY": ["'Parm'"],
"PARM_RETURN_ONLY": ["'OpNode'"],
"OPTION": [
"bool",
"int",
"float",
"str",
"Vector2",
"Vector3",
"Vector4",
"Quaternion",
"Matrix3",
"Matrix4",
],
"OPTION_MULTI_ARG": [
"bool",
"int",
"float",
"str",
"Vector2",
"Vector3",
"Vector4",
"Quaternion",
"Matrix3",
"Matrix4",
"Sequence[int]",
"Sequence[float]",
],
"OPTION_MULTI_RETURN": [
"bool",
"int",
"float",
"str",
"Vector2",
"Vector3",
"Vector4",
"Quaternion",
"Matrix3",
"Matrix4",
"Tuple[int, ...]",
"Tuple[float, ...]",
],
}
def get_type_aliases() -> dict[str, str]:
attrib_arg_types = _TYPE_ALIAS_COMPONENTS["ATTRIB"] + [
f"Sequence[{typ}]" for typ in _TYPE_ALIAS_COMPONENTS["ATTRIB"]
]
attrib_return_types = _TYPE_ALIAS_COMPONENTS["ATTRIB"] + [
f"Tuple[{typ}, ...]" for typ in _TYPE_ALIAS_COMPONENTS["ATTRIB"]
]
parm_arg_types = (
_TYPE_ALIAS_COMPONENTS["PARM"] + _TYPE_ALIAS_COMPONENTS["PARM_ARG_ONLY"]
)
parm_return_types = (
_TYPE_ALIAS_COMPONENTS["PARM"] + _TYPE_ALIAS_COMPONENTS["PARM_RETURN_ONLY"]
)
result = {
"AttribBasicType": " | ".join(_TYPE_ALIAS_COMPONENTS["ATTRIB"]),
"AttribArgType": " | ".join(attrib_arg_types),
"AttribDictArgType": " | ".join(
f"dict[str, {typ}]" for typ in attrib_arg_types
),
"AttribReturnType": " | ".join(attrib_return_types),
"AttribDictReturnType": " | ".join(
f"dict[str, {typ}]" for typ in attrib_return_types
),
"ParmArgType": " | ".join(parm_arg_types),
"ParmReturnType": " | ".join(parm_return_types),
"ParmTupleArgType": " | ".join(f"Sequence[{typ}]" for typ in parm_arg_types),
"ParmTupleReturnType": " | ".join(
f"Tuple[{typ}, ...]" for typ in parm_return_types
),
"OptionType": " | ".join(_TYPE_ALIAS_COMPONENTS["OPTION"]),
"OptionSequenceType": " | ".join(
f"Sequence[{typ}]" for typ in _TYPE_ALIAS_COMPONENTS["OPTION"]
),
"OptionMultiArgType": " | ".join(_TYPE_ALIAS_COMPONENTS["OPTION_MULTI_ARG"]),
"OptionMultiReturnType": " | ".join(
_TYPE_ALIAS_COMPONENTS["OPTION_MULTI_RETURN"]
),
}
return result
TYPE_ALIASES = get_type_aliases()
ADDITIONAL_ENUM_NAMES = {
"fbxMaterialMode": {
"FBXShaderNodes",
"PrincipledShaders",
"VopNetworks",
},
"fbxCompatibilityMode": {
"FBXStandard",
"Maya",
},
"_ik_targetType": {
"All",
"Orientation",
"Position",
},
"parmTemplateType": {
"Folder",
"Data",
},
"optionalBool": {
"Yes",
"No",
"NoOpinion",
},
}
# These will be added at the end of the stubs.
MISSING_CLASSES = {
# hou.data comes from the houpythonportion.data module, but is accessible via hou
None: {
"_PointTupleGenerator": [
"def __getitem__(self, key: int) -> Point",
"def __len__(self) -> int",
"def __repr__(self) -> str",
],
"_PrimTupleGenerator": [
"def __getitem__(self, key: int) -> Prim",
"def __len__(self) -> int",
"def __repr__(self) -> str",
],
"_EdgeTupleGenerator": [
"def __getitem__(self, key: int) -> Edge",
"def __len__(self) -> int",
"def __repr__(self) -> str",
],
"_VertexTupleGenerator": [
"def __getitem__(self, key: int) -> Vertex",
"def __len__(self) -> int",
"def __repr__(self) -> str",
],
"data": [
"@staticmethod\ndef clusterItemsAsData(items: Sequence[NetworkMovableItem], target_node: OpNode, frame_nodes: Sequence[NetworkMovableItem]=..., selected_nodes: Sequence[NetworkMovableItem]=..., current_node: NetworkMovableItem =..., flags: bool=True, nodes_only: bool=False, target_children: bool=False, children: bool=True, target_editables: bool=False, editables: bool=True, target_parms: Union[bool, Sequence[ParmTuple], Sequence[str]]=True, parms: bool=True, default_parmvalues: bool=False, evaluate_parmvalues: bool=False, parms_as_brief: bool=True, parmtemplates: str=..., metadata: bool=False, verbose: bool=False) -> dict[str, Any]",
"@staticmethod\ndef createClusterItemsFromData(parent: OpNode, data: dict[str, Any], target_node: OpNode=..., clear_content=False, force_item_creation: bool=True, external_connections: bool=True, parms: bool=True, parmtemplates: bool=True, children: bool=True, editables: bool=True, offset_position: Vector2=..., skip_notes: bool=False) -> dict[str, NetworkMovableItem]",
"@staticmethod\ndef createItemsFromData(parent: OpNode, data: dict[str, Any], clear_content: bool=False, force_item_creation: bool=True, offset_position: Vector2=..., external_connections: bool=True, parms: bool=True, parmtemplates: bool=True, children: bool=True, editables: bool=True, skip_notes: bool=False) -> dict[str, NetworkMovableItem]",
"@staticmethod\ndef dataFromParms(parms: Sequence[ParmTuple], values: bool=True, evaluate_values: bool=False, locked: bool=True, brief: bool=True, multiparm_instances: bool=True, metadata: bool=False, verbose: bool=False) -> dict[str,Any]",
"@staticmethod\ndef itemsAsData(items: Sequence[NetworkMovableItem], nodes_only: bool=False, children: bool=True, editables:bool=True, inputs: bool=True, position: bool=True, anchor_position: Vector2=..., flags: bool=True, parms: bool=True, parms_as_brief: bool=True, default_parmvalues: bool=False, evaluate_parmvalues: bool=False, parmtemplates: str=..., metadata: bool=False, verbose: bool=False) -> dict[str, Any]",
"@staticmethod\ndef selectedItemsAsData(nodes_only: bool=False, children: bool=True, editables: bool=True, inputs: bool=True, position: bool=True, anchor_position: Vector2=..., flags: bool=True, parms: bool=True, parms_as_brief: bool=True, default_parmvalues: bool=False, evaluate_parmvalues: bool=False, parmtemplates: str=..., metadata: bool=False, verbose: bool=False) -> dict[str, Any]",
],
},
"qt": {
"ColorField(QtWidgets.QWidget)": [
"def __init__(self, label: str ='', include_alpha: bool = False) -> None",
"def color(self) -> QtGui.QColor",
"def setColor(self, color: QtGui.QColor) -> None",
],
"ColorPalette(QtWidgets.QFrame)": [
"paletteChanged: QtCore.Signal # QtCore.Signal()",
"colorEdited: QtCore.Signal # QtCore.Signal(int, QtGui.QColor, QtGui.QColor)",
"colorSelected: QtCore.Signal # QtCore.Signal(int, QtGui.QColor)",
"colorAccepted: QtCore.Signal # QtCore.Signal(int, QtGui.QColor)",
"colorCancelled: QtCore.Signal # QtCore.Signal()",
"def __init__(self, colors: Sequence[QtGui.QColor] | None =None, size: int = 32, by_column: bool = False, show_at_pointer: bool = True, columns: int | None =None, rows: int | None =None, allow_editing:bool=True, selected_index: int=-1, bg_color: QtGui.QColor | QtGui.QBrush | None=None, empty_color: QtGui.QColor | QtGui.QBrush | None = None, parent: QtWidgets.QWidget | None =None) -> None",
"def color(self, index: int) -> None",
"def colorCount(self) -> int",
"def colorList(self) -> list[QtGui.QColor]",
"def isEditingAllowed(self) -> bool",
"def selectedColor(self) -> QtGui.QColor",
"def selectedIndex(self) -> int",
"def setColor(self, index: int, color: QtGui.QColor) -> None",
"def setColorList(self, colors: Sequence[QtGui.QColor]) -> None",
"def setEditingAllowed(self, allowed: bool) -> None",
"def setSelectedIndex(self, index: int) -> None",
"def setSwatchSize(self, size: int) -> None",
"def swatchSize(self) -> int",
],
"ColorSwatchButton(QtWidgets.QPushButton)": [
"PositionOff: int",
"PositionTop: int",
"PositionBottom: int",
"PositionLeft: int",
"PositionRight: int",
"PositionAll: int",
"colorChanged: QtCore.Signal # QtCore.Signal(QtGui.QColor)",
"def __init__(self, include_alpha: bool=False) -> None",
"def color(self) -> QtGui.QColor",
"def hasAlpha(self) -> bool",
"def secondaryColor(self) -> QtGui.QColor",
"def secondaryColorPosition(self) -> int",
"def setColor(self, color: QtGui.QColor) -> None",
"def setSecondaryColor(self, color: QtGui.QColor) -> None",
"def setSecondaryColorPosition(self, position: int) -> None",
],
"ComboBox(QtWidgets.QComboBox)": [
"def __init__(self) -> None",
],
"Dialog(QtWidgets.QDialog)": [
"def __init__(self) -> None",
],
"FieldLabel(QtWidgets.QLabel)": [
"def __init__(self, label: str) -> None",
],
"FileChooserButton(QtWidgets.QToolButton)": [
"fileSelected: QtCore.Signal # QtCore.Signal(str)",
"def __init__(self) -> None",
"def setFileChooserDefaultValue(self, default_value: str) -> None",
"def setFileChooserFilter(self, file_filter: EnumValue) -> None",
"def setFileChooserIsImageChooser(self, is_image_chooser: bool) -> None",
"def setFileChooserMode(self, chooser_mode: EnumValue) -> None",
"def setFileChooserMultipleSelect(self, multiple_select: bool) -> None",
"def setFileChooserPattern(self, file_pattern: str) -> None",
"def setFileChooserStartDirectory(self, start_dir: str) -> None",
"def setFileChooserTitle(self, title: str) -> None",
],
"FileLineEdit(QtWidgets.QLineEdit)": [
"def __init__(self, icon: QtGui.QIcon | str | None = None, parent: QtWidgets.QWidget | None = None) -> None",
],
"GridLayout(QtWidgets.QGridLayout)": [
"def __init__(self) -> None",
],
"HelpButton(QtWidgets.QToolButton)": [
"def __init__(self, help_path: str, tooltip: str = ...) -> None",
],
"Icon(QtGui.QIcon)": [
"def __init__(self, icon_name: str, width: int | None = None, height: int | None = None) -> None",
],
"InputField(QtWidgets.QWidget)": [
"IntegerType: int",
"FloatType: int",
"StringType: int",
"valueChanged: QtCore.Signal # QtCore.Signal()",
"hotkeyInvoked: QtCore.Signal # QtCore.Signal(str)",
"editingFinished: QtCore.Signal # QtCore.Signal(list)",
"ladderChanged: QtCore.Signal # QtCore.Signal()",
"def __init__(self, data_type: int, num_components: int, label: str | None=..., mouse_hotkeys: Any | None = None, size_policy: QtWidgets.QSizePolicy | None=None, notify_pending_changes: bool=True, parent: QtWidgets.QWidget | None=None) -> None",
"def menu(self) -> QtWidgets.QMenu",
"def onContextMenuEvent(self, event: QtGui.QContextMenuEvent, context_menu: QtWidgets.QMenu) -> None",
"def onMousePressEvent(self, event: QtGui.QMouseEvent) -> None",
"def onMouseWheelEvent(self, event: QtGui.QWheelEvent) -> None",
"def setAlignment(self, a: QtCore.Qt.Alignment | QtCore.Qt.AlignmentFlag) -> None",
"def setMenu(self, menu: QtWidgets.QMenu) -> None",
"def setState(self, state_name: str, state_value: bool, index: int = 0) -> None",
"def setValidator(self, validator: QtGui.QValidator) -> None",
"def setValue(self, value: int | float | str | None, index: int = 0) -> None",
"def setValues(self, values: Sequence[int] | Sequence[float] | Sequence[str]) -> None",
"def setWidth(self, width: float) -> None",
"def state(self, state_name: str, index: int = 0) -> bool",
"def value(self, index: int = 0) -> int | float | str",
"def values(self) -> list[int] | list[float] | list[str]",
],
"ListEditor(QtWidgets.QFrame)": [
"listChanged: QtCore.Signal # QtCore.Signal()",
"checkChanged: QtCore.Signal # QtCore.Signal(int, str, bool)",
"itemEdited: QtCore.Signal # QtCore.Signal(int, str)",
"def __init__(self, strings: Sequence[str]=..., top_message: str | None=None, bottom_message: str | None=None, allow_editing: bool=True, allow_add_remove: bool=True, allow_reorder: bool=True, allow_empty_string: bool =True, show_checkboxes: bool=False, keep_sorted: bool = False, initial_string: str = '', initial_check: bool = True, exclusive_check: bool = False, allow_empty_list: bool = True, parent: QtWidgets.QWidget | None = None) -> None",
"def addListItem(self, text: str, checked: bool | None=None, insert_at: int=-1) -> None",
"def bottomMessage(self) -> str",
"def checkedRow(self) -> int | None",
"def checkedRows(self) -> list[int]",
"def checkedString(self) -> str | None",
"def checkedStrings(self) -> list[str]",
"def clear(self) -> None",
"def initialCheck(self) -> bool",
"def initialString(self) -> str",
"def isAddRemoveAllowed(self) -> bool",
"def isEditingAllowed(self) -> bool",
"def isEmptyListAllowed(self) -> bool",
"def isEmptyStringAllowed(self) -> bool",
"def isReorderAllowed(self) -> bool",
"def itemCount(self) -> int",
"def keepSorted(self) -> bool",
"def removeRow(self, row_num: int) -> None",
"def rowIsChecked(self, row_num: int) -> bool",
"def rowString(self, row_num: int) -> str",
"def setAllowAddRemove(self, allow: bool) -> None",
"def setAllowEditing(self, allow: bool) -> None",
"def setAllowEmptyList(self, allow: bool) -> None",
"def setAllowEmptyString(self, allow: bool) -> None",
"def setAllowReorder(self, allow: bool) -> None",
"def setBottomMessage(self, text: str) -> None",
"def setInitialCheck(self, checked: bool) -> None",
"def setInitialString(self, text: str) -> None",
"def setKeepSorted(self, keep_sorted: bool) -> None",
"def setRowChecked(self, row_num: int, checked: bool) -> None",
"def setShowCheckboxes(self, show: bool) -> None",
"def setStrings(self, strings: Sequence[str]) -> None",
"def setStringsAndChecks(self, strings_and_checks: Sequence[tuple[str, bool]]) -> None",
"def setTopMessage(self, text: str) -> None",
"def showCheckboxes(self) -> bool",
"def strings(self) -> list[str]",
"def stringsAndChecks(self) -> list[tuple[str, bool]]",
"def topMessage(self) -> str",
],
"ListEditorDialog(QtWidgets.QDialog)": [
"def __init__(self, parent: QtWidgets.QWidget | None = None, window_type: QtCore.Qt.WindowType = ..., strings: Sequence[str]=..., top_message: str | None=None, bottom_message: str | None=None, allow_editing: bool=True, allow_add_remove: bool=True, allow_reorder: bool=True, allow_empty_string: bool =True, show_checkboxes: bool=False, keep_sorted: bool = False, initial_string: str = '', initial_check: bool = True, exclusive_check: bool = False, allow_empty_list: bool = True) -> None",
"def editor(self) -> qt.ListEditor",
],
"Menu(QtWidgets.QMenu)": [
"def __init__(self) -> None",
],
"MenuBar(QtWidgets.QMenuBar)": [
"def __init__(self, parent: QtWidgets.QWidget | None=None) -> None",
],
"MenuButton(QtWidgets.QPushButton)": [
"def __init__(self, menu: QtWidgets.QMenu) -> None",
],
"MixerFilterProxyModel(QtCore.QSortFilterProxyModel)": [],
"NodeChooserButton(QtWidgets.QToolButton)": [
"nodeSelected: QtCore.Signal # QtCore.Signal(object)",
"nodePathsSelected: QtCore.Signal # QtCore.Signal(str)",
"chooserStarted: QtCore.Signal # QtCore.Signal()",
"def __init__(self) -> None",
"def setNodeChooserFilter(self, node_filter: EnumValue) -> None",
"def setNodeChooserInitialNode(self, initial_node: OpNode) -> None",
"def setNodeChooserRelativeToNode(self, relative_to_node: OpNode) -> None",
"def setSelectMultiple(self, value: bool) -> None",
],
"ParmChooserButton(QtWidgets.QToolButton)": [
"parmSelected: QtCore.Signal # QtCore.Signal(object)",
"def __init__(self) -> None",
"def setCategoryFilter(self, category_filter: EnumValue) -> None",
"def setInitialSelection(self, initial_selection: OpNode) -> None",
"def setRelativeToNode(self, relative_to_node: OpNode) -> None",
"def setSelectMultiple(self, value: bool) -> None",
],
"ParmDialog(QtWidgets.QWidget)": [
"def __init__(self, node: OpNode | None, showTitleBar: bool = False, compact: bool = False, labelsize: float = -1.0) -> None",
"def multiParmTab(self, parm: str) -> None",
"def node(self) -> OpNode",
"def scrollPosition(self) -> Vector2",
"def setMultiParmTab(self, parm: str, index) -> None",
"def setNode(self, node: OpNode | None) -> None",
"def setScrollPosition(self, pos: Vector2) -> None",
"def visibleParms(self) -> tuple[ParmTuple, ...]",
],
"ParmTupleChooserButton(QtWidgets.QToolButton)": [
"parmTupleSelected: QtCore.Signal # QtCore.Signal(object)",
"def __init__(self) -> None",
"def setCategoryFilter(self, category_filter: EnumValue) -> None",
"def setInitialSelection(self, initial_selection: OpNode) -> None",
"def setRelativeToNode(self, relative_to_node: OpNode) -> None",
"def setSelectMultiple(self, value: bool) -> None",
],
"SearchLineEdit(QtWidgets.QLineEdit)": [
"searchBackward: QtCore.Signal # QtCore.Signal()",
"def __init__(self, icon: QtGui.QIcon | str | None = None, parent: QtWidgets.QWidget | None = None) -> None",
"def allowSearchBackward(self) -> bool",
"def setAllowSearchBackward(self, on: bool) -> None",
],
"Separator(QtWidgets.QFrame)": [
"def __init__(self) -> None",
],
"ToolTip(QtWidgets.QWidget)": [
"def __init__(self) -> None",
"def setHelpUrl(self, help_url: str) -> None",
"def setHotkey(self, hotkey: str) -> None",
"def setTargetWidget(self, widget: QtWidgets.QWidget) -> None",
"def setText(self, text: str) -> None",
"def setTitle(self, title: str) -> None",
],
"TrackChooserButton(QtWidgets.QToolButton)": [
"trackSelected: QtCore.Signal # QtCore.Signal(object)",
"def __init__(self) -> None",
"def setInitialSelection(self, initial_track: Track) -> None",
"def setNodeChooserFilter(self, node_filter: EnumValue) -> None",
"def setSelectMultiple(self, value: bool) -> None",
],
"WindowOverlay(QtWidgets.QWidget)": [
"def __init__(self, parent: qt.Window, win_floating_panel: QtWidgets.QWidget | None) -> None",
"def onContainerWindowEvent(self, event: QtCore.QEvent) -> None",
"def onInitWindow(self) -> None",
"def onParentWindowEvent(self, event: QtCore.QEvent) -> None",
"def windowContainer(self) -> QtWidgets.QWidget",
],
"Window(QtWidgets.QWidget)": [
"def __init__(self) -> None",
],
"ViewerOverlay(WindowOverlay)": [
"def __init__(self, scene_viewer: SceneViewer) -> None",
"def moveBy(self, delta: QtCore.QPoint) -> None",
"def moveTo(self, pos: QtCore.QPoint) -> None",
"def onBeginResize(self) -> None",
"def onColorSchemeChanged(self) -> None",
"def onEndResize(self) -> None",
"def onInitWindow(self) -> None",
"def onLayoutChanged(self) -> None",
"def onMoveContainerWindow(self, new_pos: QtCore.QPoint, old_pos: QtCore.QPoint) -> None",
"def onResizing(self) -> None",
"def onSizeChanged(self) -> None",
"def onViewerActivated(self) -> None",
"def onViewerDeactivated(self) -> None",
"def onWindowPlacement(self) -> None",
"def sceneViewer(self) -> SceneViewer",
],
"XMLMenuParser(object)": [
"def __init__(self, context: str ='', kwargs: dict[str, Any] | None=None, kwargsfunc=Callable, xmlfilename: Path | str | None=None, xmlstring: str | None=None) -> None",
"def generateMenu(self, kwargs: dict[str, Any], menu:qt.Menu | None=None, actionitem_callback: Callable[[str], None] | None=None) -> None",
"def handleKeyPress(self, keystring: str, kwargs: dict[str, Any], actionitem_callback: Callable | None=None, hotkey_context: str | None=None) -> None",
"def hotkeyContext(self) -> str",
"def parseFile(self, xmlfile: Path | str) -> None",
"def parseFiles(self, xmlfilename: str) -> None",
"def parseString(self, xmlstring: str) -> None",
"def setHotkeyContext(self, hotkey_context) -> None",
],
},
}
# Define functions that are missing entirely from hou.py
# This may come from the houpythonportion package, which patches these methods
# in via a setattr decorator.
# WARNING: Try not to redefine functions that are deprecated and have been removed from hou.py
MISSING_DEFINITIONS = {
# Missing module level imports are sorted into the `None` class.
None: [
# NOTE: These are left as an example of deprecated functions that should not be added.
# "def expandString(text: str) -> str",
# "def expandStringAtFrame(text: str, frame_number: float) -> str",
],
"Agent": [
"def clipCatalog(self) -> AgentClip",
"def layers(self) -> AgentLayer",
"def rig(self) -> AgentRig",
"def shapeLibrary(self) -> AgentShapeLibrary",
],
"NetworkItem": [
"def __lt__(self, other: object) -> bool",
"def __le__(self, other: object) -> bool",
"def __gt__(self, other: object) -> bool",
"def __ge__(self, other: object) -> bool",
"def __eq__(self, other: object) -> bool",
"def __ne__(self, other: object) -> bool",
],
"Node": [
"def createOutputNode(self, node_type_name: str, node_name: str | None = None, run_init_scripts: bool = True, load_contents: bool = True, exact_type_name: bool = False) -> Self",
"def createInputNode(self, input_index: int, node_type_name: str, node_name: str | None = None, run_init_scripts: bool = True, load_contents: bool = True, exact_type_name: bool = False) -> Self",
"def creationTime(self) -> datetime.datetime",
"def modificationTime(self) -> datetime.datetime",
"def outputsWithIndices(self, ignore_network_dots: bool = False, use_names: bool = False) -> list[tuple[NetworkMovableItem, int | str, int | str]]",
],
"OpNode": [
"def appendParmTemplatesFromData(self, data: dict[str, Any], rename_conflicts: bool = True) -> dict[str, ParmTuple]",
"def appendParmTemplatesToFolderFromData(self, data: dict[str, Any], parm_name: str, rename_conflicts: bool = True) -> dict[str, ParmTuple]",
"def asData(self, nodes_only: bool = False, children: bool = False, editables: bool = False, inputs: bool = False, position: bool = False, flags: bool = False, parms: Union[bool, Sequence[ParmTuple], Sequence[str]]=True, default_parmvalues: bool = False, evaluate_parmvalues: bool = False, parms_as_brief: bool = True, parmtemplates: str=..., metadata: bool = False, verbose: bool = False) -> dict[str, Any]",
"def children(self) -> Tuple[OpNode, ...]",
"def childrenAsData(self, nodes_only: bool = False, children: bool = True, editables: bool = True, inputs: bool = True, position: bool = True, flags: bool = True, parms: bool = True, default_parmvalues: bool = False, evaluate_parmvalues: bool = False, parms_as_brief: bool = True, parmtemplates: str=..., metadata: bool = False, verbose: bool = False) -> dict[str, Any]",
"def createDecorationItemsFromData(self, items: Sequence[NetworkMovableItem], frame_nodes: Sequence[NetworkMovableItem] | None=None, selected_nodes: Sequence[NetworkMovableItem] | None=None, current_node: NetworkMovableItem | None=None, flags: bool = True, nodes_only: bool = False, target_children: bool = False, children: bool = True, target_editables: bool = False, editables: bool = True, target_parms: Union[bool, Sequence[ParmTuple], Sequence[str]]=True, parms: bool = True, default_parmvalues: bool = False, evaluate_parmvalues: bool = False, parms_as_brief: bool = True, parmtemplates: str=..., metadata: bool = False, verbose: bool = False) -> dict[str, Any]",
"def createNode(self, node_type_name: str, node_name: str | None = None, run_init_scripts: bool = True, load_contents: bool = True, exact_type_name: bool = False, force_valid_node_name: bool = False) -> OpNode",
"def editablesAsData(self, nodes_only: bool = False, children: bool = True, editables: bool = True, inputs: bool = True, position: bool = True, flags: bool = True, parms: bool = True, default_parmvalues: bool = False, evaluate_parmvalues: bool = False, parms_as_brief: bool = True, parmtemplates: str=..., metadata: bool = False, verbose: bool = False) -> dict[str, Any]",
"def inputConnections(self) -> Tuple[OpNodeConnection, ...]",
"def inputsAsData(self, ignore_network_dots: bool = False, ignore_subnet_indirect_inputs: bool = False, use_names: bool = False) -> Sequence[dict[str, Any]]",
"def insertParmTemplatesAfterFromData(self, data: dict[str, Any], parm_name: str, rename_conflicts: bool = True) -> dict[str, ParmTuple]",
"def insertParmTemplatesBeforeFromData(self, data: dict[str, Any], parm_name: str, rename_conflicts: bool = True) -> dict[str, ParmTuple]",
"def node(self, node_path: str) -> OpNode | None",
"def outputConnections(self) -> Tuple[OpNodeConnection, ...]",
"def outputsAsData(self, ignore_network_dots: bool = False, ignore_subnet_indirect_inputs: bool = False, use_names: bool = False) -> Sequence[dict[str, Any]]",
"def parmTemplateChildrenAsData(self, name: str= '', parmtemplate_order: bool = False) -> dict[str, Any]",
"def parmTemplatesAsData(self, name: str= '', children: bool = True, parmtemplate_order: bool = False) -> dict[str, Any]",
"def parmsAsData(self, values: bool = True, parms: bool = True, default_values: bool = False, evaluate_values: bool = False, locked: bool = True, brief: bool = True, multiparm_instances: bool = True, metadata: bool = False, verbose: bool = False) -> dict[str, Any]",
"def prependParmTemplatesToFolderFromData(self, data: dict[str, Any], parm_name: str, rename_conflicts: bool = True) -> dict[str, ParmTuple]",
"def replaceParmTemplatesFromData(self, data: dict[str, Any]) -> dict[str, ParmTuple]",
"def setChildrenFromData(self, clear_content: bool = True, force_item_creation: bool = True, offset_position: Vector2=..., external_connections: bool = True, parms: bool = True, parmtemplates: bool = True, children: bool = True, editables: bool = True, skip_notes: bool = False) -> None",
"def setEditablesFromData(self, clear_content: bool = True, force_item_creation: bool = True, offset_position: Vector2=..., external_connections: bool = True, parms: bool = True, parmtemplates: bool = True, children: bool = True, editables: bool = True, skip_notes: bool = False) -> None",
"def setFromData(self, data: dict[str, Any], clear_content: bool = False, force_item_creation: bool = True, parms: bool = True, parmtemplates: bool = True, children: bool = True, editables: bool = True, skip_notes: bool = False) -> None",
"def setInputsFromData(self, data: dict[str, Any]) -> None",
"def setOutputsFromData(self, data: dict[str, Any]) -> None",
"def setParmExpressions(self, parm_dict: Mapping[str, str | Sequence[str]], language: EnumValue | None = None, replace_expressions: bool = True) -> None",
"def setParms(self, parm_dict: Mapping[str, ParmArgType | ParmTupleArgType]) -> None",
"def setParmsFromData(self, data: dict[str, Any]) -> None",
"def type(self) -> OpNodeType",
],
"OpNodeType": [
"def category(self) -> OpNodeTypeCategory",
],
"OpNodeTypeCategory": [
"def nodeTypes(self) -> dict[str, OpNodeType]",
"def nodeType(self, type_name: str) -> Optional[OpNodeType]",
],
"Parm": [
"def appendMultiParmInstancesFromData(self, data: Sequence[dict[str, Any]]) -> None",
"def asData(self, value: bool=True, evaluate_value=False, locked: bool=True, brief: bool=True, multiparm_instances: bool=True, metadata: bool=False, verbose: bool=False, default_values: bool=...) -> dict[str, Any]",
"def clipData(self, start:float|None=None, end:float|None=None, binary:bool=True, use_blosc_compression: bool=True, sample_rate:float=0) -> bytes",
"def insertMultiParmInstancesFromData(self, data: Sequence[dict[str, Any]], index: int=0) -> None",
"def insertTemplatesFromData(self, data: dict[str, Any], operation: str=..., rename_conflicts:bool=True) -> None",
"def multiParmInstancesAsData(self, start_index: int=0, end_index: int=-1, value: bool = True, evaluate_value: bool = False, links: bool = True, locked: bool = True, brief: bool = True, metadata: bool = False, verbose: bool = False) -> Sequence[dict[str, Any]]",
"def rampPointsAsData(self, evaluate: bool = True, metadata: bool = False, verbose: bool = False) -> Sequence[dict[str, Any]]",
"def saveClip(self, file_name:str, start:float|None=None, end:float|None=None, sample_rate: float=0) -> None",
"def set(self, value: int | float | str | dict[str, str] | Parm | Ramp | Geometry, language: EnumValue | None = None, follow_parm_reference: bool = True) -> None",
"def setFromData(self, data: dict[str, Any]) -> None",
"def setMultiParmInstancesFromData(self, data: Sequence[dict[str, Any]]) -> None",
"def setRampPointsFromData(self, data: Sequence[dict[str, Any]]) -> None",
"def setValueFromData(self, data: int | str | float | dict[str, Any] | Sequence[int] | Sequence[float] | Sequence[str]) -> None",
"def templateAsData(self, children: bool = True) -> dict[str, Any]",
"def templateChildrenAsData(self, parmtemplate_order: bool = False) -> dict[str, Any]",
"def valueAsData(self, evaluate: bool = True, verbose: bool = True) -> int | str | float | dict[str, Any] | list[int] | list[float] | list[str]",
],
"ParmTuple": [
"def __iter__(self) -> Iterator[Parm]",
"def asData(self, value: bool=True, evaluate_value=False, locked: bool=True, brief: bool=True, multiparm_instances: bool=True, metadata: bool=False, verbose: bool=False, default_values: bool=...) -> dict[str, Any]",
"def clipData(self, start:float|None=None, end:float|None=None, binary:bool=True, use_blosc_compression: bool=True, sample_rate:float=0) -> bytes",
"def insertMultiParmInstancesFromData(self, data: Sequence[dict[str, Any]], index: int=0) -> None",
"def insertTemplatesFromData(self, data: dict[str, Any], operation: str = ..., rename_conflicts: bool = True) -> None",
"def multiParmInstancesAsData(self, start_index: int=0, end_index: int=-1, value: bool = True, evaluate_value: bool = False, links: bool = True, locked: bool = True, brief: bool = True, metadata: bool = False, verbose: bool = False) -> Sequence[dict[str, Any]]",
"def rampPointsAsData(self, evaluate: bool = True, metadata: bool = False, verbose: bool = False) -> Sequence[dict[str, Any]]",
"def saveClip(self, file_name:str, start:float|None=None, end:float|None=None, sample_rate: float=0) -> None",
"def set(self, value: Sequence[int] | Sequence[float] | Sequence[str] | Sequence[Parm] | ParmTuple, language: EnumValue | None = None, follow_parm_reference: bool = True) -> None",
"def setFromData(self, data: dict[str, Any]) -> None",
"def setMultiParmInstancesFromData(self, data: Sequence[dict[str, Any]]) -> None",
"def setRampPointsFromData(self, data: Sequence[dict[str, Any]]) -> None",
"def setValueFromData(self, data: int | str | float | dict[str, Any] | Sequence[int] | Sequence[float] | Sequence[str]) -> None",
"def templateAsData(self, children: bool = True, parmtemplate_order: bool = False) -> dict[str, Any]",
"def templateChildrenAsData(self, parmtemplate_order: bool = False) -> dict[str, Any]",
"def valueAsData(self, evaluate: bool = True, verbose: bool = True) -> int | str | float | dict[str, Any] | list[int] | list[float] | list[str]",
],
"Prim": [
"def voxelRangeAsBool(self, range: BoundingBox) -> Tuple[bool, ...]",
"def voxelRangeAsInt(self, range: BoundingBox) -> Tuple[int, ...]",
"def voxelRangeAsFloat(self, range: BoundingBox) -> Tuple[float, ...]",
"def voxelRangeAsVector3(self, range: BoundingBox) -> Sequence[Vector3]",
],
"Geometry": [
"def pointAttribs(self, scope: EnumValue = ...) -> Tuple[Attrib, ...]",
"def primAttribs(self, scope: EnumValue = ...) -> Tuple[Attrib, ...]",
"def vertexAttribs(self, scope: EnumValue = ...) -> Tuple[Attrib, ...]",
"def globalAttribs(self, scope: EnumValue = ...) -> Tuple[Attrib, ...]",
],
"Vector2": [
"def __contains__(self, other: float) -> bool",
"def __iter__(self) -> Iterator[float]",
"def __reversed__(self) -> Iterator[float]",
],
"Vector3": [
"def __contains__(self, other: float) -> bool",
"def __iter__(self) -> Iterator[float]",
"def __reversed__(self) -> Iterator[float]",
],
"Vector4": [
"def __contains__(self, other: float) -> bool",
"def __iter__(self) -> Iterator[float]",
"def __reversed__(self) -> Iterator[float]",
],
"hda": [
"@staticmethod\ndef reloadHDAModule(hda_module: HDAModule) -> None",
],
"hipFile": {
"@staticmethod\ndef addEventCallback(callback: Callable[[EnumValue], None]) -> None",
"@staticmethod\ndef removeEventCallback(callback: Callable[[EnumValue], None]) -> None",
"@staticmethod\ndef eventCallbacks() -> Tuple[Callable[[EnumValue], None], ...]",
},
"qt": [
"@staticmethod\ndef mainWindow() -> QtWidgets.QMainWindow",
],
"ui": [
"@staticmethod\ndef selectFile(start_directory: str | None = None, title: str | None = None, collapse_sequences: bool = False, file_type: EnumValue = fileType.Any, pattern: str | None = None, default_value: str | None = None, multiple_select: bool = False, image_chooser: bool = False, chooser_mode: EnumValue = fileChooserMode.ReadAndWrite, width: int = 0, height: int = 0) -> str",
"@staticmethod\ndef selectNode(relative_to_node: Node | None = None, initial_node: Node | None = None, node_type_filter: EnumValue | None = None, title: str | None = None, width: int = 0, height: int = 0, multiple_select: bool = False, custom_node_filter_callback: Callable[[Node], bool] | None = None) -> str | Tuple[str, ...] | None",
"@staticmethod\ndef openTypePropertiesDialog(node_or_node_type: OpNode | OpNodeType, promote_spare_parms: bool=False, immediately_save: bool=False) -> None",
],
}
# Functions that return these types are never optional.
NON_OPTIONAL_RETURN_TYPES = {
"EnumValue",
"Iterator",
"Matrix2",
"Matrix3",
"Matrix4",
"Quaternion",
"Tuple",
"Vector2",
"Vector3",
"Vector4",
"std.vector",
"tuple",
}
# Functions that are not Optional returns, even though they are pointers.
NON_OPTIONAL_RETURN_FUNCTIONS = {
None: {
"root",
"pwd",
"phm",
"currentDopNet",
"createApexRootNode",
"nodeTypeCategories",
"addNodeBundle",
},
"_clone_Connection": {
"duplicate",
"lopNode",
},
"_ik_Target": {
"joint",
},
"Face": {
"addVertex",
"vertex",
},
"Agent": {
"collisionLayer",
"currentLayer",
"definition",
},
"AgentClip": {
"freeze",
},
"AgentDefinition": {
"freeze",
"metadata",
"rig",
"shapeLibrary",
},
"AgentMetadata": {
"freeze",
},
"AgentRig": {
"freeze",
},
"AgentShape": {
"freeze",
"geometry",
},
"AgentShapeBinding": {
"deformer",
"shape",
},
"AgentShapeLibrary": {
"addShape",
"data",
"freeze",
},
"Attrib": {
"dataId",
"geometry",
},
"ChannelGraphSelection": {
"animBar",
"channelList",
"graph",
"parm",
},
"ChannelPrim": {
"addVertex",
"vertex",
},
"ChopNode": {
"addVertex",
"clip",
},
"Color": {
"ocio_transform",
"ocio_viewTransform",
},
"ConstructionPlane": {
"sceneViewer",
"transform",
},
"DataParmTemplate": {
"defaultExpressionLanguage",
},
"Desktop": {
"createFloatingPane",
"createFloatingPaneTab",
"shelfDock",
},
"DopData": {
"createSubData",
"freeze",
"options",
"simulation",
},
"DopNode": {
"pythonSolverData",
"simulation",
},
"DopSimulation": {
"dopNetNode",
},
"Edge": {
"geometry",
},
"EdgeGroup": {
"dataId",
"geometry",
},
"FlipbookSettings": {
"stash",
},
"Gallery": {
"createEntry",
},
"GalleryEntry": {
"createChildNode",
},
"Geometry": {
"addArrayAttrib",
"createBezierCurve",
"createBezierSurface",
"createChannelPrim",
"createEdgeGroup",
"createHexahedron",
"createHexahedronInPlace",
"createMeshSurface",
"createNURBSCurve",
"createNURBSCurve",
"createNURBSSurface",
"createPacked",
"createPoint",
"createPointGroup",
"createPolygon",
"createPrimGroup",
"createTetrahedron",
"createTetrahedronInPlace",
"createVertexGroup",
"createVolume",
"freeze",
"primitiveIntrinsicsDataId",
"selection",
"topologyDataId",
"unpackFromFolder",
},
"GeometryDrawable": {
"geometry",
},
"GeometryDrawableGroup": {
"drawable",
"geometry",
},
"GeometrySelection": {
"drawable",
"geometry",
},
"GeometryViewport": {
"camera",
"defaultCamera",
"settings",
},
"GeometryViewportCamera": {
"stash",
},
"GeometryViewportSettings": {
"backgroundImage",
"displaySet",
},
"HDADefinition": {
"addSection",
"nodeType",
"options",
"parmTemplateGroup",
},
"HDASection": {
"definition",
},
"IndexPairPropertyTable": {
"attrib",
"propertyDataType",
},
"InterruptableOperation": {
"__enter__",
},
"LopNetwork": {
"viewportOverrides",
"viewportLoadMasks",
"loadNamedViewportLoadMasks",
"editablePostLayer",
},
"LopNode": {
"loadMasks",
"selectionRule",
"viewerNode",
},
"LopPostLayer": {
"__enter__",
},
"LopViewportOverrides": {
"__enter__",
},
"NodeConnection": {
"outputItem",
},
"Node": {
"childTypeCategory",
"collapseIntoSubnet",
"copyNetworkBox",
"copyStickyNote",
"createInputNode",
"createNetworkBox",
"createNetworkDot",
"createNode",
"createOutputNode",
"createStickyNote",
"creator",
"moveToGoodPosition",
"type",
},
"NodeGroup": {
"parent",
},
"NodeType": {
"parmTemplateGroup",
},
"OpNode": {
"addNodeGroup",
"hdaModule",
"hm",
"parmTemplateGroup",
"expressionLanguage",
"simulation",
},
"OpNodeTypeCategory": {
"createDigitalAsset",
},
"PackedGeometry": {"getEmbeddedGeometry"},
"PackedPrim": {
"vertex",
},
"Pane": {
"createTab",
"currentTab",
"splitHorizontally",
"splitVertically",
},
"PaneTab": {
"clone",
"setType",
},
"Parm": {
"evalAsRamp",
"evalAsRampAtFrame",
"expressionLanguage",
"getReferencedParm",
"parmTemplate",
"tuple",
"uiBackgroundColor",
},
"ParmTemplate": {
"clone",
},
"ParmTemplateGroup": {
"entryAtIndices",
},
"ParmTuple": {
"__getitem__",
"parmTemplate",
},
"PathBasedPaneTab": {
"currentNode",
"pwd",
},
"PerfMonEvent": {
"__enter__",
},
"Point": {
"geometry",
},
"PointGroup": {
"dataId",
},
"Prim": {
"geometry",
},
"PrimGroup": {
"dataId",
},
"Quadric": {
"vertex",
},
"RadialMenu": {
"categories",
"createScriptItem",
"createSubmenu",
"item",
"items",
"label",
"root",
"shortcut",
"sourceFile",
},
"RadialScriptItem": {
"check",
"icon",
"label",
"script",
"shortcut",
},
"RadialSubmenu": {
"createScriptItem",
"createSubmenu",
"items",
"label",
"shortcut",
},
"RedrawBlock": {
"__enter__",
},
"ReferencePlane": {
"sceneViewer",
},
"SceneViewer": {
"constructionPlane",
"curViewport",
"flipbookSettings",
"referencePlane",
"selectGeometry",
"selectedViewport",
},
"ScriptEvalContext": {
"__enter__",
},
"Selection": {
"freeze",
},
"Selector": {
"nodeType",
},
"SimpleDrawable": {"geometry"},
"SopNode": {
"curPoint",
"curPrim",
"curVertex",
},
"SopNodeType": {
"addSelector",
},
"StyleSheet": {
"clone",
"cloneWithAddedStyleSheet",
"cloneWithObject",
"cloneWithPrim",
"cloneWithShape",
},
"Surface": {
"vertex",
},
"Take": {
"addChildTake",
"insertTakeAbove",
},
"Track": {
"clip",
},
"UndosDisabler": {
"__enter__",
},
"UndosGroup": {
"__enter__",
},
"VDB": {
"vertex",
},
"Vertex": {
"geometry",
"point",
"prim",
},
"VertexGroup": {
"dataId",
"geometry",
},
"VexContext": {
"nodeTypeCategory",
},
"ViewerDragger": {
"curViewport",
"viewport",
},
"ViewerState": {
"nodeType",
},
"ViewportVisualizer": {
"evalParmAsRamp",
"type",
},
"Volume": {
"vertex",
},
"VopNetNode": {
"definedType",
"vexContext",
},
"VopNode": {
"insertParmGenerator",
},
"anim": {
"newBookmark",
},
"clone": {
"createClone",
},
"galleries": {
"createGalleryEntry",
},
"lop": {
"createConnectionParmsForProperty",
"createParmsForParameter",
"createParmsForProperty",
"outputProcessorParms",
"shaderNodeType",
},
"perfMon": {
"loadProfile",
"startCookEvent",
"startEvent",
"startPaneEvent",
"startProfile",
"startTimedCookEvent",
"startTimedEvent",
},
"playbar": {
"animBar",
"channelList",
"channelListFromNodes",
"channelListFromParmTuples",
"channelListFromParms",
"channelListFromSelection",
"frameRange",
"playbackRange",
"selectionRanges",
"timeRange",
"timelineRange",
},
"properties": {
"parmTemplate",
},
"shelves": {
"newShelf",
"newShelfSet",
"newTool",
},
"takes": {
"currentTake",
"rootTake",
},
"ui": {
"createDialog",
"createRadialItem",
"createRadialMenu",
"curDesktop",
"device",
"sharedAssetGalleryDataSource",
"showFloatingParameterEditor",
},
"undos": {
"disabler",
"group",
},
"viewportVisualizer": {
"copyVisualizer",
},
}
# Functions for which we want to declare a specific return type.
EXPLICIT_RETURN_TYPES = {
None: {
"shopNodeTypeCategory": "OpNodeTypeCategory",
"ropNodeTypeCategory": "OpNodeTypeCategory",
"dataNodeTypeCategory": "OpNodeTypeCategory",
"apexNodeTypeCategory": "ApexNodeTypeCategory",
"chopNetNodeTypeCategory": "OpNodeTypeCategory",
"chopNodeTypeCategory": "OpNodeTypeCategory",
"dopNodeTypeCategory": "OpNodeTypeCategory",
"cop2NetNodeTypeCategory": "OpNodeTypeCategory",
"cop2NodeTypeCategory": "OpNodeTypeCategory",
"copNodeTypeCategory": "OpNodeTypeCategory",
"objNodeTypeCategory": "OpNodeTypeCategory",
"rootNodeTypeCategory": "OpNodeTypeCategory",
"lopNodeTypeCategory": "OpNodeTypeCategory",
"managerNodeTypeCategory": "OpNodeTypeCategory",
"sopNodeTypeCategory": "OpNodeTypeCategory",
"topNodeTypeCategory": "OpNodeTypeCategory",
"vopNetNodeTypeCategory": "OpNodeTypeCategory",
"vopNodeTypeCategory": "OpNodeTypeCategory",
},
"Bundle": {
"pattern": "str | None",
},
"Color": {
"hsl": "Tuple[float, float, float]",
"hsv": "Tuple[float, float, float]",
"lab": "Tuple[float, float, float]",
"rgb": "Tuple[float, float, float]",
"tmi": "Tuple[float, float, float]",
"xyz": "Tuple[float, float, float]",
},
"DopData": {
"creator": "OpNode",
"dopNetNode": "OpNode",
},
"DopNode": {
"createdObjects": "Tuple[DopObject, ...]",
"displayNode": "OpNode | None",
"dopNetNode": "OpNode",
"objectsToProcess": "Tuple[DopObject, ...]",
"processedObjects": "Tuple[DopObject, ...]",
"renderNode": "OpNode | None",
},
"GeometrySelection": {
"mergedNode": "SopNode",
},
"HDADefinition": {
"nodeType": "OpNodeType",
"nodeTypeCategory": "OpNodeTypeCategory",
},
"LopNode": {
"activeLayer": "pxr.Sdf.Layer | None",
"editableLayer": "pxr.Sdf.Layer | None",
"editableStage": "pxr.Usd.Stage | None",
"inputPrims": "Tuple[pxr.Sdf.Path, ...]",
"lastModifiedPrims": "Tuple[pxr.Sdf.Path, ...]",
"network": "OpNode",
"sourceLayer": "pxr.Sdf.Layer | None",
"stage": "pxr.Usd.Stage | None",
"uneditableStage": "pxr.Usd.Stage | None",
},
"LopSelectionRule": {
"sourceNode": "LopNode | None",
},
"OpNode": {
"changeNodeType": "ChopNode",
"createDigitalAsset": "OpNode",
"findOrCreateMotionEffectsNetwork": "OpNode",
},
"OpNodeType": {
"instances": "Tuple[OpNode, ...]",
},
"Parm": {
"createClip": "ChopNode",
"node": "OpNode",
"evalAsNode": "OpNode | None",
"evalAsNodeAtFrame": "OpNode | None",
},
"ParmTuple": {
"createClip": "ChopNode",
"node": "OpNode",
},
"PythonPanel": {"activeInterfaceRootWidget": "QtWidgets.QWidget"},
"ScriptEvalContext": {
"node": "OpNode | None",
},
"VDB": {
"voxelRange": "Tuple[bool, ...] | Tuple[int, ...] | Tuple[float, ...] | Tuple[Vector3, ...]"
},
"ViewerState": {
"categoryNode": "OpNode | None",
},
"ViewportVisualizer": {
"evalParm": "int | float | str",
},
"dop": {"scriptSolverNetwork": "OpNode | None"},
}
# Completely redefine function definitions that are wrong or did not come with C++ type hints.
# WARNING: mypy.stubdoc._TYPE_RE must be updated the pattern below to accept
# Tuple subscripts, literals, and modern | characters.
# Note that even in mypy 1.15, this pattern does not support | characters.
# _TYPE_RE: Final = re.compile(r"^[a-zA-Z_][\w\[\], .\"\'|]*(\.[a-zA-Z_][\w\[\], ]*)*$")
# FIXME: The Callables provided to the callback system for most classes take
# different argument types and numbers of arguments according to the event type associated
# with the callback. To avoid an overload nightmare and to avoid fully articulating code
# that is likely to be out of date at some stage, I'm going to leave them as `Callable`
# with no subscript annotation.
EXPLICIT_DEFINITIONS = {
None: {
# signatures for these special methods include many inaccurate overloads
"__ne__": "(self, other: object) -> bool",
"__eq__": "(self, other: object) -> bool",
"__lt__": "(self, other: object) -> bool",
"__le__": "(self, other: object) -> bool",
"__gt__": "(self, other: object) -> bool",
"__ge__": "(self, other: object) -> bool",
},
"__hou__": {
"addAnimationLayer": "(layermixer: ChopNode, layername: str = '') -> ChopNode",
"applicationVersion": "(include_patch: bool = False) -> Tuple[int, int, int]",
"addContextOptionChangeCallback": "(callback: Callable[[str], None]) -> None",
"removeContextOptionChangeCallback": "(callback: Callable[[str], None]) -> None",
"contextOptionChangeCallbacks": "() -> Tuple[Callable[[str], None], ...]",
"ch": "(path: str) -> ParmArgType",
"contextOption": "(opt: str) -> float | str",
"createAnimationClip": "(path: str = ..., set_export: bool = False) -> ChopNode",
"createAnimationLayers": "(path: str = ...) -> ChopNode",
"evalParm": "(path: str) -> ParmReturnType",
"evalParmTuple": "(path: str) -> ParmTupleReturnType",
"fileReferences": "(project_dir_variable: str = 'HIP', include_all_refs: bool = true) -> Sequence[Tuple[Parm, str]]",
"hscriptExpression": "(expression: str) -> float | str | Tuple[float, ...] | Tuple[str, ...]",
"loadCPIODataFromString": "(data: bytes) -> Tuple[Tuple[str, bytes], ...]",
"loadIndexDataFromString": "(data: bytes) -> dict[str, bytes]",
"loadImageDataFromFile": "(file_name: str, arg: EnumValue = ...) -> bytes",
"lvar": "(name: str) -> float | str",
"nodeType": "(category_or_name: NodeTypeCategory | str, internal_name: str | None = None) -> NodeType | None",
"registerOpdefPath": "(path: str, server_name: str, port: str = '') -> None",
"removeAnimationLayer": "(layermixer: ChopNode, layername: str, merge_down: bool = False) -> bool",
"runCallbackAndCatchCrashes": "(callback: Callable) -> Optional[Any]",
"runVex": "(vex_file: str, inputs: Mapping[str, OptionType | OptionSequenceType], precision: Literal['32', '64'] = '32') -> dict[str, Any]",
"saveImageDataToFile": "(color_and_alpha_data: Sequence[float] | bytes, width: int, height: int, file_name: str) -> None",
"setContextOption": "(option: str, value: str | float | None) -> None",
"startHoudiniEngineDebugger": "(portOrPipeName: int | str) -> None",
},
"_clone_Connection": {
"contextOptionExpression": "(self, opt: str) -> str",
},
"_StringMapDoubleTuple": {
"__iter__": "(self) -> Iterator[str]",
},
"_ik_Skeleton": {
"addJoint": "(self, world_transform: Matrix4 = ..., parent: _ik_Joint | None = None, rotation_weights: Vector3 = ..., translation_weights: Vector3 = ..., mass: float = 1.0, local_com: Vector3 = ...) -> _ik_Joint",
},
"_ik_Target": {
"__init__": "(self, joint: _ik_Joint | None = None, goal_transform: Matrix4 = ..., joint_offset: Matrix4 = ..., target_type: EnumValue = _ik_targetType.Position, weight: float = 1.0, priority: int = 0, depth: int = -1) -> None",
},
"_logging_Sink": {
"setFilterCallback": "(self, callback: Callable[[_logging_LogEntry], None]) -> None",
},
"AdvancedDrawable": {
"draw": "(self, handle: Handle, params: Mapping[str, Any] | None = None) -> None",
"setParams": "(self, params: Mapping[str, Any] | None = None) -> None",
},
"AgentClip": {
"__init__": "(self, name: str, stage: pxr.Usd.Stage, prim_path: str, rig: AgentRig) -> None",
},
"AgentLayer": {
"__init__": "(self, name: str, rig: AgentRig, shapelib: AgentShapeLibrary, shape_bindings: Sequence[AgentShapeBinding], source_layer: AgentLayer | None = None) -> None",
"bindings": "(self, transform: int | None = None) -> Tuple[AgentShapeBinding, ...]",
},
"AgentMetadata": {
"__init__": "(self, data: Mapping[str, Any]) -> None",
"data": "(self) -> dict[str, Any]",
"setData": "(self, data: Mapping[str, Any]) -> None",
"setMetadata": "(self, item_id: str, metadata: Mapping[str, Any]) -> None",
},
"AgentRig": {
"__init__": "(self, name: str, transform_names: Sequence[str], hierarchy: Sequence[int]) -> None",
},
"AgentShapeBinding": {
"__init__": "(self, shape: AgentShape, deformer: AgentShapeDeformer, bounds_scale: float = 1.0) -> None",
},
"AgentShapeDeformer": {
"__init__": "(self, name: str | EnumValue) -> None",
},
"AgentShapeLibrary": {
"__init__": "(self, filename: str, keep_external_ref: bool = True) -> None",
},
"AgentTransformGroup": {
"__init__": "(self, name: str, transforms: Sequence[int], rig: AgentRig, weights: Sequence[float], channels: Sequence[int]) -> None",
},
"AssetGalleryDataSource": {
"addItem": "(self, label: str, file_path: str | None = None, thumbnail: bytes = b'', type_name: str = 'asset', blind_data: bytes = b'', creation_date: int = 0) -> str",
},
"Attrib": {
"defaultValue": "(self) -> AttribReturnType",
"dicts": "Tuple[dict[str, AttribBasicType], ...]",
"option": "(self, option_name: str) -> OptionMultiReturnType",
"options": "(self) -> dict[str, OptionMultiReturnType]",
"setOption": "(self, name: str, value: OptionMultiArgType, type_hint: EnumValue = ...) -> None",
},
"Bookmark": {
"metadata": "(self, key: str, default_value: Any = None) -> Any",
"setEndFrame": "(self, end: float) -> None",
"setMetadata": "(self, key: str, value: Any, type_hint: EnumValue = ...) -> None",
"setStartFrame": "(self, start: float) -> None",
},
"BoundingBox": {
"__init__": "(self, bbox_or_xmin: float | BoundingBox = 0.0, ymin: float = 0.0, zmin: float = 0.0, xmax: float = 0.0, ymax: float = 0.0, zmax: float = 0.0) -> None",
"enlargeToContain": "(self, point_or_bbox: Sequence[float] | Vector3, BoundingBox) -> None",
},
"BoundingRect": {
"__init__": "(self, brect_or_p1_or_xmin: BoundingRect | Vector2 | float, p2_or_ymin: Vector2 | float, xmax: float = 0.0, ymax: float = 0.0) -> None",
"enlargeToContain": "(self, point_or_rect: Sequence[float] | Vector2 | BoundingRect) -> None",
"intersects": "(self, rect: BoundingRect) -> bool",
"contains": "(self, rect: BoundingRect) -> bool",
},
"ButtonParmTemplate": {
"__init__": "(self, name: str, label: str, disable_when: str | None = None, is_hidden: bool = False, is_label_hidden: bool = False, join_with_next: bool = False, help: str=..., script_callback: str | None = None, script_callback_language: EnumValue = scriptLanguage.Hscript, tags: Mapping[str, str] = ...) -> None",
},
"ChannelGraph": {
"selectedKeyframes": "(self) -> dict[Parm, Tuple[BaseKeyframe, ...]]",
},
"ChannelGraphSelection": {
"__init__": "(self, path: str | None = None, flags: Sequence[int] = ...) -> None",
},
"ChannelList": {
"addGeometryChannels": "(self, geometry: Geometry, collection_name: str | None = None, pattern: str | None = None, selected: bool = True, pinned: bool = False, valueselected: bool = False) -> str",
"addNodeGeometryChannels": "(self, node: SopNode, pattern: str | None = None, selected: bool = True, pinned: bool = False, valueselected: bool = False) -> str",
"asCode": "(self, var_name: str = 'chanlist') -> str",
"containsGeometryChannel": "(self, collection_name: str, channel: str | None = None) -> bool",
"deselect": "(self, parm: Parm | Sequence[Parm]) -> None",
"deselectGeometryChannel": "(self, collection_name: str, channel: str | None = None) -> str",
"deselectGeometryChannelValue": "(self, collection_name: str, channel: str | None = None) -> str",
"deselectValue": "(self, parm: Parm | Sequence[Parm]) -> None",
"pin": "(self, parm: Parm | Sequence[Parm]) -> None",
"pinGeometryChannel": "(self, collection_name: str, channel: str | None = None) -> str",
"remove": "(self, parm: Parm | Sequence[Parm]) -> None",
"select": "(self, parm: Parm | Sequence[Parm]) -> None",
"selectGeometryChannel": "(self, collection_name: str, channel: str | None = None) -> str",
"selectGeometryChannelValue": "(self, collection_name: str, channel: str | None = None) -> str",
"selectValue": "(self, parm: Parm | Sequence[Parm]) -> None",
"unpin": "(self, parm: Parm | Sequence[Parm]) -> None",
"unpinGeometryChannel": "(self, collection_name: str, channel: str | None = None) -> str",
},
"ChopNode": {
"clipData": "(self, binary: Any) -> bytes",
"saveClip": "(self, file_name: str) -> bool",
},
"Color": {
"__init__": "(self, rgb_tuple: Sequence[float] | float = ..., g: float = ..., b: float = ...) -> None",
},
"CompositorViewer": {
"bindViewerHandle": "(self, handle_type: str, name: str, settings: str | None = None, cache_previous_parms: bool = ..., handle_parms: Sequence[str] | None = None) -> None",
"bindViewerHandleStatic": "(self, handle_type: str, name: str, bindings: Sequence[tuple[str, str]], settings: str | None = None) -> None",
},
"Cop2Node": {
"allPixels": "(self, plane: str = 'C', component: str | None = None, interleaved: bool = True, time: float = -1.0) -> Tuple[float, ...]",
"allPixelsAsString": "(self, plane: str = 'C', component: str | None = None, interleaved: bool = True, time: float = -1.0) -> bytes",
"imageBounds": "(self, plane: str = 'C') -> Tuple[int, int, int]",
"saveImage": "saveImage(self, file_name: str, frame_range: Sequence[float] = ...) -> None",
"setPixelsOfCookingPlaneFromString": "(self, values: bytes, component: str | None = None, interleaved: bool = True, depth: EnumValue | None = None, flip_vertically: bool = False) -> None",
},
"DataParmTemplate": {
"__init__": "(self, name: str, label: str, num_components: int, look: EnumValue = ..., naming_scheme: EnumValue = ..., unknown_str: str | None = None, disable_when: str | None = None, is_hidden: bool = False, is_label_hidden: bool = False, join_with_next: bool = False, help: str | None = None, script_callback: str | None = None, script_callback_language: EnumValue = ..., tags: dict[str, str] = ..., unknown_dict: dict[EnumValue, str] = ..., default_expression: Sequence[str] = ..., default_expression_language: Sequence[EnumValue] = ...) -> None",
},
"Desktop": {
"createFloatingPane": "(self, pane_tab_type: EnumValue, position: Sequence[float] = ..., size: Sequence[float] = ..., python_panel_interface: PythonPanelInterface | None = ..., immediate: bool = False) -> PaneTab",
"createFloatingPaneTab": "(self, pane_tab_type: EnumValue, position: Sequence[float] = ..., size: Sequence[float] = ..., python_panel_interface: PythonPanelInterface | None = ..., immediate: bool = False) -> PaneTab",
"createFloatingPanel": "(self, pane_tab_type: EnumValue, position: Sequence[float] = ..., size: Sequence[float] = ..., python_panel_interface: PythonPanelInterface | None = ..., immediate: bool = False) -> FloatingPanel",
},
"Dialog": {
"addCallback": "(self, name: str, callback: Callable[[], None]) -> None",
"callbacks": "(self, name: str) -> Tuple[Callable[[], None], ...]",
"removeCallback": "(self, name: str, callback: Callable[[], None]) -> None",
"setValue": "(self, name: str, value: OptionType) -> None",
"value": "(self, name: str) -> OptionType",
"waitForValueToChangeTo": "(self, name: str, new_value: OptionType) -> None",
},
"DopData": {
"createSubData": "(self, data_name: str, data_type: str = ..., avoid_name_collisions: bool = False) -> DopData",
},
"DopRecord": {
"setField": "(self, field_name: str, value: OptionType) -> None",
"field": "(self, field_name: str) -> OptionType",
},
"Drawable": {
"draw": "(self, handle: Handle, params: dict[str, Any] | None = None) -> None",
},
"Drawable2D": {
"__init__": "(self, scene_viewer: SceneViewer | CompositorViewer, type: EnumValue, name: str, label: str | None = None, pickable: bool = False, params: dict[str, Any] | None = None) -> None",
"draw": "(self, handle: Handle, params: dict[str, Any] | None = None) -> None",
"params": "(self) -> dict[str, Any]",
"setParams": "(self, params: dict[str, Any]) -> None",
},
"EdgeGroup": {
"add": "(self, edge_or_list_or_edge_group: Edge | Sequence[Edge] | EdgeGroup) -> None",
"iterEdges": "(self) -> _EdgeTupleGenerator",
"remove": "(self, edge_or_list_or_edge_group: Edge | Sequence[Edge] | EdgeGroup) -> None",
},
"Face": {
"attribValueAt": "(self, attrib_or_name: Attrib | str, u: float, du: float = 0) -> int | float | str | Tuple[int, ...] | Tuple[float, ...]"
},
"FlipbookSettings": {
# FIXME: Most of these methods are both setters and getters, where it will set the value if
# one is provided and return None, or will return the current value if none is provided.
# We would have better results if we overloaded each of these.
"LUT": "(self, value: str | None = None) -> str | None",
"antialias": "(self, value: EnumValue | None = None) -> EnumValue | None",
"aperture": "(self, value: float | None = None) -> float | None",
"appendFramesToCurrent": "(self, value: bool | None = None) -> bool | None",
"audioFilename": "(self, audio_file: str | None = None) -> str | None",
"audioFrameStart": "(self, audio_file: float | None = None) -> float | None",
"audioTimeOffset": "(self, value: float | None = None) -> float | None",
"backgroundImage": "(self, value: str | None = None) -> str | None",
"beautyPassOnly": "(self, value: bool | None = None) -> bool | None",
"blockEditing": "(self, value: bool | None = None) -> bool | None",
"cropOutMaskOverlay": "(self, value: bool | None = None) -> bool | None",
"depthOfFieldFromCamera": "(self, value: bool | None = None) -> bool | None",
"depthOfFieldQuality": "(self, value: float | None = None) -> float | None",
"fStop": "(self, value: float | None = None) -> float | None",
"focusDistance": "(self, value: float | None = None) -> float | None",
"frameIncrement": "(self, value: float | None = None) -> float | None",
"frameRange": "(self, value: Sequence[float] | None = None) -> Tuple[float, float] | None",
"fromAudioPanel": "(self, value: bool | None = None) -> bool | None",
"gamma": "(self, value: float | None = None) -> float | None",
"initializeSimulations": "(self, value: bool | None = None) -> bool | None",
"leaveFrameAtEnd": "(self, value: bool | None = None) -> bool | None",
"motionBlurFrameRange": "(self, value: EnumValue | None = None) -> EnumValue | None",
"motionBlurSegments": "(self, value: int | None = None) -> int | None",
"output": "(self, value: str | None = None) -> str | None",
"outputToMPlay": "(self, value: bool | None = None) -> bool | None",
"outputZoom": "(self, value: int | None = None) -> int | None",
"overrideGamma": "(self, value: bool | None = None) -> bool | None",
"overrideLUT": "(self, value: bool | None = None) -> bool | None",
"renderAllViewports": "(self, value: bool | None = None) -> bool | None",
"resolution": "(self, value: Tuple[int, int] | None = None) -> Tuple[int, int] | None",
"scopeChannelKeyframesOnly": "(self, value: bool | None = None) -> bool | None",
"sessionLabel": "(self, value: str | None = None) -> str | None",
"sheetSize": "(self, value: Sequence[int] | None = None) -> Tuple[int, int] | None",
"shutter": "(self, value: float | None = None) -> float | None",
"shutterFromCamera": "(self, value: bool | None = None) -> bool | None",
"useDepthOfField": "(self, value: bool | None = None) -> bool | None",
"useMotionBlur": "(self, value: bool | None = None) -> bool | None",
"useResolution": "(self, value: bool | None = None) -> bool | None",
"useSheetSize": "(self, value: bool | None = None) -> bool | None",
"visibleObjects": "(self, value: str | None = None) -> str | None",
"visibleTypes": "(self, value: EnumValue | None = None) -> EnumValue | None",
},
"FloatParmTemplate": {
"__init__": "(self, name: str, label: str, num_components: int, default_value: Sequence[float] = ..., min: float = 0.0, max: float = 10.0, min_is_strict: bool = False, max_is_strict: bool = False, look: EnumValue = parmLook.Regular, naming_scheme: EnumValue = parmNamingScheme.XYZW, disable_when: str | None = None, is_hidden: bool = False, is_label_hidden: bool = False, join_with_next: bool = False, help: str | None = None, script_callback: str | None = None, script_callback_language: EnumValue = scriptLanguage.Hscript, tags: Mapping[str, str] = ..., default_expression: Sequence[str] = ..., default_expression_language: Sequence[EnumValue] = ...) -> None",
},
"FolderParmTemplate": {
"__init__": "(self, name: str, label: str, parm_templates: Sequence[ParmTemplate] = ..., folder_type: EnumValue = folderType.Tabs, is_hidden: bool = False, ends_tab_group: bool = False, tags: Mapping[str, str] = ..., conditionals: Mapping[EnumValue, str] = ..., tab_conditionals: Mapping[EnumValue, str] = ...) -> None",
},
"FolderSetParmTemplate": {
"__init__": "(self, name: str, folder_names: Sequence[str], folder_type: EnumValue, tags: Mapping[str, str] = ...) -> None",
"folderNames": "(self) -> list[str]",
"setFolderNames": "(self, folder_names: Sequence[str]) -> None",
},
"Geometry": {
"addAttrib": "(self, type: EnumValue, name: str, default_value: AttribArgType | AttribDictArgType, transform_as_normal: bool = True, create_local_variable: bool = True) -> Attrib",
"attribValue": "(self, name_or_attrib: str | Attrib) -> AttribReturnType | AttribDictReturnType",
"containsPrimType": "(self, type_or_name: EnumValue | str) -> bool",
"countPrimType": "(self, type_or_name: EnumValue | str) -> int",
"createPoints": "(self, point_positions: Sequence[Sequence[float]]) -> Tuple[Point, ...]",
"createPolygons": "(self, point_positions: Sequence[Point | Sequence[int]], is_closed: bool = True) -> Tuple[Polygon, ...]",
"deletePoints": "(self, points: Iterable[Point] | PointGroup) -> None",
"deletePrims": "(self, prims: Sequence[Prim] | PrimGroup, keep_points: bool = False) -> None",
"dictAttribValue": "(self, attrib: Attrib | str) -> AttribDictReturnType",
"dictListAttribValue": "(self, name_or_attrib: Attrib | str) -> Sequence[AttribDictReturnType]",
"edgeGroups": "(self, scope: EnumValue = groupScope.Public) -> Tuple[EdgeGroup, ...]",
"edgeLoop": "(self, edges: Sequence[Edge], loop_type: EnumValue, full_loop_per_edge: bool, force_ring: bool, allow_ring: bool) -> Tuple[Edge, ...]",
"findEdgeGroup": "(self, name: str, scope: EnumValue = groupScope.Public) -> EdgeGroup | None",
"findGlobalAttrib": "(self, name: str, scope: EnumValue = attribScope.Public) -> Attrib | None",
"findPointAttrib": "(self, name: str, scope: EnumValue = attribScope.Public) -> Attrib | None",
"findPointGroup": "(self, name: str, scope: EnumValue = groupScope.Public) -> PointGroup | None",
"findPrimAttrib": "(self, name: str, scope: EnumValue = attribScope.Public) -> Attrib | None",
"findPrimGroup": "(self, name: str, scope: EnumValue = groupScope.Public) -> PrimGroup | None",
"findVertexAttrib": "(self, name: str, scope: EnumValue = attribScope.Public) -> Attrib | None",
"findVertexGroup": "(self, name: str, scope: EnumValue = groupScope.Public) -> VertexGroup | None",
"floatAttribValue": "(self, name_or_attrib: str | Attrib) -> float",
"floatListAttribValue": "(self, name_or_attrib: str | Attrib) -> Tuple[float, ...]",
"generateAttribMenu": "(self, attrib_type: EnumValue | None = None, data_type: EnumValue | None = None, min_size: int = 1, max_size: int = -1, array_type: bool = True, scalar_type: bool = True, case_sensitive: bool = True, pattern: str = '*', decode_tokens: bool = False) -> Tuple[str, ...]",
"importLop": "(self, lopnode: LopNode, selectionrule: LopSelectionRule, purpose: str | None = None, traversal: str | None = None, path_attrib_name: str | None = None, name_attrib_name: str | None = None, strip_layers: bool = False, frame: float | None = None) -> LopLockedStage",
"importUsdStage": "(self, stage: pxr.Usd.Stage, selectionrule: LopSelectionRule, purpose: str | None = None, traversal: str | None = None, path_attrib_name: str | None = None, name_attrib_name: str | None = None, frame: float | None = None) -> None",
"intAttribValue": "(self, attrib: Attrib | str) -> int",
"intListAttribValue": "(self, name_or_attrib: Attrib | str) -> Tuple[int, ...]",
"intrinsicValue": "(self, intrinsic_name: str) -> AttribReturnType",
"iterPoints": "(self) -> _PointTupleGenerator",
"iterPrims": "(self) -> _PrimTupleGenerator",
"packedFolderProperties": "(self, path: str) -> dict[str, bool]",
"pointFloatAttribValuesAsString": "(self, name: str, float_type: EnumValue = numericData.Float32) -> bytes",
"pointGroups": "(self, scope: EnumValue = groupScope.Public) -> Tuple[PointGroup, ...]",
"pointIntAttribValuesAsString": "(self, name: str, int_type: EnumValue = numericData.Int32) -> bytes",
"pointLoop": "(self, points: Sequence[Point], loop_type: EnumValue) -> Tuple[Point, ...]",
"pointNormals": "(self, points: Sequence[Point] | PointGroup) -> Sequence[Vector3]",
"primFloatAttribValuesAsString": "(self, name: str, float_type: EnumValue = numericData.Float32) -> bytes",
"primGroups": "(self, scope: EnumValue = groupScope.Public) -> Tuple[PrimGroup, ...]",
"primIntAttribValuesAsString": "(self, name: str, int_type: EnumValue = numericData.Int32) -> bytes",
"primLoop": "(self, prims: Sequence[Prim], loop_type: EnumValue) -> Tuple[Prim, ...]",
"setGlobalAttribValue": "(self, name_or_attrib: str | Attrib, attrib_value: AttribArgType | AttribDictArgType) -> None",
"setIntrinsicValue": "(self, intrinsic_name: str, value: AttribArgType) -> None",
"setPointFloatAttribValuesFromString": "(self, name: str, values: bytes, float_type: EnumValue = numericData.Float32) -> None",
"setPointIntAttribValuesFromString": "(self, name: str, values: bytes, int_type: EnumValue = numericData.Float32) -> None",
"setPrimFloatAttribValuesFromString": "(self, name: str, values: bytes, float_type: EnumValue = numericData.Float32) -> None",
"setPrimIntAttribValuesFromString": "(self, name: str, values: bytes, int_type: EnumValue = numericData.Float32) -> None",
"setVertexFloatAttribValuesFromString": "(self, name: str, values: bytes, float_type: EnumValue = numericData.Float32) -> None",
"setVertexIntAttribValuesFromString": "(self, name: str, values: bytes, int_type: EnumValue = numericData.Float32) -> None",
"stringAttribValue": "(self, attrib: Attrib | str) -> str",
"stringListAttribValue": "(self, name_or_attrib: Attrib | str) -> Tuple[str, ...]",
"transformPrims": "(self, prims: Sequence[Prim] | PrimGroup, matrix: Matrix4) -> None",
"vertexFloatAttribValuesAsString": "(self, name: str, float_type: EnumValue = numericData.Float32) -> bytes",
"vertexGroups": "(self, scope: EnumValue = groupScope.Public) -> Tuple[VertexGroup, ...]",
"vertexIntAttribValuesAsString": "(self, name: str, int_type: EnumValue = numericData.Int32) -> bytes",
},
"GeometryDelta": {
"setPointPositionsFromString": "(self, positions: bytes, float_type: EnumValue = numericData.Float32) -> None",
},
"GeometryDrawable": {
"__init__": "(self, scene_viewer: SceneViewer, geo_type: EnumValue, name: str, label: str | None = None, geometry: Geometry | None = None, params: Mapping[str, Any] | None = None) -> None",
},
"GeometryDrawableGroup": {
"__init__": "(self, name: str, label: str | None = None) -> None",
},
"GeometrySelection": {
"__init__": "(self) -> None",
},
"GeometryViewport": {
"addEventCallback": "(self, callback: Callable[[dict[str, Any]], None]) -> None",
"changeType": "(self, type: EnumValue) -> None",
"eventCallbacks": "(self) -> Tuple[Callable[[dict[str, Any]], None], ...]",
"queryWorldPositionAndNormal": "(self, x: int, y: int, selectionRestriction: bool = False) -> Tuple[Vector3, Vector3, bool]",
"removeEventCallback": "(self, callback: Callable[[dict[str, Any]], None]) -> None",
"setCamera": "(self, camera_node: ObjNode) -> None",
},
"GeometryViewportSettings": {
"allowParticleSprites": "(self) -> bool",
"autoGenerateVertexNormals": "(self) -> bool",
"closureSelection": "(self, arg: EnumValue) -> EnumValue",
"geometryInfo": "(self, arg: EnumValue) -> EnumValue",
"guideFontSize": "(self) -> EnumValue",
"handleHighlight": "(self, arg: EnumValue) -> EnumValue",
"instanceStandInGeometry": "(self) -> EnumValue",
"interiorWireAlpha": "(self) -> float",
"levelOfDetail": "(self) -> float",
"orientDiscToNormal": "(self) -> bool",
"particleDiscSize": "(self) -> float",
"particleDisplayType": "(self) -> EnumValue",
"particlePointSize": "(self) -> float",
"pointInstancing": "(self) -> bool",
"pointInstancingLimit": "(self) -> int",
"pointInstancingPercent": "(self) -> float",
"polygonConvexQuality": "(self) -> bool",
"selectWireframeAsSolid": "(self) -> bool",
"setCamera": "(self, camera_node: ObjNode) -> None",
"shadeOpenCurves": "(self) -> bool",
"spriteTextureLimit": "(self) -> Tuple[int, ...]",
"subdivsionLimit": "(self) -> int",
"vertexNormalCuspAngle": "(self) -> float",
"vertexNormalLimit": "(self) -> int",
"volumeAmbientShadows": "(self) -> float",
"volumeBSplines": "(self) -> EnumValue",
"volumeQuality": "(self) -> EnumValue",
"volumeWireAsPoints": "(self) -> bool",
"wireBlend": "(self) -> float",
"wireWidth": "(self) -> float",
},
"Handle": {
"disableParms": "(self, parm_names: Sequence[str]) -> None",
"enableParms": "(self, parm_names: Sequence[str]) -> None",
},
"HDADefinition": {
"addSection": "(self, name: str, contents: str = '', compression_type: EnumValue = compressionType.NoCompression) -> HDASection",
"extraFileOptions": "(self) -> dict[str, OptionType]",
"setExtraFileOption": "(self, name, value: OptionType, type_hint: EnumValue = fieldType.NoSuchField) -> None",
},
"HDASection": {
"binaryContents": "(self, compressionType: EnumValue = compressionType.NoCompression) -> bytes",
"contents": "(self, compressionType: EnumValue = compressionType.NoCompression) -> str",
"setContents": "(self, contents: str, compressionType: EnumValue = compressionType.NoCompression) -> None",
},
"InterruptableOperation": {
"__exit__": "(self, type: type[BaseException], value: BaseException, traceback: TracebackType) -> None",
},
"IntParmTemplate": {
"__init__": "(self, name: str, label: str, num_components: int, default_value: Sequence[int] = ..., min: int = 0, max: int = 10, min_is_strict=False, max_is_strict: bool = False, look: EnumValue = parmLook.Regular, naming_scheme: EnumValue = parmNamingScheme.XYZW, menu_items: Sequence[str] = ..., menu_labels: Sequence[str] = ..., icon_names: Sequence[str] = ..., item_generator_script: str | None = None, item_generator_script_language: EnumValue | None = None, menu_type: EnumValue = menuType.Normal, disable_when: str | None = None, is_hidden: bool = False, is_label_hidden: bool = False, join_with_next: bool = False, help: str | None = None, script_callback: str | None = None, script_callback_language: EnumValue = scriptLanguage.Hscript, tags: Mapping[str, str] = ..., default_expression: Sequence[str] = ..., default_expression_language: Sequence[str] = ...) -> None",
},
"IPRViewer": {
"saveFrame": "(self, file_path: str, snapshot: int = 0, xres: int = -1, yres: int = -1, color: str = 'C', alpha: str = 'C', scope: str = '*', lut: str = '', gamma: float = 1.0, convert: bool = True) -> bool",
},
"Keyframe": {
"__init__": "(self, value: float | None = None, time: float | None = None) -> None",
},
"LabelParmTemplate": {
"__init__": "(self, name: str, label: str, column_labels: Sequence[str] = ..., is_hidden: bool = False, is_label_hidden: bool = False, join_with_next: bool = False, help: str | None = None, tags: Mapping[str, str] = ...) -> None",
},
"LopNetwork": {
"activeLayer": "(self, output_index: int = ..., ignore_errors: bool = ..., use_last_cook_context_options: bool = ..., frame: float|None = ..., context_options: Mapping[str, str | float] = ...) -> pxr.Sdf.Layer",
"postLayer": "(self, name: str) -> pxr.Sdf.Layer | None",
"sourceLayer": "(self, layer_index: int = ..., output_index: int = ..., use_last_cook_context_options: bool = ..., frame: float|None = ..., context_options: Mapping[str, str | float] = ...) -> pxr.Sdf.Layer",
"stage": "(self, output_index: int = ..., apply_viewport_overrides: bool = ..., ignore_errors: bool = ..., use_last_cook_context_options: bool = ..., apply_post_layers: bool = ..., frame: float|None = ..., context_options: Mapping[str, str | float] = ...) -> pxr.Usd.Stage",
"viewportOverridesLayer": "(self, layer_id: EnumValue) -> pxr.Sdf.Layer",
},
"LopNode": {
"activeLayer": "(self, output_index: int = 0, ignore_errors: bool = False, use_last_cook_context_options: bool = True, frame: float | None = None, context_options: Mapping[str, Any] = ...) -> pxr.Sdf.Layer",
"addLockedGeometry": "(self, identifier: str, geo: Geometry, args: Mapping[str, str] | None = None) -> str",
"displayNode": "(self) -> LopNode",
"layersAboveLayerBreak": "(self, output_index: int = 0, use_last_cook_context_options: bool = True, frame: float | None = None, context_options: Mapping[str, str | float] | None = None) -> Tuple[str, ...]",
"loadMasks": "(self, output_index: int = 0, force_cook: bool = False, use_last_cook_context_options: bool = True, frame: float | None = None, context_options: Mapping[str, str | float] | None = None) -> LopViewportLoadMasks",
"setLastModifiedPrims": "(self, primPaths: Sequence[str]) -> None",
"sourceLayer": "(self, layer_index: int = 0, output_index: int = 0, use_last_cook_context_options: bool = True, frame: float | None = None, context_options: Mapping[str, Any] = ...) -> pxr.Sdf.Layer",
"sourceLayerCount": "(self, output_index: int = 0, use_last_cook_context_options: bool = True, frame: float | None = None, context_options: Mapping[str, str | float] | None = None) -> LopViewportLoadMasks",
"stage": "(self, output_index: int = 0, apply_viewport_overrides: bool = False, ignore_errors: bool = False, use_last_cook_context_options: bool = True, apply_post_layers: bool = True, frame: float | None = None, context_options: Mapping[str, Any] = ...) -> pxr.Usd.Stage",
"stagePrimStats": "(self, primpath: str | None = None, output_index: int = 0, apply_viewport_overrides: bool = False, ignore_errors: bool = False, do_geometry_counts: bool = False, do_separate_purposes: bool = False, use_last_cook_context_options: bool = True, apply_post_layers: bool = True, frame: float | None = None, context_options: Mapping[str, str | float] | None = None) -> dict[str, int]",
},
"LopPostLayer": {
"__exit__": "(self, type: type[BaseException], value: BaseException, traceback: TracebackType) -> None",
"layer": "(self) -> pxr.Sdf.Layer",
"stage": "(self) -> pxr.Usd.Stage",
},
"LopSelectionRule": {
"collectionAwarePaths": "(self, lopnode: LopNode | None = None, fallback_to_new_paths: bool = False, stage: pxr.Usd.Stage | None = None, use_last_cook_context_options: bool = True) -> Tuple[pxr.Sdf.Path, ...]",
"expandedPaths": "(self, lopnode: LopNode | None = None, return_ancestors: bool = False, fallback_to_new_paths: bool = False, stage: pxr.Usd.Stage | None = None, use_last_cook_context_options: bool = True) -> Tuple[pxr.Sdf.Path, ...]",
"firstPath": "(self, lopnode: LopNode | None = None, return_ancestors: bool = False, fallback_to_new_paths: bool = False, stage: pxr.Usd.Stage | None = None, use_last_cook_context_options: bool = True) -> pxr.Sdf.Path",
"newPaths": "(self, lopnode: LopNode | None = None, stage: pxr.Usd.Stage | None = None, use_last_cook_context_options: bool = True) -> Tuple[pxr.Sdf.Path, ...]",
},
"LopViewportOverrides": {
"__exit__": "(self, type: type[BaseException], value: BaseException, traceback: TracebackType) -> None",
"layer": "(self) -> pxr.Sdf.Layer",
"soloGeometry": "(self) -> pxr.Sdf.Path",
"soloLights": "(self) -> pxr.Sdf.Path",
"stage": "(self) -> pxr.Usd.Stage",
},
"Matrix2": {
"__init__": "(self, values: int | float | Sequence[int] | Sequence[float] | Sequence[Sequence[int] | Sequence[float]] | 'Matrix2' = 0) -> None",
"__mul__": "(self, matrix2_or_scalar: Matrix2 | float) -> Matrix2",
"setTo": "(self, value: Sequence[float]) -> None",
},
"Matrix3": {
"__init__": "(self, values: int | float | Sequence[int] | Sequence[float] | Sequence[Sequence[int] | Sequence[float]] | 'Matrix3' = 0) -> None",
"__mul__": "(self, matrix3_or_scalar: Matrix3 | float) -> Matrix4",
"setTo": "(self, value: Sequence[float]) -> None",
"removeScalesAndShears": "(self, transform_order: Literal['srt', 'str', 'rst', 'rts', 'tsr', 'trs'] = 'srt') -> Tuple[Vector3, Vector3]",
"extractRotates": "(self, rotate_order: Literal['xyz', 'xzy', 'yxz', 'yzx', 'zxy', 'zyx'] = 'xyz') -> Vector3",
},
"Matrix4": {
"__init__": "(self, values: int | float | Sequence[int] | Sequence[float] | Sequence[Sequence[int] | Sequence[float]] | 'Matrix4' = 0) -> None",
"__mul__": "(self, matrix4_or_scalar: Matrix4 | float) -> Matrix4",
"explode": "(self, transform_order: Literal['srt', 'str', 'rst', 'rts', 'tsr', 'trs'] = 'srt', rotate_order: Literal['xyz', 'xzy', 'yxz', 'yzx', 'zxy', 'zyx'] = 'xyz', pivot: Vector3 = ..., pivot_rotate: Vector3 = ...) -> dict[str, Vector3]",
"extractRotates": "(self, transform_order: Literal['srt', 'str', 'rst', 'rts', 'tsr', 'trs'] = 'srt', rotate_order: Literal['xyz', 'xzy', 'yxz', 'yzx', 'zxy', 'zyx'] = 'xyz', pivot: Vector3 = ..., pivot_rotate: Vector3 = ...) -> Vector3",
"extractScales": "(self, transform_order: Literal['srt', 'str', 'rst', 'rts', 'tsr', 'trs'] = 'srt', pivot: Vector3 = ..., pivot_rotate: Vector3 = ...) -> Vector3",
"extractShears": "(self, transform_order: Literal['srt', 'str', 'rst', 'rts', 'tsr', 'trs'] = 'srt', pivot: Vector3 = ..., pivot_rotate: Vector3 = ...) -> Vector3",
"extractTranslates": "(self, transform_order: Literal['srt', 'str', 'rst', 'rts', 'tsr', 'trs'] = 'srt', pivot: Vector3 = ..., pivot_rotate: Vector3 = ...) -> Vector3",
"setTo": "(self, value: Sequence[float]) -> None",
},
"MenuParmTemplate": {
"__init__": "(self, name: str, label: str, menu_items: Sequence[str], menu_labels: Sequence[str] = ..., default_value: int = 0, icon_names: Sequence[str] = ..., item_generator_script: str = '', item_generator_script_language: EnumValue | None = None, disable_when: str | None = None, menu_type: EnumValue = menuType.Normal, is_hidden: bool = False, is_label_hidden: bool = False, join_with_next: bool = False, help: str | None = None, script_callback: str | None = None, script_callback_language: EnumValue = scriptLanguage.Hscript, tags: Mapping[str, str] = ..., default_expression: str = '', default_expression_language: EnumValue = scriptLanguage.Hscript, store_default_value_as_string: bool = False, menu_use_token: bool = False, is_button_strip: bool = False, strip_uses_icons: bool = False) -> None",
"setDefaultExpressionLanguage": "(self, default_expression_language: EnumValue) -> None",
},
"NetworkAnimValue": {
# FIXME: The value_start and value_end types must be the same, so some overloads are
# in order to make this type annotation correct.
"__init__": "(self, duration: float | Vector2 | Vector3 | Vector4 | NetworkAnimValue, value_start: float | Vector2 | Vector3 | Vector4 = ..., value_end: float | Vector2 | Vector3 | Vector4 = ...) -> None",
},
"NetworkEditor": {
"flashMessage": "(self, image: str | None, message: str | None, duration: float) -> None",
"openNodeMenu": "(self, node: Node | None = None, items: Sequence[NetworkMovableItem] | None = None) -> None",
"openTabMenu": "(self, key: str | None = None, auto_place: bool = False, branch: bool = False, src_item: NetworkMovableItem | None = None, src_connector_index: int = -1, dest_item: NetworkMovableItem | None = None, dest_connector_index: int = -1, node_position: Vector2 | None = None, src_items: Sequence[NetworkMovableItem] | None = None, src_indexes: Sequence[int] | None = None, dest_items: Sequence[NetworkMovableItem] | None = None, dest_indexes: Sequence[int] | None = None) -> None",
"registerPref": "(self, pref: str, value: str, _global: bool) -> None",
"setParmFilterCriteria": "(self, mode: EnumValue) -> None",
"setParmFilterMode": "(self, mode: EnumValue) -> None",
},
"NetworkFootprint": {
"__init__": "(self, condition: EnumValue | str, color: Color, ring: int, use_minimum_size: bool) -> None",
},
"NetworkImage": {
"__init__": "(self, path: str, rect: BoundingRect) -> None",
},
"NetworkMovableItem": {
"move": "(self, amount: Sequence[float] | Vector2) -> None",
"setPosition": "(self, position: Sequence[float] | Vector2) -> None",
"shiftPosition": "(self, amount: Sequence[float] | Vector2) -> None",
},
"NetworkDot": {
"setInput": "(self, input_index: int, item_to_become_input: NetworkMovableItem | None, output_index: int = 0) -> None",
},
"NetworkShapeConnection": {
"__init__": "(self, input_pos: Vector2, input_dir: Vector2, output_pos: Vector2, output_dir: Vector2, color: Color = ..., alpha: float = 1.0, fade_factor: float = 0.0, smooth: bool = True, dashed: bool = False) -> None",
},
"NetworkShapeLine": {
"__init__": "(self, start: Vector2, end: Vector2, color: Color = ..., alpha: float = 1.0, width: float = 1.0, screen_space: bool = True, smooth: bool = True, dashed: bool = False) -> None",
},
"NetworkShapeBox": {
"__init__": "(self, rect: BoundingRect, color: Color = ..., alpha: float = 1.0, fill: bool = True, screen_space: bool = True, smooth: bool = True) -> None",
},
"NetworkShapeNodeShape": {
"__init__": "(self, rect: BoundingRect, shape: str, color: Color = ..., alpha: float = 1.0, fill: bool = True, screen_space: bool = True, smooth: bool = True) -> None",
},
"Node": {
"copyItemsToClipboard": "(self, items: Iterable[NetworkMovableItem]) -> None",
"deleteItems": "(self, items: Iterable[NetworkMovableItem], disable_safety_checks: bool = False) -> None",
"input": "(self, input_index: int) -> Self | None",
"inputFollowingOutputs": "(self, input_index: int) -> Self | None",
"inputs": "(self) -> Tuple[Self | None, ...]",
"layoutChildren": "(self, items: Sequence[NetworkMovableItem] = ..., horizontal_spacing: float = 1.0, vertical_spacing: float = 1.0) -> None",
"outputs": "(self) -> Tuple[Self, ...]",
"recursiveGlob": "(self, pattern: str, filter: EnumValue = nodeTypeFilter.NoFilter, include_subnets: bool = True) -> Tuple[Node, ...]",
"setFirstInput": "(self, item_to_become_input: NetworkMovableItem | None, output_index: int = 0) -> None",
"setInput": "(self, input_index: int, item_to_become_input: NetworkMovableItem | None, output_index: int = 0) -> None",
"setNamedInput": "(self, input_name: str, item_to_become_input: NetworkMovableItem, output_name_or_index: str | int) -> None",
"userData": "(self, name: str) -> str | None",
},
"NodeInfoTree": {
"__init__": "(self, tree_root: Any, tree: Any) -> None",
},
"ObjNode": {
"material": "(self, operation: Literal['override', 'select', 'remove', 'rmdefault', 'sync', 'revert', 'addlist'], parameter: Sequence[str] | None = None) -> None",
},
"OpNode": {
"addError": "(self, message: str, severity: EnumValue = ...) -> None",
"addEventCallback": "(self, event_types: Sequence[EnumValue], callback: Callable) -> None",
"addParmCallback": "(self, callback: Callable[[OpNode, ParmTuple], None], names: Sequence[str]) -> None",
"cook": "(self, force: bool = False, frame_range: Sequence[float] = ...) -> None",
"cookCodeGeneratorNode": "(self, check_parent: bool = False) -> Node",
"evalParm": "(self, parm_path: str) -> ParmArgType",
"evalParmTuple": "(self, parm_path: str) -> ParmTupleReturnType",
"eventCallbacks": "(self) -> Tuple[Tuple[Tuple[EnumValue, ...], Callable], ...]",
"fileReferences": "(self, recurse: bool = True, project_dir_variable: str = 'HIP', include_all_refs: bool = True) -> Sequence[Tuple[Parm, str]]",
"lastCookContextOptions": "(self, only_used_options: bool = False) -> dict[str, str | float]",
"needsToCook": "(self, time: float = ...) -> bool",
"removeEventCallback": "(self, event_types: Sequence[EnumValue], callback: Callable) -> None",
"setDeleteScript": "(self, script_text: str, language: EnumValue = ...) -> None",
"setInput": "(self, input_index: int, item_to_become_input: NetworkMovableItem | None, output_index: int = 0) -> None",
"stampValue": "(self, parm_name: str, default_value: float | str) -> str",
},
"OpNodeType": {
"deprecationInfo": "(self) -> dict[str, str | Self]",
},
"OperationFailed": {
"__init__": "(self, message: str | None = ...) -> None",
},
"OrientedBoundingBox": {
"__init__": "(self, oriented_bbox: OrientedBoundingBox = ...) -> None",
},
"PaneTab": {
"displayRadialMenu": "(self, menu: str | RadialScriptItem) -> None",
},
"ParameterEditor": {
"setFilterCriteria": "(self, criteria: EnumValue) -> None",
"setFilterMode": "(self, mode: EnumValue) -> None",
},
"Parm": {
"eval": "(self) -> int | float | str",
"evalAtFrame": "(self, frame: float) -> int | float | str",
"evalAtTime": "(self, frame: float) -> int | float | str",
"keyframesRefit": "(self, refit: bool, refit_tol: float, refit_preserve_extrema: bool, refit_bezier: bool, resample: bool, resample_rate: float, resample_tol: float, range_: bool, range_start: float, range_end: bool, bake_chop: EnumValue, refit_smooth: bool) -> None",
"pressButton": "(self, arguments: Mapping[str, int | bool | float | str] = ...) -> None",
"set": "(self, value: int | float | str | Parm | Ramp, language: EnumValue | None = None, follow_parm_reference: bool = True) -> None",
},
"ParmTemplate": {
"conditionals": "(self) -> dict[EnumValue, str]",
"setTags": "(self, tags: Mapping[str, str]) -> None",
},
"ParmTemplateGroup": {
"__init__": "(self, parm_templates: Sequence[ParmTemplate] = ...) -> None",
"appendToFolder": "(self, label_or_labels_or_parm_template_or_indices: str | Sequence[str] | ParmTemplate | Sequence[int], parm_template: ParmTemplate) -> None",
"asDialogScript": "(self, rename_conflicting_parms: bool = False, full_info: bool = False, script_name: str | None = None, script_label: str | None = None, script_tags: Mapping[str, str] = ...) -> str",
"containingFolder": "(self, name_or_parm_template: str | ParmTemplate) -> FolderParmTemplate",
"containingFolderIndices": "(self, name_or_parm_template_or_indices: str | ParmTemplate | Sequence[int]) -> Tuple[int, ...]",
"findFolder": "(self, label_or_labels: str | Sequence[str]) -> ParmTemplate | None",
"findIndices": "(self, name_or_parm_template: ParmTemplate | str) -> Tuple[int, ...]",
"findIndicesForFolder": "(self, name_or_parm_template: ParmTemplate | str) -> Tuple[int, ...]",
"hide": "(self, name_or_parm_template_or_indices: str | ParmTemplate | Sequence[int], on: bool) -> None",
"hideFolder": "(self, label_or_labels: str | Sequence[str], on: bool) -> None",
"insertAfter": "(self, name_or_parm_template_or_indices: str | ParmTemplate | Sequence[int], parm_template: ParmTemplate) -> None",
"insertBefore": "(self, name_or_parm_template_or_indices: str | ParmTemplate | Sequence[int], parm_template: ParmTemplate) -> None",
"isFolderHidden": "(self, label_or_labels: str | Sequence[str]) -> bool",
"isHidden": "(self, name_or_parm_template_or_indices: str | ParmTemplate | Sequence[int]) -> bool",
"remove": "(self, name_or_parm_template_or_indices: str | ParmTemplate | Sequence[int]) -> None",
"replace": "(self, name_or_parm_template_or_indices: str | ParmTemplate | Sequence[int], parm_template: ParmTemplate) -> None",
},
"ParmTuple": {
"eval": "(self) -> Tuple[int, ...] | Tuple[float, ...] | Tuple[str, ...] | Ramp",
"evalAtFrame": "(self, frame: float) -> Tuple[int, ...] | Tuple[float, ...] | Tuple[str, ...] | Ramp",
"evalAtTime": "(self, frame: float) -> Tuple[int, ...] | Tuple[float, ...] | Tuple[str, ...] | Ramp",
"lock": "(self, bool_values: bool | Sequence[bool]) -> None",
"node": "(self) -> OpNode",
"setPending": "(self, values: Sequence[float | str]) -> None",
},
"PerfMonEvent": {
"__exit__": "(self, type: type[BaseException], value: BaseException, traceback: TracebackType) -> None",
},
"PerfMonProfile": {
"stats": "(self) -> dict[str, Any]",
},
"PluginHotkeyDefinitions": {
"addDefaultBinding": "(self, context: str, command: str, assignments: Sequence[str], apply_platform_modifier_mappings: bool = True) -> None",
},
"Point": {
"attribValue": "(self, attrib: Attrib | str) -> AttribReturnType | AttribDictReturnType",
"dictAttribValue": "(self, name_or_attrib: str | Attrib) -> AttribDictReturnType",
"dictListAttribValue": "(self, name_or_attrib: str | Attrib) -> Sequence[AttribDictReturnType]",
"floatAttribValue": "(self, name_or_attrib: str | Attrib) -> float",
"floatListAttribValue": "(self, name_or_attrib: str | Attrib) -> Tuple[float, ...]",
"intAttribValue": "(self, name_or_attrib: str | Attrib) -> int",
"intListAttribValue": "(self, name_or_attrib: str | Attrib) -> Tuple[int, ...]",
"setAttribValue": "(self, name_or_attrib: str | Attrib, attrib_value: AttribArgType | AttribDictArgType) -> None",
"stringAttribValue": "(self, name_or_attrib: str | Attrib) -> str",
"stringListAttribValue": "(self, name_or_attrib: str | Attrib) -> Tuple[str, ...]",
},
"PointGroup": {
"add": "(self, point_or_list_or_point_group: Point | Sequence[Point] | PointGroup) -> None",
"iterPoints": "(self) -> _PointTupleGenerator",
"option": "(self, option_name: str) -> OptionMultiReturnType",
"options": "(self) -> dict[str, OptionMultiReturnType]",
"remove": "(self, point_or_list_or_point_group: Point | Sequence[Point] | PointGroup) -> None",
"setOption": "(self, name: str, value: OptionMultiArgType, type_hint: EnumValue = fieldType.NoSuchField) -> None",
},
"Prim": {
"attribValue": "(self, attrib: Attrib | str) -> AttribReturnType | AttribDictReturnType",
"attribValueAtInterior": "(self, attrib: Attrib | str, u: float, v: float, w: float = 0.0) -> AttribReturnType",
"dictAttribValue": "(self, attrib: Attrib | str) -> AttribDictReturnType",
"dictListAttribValue": "(self, name_or_attrib: Attrib | str) -> Sequence[AttribDictReturnType]",
"floatAttribValue": "(self, attrib: Attrib | str) -> float",
"floatListAttribValue": "(self, name_or_attrib: str | Attrib) -> Tuple[float, ...]",
"intAttribValue": "(self, attrib: Attrib | str) -> int",
"intListAttribValue": "(self, name_or_attrib: Attrib | str) -> Tuple[int, ...]",
"intrinsicValue": "(self, intrinsic_name: str) -> AttribReturnType",
"primuConvert": "(self, u: float, mode: int, tol: float | None = ...) -> float",
"primuvConvert": "(self, uv: Sequence[float] | Vector2, mode: int, tol: float | None = ...) -> Vector2",
"setAttribValue": "(self, name_or_attrib: Attrib | str, attrib_value: AttribArgType | AttribDictArgType) -> None",
"setIntrinsicValue": "(self, intrinsic_name: str, value: AttribArgType) -> None",
"stringAttribValue": "(self, attrib: Attrib | str) -> str",
"stringListAttribValue": "(self, name_or_attrib: Attrib | str) -> Tuple[str, ...]",
"voxelRange": "(self, range: BoundingBox) -> Tuple[bool, ...] | Tuple[int, ...] | Tuple[float, ...] | Tuple[Vector3, ...]",
},
"PrimGroup": {
"add": "(self, prim_or_list_or_prim_group: Prim | Sequence[Prim] | PrimGroup) -> None",
"iterPrims": "(self) -> _PrimTupleGenerator",
"option": "(self, option_name: str) -> OptionMultiReturnType",
"options": "(self) -> dict[str, OptionMultiReturnType]",
"remove": "(self, prim_or_list_or_prim_group: Prim | Sequence[Prim] | PrimGroup) -> None",
"setOption": "(self, name: str, value: OptionMultiArgType, type_hint: EnumValue = fieldType.NoSuchField) -> None",
},
"Quaternion": {
"__init__": "(self, x: Sequence[float] | float | 'Quaternion' | Matrix3 | Matrix4, y: Sequence[float] | float, z: float = ..., w: float = ...) -> None",
"__mul__": "(self, quaternion_or_scalar: Quaternion | float) -> Quaternion",
"extractEulerRotates": "(self, rotate_order: Literal['xyz', 'xzy', 'yxz', 'yzx', 'zxy', 'zyx'] = 'xyz') -> Vector3",
"setToEulerRotates": "(self, angles_in_deg: float, rotate_order: Literal['xyz', 'xzy', 'yxz', 'yzx', 'zxy', 'zyx'] = 'xyz') -> None",
"setToRotationMatrix": "(self, matrix3_or_matrix4: Matrix3 | Matrix4) -> None",
},
"RadialScriptItem": {
"setActionCallback": "(self, callback: Callable) -> None",
"setCheckCallback": "(self, callback: Callable) -> None",
},
"Ramp": {
"__init__": "(self, basis: Sequence[EnumValue], keys: Sequence[float], values: Sequence[float] | Sequence[Tuple[float, float, float]]) -> None",
"lookup": "(self, pos: float) -> float | Tuple[float, float, float]",
"values": "(self) -> Tuple[float | Tuple[float, float, float], ...]",
},
"RampParmTemplate": {
"__init__": "(self, name: str, label: str, ramp_parm_type: EnumValue, default_value: int = 2, default_basis: EnumValue | None = None, show_controls: bool = True, color_type: EnumValue | None = None, disable_when: str | None = None, is_hidden: bool = False, help: str | None = None, script_callback: str | None = None, script_callback_language: EnumValue = scriptLanguage.Hscript, tags: Mapping[str, str] = ..., default_expression_language: EnumValue = scriptLanguage.Hscript) -> None",
},
"RedrawBlock": {
"__exit__": "(self, type: type[BaseException], value: BaseException, traceback: TracebackType) -> None",
},
"RopNode": {
"addRenderEventCallback": "(self, callback: Callable[[RopNode, EnumValue, float], None], run_before_script: bool = False) -> None",
"removeRenderEventCallback": "(self, callback: Callable[[RopNode, EnumValue, float], None]) -> None",
"render": "(self, frame_range: Sequence[float] | None = None, res: Sequence[int] | None = None, output_file: str | None = None, output_format: str=..., to_flipbook: bool = False, quality: int = 2, ignore_inputs: bool = False, method=RopByRop, ignore_bypass_flags: bool = False, ignore_lock_flags: bool = False, verbose: bool = False, output_progress: bool = False) -> None",
},
"SceneGraphTree": {
"collapsePrimitives": "(self, prims: Sequence[str | pxr.Sdf.Path]) -> None",
"expandPrimitives": "(self, prims: Sequence[str | pxr.Sdf.Path], collapse_others: bool = False, expand_leaf_primitives: bool = False) -> None",
"expandedPrimitives": "(self, include_leaf_primitives: bool = False) -> Tuple[pxr.Sdf.Path, ...]",
},
"SceneViewer": {
"addEventCallback": "(self, callback: Callable) -> None",
"bindViewerHandle": "(self, handle_type: str, name: str, settings: str | None = None, cache_previous_parms: bool = False, handle_parms: Sequence[str] | None = None) -> None",
"bindViewerHandleStatic": "(self, handle_type: str, name: str, bindings: Sequence[str], settings: str | None = None) -> None",
"eventCallbacks": "(self) -> Tuple[Callable, ...]",
"groupListMask": "(self) -> str",
"isGroupPicking": "(self) -> bool",
"locateSceneGraphPrim": "(self, x: int, y: int) -> Tuple[float, str]",
"qtWindow": "(self) -> QtWidgets.QWidget",
"removeEventCallback": "(self, callback: Callable) -> None",
"runStateCommand": "(self, name: str, args: Mapping[str, Any] | None = None) -> None",
"selectDrawableGeometry": "(self, drawable_selection: Mapping[str, Incomplete], selection_modifier: EnumValue = pickModifier.Replace) -> None",
"selectDynamics": "(self, prompt: str = 'Select objects', sel_index: int = 0, allow_objects: bool = True, allow_modifiers: bool = False, quick_select: bool = False, use_existing_selection: bool = True, allow_multisel: bool = True, icon: str | None = None, label: str | None = None, prior_selection_paths: Sequence[str] | None = ..., prior_selection_ids: int | None = ..., prior_selections: Sequence[str] = ..., toolbox_templategroup: str | None = None, toolbox1_templategroup: str | None = None, select_parm: str = '') -> Tuple[DopData, ...]",
"selectDynamicsPoints": "(self, prompt: str = 'Select objects', sel_index: int = 0, quick_select: bool = False, use_existing_selection: bool = True, allow_multisel: bool = True, only_select_points: bool = True, object_based_point_selection: bool = False, use_last_selected_object: bool = False, icon: str | None = None, label: str | None = None, prior_selection_paths: Sequence[str] | None = ..., prior_selection_ids: int | None = ..., prior_selections: Sequence[str] = ..., toolbox_templategroup: str | None = None, toolbox1_templategroup: str | None = None, select_parm: str = '') -> Sequence[Tuple[DopData, GeometrySelection]]",
"selectD
gitextract_ouwlqh9d/ ├── .gitignore ├── .moon/ │ ├── hooks/ │ │ └── pre-commit.sh │ ├── tasks/ │ │ └── tag-stubs.yml │ ├── tasks.yml │ ├── toolchain.yml │ └── workspace.yml ├── .pre-commit-config.yaml ├── LICENSE.txt ├── README.md ├── common/ │ ├── moon.yml │ ├── pyproject.toml │ ├── src/ │ │ └── stubgenlib/ │ │ ├── __init__.py │ │ ├── build.py │ │ ├── cpptypeconvert.py │ │ ├── moduleinspect.py │ │ ├── notifier.py │ │ ├── py.typed │ │ ├── siggen/ │ │ │ ├── __init__.py │ │ │ ├── advanced.py │ │ │ ├── boost.py │ │ │ ├── default.py │ │ │ ├── docstring.py │ │ │ └── sigfixer.py │ │ ├── stubgen/ │ │ │ ├── __init__.py │ │ │ └── delegate.py │ │ ├── test_helpers.py │ │ └── utils.py │ └── tests/ │ ├── test_stubgenlib.py │ └── test_utils.py ├── houdini/ │ ├── .interpreter │ ├── README.md │ ├── hou_cleanup_config.py │ ├── moon.yml │ ├── pyproject.toml │ ├── stubgen_houdini.py │ ├── stubgen_houdini.sh.bak │ ├── stubs/ │ │ └── hou-stubs/ │ │ ├── __init__.pyi │ │ └── py.typed │ └── test_stubs.py ├── katana/ │ ├── .interpreter │ ├── README.md │ ├── katanapy │ ├── moon.yml │ ├── mypy.ini │ ├── pyproject.toml │ ├── stubgen_katana.py │ ├── stubgen_katana.sh │ └── stubs/ │ ├── AssetAPI/ │ │ ├── __init__.pyi │ │ └── py.typed │ ├── AssetAPI_cmodule/ │ │ ├── __init__.pyi │ │ └── py.typed │ ├── AssetBrowser/ │ │ ├── Browser.pyi │ │ ├── BrowserColumn.pyi │ │ ├── BrowserSettings.pyi │ │ ├── FileBrowser.pyi │ │ ├── FileInfo.pyi │ │ ├── Manifest.pyi │ │ ├── NonexclusiveCheckboxPopup.pyi │ │ ├── __init__.pyi │ │ └── py.typed │ ├── CacheManager/ │ │ ├── __init__.pyi │ │ └── py.typed │ ├── Callbacks/ │ │ ├── Callbacks.pyi │ │ ├── Manifest.pyi │ │ ├── __init__.pyi │ │ └── py.typed │ ├── CatalogAPI/ │ │ ├── Catalog.pyi │ │ ├── CatalogItem.pyi │ │ ├── CatalogUtils.pyi │ │ ├── Client.pyi │ │ ├── __init__.pyi │ │ └── py.typed │ ├── ConditionalStateGrammar/ │ │ ├── Parser.pyi │ │ ├── __init__.pyi │ │ └── py.typed │ ├── ConfigurationAPI_cmodule/ │ │ ├── __init__.pyi │ │ └── py.typed │ ├── DrawingModule/ │ │ ├── AutoPosition.pyi │ │ ├── CustomColors.pyi │ │ ├── Manifest.pyi │ │ ├── NodeShapeAttrUtil.pyi │ │ ├── __init__.pyi │ │ └── py.typed │ ├── GeoAPI/ │ │ ├── Lookfiles.pyi │ │ ├── Manifest.pyi │ │ ├── Transform.pyi │ │ ├── Util/ │ │ │ ├── ArgsFileUtil.pyi │ │ │ ├── CelUtil.pyi │ │ │ ├── GenericAppenderUtil.pyi │ │ │ ├── HintDictUtil.pyi │ │ │ ├── LookFileUtil.pyi │ │ │ ├── Manifest.pyi │ │ │ ├── Matrix.pyi │ │ │ └── __init__.pyi │ │ ├── __init__.pyi │ │ └── py.typed │ ├── Katana/ │ │ ├── __init__.pyi │ │ └── py.typed │ ├── KatanaResources/ │ │ ├── Manifest.pyi │ │ ├── ResourceFiles.pyi │ │ ├── __init__.pyi │ │ └── py.typed │ ├── LoggingAPI/ │ │ ├── __init__.pyi │ │ └── py.typed │ ├── LookFileBakeAPI/ │ │ ├── Constants.pyi │ │ ├── Exceptions.pyi │ │ ├── LookFileBaker.pyi │ │ ├── LookFileUtil.pyi │ │ ├── OutputFormatAPI.pyi │ │ ├── Utils.pyi │ │ ├── __init__.pyi │ │ └── py.typed │ ├── MachineInfo/ │ │ ├── KatanaInfo.pyi │ │ ├── MachineInfo.pyi │ │ ├── __init__.pyi │ │ └── py.typed │ ├── Main/ │ │ ├── __init__.pyi │ │ └── py.typed │ ├── MediaCacheHandler/ │ │ ├── Core.pyi │ │ ├── DiskUtil.pyi │ │ ├── ImageUtil.pyi │ │ ├── KatanaUtil.pyi │ │ ├── __init__.pyi │ │ └── py.typed │ ├── Naming/ │ │ ├── SafeIdentifier.pyi │ │ ├── UniqueName.pyi │ │ ├── __init__.pyi │ │ └── py.typed │ ├── NodeGraphView/ │ │ ├── Manifest.pyi │ │ ├── Utility.pyi │ │ ├── __init__.pyi │ │ └── py.typed │ ├── NodegraphAPI/ │ │ ├── BypassParameterManager.pyi │ │ ├── CallbackTypes.pyi │ │ ├── ComplexConnector.pyi │ │ ├── Constants/ │ │ │ ├── ApplyWhenOptions.pyi │ │ │ ├── ApplyWhereOptions.pyi │ │ │ ├── ExecutionModeOptions.pyi │ │ │ └── __init__.pyi │ │ ├── DynamicParameters.pyi │ │ ├── ExpressionModule.pyi │ │ ├── Flavor.pyi │ │ ├── GroupStack.pyi │ │ ├── InteractiveRenderFilters.pyi │ │ ├── LiveGroup.pyi │ │ ├── Manifest.pyi │ │ ├── NodeDelegateManager.pyi │ │ ├── NodeExtensions.pyi │ │ ├── NodeGraphViewExtensions.pyi │ │ ├── NodeNameFromParamManager.pyi │ │ ├── NodeXmlIO.pyi │ │ ├── NodegraphChangedEvents.pyi │ │ ├── NodegraphGlobals.pyi │ │ ├── ParameterValueOption.pyi │ │ ├── PythonRenderScript.pyi │ │ ├── RenderFilter.pyi │ │ ├── RenderScript.pyi │ │ ├── StructuredPorts.pyi │ │ ├── SuperTool.pyi │ │ ├── UserParameters.pyi │ │ ├── Util.pyi │ │ ├── Version/ │ │ │ ├── Manifest.pyi │ │ │ ├── Registry.pyi │ │ │ ├── UpdateNodeTypeVersions.pyi │ │ │ ├── Updater.pyi │ │ │ ├── Utils.pyi │ │ │ └── __init__.pyi │ │ ├── Xio.pyi │ │ ├── __init__.pyi │ │ └── py.typed │ ├── NodegraphAPI_cmodule/ │ │ ├── __init__.pyi │ │ └── py.typed │ ├── Nodes2DAPI/ │ │ ├── Expression.pyi │ │ ├── FileInNodeUtil.pyi │ │ ├── FileOutNodeUtil.pyi │ │ ├── GradientNodeUtil.pyi │ │ ├── Manifest.pyi │ │ ├── NodeColorDelegate.pyi │ │ ├── ThumbnailManager.pyi │ │ ├── TransformUtil.pyi │ │ ├── __init__.pyi │ │ └── py.typed │ ├── Nodes2DAPI_cmodule/ │ │ ├── Views.pyi │ │ ├── __init__.pyi │ │ └── py.typed │ ├── Nodes3DAPI/ │ │ ├── AbstractTransform.pyi │ │ ├── Alembic_In.pyi │ │ ├── AttributeCopy.pyi │ │ ├── AttributeEditor.pyi │ │ ├── AttributeFile_In.pyi │ │ ├── AttributeSet.pyi │ │ ├── BlockerCreate.pyi │ │ ├── BoundsAdjust.pyi │ │ ├── CameraClippingPlaneEdit.pyi │ │ ├── CameraCreate.pyi │ │ ├── CameraImagePlaneCreate.pyi │ │ ├── CollectionCreate.pyi │ │ ├── ConstraintCache.pyi │ │ ├── ConstraintListEdit.pyi │ │ ├── Constraints/ │ │ │ ├── AimConstraint.pyi │ │ │ ├── BaseConstraint.pyi │ │ │ ├── BillboardConstraint.pyi │ │ │ ├── CameraScreenWindowConstraint.pyi │ │ │ ├── ClippingConstraint.pyi │ │ │ ├── ConstraintEdit.pyi │ │ │ ├── ConstraintResolve.pyi │ │ │ ├── DollyConstraint.pyi │ │ │ ├── FOVConstraint.pyi │ │ │ ├── OrientConstraint.pyi │ │ │ ├── ParentChildConstraint.pyi │ │ │ ├── PointConstraint.pyi │ │ │ ├── ReflectionConstraint.pyi │ │ │ ├── ScaleConstraint.pyi │ │ │ ├── ScreenCoordinateConstraint.pyi │ │ │ └── __init__.pyi │ │ ├── CoordinateSystemDefine.pyi │ │ ├── CreateUtil.pyi │ │ ├── DynamicParameterUtil.pyi │ │ ├── ErrorNode.pyi │ │ ├── Expressions.pyi │ │ ├── FaceSelect.pyi │ │ ├── FaceSelectionManager.pyi │ │ ├── Fork3D.pyi │ │ ├── GenericAssign.pyi │ │ ├── GenericAssignRegistry.pyi │ │ ├── GenericGeo.pyi │ │ ├── GenericOp.pyi │ │ ├── GroupMerge.pyi │ │ ├── HierarchyCopy.pyi │ │ ├── HierarchyCreate.pyi │ │ ├── IncomingSceneOpDelegates.pyi │ │ ├── IncomingTest.pyi │ │ ├── InfoCreate.pyi │ │ ├── InputGraphBasedCacheManager.pyi │ │ ├── Isolate.pyi │ │ ├── JackGeometry.pyi │ │ ├── LODMerge.pyi │ │ ├── LODRangeAssign.pyi │ │ ├── LODSelect.pyi │ │ ├── LightCreate.pyi │ │ ├── LightLink.pyi │ │ ├── LightLinkConstants.pyi │ │ ├── LightLinkEdit.pyi │ │ ├── LightLinkResolve.pyi │ │ ├── LightLinkSetup.pyi │ │ ├── LightListEdit.pyi │ │ ├── LocationCreate.pyi │ │ ├── LocationGenerate.pyi │ │ ├── LookFileBake.pyi │ │ ├── LookFileBaking.pyi │ │ ├── LookFileGlobalsAssignBaseType.pyi │ │ ├── LookFileMaterialsIn.pyi │ │ ├── LookFileMaterialsOut.pyi │ │ ├── LookFileOverrideEnable.pyi │ │ ├── LookFileResolve.pyi │ │ ├── Manifest.pyi │ │ ├── Material.pyi │ │ ├── MaterialResolve.pyi │ │ ├── MaterialStack.pyi │ │ ├── Merge.pyi │ │ ├── NetworkMaterial.pyi │ │ ├── NetworkMaterialInterfaceControls.pyi │ │ ├── NetworkMaterialParameterEdit.pyi │ │ ├── NetworkMaterialSplice.pyi │ │ ├── Node3D.pyi │ │ ├── Node3DEventTypes.pyi │ │ ├── Node3D_geolib3.pyi │ │ ├── NodeLayoutAttributes.pyi │ │ ├── NodeTypeBuilder.pyi │ │ ├── OpCacheManager.pyi │ │ ├── OpResolve.pyi │ │ ├── OpScript.pyi │ │ ├── OpWrite.pyi │ │ ├── OutputChannelDefine.pyi │ │ ├── PonyCreate.pyi │ │ ├── PortOpClient.pyi │ │ ├── PrimitiveCreate.pyi │ │ ├── ProxyGeoPromote.pyi │ │ ├── Prune.pyi │ │ ├── Rename.pyi │ │ ├── RenderNode.pyi │ │ ├── RenderNodeUtil.pyi │ │ ├── RenderOutputDefine.pyi │ │ ├── RenderSettingsBaseType.pyi │ │ ├── RendererProceduralArgs.pyi │ │ ├── Rendering.pyi │ │ ├── RenderingUtil.pyi │ │ ├── Resolve.pyi │ │ ├── Resources/ │ │ │ ├── Material.pyi │ │ │ └── __init__.pyi │ │ ├── ReverseNormals.pyi │ │ ├── ScenegraphManager.pyi │ │ ├── ScenegraphMask.pyi │ │ ├── ShadingNodeArrayConnector.pyi │ │ ├── ShadingNodeBase.pyi │ │ ├── ShadingNodeSubnet.pyi │ │ ├── ShadingNodeUtil.pyi │ │ ├── TerminalOpDelegates/ │ │ │ ├── ExampleTimeTerminalOpDelegate.pyi │ │ │ ├── TerminalOpDelegate.pyi │ │ │ ├── WorkingSetTerminalOpDelegate.pyi │ │ │ └── __init__.pyi │ │ ├── TimingUtils.pyi │ │ ├── Transform3D.pyi │ │ ├── TransformEdit.pyi │ │ ├── TransformUtil.pyi │ │ ├── Unfork3D.pyi │ │ ├── UpdateModes.pyi │ │ ├── VariableSwitchUtil.pyi │ │ ├── VelocityApply.pyi │ │ ├── WorkingSetDebug.pyi │ │ ├── ZoomToRect.pyi │ │ ├── __init__.pyi │ │ └── py.typed │ ├── Nodes3DAPI_cmodule/ │ │ ├── __init__.pyi │ │ └── py.typed │ ├── PackageSuperToolAPI/ │ │ ├── BaseEditor.pyi │ │ ├── BaseNode.pyi │ │ ├── NodeUtils.pyi │ │ ├── PackageNameItemDelegate.pyi │ │ ├── Packages.pyi │ │ ├── Policies.pyi │ │ ├── UIDelegate.pyi │ │ ├── __init__.pyi │ │ └── py.typed │ ├── PluginAPI/ │ │ ├── BaseLiveRenderAction.pyi │ │ ├── BaseProxyLoader.pyi │ │ ├── BaseViewerPluginExtension.pyi │ │ ├── __init__.pyi │ │ └── py.typed │ ├── PluginSystemAPI/ │ │ ├── __init__.pyi │ │ └── py.typed │ ├── PyFCurve/ │ │ ├── __init__.pyi │ │ └── py.typed │ ├── PyFnAttribute/ │ │ ├── Util.pyi │ │ ├── __init__.pyi │ │ └── py.typed │ ├── PyFnGeolib/ │ │ ├── Util.pyi │ │ ├── __init__.pyi │ │ └── py.typed │ ├── PyFnGeolibProducers/ │ │ ├── RendererOutputUtil.pyi │ │ ├── __init__.pyi │ │ └── py.typed │ ├── PyFnGeolibServices/ │ │ ├── ArgsFile.pyi │ │ ├── AttributeFunctionUtil.pyi │ │ ├── ExpressionMath.pyi │ │ ├── HintUtils.pyi │ │ ├── LookFile.pyi │ │ ├── MaterialResolveUtil.pyi │ │ ├── OpArgsBuilders.pyi │ │ ├── XFormUtil.pyi │ │ ├── __init__.pyi │ │ └── py.typed │ ├── PyQt5/ │ │ ├── Qt.pyi │ │ ├── QtCompat.pyi │ │ ├── QtCore.pyi │ │ ├── QtGui.pyi │ │ ├── QtHelp.pyi │ │ ├── QtLocation.pyi │ │ ├── QtMultimedia.pyi │ │ ├── QtMultimediaWidgets.pyi │ │ ├── QtNetwork.pyi │ │ ├── QtOpenGL.pyi │ │ ├── QtPositioning.pyi │ │ ├── QtPrintSupport.pyi │ │ ├── QtQml.pyi │ │ ├── QtQuick.pyi │ │ ├── QtQuickWidgets.pyi │ │ ├── QtSensors.pyi │ │ ├── QtSerialPort.pyi │ │ ├── QtSql.pyi │ │ ├── QtSvg.pyi │ │ ├── QtTest.pyi │ │ ├── QtWebChannel.pyi │ │ ├── QtWebEngineCore.pyi │ │ ├── QtWebEngineWidgets.pyi │ │ ├── QtWebSockets.pyi │ │ ├── QtWidgets.pyi │ │ ├── QtXml.pyi │ │ ├── QtXmlPatterns.pyi │ │ ├── __init__.pyi │ │ └── py.typed │ ├── PyResolutionTableFn/ │ │ ├── __init__.pyi │ │ └── py.typed │ ├── PyUtilModule/ │ │ ├── AttrDump.pyi │ │ ├── ChildProcess.pyi │ │ ├── ColorPaletteManager.pyi │ │ ├── Decorators.pyi │ │ ├── Documentation.pyi │ │ ├── EnvUtils.pyi │ │ ├── ExternalTextEditor.pyi │ │ ├── FarmAPI/ │ │ │ ├── BaseFarmPlugin.pyi │ │ │ ├── FarmManager.pyi │ │ │ ├── FarmPluginManager.pyi │ │ │ └── __init__.pyi │ │ ├── FileUtils.pyi │ │ ├── Hints.pyi │ │ ├── IRFs.pyi │ │ ├── KatanaFile.pyi │ │ ├── LiveRenderAPI/ │ │ │ ├── PluginActionRegistry.pyi │ │ │ └── __init__.pyi │ │ ├── NodeDebugOutput.pyi │ │ ├── NonUIPluginManager.pyi │ │ ├── OpDocumentationGenerator.pyi │ │ ├── ProjectSnapshot.pyi │ │ ├── RegisterToCamera.pyi │ │ ├── RenderManager/ │ │ │ ├── Constants.pyi │ │ │ ├── Exceptions.pyi │ │ │ ├── InteractiveRenderDelegateManager.pyi │ │ │ ├── NodegraphUtils.pyi │ │ │ ├── RenderCore.pyi │ │ │ ├── RenderGlobals.pyi │ │ │ ├── RenderSettings.pyi │ │ │ ├── RenderTriggers.pyi │ │ │ ├── ResolutionTableUtils.pyi │ │ │ ├── ScenegraphUtils.pyi │ │ │ └── __init__.pyi │ │ ├── RenderingCommon.pyi │ │ ├── ScenegraphBookmarkManager.pyi │ │ ├── ScenegraphUtils.pyi │ │ ├── Shelves.pyi │ │ ├── StartupScripts.pyi │ │ ├── SuperToolPlugins.pyi │ │ ├── UndoEntries.pyi │ │ ├── UserNodes.pyi │ │ ├── VirtualKatana.pyi │ │ ├── WorkingSet.pyi │ │ ├── WorkingSetClient.pyi │ │ ├── WorkingSetManager.pyi │ │ ├── __init__.pyi │ │ └── py.typed │ ├── PyXmlIO/ │ │ ├── __init__.pyi │ │ └── py.typed │ ├── QT4Browser/ │ │ ├── BrowserFiltering.pyi │ │ ├── BrowserSettings.pyi │ │ ├── FileBrowser.pyi │ │ ├── FileInfo.pyi │ │ ├── FileSelect.pyi │ │ ├── Manifest.pyi │ │ ├── __init__.pyi │ │ └── py.typed │ ├── QT4Color/ │ │ ├── ASCColorCorrector.pyi │ │ ├── ColorComponentFormWidget.pyi │ │ ├── ColorDropWidget.pyi │ │ ├── ColorFormWidget.pyi │ │ ├── ColorPicker.pyi │ │ ├── ColorPolicy.pyi │ │ ├── ColorTextWidget.pyi │ │ ├── ColorTransforms.pyi │ │ ├── Degenerate.pyi │ │ ├── DropType.pyi │ │ ├── GammaWidget.pyi │ │ ├── Globals.pyi │ │ ├── Gradient1D.pyi │ │ ├── Gradient2D.pyi │ │ ├── Histogram.pyi │ │ ├── HueColorWidget.pyi │ │ ├── LumaSliderWidget.pyi │ │ ├── Manifest.pyi │ │ ├── ScreenScraper.pyi │ │ ├── Swatches.pyi │ │ ├── TempColorWidget.pyi │ │ ├── WidgetUtils.pyi │ │ ├── __init__.pyi │ │ └── py.typed │ ├── QT4FormWidgets/ │ │ ├── ArrayFormWidget.pyi │ │ ├── ArrayItemEntry.pyi │ │ ├── BaseValueFormWidget.pyi │ │ ├── CapsuleFormWidget.pyi │ │ ├── CheckBoxFormWidget.pyi │ │ ├── Conditional.pyi │ │ ├── EditWrench.pyi │ │ ├── ExpressionEditDialog.pyi │ │ ├── ExternalEditorDialog.pyi │ │ ├── FWidget.pyi │ │ ├── FilterablePopupFormWidget.pyi │ │ ├── FixableBoxLayout.pyi │ │ ├── FormClose.pyi │ │ ├── FormDialog.pyi │ │ ├── FormWidget.pyi │ │ ├── FormWidgetLabel.pyi │ │ ├── FormWidgetTools.pyi │ │ ├── GroupFormWidget.pyi │ │ ├── HintUtils.pyi │ │ ├── InputWidgets.pyi │ │ ├── Manifest.pyi │ │ ├── MenuGroupFormWidget.pyi │ │ ├── MenuUtils.pyi │ │ ├── MultiFormWidget.pyi │ │ ├── MultiStateBadge.pyi │ │ ├── NullFormWidget.pyi │ │ ├── NumberFormWidget.pyi │ │ ├── OpenState.pyi │ │ ├── PaintingUtils.pyi │ │ ├── PolicyMimeData.pyi │ │ ├── PopupFormWidget.pyi │ │ ├── PythonValuePolicy.pyi │ │ ├── StateChangeAction.pyi │ │ ├── StringFormWidget.pyi │ │ ├── TabGroupFormWidget.pyi │ │ ├── TextFormWidget.pyi │ │ ├── ValueAdjustment.pyi │ │ ├── ValuePolicy.pyi │ │ ├── ValuePolicyAdapter.pyi │ │ ├── WideEditDialog.pyi │ │ ├── WidgetFactory.pyi │ │ ├── __init__.pyi │ │ └── py.typed │ ├── QT4GLLayerStack/ │ │ ├── CheckerboardLayer.pyi │ │ ├── ClearLayer.pyi │ │ ├── EdgeScrollingLayer.pyi │ │ ├── EventEaterLayer.pyi │ │ ├── FrameAllLayer.pyi │ │ ├── LayerStack.pyi │ │ ├── Manifest.pyi │ │ ├── PanInteractionLayer.pyi │ │ ├── RectangleLayer.pyi │ │ ├── Util.pyi │ │ ├── ZoomAnimationLayer.pyi │ │ ├── ZoomInteractionLayer.pyi │ │ ├── __init__.pyi │ │ └── py.typed │ ├── QT4Panels/ │ │ ├── DragOverlay.pyi │ │ ├── DragTabs.pyi │ │ ├── Edge.pyi │ │ ├── Layouts.pyi │ │ ├── Manifest.pyi │ │ ├── PanelFrame.pyi │ │ ├── PanelLayout.pyi │ │ ├── __init__.pyi │ │ └── py.typed │ ├── QT4Widgets/ │ │ ├── CapsuleCombo.pyi │ │ ├── CustomMenu.pyi │ │ ├── CustomQLineEdit.pyi │ │ ├── DarkMojo.pyi │ │ ├── ExpandingLabel.pyi │ │ ├── FilterFieldWidget.pyi │ │ ├── FilterablePopupButton.pyi │ │ ├── InteractiveIconTabBar.pyi │ │ ├── LogView.pyi │ │ ├── Manifest.pyi │ │ ├── MenuButton.pyi │ │ ├── NavigationToolbar.pyi │ │ ├── PopdownLabel.pyi │ │ ├── PopupMenuOption.pyi │ │ ├── Profile.pyi │ │ ├── PythonConsole.pyi │ │ ├── QtAttributes.pyi │ │ ├── Settings.pyi │ │ ├── SliderWidget.pyi │ │ ├── SortableTreeWidget.pyi │ │ ├── StretchBox.pyi │ │ ├── TextEditorUtils.pyi │ │ ├── Threads.pyi │ │ ├── Timebar.pyi │ │ ├── Timeline.pyi │ │ ├── ToolbarButton.pyi │ │ ├── TopWindows.pyi │ │ ├── TreeWidgetUtil.pyi │ │ ├── VerticalDivider.pyi │ │ ├── WidgetUtils.pyi │ │ ├── __init__.pyi │ │ └── py.typed │ ├── QTFCurve/ │ │ ├── FCurveGraphValueListWidget.pyi │ │ ├── FCurveListView.pyi │ │ ├── FCurveSnapSettingsMenu.pyi │ │ ├── FCurveValueEdit.pyi │ │ ├── Manifest.pyi │ │ ├── MixedGroupState.pyi │ │ ├── UniqueListDict.pyi │ │ ├── __init__.pyi │ │ └── py.typed │ ├── RenderingAPI/ │ │ ├── Manifest.pyi │ │ ├── RenderOutputs.pyi │ │ ├── RenderPlugins.pyi │ │ ├── __init__.pyi │ │ └── py.typed │ ├── RenderingAPI_cmodule/ │ │ ├── RenderOutputLocation.pyi │ │ ├── Renderer.pyi │ │ ├── RendererInfo.pyi │ │ ├── __init__.pyi │ │ └── py.typed │ ├── RerenderEventMapper/ │ │ ├── LiveRenderOpChain.pyi │ │ ├── LiveRenderPortOpObserver.pyi │ │ ├── NukeBridgeAPI.pyi │ │ ├── NukeSessionMonitor.pyi │ │ ├── RerenderEvents.pyi │ │ ├── __init__.pyi │ │ └── py.typed │ ├── ResourceFiles/ │ │ ├── IconManager.pyi │ │ ├── Manifest.pyi │ │ ├── ResourceManager.pyi │ │ ├── __init__.pyi │ │ └── py.typed │ ├── UI4/ │ │ ├── App/ │ │ │ ├── AboutKatana.pyi │ │ │ ├── AutoSave.pyi │ │ │ ├── Hotkeys.pyi │ │ │ ├── Icon.pyi │ │ │ ├── KeyboardShortcutManager/ │ │ │ │ ├── KeyboardShortcutItem.pyi │ │ │ │ ├── KeyboardShortcutManager.pyi │ │ │ │ ├── KeyboardShortcutManagerMixin.pyi │ │ │ │ ├── KeyboardShortcutModel.pyi │ │ │ │ ├── ManagedAction.pyi │ │ │ │ └── __init__.pyi │ │ │ ├── Layouts.pyi │ │ │ ├── MainMenu.pyi │ │ │ ├── MainWindow.pyi │ │ │ ├── OGL.pyi │ │ │ ├── Preferences.pyi │ │ │ ├── RecentFiles.pyi │ │ │ ├── Splash.pyi │ │ │ ├── Tabs.pyi │ │ │ ├── TimelineWidget.pyi │ │ │ └── __init__.pyi │ │ ├── FormMaster/ │ │ │ ├── ArgsExportDialog.pyi │ │ │ ├── ArrayParameterPolicy.pyi │ │ │ ├── AttributeHints.pyi │ │ │ ├── AttributePolicy.pyi │ │ │ ├── BaseParameterPolicy.pyi │ │ │ ├── CurveParameterPolicy.pyi │ │ │ ├── DocDump.pyi │ │ │ ├── EditorCache.pyi │ │ │ ├── Editors/ │ │ │ │ ├── AdjustMaxToDisplayWindowNumberFormWidget.pyi │ │ │ │ ├── AssetApiPluginPopup.pyi │ │ │ │ ├── AssetId.pyi │ │ │ │ ├── AttributeEditor.pyi │ │ │ │ ├── AttributeName.pyi │ │ │ │ ├── AttributeSetEditor.pyi │ │ │ │ ├── AttributeType.pyi │ │ │ │ ├── BaseRamp.pyi │ │ │ │ ├── CallbackButtonFormWidget.pyi │ │ │ │ ├── CameraPickerFormWidget.pyi │ │ │ │ ├── CelEditor.pyi │ │ │ │ ├── ChannelEditors.pyi │ │ │ │ ├── ColorArrayFormWidget.pyi │ │ │ │ ├── ColorEditors.pyi │ │ │ │ ├── ColorRamp.pyi │ │ │ │ ├── ConditionalHints.pyi │ │ │ │ ├── ConditionalStateSortableGroup.pyi │ │ │ │ ├── CropWindow.pyi │ │ │ │ ├── Curves.pyi │ │ │ │ ├── DeferredGroupTree.pyi │ │ │ │ ├── DotNode.pyi │ │ │ │ ├── DynamicArrayFormWidget.pyi │ │ │ │ ├── DynamicTemplateGroup.pyi │ │ │ │ ├── EmbeddedFCurve.pyi │ │ │ │ ├── FaceSelect.pyi │ │ │ │ ├── FileFormatPopupEditor.pyi │ │ │ │ ├── FileInEditors.pyi │ │ │ │ ├── FileOutEditors.pyi │ │ │ │ ├── FilterablePopupFWidget.pyi │ │ │ │ ├── FindingGroup.pyi │ │ │ │ ├── FloatRamp.pyi │ │ │ │ ├── Fork.pyi │ │ │ │ ├── GradientEditors.pyi │ │ │ │ ├── GraphStateVariablesFormWidget.pyi │ │ │ │ ├── GroupStack.pyi │ │ │ │ ├── HideTitleGroup.pyi │ │ │ │ ├── HierarchyCreate.pyi │ │ │ │ ├── HintedFilterablePopupFormWidget.pyi │ │ │ │ ├── HomogeneousTransform.pyi │ │ │ │ ├── HtmlEditorWidget.pyi │ │ │ │ ├── InterwovenArrayGroup.pyi │ │ │ │ ├── Isolate.pyi │ │ │ │ ├── KatanaColor.pyi │ │ │ │ ├── KeyboardShortcutFormWidget.pyi │ │ │ │ ├── LODInput.pyi │ │ │ │ ├── Layers/ │ │ │ │ │ ├── LayerWithTransform.pyi │ │ │ │ │ ├── PolicyHelpers.pyi │ │ │ │ │ ├── Reposition.pyi │ │ │ │ │ ├── Transform2D.pyi │ │ │ │ │ └── __init__.pyi │ │ │ │ ├── LocationEditor.pyi │ │ │ │ ├── LookFileBake.pyi │ │ │ │ ├── LookFileMaterialPopup.pyi │ │ │ │ ├── LookFilePassname.pyi │ │ │ │ ├── ManipulatorGroup.pyi │ │ │ │ ├── MaterialStack.pyi │ │ │ │ ├── MultiInputPortNodeEditor.pyi │ │ │ │ ├── NetworkMaterialParameterEdit.pyi │ │ │ │ ├── Node2DGroup.pyi │ │ │ │ ├── NodeDropWidget.pyi │ │ │ │ ├── NodeGroup.pyi │ │ │ │ ├── NodeName.pyi │ │ │ │ ├── NodeProxyPlaceholder.pyi │ │ │ │ ├── NonexclusiveCheckboxPopupFormWidget.pyi │ │ │ │ ├── Number.pyi │ │ │ │ ├── OpScriptNode.pyi │ │ │ │ ├── OpWriteNode.pyi │ │ │ │ ├── PageGroupWidget.pyi │ │ │ │ ├── PeerHeaderGroup.pyi │ │ │ │ ├── PluginPopup.pyi │ │ │ │ ├── Point.pyi │ │ │ │ ├── PolicyFindPopup.pyi │ │ │ │ ├── PortNameAndOrderWidget.pyi │ │ │ │ ├── PortNamePopup.pyi │ │ │ │ ├── PresetsGroup.pyi │ │ │ │ ├── Rectangle.pyi │ │ │ │ ├── Render.pyi │ │ │ │ ├── Resolution.pyi │ │ │ │ ├── ScenegraphColumnDescription.pyi │ │ │ │ ├── ScenegraphLocation.pyi │ │ │ │ ├── ScenegraphLocationArray.pyi │ │ │ │ ├── ScriptButton.pyi │ │ │ │ ├── ScriptEditor.pyi │ │ │ │ ├── SeparatorFormWidget.pyi │ │ │ │ ├── ShaderPopup.pyi │ │ │ │ ├── ShadingNetworkMaterialAppendNodeName.pyi │ │ │ │ ├── ShadingNetworkMaterialInterfaceOrder.pyi │ │ │ │ ├── ShadingNetworkPopupButton.pyi │ │ │ │ ├── ShadingNodeConnectedParameter.pyi │ │ │ │ ├── ShadingNodeSubnet.pyi │ │ │ │ ├── SortableArray.pyi │ │ │ │ ├── SortableAttributeDropEditor.pyi │ │ │ │ ├── SortableDelimitedString.pyi │ │ │ │ ├── SortableGroups.pyi │ │ │ │ ├── SortableParams.pyi │ │ │ │ ├── Teleparam.pyi │ │ │ │ ├── TeleportNode.pyi │ │ │ │ ├── TexturesGroup.pyi │ │ │ │ ├── Transform3DNodeEditor.pyi │ │ │ │ ├── UserParameters.pyi │ │ │ │ ├── UserParametersDialogs.pyi │ │ │ │ ├── ViewSelectCapsule.pyi │ │ │ │ └── __init__.pyi │ │ │ ├── EnableableParameterPolicy.pyi │ │ │ ├── FnAttributePolicy.pyi │ │ │ ├── GenericAssignParameterPolicy.pyi │ │ │ ├── GenericAssignParameterPolicy_geolib3.pyi │ │ │ ├── GraphStateVariablePolicy.pyi │ │ │ ├── GroupParameterPolicy.pyi │ │ │ ├── HintsDelegate.pyi │ │ │ ├── KatanaFactory.pyi │ │ │ ├── KatanaVisibilityOps.pyi │ │ │ ├── LiveAttributePolicy.pyi │ │ │ ├── MaterialNodePolicy.pyi │ │ │ ├── NodeActionDelegate/ │ │ │ │ ├── BaseNodeActionDelegate.pyi │ │ │ │ ├── DisplayOutputsActionDelegate.pyi │ │ │ │ ├── GroupActionDelegate.pyi │ │ │ │ ├── LiveGroupActionDelegate.pyi │ │ │ │ ├── NodeActionDelegate.pyi │ │ │ │ └── __init__.pyi │ │ │ ├── NodeBypassPolicy.pyi │ │ │ ├── NodeHints/ │ │ │ │ ├── Common2D.pyi │ │ │ │ ├── General.pyi │ │ │ │ ├── ImageAddMix.pyi │ │ │ │ ├── ImageBackgroundColor.pyi │ │ │ │ ├── ImageBlur.pyi │ │ │ │ ├── ImageBlur_Original.pyi │ │ │ │ ├── ImageBrightness.pyi │ │ │ │ ├── ImageChannels.pyi │ │ │ │ ├── ImageCheckerboard.pyi │ │ │ │ ├── ImageClamp.pyi │ │ │ │ ├── ImageColor.pyi │ │ │ │ ├── ImageContrast.pyi │ │ │ │ ├── ImageConvolve.pyi │ │ │ │ ├── ImageCrop.pyi │ │ │ │ ├── ImageDefocus.pyi │ │ │ │ ├── ImageDistort.pyi │ │ │ │ ├── ImageExposure.pyi │ │ │ │ ├── ImageFade.pyi │ │ │ │ ├── ImageGamma.pyi │ │ │ │ ├── ImageInvert.pyi │ │ │ │ ├── ImageLevels.pyi │ │ │ │ ├── ImageMatteMix.pyi │ │ │ │ ├── ImageMerge.pyi │ │ │ │ ├── ImageMix.pyi │ │ │ │ ├── ImageOrient.pyi │ │ │ │ ├── ImagePlane.pyi │ │ │ │ ├── ImagePosition.pyi │ │ │ │ ├── ImagePremultiply.pyi │ │ │ │ ├── ImageRamp.pyi │ │ │ │ ├── ImageRead.pyi │ │ │ │ ├── ImageReformat.pyi │ │ │ │ ├── ImageSaturation.pyi │ │ │ │ ├── ImageText.pyi │ │ │ │ ├── ImageThreshold.pyi │ │ │ │ ├── ImageUnpremultiply.pyi │ │ │ │ ├── ImageWrite.pyi │ │ │ │ ├── ImageZMerge.pyi │ │ │ │ ├── Nodes3D.pyi │ │ │ │ ├── OCIOCDLTransform.pyi │ │ │ │ ├── OCIOColorSpace.pyi │ │ │ │ ├── OCIODisplay.pyi │ │ │ │ ├── OCIOFileTransform.pyi │ │ │ │ ├── OCIOLogConvert.pyi │ │ │ │ ├── OCIOLookTransform.pyi │ │ │ │ ├── Render.pyi │ │ │ │ ├── Transform2D.pyi │ │ │ │ └── __init__.pyi │ │ │ ├── NodeMimeData.pyi │ │ │ ├── OpaqueParameterPolicy.pyi │ │ │ ├── Pages.pyi │ │ │ ├── ParameterCurveEditSet.pyi │ │ │ ├── ParameterKeyMimeData.pyi │ │ │ ├── ParameterPolicy.pyi │ │ │ ├── PythonValuePolicy.pyi │ │ │ ├── RenderNodeReferencePolicy.pyi │ │ │ ├── ScalarParameterPolicy.pyi │ │ │ ├── Scripts/ │ │ │ │ ├── ConstraintCache.pyi │ │ │ │ └── __init__.pyi │ │ │ ├── ShadingNodePolicy.pyi │ │ │ ├── States.pyi │ │ │ ├── WrenchDelegate.pyi │ │ │ └── __init__.pyi │ │ ├── KatanaPrefs/ │ │ │ ├── KatanaPrefsObject.pyi │ │ │ ├── PrefNames.pyi │ │ │ └── __init__.pyi │ │ ├── MainUI.pyi │ │ ├── Manifest.pyi │ │ ├── ManifestUtil.pyi │ │ ├── NodeMaster/ │ │ │ ├── NodeInteractionDelegateManager.pyi │ │ │ ├── NodeInteractionDelegates/ │ │ │ │ ├── AttributeEditorDelegate.pyi │ │ │ │ ├── FaceSetCreateDelegate.pyi │ │ │ │ ├── FileIn.pyi │ │ │ │ ├── GroupStackDelegate.pyi │ │ │ │ ├── IsolateDelegate.pyi │ │ │ │ ├── MaterialAssignDelegate.pyi │ │ │ │ ├── MaterialDelegate.pyi │ │ │ │ ├── MaterialStackDelegate.pyi │ │ │ │ ├── PruneDelegate.pyi │ │ │ │ ├── RendererProceduralAssignDelegate.pyi │ │ │ │ ├── Transform3D.pyi │ │ │ │ └── __init__.pyi │ │ │ └── __init__.pyi │ │ ├── Tabs/ │ │ │ ├── AttributesTab/ │ │ │ │ ├── AttributesTab.pyi │ │ │ │ └── __init__.pyi │ │ │ ├── BaseTab.pyi │ │ │ ├── BaseViewerTab.pyi │ │ │ ├── CELScratchPad/ │ │ │ │ ├── CELScratchPad.pyi │ │ │ │ └── __init__.pyi │ │ │ ├── Catalog/ │ │ │ │ ├── CatalogPanel.pyi │ │ │ │ ├── CatalogSaveDialog.pyi │ │ │ │ ├── CatalogWidget.pyi │ │ │ │ ├── CatalogWidgetItem.pyi │ │ │ │ ├── ImageImportDialog.pyi │ │ │ │ └── __init__.pyi │ │ │ ├── ColorPaletteTab.pyi │ │ │ ├── CurveEditorTab.pyi │ │ │ ├── DopeSheet/ │ │ │ │ ├── DopeSheet.pyi │ │ │ │ ├── DopeSheetTree.pyi │ │ │ │ ├── KeyDrawingLayer.pyi │ │ │ │ ├── KeyInteractionLayer.pyi │ │ │ │ ├── KeyLayerStack.pyi │ │ │ │ ├── PanAndScrollLayer.pyi │ │ │ │ └── __init__.pyi │ │ │ ├── EnhancedTerminalTab/ │ │ │ │ ├── TerminalTab.pyi │ │ │ │ └── __init__.pyi │ │ │ ├── ExampleProjectsTab/ │ │ │ │ ├── ExampleProjectsTab.pyi │ │ │ │ └── __init__.pyi │ │ │ ├── FileInTab.pyi │ │ │ ├── Help.pyi │ │ │ ├── Histogram.pyi │ │ │ ├── History.pyi │ │ │ ├── KeyboardShortcutsTab.pyi │ │ │ ├── LayeredMenuAPI.pyi │ │ │ ├── Messages.pyi │ │ │ ├── Monitor/ │ │ │ │ ├── CatalogGLHelpers.pyi │ │ │ │ ├── CommentWidgets.pyi │ │ │ │ ├── DisplayDetailsWidgets.pyi │ │ │ │ ├── Layers/ │ │ │ │ │ ├── CropWindowLayer.pyi │ │ │ │ │ ├── HotkeyLayer.pyi │ │ │ │ │ ├── ImageLayer.pyi │ │ │ │ │ ├── ImageLayer3D.pyi │ │ │ │ │ ├── ImageLayerBase.pyi │ │ │ │ │ ├── LinearSwipeLayer.pyi │ │ │ │ │ ├── MaskLayer.pyi │ │ │ │ │ ├── PixelProbeLayer.pyi │ │ │ │ │ ├── RectangleSwipeLayer.pyi │ │ │ │ │ ├── RenderFocusLayer.pyi │ │ │ │ │ ├── RoiLayer.pyi │ │ │ │ │ ├── SolidBoundsLayer.pyi │ │ │ │ │ └── __init__.pyi │ │ │ │ ├── Manipulators.pyi │ │ │ │ ├── MenuUtils.pyi │ │ │ │ ├── MonitorPanel.pyi │ │ │ │ ├── MonitorWidget.pyi │ │ │ │ └── __init__.pyi │ │ │ ├── NodeGraphTab/ │ │ │ │ ├── Flipbook.pyi │ │ │ │ ├── Layers/ │ │ │ │ │ ├── BandSelectionLayer.pyi │ │ │ │ │ ├── BookmarkJumpMenuLayer.pyi │ │ │ │ │ ├── CustomMenuLayer.pyi │ │ │ │ │ ├── DragAndDropLayer.pyi │ │ │ │ │ ├── FloatingNodeLayer.pyi │ │ │ │ │ ├── GroupInteractionLayer.pyi │ │ │ │ │ ├── LinkConnectionLayer.pyi │ │ │ │ │ ├── LinkInteractionLayer.pyi │ │ │ │ │ ├── MenuLayer.pyi │ │ │ │ │ ├── MergeNodeInteractionLayer.pyi │ │ │ │ │ ├── NetworkMaterialNodeInteractionLayer.pyi │ │ │ │ │ ├── NodeCreationMenuLayer.pyi │ │ │ │ │ ├── NodeDrawingLayer.pyi │ │ │ │ │ ├── NodeGraphViewDrawingLayer.pyi │ │ │ │ │ ├── NodeGraphViewInteractionLayer.pyi │ │ │ │ │ ├── NodeGraphViewStateLayer.pyi │ │ │ │ │ ├── NodeInteractionLayer.pyi │ │ │ │ │ ├── NodeOverlayLayer.pyi │ │ │ │ │ ├── OffscreenFlagDisplayLayer.pyi │ │ │ │ │ ├── PortInteractionLayer.pyi │ │ │ │ │ ├── StickyNoteInteractionLayer.pyi │ │ │ │ │ ├── StructuredPortsNodeInteractionLayer.pyi │ │ │ │ │ ├── StructuredPortsNodeLinkConnectionLayer.pyi │ │ │ │ │ ├── TransientLayer.pyi │ │ │ │ │ └── __init__.pyi │ │ │ │ ├── NodeBreadcrumbsFrame.pyi │ │ │ │ ├── NodeFindPopupButton.pyi │ │ │ │ ├── NodeGoRootButton.pyi │ │ │ │ ├── NodeGoUpButton.pyi │ │ │ │ ├── NodeStateFilterFrame.pyi │ │ │ │ ├── NodegraphPanel.pyi │ │ │ │ ├── NodegraphWidget.pyi │ │ │ │ └── __init__.pyi │ │ │ ├── NodeTypes.pyi │ │ │ ├── ParameterFindAndReplace.pyi │ │ │ ├── ParametersTab/ │ │ │ │ ├── ParameterPanel.pyi │ │ │ │ ├── ProjectSettings.pyi │ │ │ │ └── __init__.pyi │ │ │ ├── RenderLog.pyi │ │ │ ├── SceneGraphTab/ │ │ │ │ ├── LightListPopup.pyi │ │ │ │ ├── SceneGraphBookmarkButton.pyi │ │ │ │ ├── SceneGraphTab.pyi │ │ │ │ ├── SceneGraphTabColumn.pyi │ │ │ │ ├── SceneGraphTabItems.pyi │ │ │ │ ├── SceneGraphTabNameItemDelegate.pyi │ │ │ │ └── __init__.pyi │ │ │ ├── UVPanel/ │ │ │ │ ├── ExtendedInfoLabel.pyi │ │ │ │ ├── FaceSelectionHelper.pyi │ │ │ │ ├── Layers/ │ │ │ │ │ ├── HotkeyLayer.pyi │ │ │ │ │ ├── SelectionLayer.pyi │ │ │ │ │ └── __init__.pyi │ │ │ │ ├── UVPanel.pyi │ │ │ │ ├── UVWidget.pyi │ │ │ │ └── __init__.pyi │ │ │ └── __init__.pyi │ │ ├── Util/ │ │ │ ├── AbstractSyntaxHighlighter.pyi │ │ │ ├── AnamorphDisplayOptions.pyi │ │ │ ├── AssetId.pyi │ │ │ ├── AssetWidgetDelegatePlugins.pyi │ │ │ ├── AttributeHistory.pyi │ │ │ ├── BuiltinNotifications.pyi │ │ │ ├── CMakeSyntaxHighlighter.pyi │ │ │ ├── Caches.pyi │ │ │ ├── CatalogEventHandlers.pyi │ │ │ ├── CatalogEventReceiver.pyi │ │ │ ├── ClientManager.pyi │ │ │ ├── Color.pyi │ │ │ ├── CppSyntaxHighlighter.pyi │ │ │ ├── CropWindow.pyi │ │ │ ├── Cursors.pyi │ │ │ ├── DrawState.pyi │ │ │ ├── Events.pyi │ │ │ ├── ExternalTools.pyi │ │ │ ├── FCurveUtil.pyi │ │ │ ├── FaceSelect.pyi │ │ │ ├── FileHelpers.pyi │ │ │ ├── GLContextManager.pyi │ │ │ ├── GLDrawingRoutines.pyi │ │ │ ├── HotRender.pyi │ │ │ ├── IconManager.pyi │ │ │ ├── KatanaMediaCache.pyi │ │ │ ├── LayeredMenuUtils.pyi │ │ │ ├── LogRecord.pyi │ │ │ ├── LogRecordHandler.pyi │ │ │ ├── LogRecordItemModel.pyi │ │ │ ├── LuaSyntaxHighlighter.pyi │ │ │ ├── ManipulatorManager.pyi │ │ │ ├── NodeDialogs.pyi │ │ │ ├── NodeErrors.pyi │ │ │ ├── NodeGraphTab.pyi │ │ │ ├── NotificationManager.pyi │ │ │ ├── Number.pyi │ │ │ ├── PluginManager.pyi │ │ │ ├── PythonSyntaxHighlighter.pyi │ │ │ ├── PythonWidgetIntrospector.pyi │ │ │ ├── Record.pyi │ │ │ ├── RecordItemModel.pyi │ │ │ ├── RenderMenu.pyi │ │ │ ├── ScenegraphIconManager.pyi │ │ │ ├── ScenegraphLocation.pyi │ │ │ ├── ScriptButton.pyi │ │ │ ├── Shader.pyi │ │ │ ├── TextureManager.pyi │ │ │ ├── TransformManipulatorLayer.pyi │ │ │ ├── UndoGrouping.pyi │ │ │ ├── Views.pyi │ │ │ ├── WorkingSets.pyi │ │ │ ├── WorldCursorCircleLayer.pyi │ │ │ └── __init__.pyi │ │ ├── Widgets/ │ │ │ ├── AssetIDLabel.pyi │ │ │ ├── AttributeDropLabel.pyi │ │ │ ├── AttributeEditorIndicatorLabel.pyi │ │ │ ├── AttributeHistoryWidgets.pyi │ │ │ ├── AutoKeyToggle.pyi │ │ │ ├── BaseLayoutResizer.pyi │ │ │ ├── BaseNodeGraphLayerStack.pyi │ │ │ ├── BaseWidgets.pyi │ │ │ ├── CameraPickerButton.pyi │ │ │ ├── CatalogChannelsWidget.pyi │ │ │ ├── CatalogFrameRangeWidget.pyi │ │ │ ├── CatalogHistogramWidget.pyi │ │ │ ├── CatalogItemWidget.pyi │ │ │ ├── CatalogLockWidget.pyi │ │ │ ├── CatalogNameWidget.pyi │ │ │ ├── CatalogProgressWidget.pyi │ │ │ ├── CatalogRenderLogWidget.pyi │ │ │ ├── CatalogRenderStatsWidget.pyi │ │ │ ├── CatalogResolutionWidget.pyi │ │ │ ├── CatalogStopWidget.pyi │ │ │ ├── CatalogThumbnailWidget.pyi │ │ │ ├── CelResultsWidget.pyi │ │ │ ├── CheckableTreeDialog.pyi │ │ │ ├── Checkbox.pyi │ │ │ ├── CollectAndSelect.pyi │ │ │ ├── ColorProbeButton.pyi │ │ │ ├── ComboBoxNoWheel.pyi │ │ │ ├── CrashFileSelectorDialog.pyi │ │ │ ├── CustomMenu.pyi │ │ │ ├── DoubleClickSizeGrip.pyi │ │ │ ├── DoubleSpinBox.pyi │ │ │ ├── DropdownArrowButton.pyi │ │ │ ├── EditWrenchButton.pyi │ │ │ ├── FarmDefaultDialog.pyi │ │ │ ├── FastLabel.pyi │ │ │ ├── FilterPopups.pyi │ │ │ ├── FlipbookDialog.pyi │ │ │ ├── GeolibProcessingStateWidget.pyi │ │ │ ├── GetSetMenu.pyi │ │ │ ├── GradientLayer.pyi │ │ │ ├── GraphStateVariablesPopupButton.pyi │ │ │ ├── HBoxLayoutResizer.pyi │ │ │ ├── HighlightWidget.pyi │ │ │ ├── HistogramLayer.pyi │ │ │ ├── HorizontalDivider.pyi │ │ │ ├── HtmlEditorWidget.pyi │ │ │ ├── IconLabelFrame.pyi │ │ │ ├── ImageOptionsWidgets.pyi │ │ │ ├── ImplicitFilterToggle.pyi │ │ │ ├── IndicatorLabelFrame.pyi │ │ │ ├── KeyboardShortcutLineEdit.pyi │ │ │ ├── LightingToolsLayer/ │ │ │ │ ├── LightingToolsGafferComboBox.pyi │ │ │ │ ├── LightingToolsToolBar.pyi │ │ │ │ ├── LightingToolsUI.pyi │ │ │ │ ├── LightingToolsUtils.pyi │ │ │ │ └── __init__.pyi │ │ │ ├── LineNumberAreaWidget.pyi │ │ │ ├── LiveRenderViewerCameraButton.pyi │ │ │ ├── LogRecordTreeView.pyi │ │ │ ├── LookFileMaterialComboBox.pyi │ │ │ ├── MessageBox.pyi │ │ │ ├── MessagesToolbarButton.pyi │ │ │ ├── MetaCheckBox.pyi │ │ │ ├── ModalProcessInterruptWidget.pyi │ │ │ ├── MonitorLayer/ │ │ │ │ ├── MonitorLayer.pyi │ │ │ │ ├── Utils.pyi │ │ │ │ ├── Widgets.pyi │ │ │ │ └── __init__.pyi │ │ │ ├── MonitorManipulatorButton.pyi │ │ │ ├── NavigationToolbar.pyi │ │ │ ├── NodeButton.pyi │ │ │ ├── NodeChooserButton.pyi │ │ │ ├── NodeColorsMenu.pyi │ │ │ ├── NodeMenu.pyi │ │ │ ├── NodePopupMenu.pyi │ │ │ ├── NodeTypePopup.pyi │ │ │ ├── NonexclusiveCheckboxPopup.pyi │ │ │ ├── NotificationToolbarButton.pyi │ │ │ ├── PaneButtons.pyi │ │ │ ├── PanelScrollArea.pyi │ │ │ ├── PanelWidget.pyi │ │ │ ├── PolicyHelpButton.pyi │ │ │ ├── PopdownLabel.pyi │ │ │ ├── PopupButton.pyi │ │ │ ├── PortNameLineEdit.pyi │ │ │ ├── ProductSaveWidgets.pyi │ │ │ ├── ProgressDialog.pyi │ │ │ ├── ProxyResCombo.pyi │ │ │ ├── PublicInterfaceParameters.pyi │ │ │ ├── RenderModePopup.pyi │ │ │ ├── RenderSelectedToggle.pyi │ │ │ ├── RenderViewWidgets.pyi │ │ │ ├── ResizeToggleArrow.pyi │ │ │ ├── ResolutionComboBox.pyi │ │ │ ├── RoiCombo.pyi │ │ │ ├── RolloverPixmap.pyi │ │ │ ├── SceneGraphView/ │ │ │ │ ├── AttributeValuePopupWidgetManager.pyi │ │ │ │ ├── Bridge.pyi │ │ │ │ ├── BridgeImpl.pyi │ │ │ │ ├── ColumnDataType.pyi │ │ │ │ ├── ColumnManager.pyi │ │ │ │ ├── ColumnPresetManager.pyi │ │ │ │ ├── ContextMenuEvent.pyi │ │ │ │ ├── DataRoles.pyi │ │ │ │ ├── DebugViewLink.pyi │ │ │ │ ├── Filtering/ │ │ │ │ │ ├── Criteria.pyi │ │ │ │ │ ├── Evaluator.pyi │ │ │ │ │ ├── Rule.pyi │ │ │ │ │ ├── RuleConfigDialog.pyi │ │ │ │ │ ├── RuleManager.pyi │ │ │ │ │ ├── Target.pyi │ │ │ │ │ └── __init__.pyi │ │ │ │ ├── HorizontalHeaderView.pyi │ │ │ │ ├── ItemDelegates/ │ │ │ │ │ ├── BaseItemDelegate.pyi │ │ │ │ │ ├── ColorItemDelegate.pyi │ │ │ │ │ ├── LightLinkItemDelegate.pyi │ │ │ │ │ ├── MuteAndSoloItemDelegates.pyi │ │ │ │ │ ├── NameItemDelegate.pyi │ │ │ │ │ ├── NumberItemDelegate.pyi │ │ │ │ │ ├── ParameterItemDelegate.pyi │ │ │ │ │ ├── ShaderItemDelegate.pyi │ │ │ │ │ ├── StateItemDelegate.pyi │ │ │ │ │ ├── WorkingSetItemDelegate.pyi │ │ │ │ │ └── __init__.pyi │ │ │ │ ├── SceneGraphFindButton.pyi │ │ │ │ ├── SceneGraphHandle.pyi │ │ │ │ ├── SceneGraphLocationTranslation.pyi │ │ │ │ ├── SceneGraphTree.pyi │ │ │ │ ├── SceneGraphView.pyi │ │ │ │ ├── SceneGraphViewClientManager.pyi │ │ │ │ ├── SceneGraphViewColumn.pyi │ │ │ │ ├── SceneGraphViewIconManager.pyi │ │ │ │ ├── TreeWidgetItems.pyi │ │ │ │ ├── TreeWidgetViewLink.pyi │ │ │ │ ├── ViewLink.pyi │ │ │ │ └── __init__.pyi │ │ │ ├── ScrollAreaMemory.pyi │ │ │ ├── ServiceProviderListWidget.pyi │ │ │ ├── SetVersionFilterablePopup.pyi │ │ │ ├── ShaderComboBox.pyi │ │ │ ├── ShelfButton.pyi │ │ │ ├── SortableGroups.pyi │ │ │ ├── SortableListWidget.pyi │ │ │ ├── SortablePanel.pyi │ │ │ ├── SortableParams.pyi │ │ │ ├── StatefulMenu.pyi │ │ │ ├── StopButton.pyi │ │ │ ├── SwitchingBoxLayout.pyi │ │ │ ├── TabDockWidget.pyi │ │ │ ├── ToolbarButton.pyi │ │ │ ├── ToolbarWidget.pyi │ │ │ ├── TreeWidget.pyi │ │ │ ├── TriangleButton.pyi │ │ │ ├── UpdateModeWidgets.pyi │ │ │ ├── VBoxLayoutResizer.pyi │ │ │ ├── VPStateButton.pyi │ │ │ ├── VariablesPopup.pyi │ │ │ ├── VerticalDivider.pyi │ │ │ ├── ViewIndicatorLabel.pyi │ │ │ ├── ViewerWorkingSetButton.pyi │ │ │ ├── ViewportPane.pyi │ │ │ ├── ViewportWidget.pyi │ │ │ ├── WheelEventIgnoringTabBar.pyi │ │ │ ├── WidgetHilightBox.pyi │ │ │ ├── WorkingSetWidgets.pyi │ │ │ └── __init__.pyi │ │ ├── __init__.pyi │ │ └── py.typed │ ├── Utils/ │ │ ├── Decorators.pyi │ │ ├── EventModule.pyi │ │ ├── EventModuleCommon.pyi │ │ ├── EventModuleDefault.pyi │ │ ├── EventModuleUI.pyi │ │ ├── Exceptions.pyi │ │ ├── MimeData.pyi │ │ ├── OpenGLGPUTiming.pyi │ │ ├── OpenGLTraceMarker.pyi │ │ ├── Plugins.pyi │ │ ├── UndoStack.pyi │ │ ├── WeakMethod.pyi │ │ ├── __init__.pyi │ │ └── py.typed │ ├── ViewerAPI/ │ │ ├── ImplicitOpsManager.pyi │ │ ├── ManipulatorBridge.pyi │ │ ├── __init__.pyi │ │ └── py.typed │ ├── WorkQueue/ │ │ ├── Manifest.pyi │ │ ├── WorkQueue.pyi │ │ ├── __init__.pyi │ │ └── py.typed │ ├── _FnKatanaCoreUI/ │ │ ├── __init__.pyi │ │ └── py.typed │ ├── _PyOpenColorIO/ │ │ ├── __init__.pyi │ │ └── py.typed │ └── drawing_cmodule/ │ ├── __init__.pyi │ └── py.typed ├── mari/ │ ├── README.md │ ├── maripy │ ├── moon.yml │ ├── mypy.ini │ ├── pyproject.toml │ ├── stubgen_mari.py │ ├── stubgen_mari.sh │ ├── stubs/ │ │ └── mari-stubs/ │ │ ├── __init__.pyi │ │ ├── current/ │ │ │ └── __init__.pyi │ │ ├── examples/ │ │ │ ├── __init__.pyi │ │ │ ├── action_manager.pyi │ │ │ ├── asset_management.pyi │ │ │ ├── c_api_channel_export.pyi │ │ │ ├── cameras.pyi │ │ │ ├── channels.pyi │ │ │ ├── colorspace.pyi │ │ │ ├── command_port.pyi │ │ │ ├── convert_channel.pyi │ │ │ ├── create_blacksmith_project.pyi │ │ │ ├── create_project.pyi │ │ │ ├── custom_layer.pyi │ │ │ ├── custom_shader.pyi │ │ │ ├── drag_and_drop_callbacks.pyi │ │ │ ├── export_dialog.pyi │ │ │ ├── export_shelf.pyi │ │ │ ├── filters.pyi │ │ │ ├── image_filters.pyi │ │ │ ├── layered_channels_for_layered_shaders.pyi │ │ │ ├── layered_channels_from_layered_shaders.pyi │ │ │ ├── layers.pyi │ │ │ ├── layers_NPMA_tiled_RGB.pyi │ │ │ ├── layers_disable_all_amount_values.pyi │ │ │ ├── lights.pyi │ │ │ ├── linked_patches.pyi │ │ │ ├── mGo.pyi │ │ │ ├── mGo_Materialiser.pyi │ │ │ ├── mGo_Shortcut_Actions.pyi │ │ │ ├── maya_export.pyi │ │ │ ├── nodes.pyi │ │ │ ├── paint_buffer.pyi │ │ │ ├── post_processing_filters.pyi │ │ │ ├── projectors.pyi │ │ │ ├── register_which_transforms.pyi │ │ │ ├── resource_info.pyi │ │ │ ├── selection_groups.pyi │ │ │ ├── shaders.pyi │ │ │ ├── shaderstacks.pyi │ │ │ ├── vector_brush.pyi │ │ │ └── vector_channel.pyi │ │ ├── py.typed │ │ ├── session/ │ │ │ ├── __init__.pyi │ │ │ ├── exceptions.pyi │ │ │ ├── menu.pyi │ │ │ ├── preferences.pyi │ │ │ ├── types/ │ │ │ │ ├── __init__.pyi │ │ │ │ ├── adjustable_layer.pyi │ │ │ │ ├── adjustment_layer.pyi │ │ │ │ ├── camera.pyi │ │ │ │ ├── channel.pyi │ │ │ │ ├── channel_layer.pyi │ │ │ │ ├── container/ │ │ │ │ │ ├── __init__.pyi │ │ │ │ │ ├── path.pyi │ │ │ │ │ ├── storage.pyi │ │ │ │ │ └── utils.pyi │ │ │ │ ├── entity_node_graph.pyi │ │ │ │ ├── environment_light.pyi │ │ │ │ ├── geo_entity.pyi │ │ │ │ ├── geo_entity_version.pyi │ │ │ │ ├── geo_patch.pyi │ │ │ │ ├── graph_layer.pyi │ │ │ │ ├── group_layer.pyi │ │ │ │ ├── image.pyi │ │ │ │ ├── image_set.pyi │ │ │ │ ├── layer.pyi │ │ │ │ ├── layer_stack.pyi │ │ │ │ ├── light.pyi │ │ │ │ ├── mari_entity.pyi │ │ │ │ ├── metadata.pyi │ │ │ │ ├── multichannel_layer.pyi │ │ │ │ ├── node_graph.pyi │ │ │ │ ├── paintable_layer.pyi │ │ │ │ ├── point_light.pyi │ │ │ │ ├── procedural_layer.pyi │ │ │ │ ├── project.pyi │ │ │ │ ├── projector.pyi │ │ │ │ ├── shader.pyi │ │ │ │ ├── shader_layer.pyi │ │ │ │ └── sibling_shared_layer.pyi │ │ │ ├── ui/ │ │ │ │ ├── __init__.pyi │ │ │ │ ├── change_path_dialog.pyi │ │ │ │ ├── channel_dialog.pyi │ │ │ │ ├── export_dialog.pyi │ │ │ │ ├── import_dialog.pyi │ │ │ │ ├── message_dialog.pyi │ │ │ │ ├── node_graph_dialog.pyi │ │ │ │ ├── patch_export_options_dialog.pyi │ │ │ │ ├── patch_grid_widget.pyi │ │ │ │ ├── patch_item.pyi │ │ │ │ ├── patch_selector_dialog.pyi │ │ │ │ ├── shader_dialog.pyi │ │ │ │ ├── tree_widget/ │ │ │ │ │ └── __init__.pyi │ │ │ │ └── utils.pyi │ │ │ └── utils/ │ │ │ ├── __init__.pyi │ │ │ ├── export_session.pyi │ │ │ ├── import_session.pyi │ │ │ ├── misc.pyi │ │ │ └── temp_dir.pyi │ │ ├── system/ │ │ │ ├── __init__.pyi │ │ │ ├── _finalise.pyi │ │ │ ├── _modo_contexts.pyi │ │ │ ├── _modo_session.pyi │ │ │ ├── _modo_ui.pyi │ │ │ ├── _modo_utils.pyi │ │ │ ├── _modosock.pyi │ │ │ ├── _ocio_toolbar.pyi │ │ │ ├── _particle_channel_transfer.pyi │ │ │ ├── _particle_layer_transfer.pyi │ │ │ ├── _particle_ops.pyi │ │ │ ├── _particle_transfer.pyi │ │ │ ├── _setup.pyi │ │ │ ├── _test.pyi │ │ │ ├── bake_new_layer.pyi │ │ │ ├── base_item_model.pyi │ │ │ ├── batch_export_dialog.pyi │ │ │ ├── enable_server_connection.pyi │ │ │ ├── material_ingest.pyi │ │ │ ├── material_ingest_dialog.pyi │ │ │ ├── megascans.pyi │ │ │ ├── megascans_parser.pyi │ │ │ ├── modo_bridge.pyi │ │ │ ├── nuke_bridge.pyi │ │ │ ├── snapshots.pyi │ │ │ └── textureSets.pyi │ │ └── utils/ │ │ ├── __init__.pyi │ │ ├── misc.pyi │ │ ├── node_generator.pyi │ │ ├── ocio.pyi │ │ ├── redirector.pyi │ │ ├── show_help.pyi │ │ ├── signal_helpers.pyi │ │ └── ui.pyi │ └── symbols.txt ├── maya/ │ ├── .interpreter │ ├── moon.yml │ ├── pyproject.toml │ ├── stubgen_maya.py │ └── stubs/ │ ├── maya-stubs/ │ │ ├── OpenMaya.pyi │ │ ├── OpenMayaAnim.pyi │ │ ├── OpenMayaMPx.pyi │ │ ├── OpenMayaRender.pyi │ │ ├── OpenMayaUI.pyi │ │ ├── __init__.pyi │ │ ├── api/ │ │ │ ├── MDGContextGuard.pyi │ │ │ ├── OpenMaya.pyi │ │ │ ├── OpenMayaAnim.pyi │ │ │ ├── OpenMayaRender.pyi │ │ │ ├── OpenMayaUI.pyi │ │ │ ├── _OpenMayaAnim_py2.pyi │ │ │ ├── _OpenMayaRender_py2.pyi │ │ │ ├── _OpenMayaUI_py2.pyi │ │ │ ├── _OpenMaya_py2.pyi │ │ │ └── __init__.pyi │ │ ├── cmds/ │ │ │ └── __init__.pyi │ │ ├── mel/ │ │ │ └── __init__.pyi │ │ ├── py.typed │ │ └── standalone.pyi │ └── ufe-stubs/ │ ├── __init__.pyi │ └── py.typed ├── moon.yml ├── nox-requirements.txt ├── noxfile.py ├── nuke/ │ ├── README.md │ ├── moon.yml │ ├── nukepy │ ├── pyproject.toml │ ├── stubgen_nuke.sh │ └── stubs/ │ └── nuke-stubs/ │ ├── __init__.pyi │ ├── _curveknob.pyi │ ├── _curvelib.pyi │ ├── _geo.pyi │ ├── _localization.pyi │ ├── _nuke.pyi │ ├── _nuke_color.pyi │ ├── _splinewarp.pyi │ ├── callbacks.pyi │ ├── colorspaces.pyi │ ├── curveknob.pyi │ ├── curvelib.pyi │ ├── executeInMain.pyi │ ├── geo.pyi │ ├── localization.pyi │ ├── overrides.pyi │ ├── rotopaint.pyi │ ├── scripts.pyi │ ├── splinewarp.pyi │ └── utils.pyi ├── ocio/ │ ├── README.md │ ├── moon.yml │ ├── pyproject.toml │ ├── stubgen_ocio.py │ ├── stubgen_ocio.sh │ └── stubs/ │ └── PyOpenColorIO-stubs/ │ ├── __init__.pyi │ ├── command_line.pyi │ └── py.typed ├── openexr/ │ ├── moon.yml │ ├── pyproject.toml │ ├── stubgen_openexr.py │ ├── stubgen_openexr.sh │ └── stubs/ │ └── OpenEXR/ │ ├── __init__.pyi │ └── py.typed ├── otio/ │ ├── README.md │ ├── pyproject.toml │ ├── stubgen_otio.sh │ └── stubs/ │ └── opentimelineio-stubs/ │ ├── __init__.pyi │ ├── _opentime.pyi │ ├── _otio.pyi │ ├── adapters/ │ │ ├── __init__.pyi │ │ ├── adapter.pyi │ │ ├── file_bundle_utils.pyi │ │ ├── otio_json.pyi │ │ ├── otiod.pyi │ │ └── otioz.pyi │ ├── algorithms/ │ │ ├── __init__.pyi │ │ ├── filter.pyi │ │ ├── stack_algo.pyi │ │ ├── timeline_algo.pyi │ │ └── track_algo.pyi │ ├── console/ │ │ ├── __init__.pyi │ │ ├── autogen_plugin_documentation.pyi │ │ ├── autogen_serialized_datamodel.pyi │ │ ├── autogen_version_map.pyi │ │ ├── console_utils.pyi │ │ ├── otiocat.pyi │ │ ├── otioconvert.pyi │ │ ├── otiopluginfo.pyi │ │ ├── otiostat.pyi │ │ └── otiotool.pyi │ ├── core/ │ │ ├── __init__.pyi │ │ ├── _core_utils.pyi │ │ ├── composable.pyi │ │ ├── composition.pyi │ │ ├── item.pyi │ │ └── mediaReference.pyi │ ├── exceptions.pyi │ ├── hooks.pyi │ ├── media_linker.pyi │ ├── opentime.pyi │ ├── plugins/ │ │ ├── __init__.pyi │ │ ├── manifest.pyi │ │ └── python_plugin.pyi │ ├── py.typed │ ├── schema/ │ │ ├── __init__.pyi │ │ ├── box2d.pyi │ │ ├── clip.pyi │ │ ├── effect.pyi │ │ ├── external_reference.pyi │ │ ├── generator_reference.pyi │ │ ├── image_sequence_reference.pyi │ │ ├── marker.pyi │ │ ├── schemadef.pyi │ │ ├── serializable_collection.pyi │ │ ├── timeline.pyi │ │ ├── transition.pyi │ │ └── v2d.pyi │ ├── schemadef/ │ │ └── __init__.pyi │ ├── url_utils.pyi │ └── versioning.pyi ├── pyproject.toml ├── pyside/ │ ├── .python-version │ ├── README.md │ ├── moon.yml │ ├── pyproject.toml │ ├── stubgen_pyside.py │ ├── stubs/ │ │ ├── PySide2-stubs/ │ │ │ ├── Qt3DAnimation.pyi │ │ │ ├── Qt3DCore.pyi │ │ │ ├── Qt3DExtras.pyi │ │ │ ├── Qt3DInput.pyi │ │ │ ├── Qt3DLogic.pyi │ │ │ ├── Qt3DRender.pyi │ │ │ ├── QtCharts.pyi │ │ │ ├── QtConcurrent.pyi │ │ │ ├── QtCore.pyi │ │ │ ├── QtDataVisualization.pyi │ │ │ ├── QtGui.pyi │ │ │ ├── QtHelp.pyi │ │ │ ├── QtLocation.pyi │ │ │ ├── QtMacExtras.pyi │ │ │ ├── QtMultimedia.pyi │ │ │ ├── QtMultimediaWidgets.pyi │ │ │ ├── QtNetwork.pyi │ │ │ ├── QtOpenGL.pyi │ │ │ ├── QtOpenGLFunctions.pyi │ │ │ ├── QtPositioning.pyi │ │ │ ├── QtPrintSupport.pyi │ │ │ ├── QtQml.pyi │ │ │ ├── QtQuick.pyi │ │ │ ├── QtQuickControls2.pyi │ │ │ ├── QtQuickWidgets.pyi │ │ │ ├── QtRemoteObjects.pyi │ │ │ ├── QtScript.pyi │ │ │ ├── QtScriptTools.pyi │ │ │ ├── QtScxml.pyi │ │ │ ├── QtSensors.pyi │ │ │ ├── QtSerialPort.pyi │ │ │ ├── QtSql.pyi │ │ │ ├── QtSvg.pyi │ │ │ ├── QtTest.pyi │ │ │ ├── QtTextToSpeech.pyi │ │ │ ├── QtUiTools.pyi │ │ │ ├── QtWebChannel.pyi │ │ │ ├── QtWebEngine.pyi │ │ │ ├── QtWebEngineCore.pyi │ │ │ ├── QtWebEngineWidgets.pyi │ │ │ ├── QtWebSockets.pyi │ │ │ ├── QtWidgets.pyi │ │ │ ├── QtXml.pyi │ │ │ ├── QtXmlPatterns.pyi │ │ │ ├── __init__.pyi │ │ │ ├── _config.pyi │ │ │ ├── _git_pyside_version.pyi │ │ │ ├── py.typed │ │ │ ├── scripts/ │ │ │ │ ├── __init__.pyi │ │ │ │ └── pyside_tool.pyi │ │ │ └── support/ │ │ │ ├── __init__.pyi │ │ │ ├── deprecated.pyi │ │ │ └── generate_pyi.pyi │ │ └── shiboken2-stubs/ │ │ ├── __init__.pyi │ │ ├── _config.pyi │ │ ├── _git_shiboken_module_version.pyi │ │ ├── py.typed │ │ └── shiboken2.pyi │ ├── tests/ │ │ ├── conftest.py │ │ ├── qlineedit.py │ │ ├── qmenu.py │ │ ├── test_general.py │ │ ├── test_qflag.py │ │ └── test_slot.py │ └── tox.ini ├── pyside6/ │ ├── .python-version │ ├── README.md │ ├── pyproject.toml │ ├── stubgen_pyside6.py │ ├── stubs/ │ │ ├── PySide6-stubs/ │ │ │ ├── Qt3DAnimation.pyi │ │ │ ├── Qt3DCore.pyi │ │ │ ├── Qt3DExtras.pyi │ │ │ ├── Qt3DInput.pyi │ │ │ ├── Qt3DLogic.pyi │ │ │ ├── Qt3DRender.pyi │ │ │ ├── QtAsyncio/ │ │ │ │ ├── __init__.pyi │ │ │ │ ├── events.pyi │ │ │ │ ├── futures.pyi │ │ │ │ └── tasks.pyi │ │ │ ├── QtBluetooth.pyi │ │ │ ├── QtCharts.pyi │ │ │ ├── QtConcurrent.pyi │ │ │ ├── QtCore.pyi │ │ │ ├── QtDBus.pyi │ │ │ ├── QtDataVisualization.pyi │ │ │ ├── QtDesigner.pyi │ │ │ ├── QtGraphs.pyi │ │ │ ├── QtGraphsWidgets.pyi │ │ │ ├── QtGui.pyi │ │ │ ├── QtHelp.pyi │ │ │ ├── QtHttpServer.pyi │ │ │ ├── QtLocation.pyi │ │ │ ├── QtMultimedia.pyi │ │ │ ├── QtMultimediaWidgets.pyi │ │ │ ├── QtNetwork.pyi │ │ │ ├── QtNetworkAuth.pyi │ │ │ ├── QtNfc.pyi │ │ │ ├── QtOpenGL.pyi │ │ │ ├── QtOpenGLWidgets.pyi │ │ │ ├── QtPdf.pyi │ │ │ ├── QtPdfWidgets.pyi │ │ │ ├── QtPositioning.pyi │ │ │ ├── QtPrintSupport.pyi │ │ │ ├── QtQml.pyi │ │ │ ├── QtQuick.pyi │ │ │ ├── QtQuick3D.pyi │ │ │ ├── QtQuickControls2.pyi │ │ │ ├── QtQuickTest.pyi │ │ │ ├── QtQuickWidgets.pyi │ │ │ ├── QtRemoteObjects.pyi │ │ │ ├── QtScxml.pyi │ │ │ ├── QtSensors.pyi │ │ │ ├── QtSerialBus.pyi │ │ │ ├── QtSerialPort.pyi │ │ │ ├── QtSpatialAudio.pyi │ │ │ ├── QtSql.pyi │ │ │ ├── QtStateMachine.pyi │ │ │ ├── QtSvg.pyi │ │ │ ├── QtSvgWidgets.pyi │ │ │ ├── QtTest.pyi │ │ │ ├── QtTextToSpeech.pyi │ │ │ ├── QtUiTools.pyi │ │ │ ├── QtWebChannel.pyi │ │ │ ├── QtWebEngineCore.pyi │ │ │ ├── QtWebEngineQuick.pyi │ │ │ ├── QtWebEngineWidgets.pyi │ │ │ ├── QtWebSockets.pyi │ │ │ ├── QtWebView.pyi │ │ │ ├── QtWidgets.pyi │ │ │ ├── QtXml.pyi │ │ │ ├── __init__.pyi │ │ │ ├── _config.pyi │ │ │ ├── _git_pyside_version.pyi │ │ │ ├── py.typed │ │ │ ├── scripts/ │ │ │ │ ├── __init__.pyi │ │ │ │ ├── android_deploy.pyi │ │ │ │ ├── deploy.pyi │ │ │ │ ├── deploy_lib/ │ │ │ │ │ └── __init__.pyi │ │ │ │ ├── metaobjectdump.pyi │ │ │ │ ├── project.pyi │ │ │ │ ├── project_lib/ │ │ │ │ │ ├── __init__.pyi │ │ │ │ │ ├── design_studio_project.pyi │ │ │ │ │ ├── newproject.pyi │ │ │ │ │ ├── project_data.pyi │ │ │ │ │ ├── pyproject_json.pyi │ │ │ │ │ ├── pyproject_parse_result.pyi │ │ │ │ │ ├── pyproject_toml.pyi │ │ │ │ │ └── utils.pyi │ │ │ │ ├── pyside_tool.pyi │ │ │ │ ├── qml.pyi │ │ │ │ └── qtpy2cpp.pyi │ │ │ └── support/ │ │ │ ├── __init__.pyi │ │ │ ├── deprecated.pyi │ │ │ └── generate_pyi.pyi │ │ └── shiboken6-stubs/ │ │ ├── Shiboken.pyi │ │ ├── __init__.pyi │ │ ├── _config.pyi │ │ ├── _git_shiboken_module_version.pyi │ │ └── py.typed │ └── tests/ │ ├── conftest.py │ ├── qlineedit.py │ ├── qmenu.py │ ├── test_general.py │ ├── test_qflag.py │ └── test_slot.py ├── rez/ │ ├── README.md │ ├── moon.yml │ ├── pyproject.toml │ ├── stubgen_rez.sh │ └── stubs/ │ ├── rez-stubs/ │ │ ├── __init__.pyi │ │ ├── bind/ │ │ │ ├── PyQt.pyi │ │ │ ├── PySide.pyi │ │ │ ├── __init__.pyi │ │ │ ├── _pymodule.pyi │ │ │ ├── _utils.pyi │ │ │ ├── arch.pyi │ │ │ ├── cmake.pyi │ │ │ ├── gcc.pyi │ │ │ ├── hello_world.pyi │ │ │ ├── os.pyi │ │ │ ├── pip.pyi │ │ │ ├── platform.pyi │ │ │ ├── python.pyi │ │ │ ├── rez.pyi │ │ │ ├── rezgui.pyi │ │ │ ├── setuptools.pyi │ │ │ └── sip.pyi │ │ ├── build_process.pyi │ │ ├── build_system.pyi │ │ ├── bundle_context.pyi │ │ ├── cli/ │ │ │ ├── __init__.pyi │ │ │ ├── _complete_util.pyi │ │ │ ├── _entry_points.pyi │ │ │ ├── _main.pyi │ │ │ ├── _util.pyi │ │ │ ├── benchmark.pyi │ │ │ ├── bind.pyi │ │ │ ├── build.pyi │ │ │ ├── bundle.pyi │ │ │ ├── complete.pyi │ │ │ ├── config.pyi │ │ │ ├── context.pyi │ │ │ ├── cp.pyi │ │ │ ├── depends.pyi │ │ │ ├── diff.pyi │ │ │ ├── env.pyi │ │ │ ├── forward.pyi │ │ │ ├── gui.pyi │ │ │ ├── help.pyi │ │ │ ├── interpret.pyi │ │ │ ├── memcache.pyi │ │ │ ├── mv.pyi │ │ │ ├── pip.pyi │ │ │ ├── pkg-cache.pyi │ │ │ ├── pkg-ignore.pyi │ │ │ ├── plugins.pyi │ │ │ ├── python.pyi │ │ │ ├── release.pyi │ │ │ ├── rm.pyi │ │ │ ├── search.pyi │ │ │ ├── selftest.pyi │ │ │ ├── status.pyi │ │ │ ├── suite.pyi │ │ │ ├── view.pyi │ │ │ └── yaml2py.pyi │ │ ├── command.pyi │ │ ├── config.pyi │ │ ├── deprecations.pyi │ │ ├── developer_package.pyi │ │ ├── exceptions.pyi │ │ ├── package_bind.pyi │ │ ├── package_cache.pyi │ │ ├── package_copy.pyi │ │ ├── package_filter.pyi │ │ ├── package_help.pyi │ │ ├── package_maker.pyi │ │ ├── package_move.pyi │ │ ├── package_order.pyi │ │ ├── package_py_utils.pyi │ │ ├── package_remove.pyi │ │ ├── package_repository.pyi │ │ ├── package_resources.pyi │ │ ├── package_search.pyi │ │ ├── package_serialise.pyi │ │ ├── package_test.pyi │ │ ├── packages.pyi │ │ ├── pip.pyi │ │ ├── plugin_managers.pyi │ │ ├── py.typed │ │ ├── release_hook.pyi │ │ ├── release_vcs.pyi │ │ ├── resolved_context.pyi │ │ ├── resolver.pyi │ │ ├── rex.pyi │ │ ├── rex_bindings.pyi │ │ ├── rezconfig.pyi │ │ ├── serialise.pyi │ │ ├── shells.pyi │ │ ├── solver.pyi │ │ ├── status.pyi │ │ ├── suite.pyi │ │ ├── system.pyi │ │ ├── util.pyi │ │ ├── utils/ │ │ │ ├── __init__.pyi │ │ │ ├── _version.pyi │ │ │ ├── amqp.pyi │ │ │ ├── backcompat.pyi │ │ │ ├── base26.pyi │ │ │ ├── colorize.pyi │ │ │ ├── data_utils.pyi │ │ │ ├── diff_packages.pyi │ │ │ ├── elf.pyi │ │ │ ├── execution.pyi │ │ │ ├── filesystem.pyi │ │ │ ├── formatting.pyi │ │ │ ├── graph_utils.pyi │ │ │ ├── installer.pyi │ │ │ ├── lint_helper.pyi │ │ │ ├── logging_.pyi │ │ │ ├── memcached.pyi │ │ │ ├── patching.pyi │ │ │ ├── pip.pyi │ │ │ ├── platform_.pyi │ │ │ ├── platform_mapped.pyi │ │ │ ├── py_dist.pyi │ │ │ ├── resolve_graph.pyi │ │ │ ├── resources.pyi │ │ │ ├── schema.pyi │ │ │ ├── scope.pyi │ │ │ ├── sourcecode.pyi │ │ │ ├── typing.pyi │ │ │ ├── which.pyi │ │ │ └── yaml.pyi │ │ ├── version/ │ │ │ ├── __init__.pyi │ │ │ ├── _requirement.pyi │ │ │ ├── _util.pyi │ │ │ └── _version.pyi │ │ └── wrapper.pyi │ └── rezplugins-stubs/ │ ├── __init__.pyi │ ├── build_process/ │ │ ├── __init__.pyi │ │ ├── local.pyi │ │ ├── remote.pyi │ │ └── rezconfig.pyi │ ├── build_system/ │ │ ├── __init__.pyi │ │ ├── cmake.pyi │ │ ├── custom.pyi │ │ ├── make.pyi │ │ └── rezconfig.pyi │ ├── command/ │ │ └── __init__.pyi │ ├── package_repository/ │ │ ├── __init__.pyi │ │ ├── filesystem.pyi │ │ ├── memory.pyi │ │ └── rezconfig.pyi │ ├── py.typed │ ├── release_hook/ │ │ ├── __init__.pyi │ │ ├── amqp.pyi │ │ ├── command.pyi │ │ ├── emailer.pyi │ │ └── rezconfig.pyi │ ├── release_vcs/ │ │ ├── __init__.pyi │ │ ├── git.pyi │ │ ├── hg.pyi │ │ ├── rezconfig.pyi │ │ ├── stub.pyi │ │ └── svn.pyi │ └── shell/ │ ├── __init__.pyi │ ├── _utils/ │ │ ├── __init__.pyi │ │ ├── powershell_base.pyi │ │ └── windows.pyi │ ├── bash.pyi │ ├── cmd.pyi │ ├── csh.pyi │ ├── gitbash.pyi │ ├── powershell.pyi │ ├── pwsh.pyi │ ├── rezconfig.pyi │ ├── sh.pyi │ ├── tcsh.pyi │ └── zsh.pyi ├── runtests.sh ├── shotgun/ │ ├── .python-version │ ├── README.md │ ├── pyproject.toml │ ├── stubgen_shotgun.sh │ └── stubs/ │ └── shotgun_api3-stubs/ │ ├── __init__.pyi │ ├── lib/ │ │ ├── __init__.pyi │ │ ├── certifi/ │ │ │ ├── __init__.pyi │ │ │ └── core.pyi │ │ ├── httplib2/ │ │ │ ├── __init__.pyi │ │ │ ├── auth.pyi │ │ │ ├── certs.pyi │ │ │ ├── error.pyi │ │ │ ├── iri2uri.pyi │ │ │ └── socks.pyi │ │ ├── mimetypes.pyi │ │ ├── mockgun/ │ │ │ ├── __init__.pyi │ │ │ ├── errors.pyi │ │ │ ├── mockgun.pyi │ │ │ └── schema.pyi │ │ ├── pyparsing.pyi │ │ ├── sgsix.pyi │ │ ├── sgtimezone.pyi │ │ └── sgutils.pyi │ ├── py.typed │ └── shotgun.pyi ├── substance_painter/ │ ├── README.md │ ├── moon.yml │ ├── pyproject.toml │ ├── stubgen_substance_painter.py │ └── stubs/ │ ├── _substance_painter-stubs/ │ │ ├── __init__.pyi │ │ ├── analytics.pyi │ │ ├── application.pyi │ │ ├── async_utils.pyi │ │ ├── baking.pyi │ │ ├── colormanagement.pyi │ │ ├── data_tweak.pyi │ │ ├── display.pyi │ │ ├── event.pyi │ │ ├── exception.pyi │ │ ├── export.pyi │ │ ├── feature.pyi │ │ ├── fiber.pyi │ │ ├── interop.pyi │ │ ├── js.pyi │ │ ├── layerstack.pyi │ │ ├── levels.pyi │ │ ├── logging.pyi │ │ ├── project.pyi │ │ ├── py.typed │ │ ├── resource.pyi │ │ ├── source.pyi │ │ ├── textureset.pyi │ │ └── ui.pyi │ └── substance_painter-stubs/ │ ├── __init__.pyi │ ├── _executor.pyi │ ├── _utility.pyi │ ├── _version.pyi │ ├── application.pyi │ ├── async_utils.pyi │ ├── baking.pyi │ ├── colormanagement.pyi │ ├── display.pyi │ ├── event.pyi │ ├── exception.pyi │ ├── export.pyi │ ├── js.pyi │ ├── layerstack.pyi │ ├── levels.pyi │ ├── logging.pyi │ ├── project.pyi │ ├── properties.pyi │ ├── py.typed │ ├── resource.pyi │ ├── source.pyi │ ├── textureset.pyi │ └── ui.pyi ├── taskfile.common.yml ├── taskfile.yml ├── usd/ │ ├── .python-version │ ├── README.md │ ├── builddocs.sh │ ├── buildusd.sh │ ├── checkstubs.sh │ ├── comparedocs.sh │ ├── fixtures/ │ │ ├── destination_forwarding.usda │ │ ├── input.usda │ │ ├── invalid_1.usda │ │ ├── invalid_2.usda │ │ ├── invalid_2b.usda │ │ ├── invalid_2c.usda │ │ ├── invalid_2d.usda │ │ ├── over.usda │ │ ├── source_forwarding.usda │ │ ├── usd_resolve_info.usda │ │ ├── valid_1.usda │ │ ├── valid_2.usda │ │ ├── valid_3.usda │ │ ├── valid_4.usda │ │ └── valid_5.usda │ ├── moon.yml │ ├── pyproject.toml │ ├── runtests.sh │ ├── stubgen_usd.py │ ├── stubgen_usd.sh │ ├── stubs/ │ │ ├── Boost-stubs/ │ │ │ ├── Python.pyi │ │ │ ├── __init__.pyi │ │ │ └── py.typed │ │ └── pxr-stubs/ │ │ ├── Ar/ │ │ │ └── __init__.pyi │ │ ├── CameraUtil/ │ │ │ └── __init__.pyi │ │ ├── Garch/ │ │ │ └── __init__.pyi │ │ ├── GeomUtil/ │ │ │ └── __init__.pyi │ │ ├── Gf/ │ │ │ └── __init__.pyi │ │ ├── Glf/ │ │ │ └── __init__.pyi │ │ ├── Kind/ │ │ │ └── __init__.pyi │ │ ├── Ndr/ │ │ │ └── __init__.pyi │ │ ├── Pcp/ │ │ │ └── __init__.pyi │ │ ├── Plug/ │ │ │ └── __init__.pyi │ │ ├── PxOsd/ │ │ │ └── __init__.pyi │ │ ├── Sdf/ │ │ │ └── __init__.pyi │ │ ├── Sdr/ │ │ │ ├── __init__.pyi │ │ │ └── shaderParserTestUtils.pyi │ │ ├── SdrGlslfx/ │ │ │ └── __init__.pyi │ │ ├── Tf.pyi │ │ ├── Trace/ │ │ │ └── __init__.pyi │ │ ├── Ts/ │ │ │ ├── TsTest_Comparator.pyi │ │ │ ├── TsTest_CompareBaseline.pyi │ │ │ ├── TsTest_Grapher.pyi │ │ │ └── __init__.pyi │ │ ├── Usd/ │ │ │ └── __init__.pyi │ │ ├── UsdAppUtils/ │ │ │ ├── __init__.pyi │ │ │ ├── cameraArgs.pyi │ │ │ ├── colorArgs.pyi │ │ │ ├── complexityArgs.pyi │ │ │ ├── framesArgs.pyi │ │ │ └── rendererArgs.pyi │ │ ├── UsdBakeMtlx/ │ │ │ └── __init__.pyi │ │ ├── UsdGeom/ │ │ │ └── __init__.pyi │ │ ├── UsdHydra/ │ │ │ └── __init__.pyi │ │ ├── UsdImagingGL/ │ │ │ └── __init__.pyi │ │ ├── UsdLux/ │ │ │ └── __init__.pyi │ │ ├── UsdMedia/ │ │ │ └── __init__.pyi │ │ ├── UsdMtlx/ │ │ │ └── __init__.pyi │ │ ├── UsdPhysics/ │ │ │ └── __init__.pyi │ │ ├── UsdProc/ │ │ │ └── __init__.pyi │ │ ├── UsdRender/ │ │ │ └── __init__.pyi │ │ ├── UsdResolverExample/ │ │ │ └── __init__.pyi │ │ ├── UsdRi/ │ │ │ └── __init__.pyi │ │ ├── UsdSchemaExamples/ │ │ │ └── __init__.pyi │ │ ├── UsdShade/ │ │ │ └── __init__.pyi │ │ ├── UsdShaders/ │ │ │ └── __init__.pyi │ │ ├── UsdSkel/ │ │ │ └── __init__.pyi │ │ ├── UsdUI/ │ │ │ └── __init__.pyi │ │ ├── UsdUtils/ │ │ │ ├── __init__.pyi │ │ │ ├── complianceChecker.pyi │ │ │ ├── constantsGroup.pyi │ │ │ ├── fixBrokenPixarSchemas.pyi │ │ │ ├── toolPaths.pyi │ │ │ ├── updateSchemaWithSdrNode.pyi │ │ │ └── usdzUtils.pyi │ │ ├── UsdVol/ │ │ │ └── __init__.pyi │ │ ├── Usdviewq/ │ │ │ ├── __init__.pyi │ │ │ ├── adjustDefaultMaterial.pyi │ │ │ ├── adjustDefaultMaterialUI.pyi │ │ │ ├── adjustFreeCamera.pyi │ │ │ ├── adjustFreeCameraUI.pyi │ │ │ ├── appController.pyi │ │ │ ├── appEventFilter.pyi │ │ │ ├── arrayAttributeView.pyi │ │ │ ├── attributeValueEditor.pyi │ │ │ ├── attributeValueEditorUI.pyi │ │ │ ├── attributeViewContextMenu.pyi │ │ │ ├── common.pyi │ │ │ ├── configController.pyi │ │ │ ├── customAttributes.pyi │ │ │ ├── debugFlagsWidget.pyi │ │ │ ├── frameSlider.pyi │ │ │ ├── freeCamera.pyi │ │ │ ├── headerContextMenu.pyi │ │ │ ├── hydraSceneBrowser.pyi │ │ │ ├── layerStackContextMenu.pyi │ │ │ ├── legendUtil.pyi │ │ │ ├── mainWindowUI.pyi │ │ │ ├── overridableLineEdit.pyi │ │ │ ├── plugin.pyi │ │ │ ├── preferences.pyi │ │ │ ├── preferencesUI.pyi │ │ │ ├── prettyPrint.pyi │ │ │ ├── primContextMenu.pyi │ │ │ ├── primContextMenuItems.pyi │ │ │ ├── primLegend.pyi │ │ │ ├── primLegendUI.pyi │ │ │ ├── primTreeWidget.pyi │ │ │ ├── primViewItem.pyi │ │ │ ├── propertyLegend.pyi │ │ │ ├── propertyLegendUI.pyi │ │ │ ├── pythonInterpreter.pyi │ │ │ ├── qt.pyi │ │ │ ├── rootDataModel.pyi │ │ │ ├── scalarTypes.pyi │ │ │ ├── selectionDataModel.pyi │ │ │ ├── settings.pyi │ │ │ ├── stageView.pyi │ │ │ ├── usdviewApi.pyi │ │ │ ├── usdviewContextMenuItem.pyi │ │ │ ├── variantComboBox.pyi │ │ │ └── viewSettingsDataModel.pyi │ │ ├── Vt/ │ │ │ └── __init__.pyi │ │ ├── Work/ │ │ │ └── __init__.pyi │ │ ├── __init__.pyi │ │ └── py.typed │ └── tests/ │ ├── test_asset_info.py │ ├── test_batch_namespace_edit.py │ ├── test_bounding_box.py │ ├── test_cache_utils.py │ ├── test_caching.py │ ├── test_check.py │ ├── test_comment.py │ ├── test_debugging.py │ ├── test_destination_forwarding.py │ ├── test_edit.py │ ├── test_explicit.py │ ├── test_iter_contains.py │ ├── test_keyframe.py │ ├── test_kind.py │ ├── test_material.py │ ├── test_notice.py │ ├── test_notice_send_custom.py │ ├── test_notice_send_derived.py │ ├── test_notice_send_global.py │ ├── test_orphaned_over.py │ ├── test_purpose.py │ ├── test_reference_into_prim.py │ ├── test_sdf_change_block.py │ ├── test_shot.py │ ├── test_source_forwarding.py │ ├── test_specializes.py │ ├── test_template_and_explicit.py │ ├── test_uniquify.py │ ├── test_usd_resolve_info.py │ ├── test_usd_stubs.py │ ├── test_user.py │ ├── test_value_caching.py │ ├── test_variant_set.py │ ├── usd_resolve_info.usda │ ├── valid_1.usda │ ├── valid_2.usda │ ├── valid_3.usda │ ├── valid_4.usda │ └── valid_5.usda └── xrun.sh
Copy disabled (too large)
Download .txt
Showing preview only (17,693K chars total). Download the full file to get everything.
SYMBOL INDEX (189966 symbols across 1613 files)
FILE: common/src/stubgenlib/build.py
function add_stubs_suffix (line 6) | def add_stubs_suffix(path: pathlib.Path) -> None:
FILE: common/src/stubgenlib/cpptypeconvert.py
class CppTypeConverter (line 9) | class CppTypeConverter:
method __init__ (line 46) | def __init__(
method _get_typedefs (line 60) | def _get_typedefs(self) -> list[tuple[str, str]]:
method _parse_typedefs (line 74) | def _parse_typedefs(self, include_file: pathlib.Path) -> Iterator[tupl...
method _replace_typedefs (line 93) | def _replace_typedefs(self, typestr: str) -> str:
method cpp_arg_to_py_type (line 116) | def cpp_arg_to_py_type(self, cpp_type: str, is_result: bool) -> str:
method process_ptr (line 165) | def process_ptr(self, converted_type: str, is_result: bool) -> str:
method to_python_id (line 168) | def to_python_id(self, cpp_type: str) -> str:
method should_strip_part (line 171) | def should_strip_part(self, x: str) -> bool:
FILE: common/src/stubgenlib/moduleinspect.py
class ModuleInspect (line 6) | class ModuleInspect:
method get_package_properties (line 12) | def get_package_properties(
method __enter__ (line 17) | def __enter__(self):
method __exit__ (line 21) | def __exit__(self, exc_type, exc_val, exc_tb):
function patch (line 25) | def patch():
FILE: common/src/stubgenlib/notifier.py
class Notifier (line 6) | class Notifier:
method __init__ (line 11) | def __init__(self) -> None:
method set_modules (line 17) | def set_modules(self, modules: list[str]) -> None:
method set_keys (line 20) | def set_keys(self, keys: list[str]) -> None:
method warn (line 23) | def warn(self, key: str, module: str, msg: str) -> None:
method accumulate (line 32) | def accumulate(self, key: str) -> None:
method print_summary (line 35) | def print_summary(self) -> None:
method get_key_count (line 42) | def get_key_count(self, key: str) -> int:
FILE: common/src/stubgenlib/siggen/advanced.py
class Optionality (line 22) | class Optionality(NamedTuple):
class AdvancedSigMatcher (line 28) | class AdvancedSigMatcher(object):
method __post_init__ (line 79) | def __post_init__(self) -> None:
method find_func_match (line 112) | def find_func_match(self, fullname: str, items: dict[str, T]) -> T | N...
method _type_match (line 119) | def _type_match(
method find_arg_match (line 147) | def find_arg_match(
method find_result_match (line 168) | def find_result_match(
class AdvancedSignatureGenerator (line 184) | class AdvancedSignatureGenerator(SignatureGenerator):
method __init__ (line 194) | def __init__(
method get_signature_str (line 207) | def get_signature_str(self, ctx: FunctionContext) -> str | list[str] |...
method process_arg (line 213) | def process_arg(self, ctx: FunctionContext, arg: ArgSig) -> None:
method process_sig (line 238) | def process_sig(self, ctx: FunctionContext, sig: FunctionSig) -> Funct...
method process_sigs (line 264) | def process_sigs(
method get_overridden_signatures (line 283) | def get_overridden_signatures(
method get_function_sig (line 309) | def get_function_sig(
method get_property_type (line 340) | def get_property_type(
FILE: common/src/stubgenlib/siggen/boost.py
class BoostDocStringParser (line 29) | class BoostDocStringParser:
method __init__ (line 32) | def __init__(self, function_name: str, verbose: bool = False) -> None:
method debug (line 48) | def debug(self, *msg) -> None:
method pop_state (line 52) | def pop_state(self, reason) -> None:
method add_token (line 56) | def add_token(self, token: tokenize.TokenInfo) -> None:
method reset (line 236) | def reset(self) -> None:
method get_signatures (line 242) | def get_signatures(self) -> list[FunctionSig]:
function infer_sig_from_boost_docstring (line 255) | def infer_sig_from_boost_docstring(
class BoostDocstringSignatureGenerator (line 281) | class BoostDocstringSignatureGenerator(SignatureGenerator):
method get_function_sig (line 286) | def get_function_sig(
method is_default_boost_arg (line 294) | def is_default_boost_arg(cls, arg_name: str) -> bool:
FILE: common/src/stubgenlib/siggen/default.py
class DefaultSigGenerator (line 10) | class DefaultSigGenerator(SignatureGenerator):
method get_function_sig (line 13) | def get_function_sig(
FILE: common/src/stubgenlib/siggen/docstring.py
class DocstringSignatureGenerator (line 11) | class DocstringSignatureGenerator(SignatureGenerator):
method prepare_docstring (line 20) | def prepare_docstring(self, docstr: str) -> str:
method get_function_sig (line 23) | def get_function_sig(
FILE: common/src/stubgenlib/siggen/sigfixer.py
class SignatureFixer (line 17) | class SignatureFixer(SignatureGenerator):
method __init__ (line 28) | def __init__(
method is_valid (line 44) | def is_valid(type_name: str) -> bool:
method cleanup_type (line 52) | def cleanup_type(
method cleanup_sigs_types (line 62) | def cleanup_sigs_types(
method cleanup_sig_types (line 70) | def cleanup_sig_types(
method get_function_sig (line 122) | def get_function_sig(
class DocstringTypeFixer (line 143) | class DocstringTypeFixer(SignatureFixer):
method get_replacements (line 178) | def get_replacements(self, is_result: bool) -> list[tuple[str, str]]:
method get_full_name (line 184) | def get_full_name(self, obj_name: str) -> str:
method cleanup_type (line 187) | def cleanup_type(
FILE: common/src/stubgenlib/stubgen/delegate.py
class GeneratorDelegate (line 9) | class GeneratorDelegate(Generic[T]):
method __init__ (line 12) | def __init__(self, rules: dict[str, type[T]], fallback: type[T]):
method __call__ (line 21) | def __call__(self, module_name: str, *args: Any, **kwargs: Any) -> T:
FILE: common/src/stubgenlib/test_helpers.py
function assert_type (line 12) | def assert_type(val, typ, /):
FILE: common/src/stubgenlib/utils.py
class ArgGroups (line 17) | class ArgGroups:
method all_args (line 24) | def all_args(self) -> list[ArgSig]:
function insert_typevars (line 37) | def insert_typevars(import_lines: str, typevars: list[str]) -> str:
function merge_args_by_name (line 44) | def merge_args_by_name(
function merge_signatures (line 68) | def merge_signatures(
function is_star_arg (line 107) | def is_star_arg(arg_name):
function get_arg_groups (line 113) | def get_arg_groups(sig: FunctionSig) -> ArgGroups:
function merge_signature_kwargs (line 140) | def merge_signature_kwargs(
class CFunctionStub (line 180) | class CFunctionStub:
method __init__ (line 185) | def __init__(self, name: str, doc: str, is_abstract=False) -> None:
method _from_sig (line 192) | def _from_sig(cls, sig: FunctionSig, is_abstract=False) -> CFunctionStub:
method _from_sigs (line 198) | def _from_sigs(cls, sigs: list[FunctionSig], is_abstract=False) -> CFu...
method __get__ (line 205) | def __get__(self) -> None:
function sig_sort_key (line 213) | def sig_sort_key(py_sig: FunctionSig) -> tuple[int, tuple[str, ...]]:
function remove_overlapping_overloads (line 217) | def remove_overlapping_overloads(
function remove_unhashable_duplicates (line 252) | def remove_unhashable_duplicates(objects: Iterable[T]) -> list[T]:
function reduce_overloads (line 261) | def reduce_overloads(
function contains_other_overload (line 291) | def contains_other_overload(sig: FunctionSig, other: FunctionSig) -> bool:
function add_positional_only_args (line 310) | def add_positional_only_args(ctx: FunctionContext, py_sig: FunctionSig) ...
function get_mypy_ignore_directive (line 360) | def get_mypy_ignore_directive(codes: list[str]) -> str:
FILE: common/tests/test_stubgenlib.py
function test_boost_docstring_overloads (line 38) | def test_boost_docstring_overloads():
function test_boost_docstring_multiline_sig (line 80) | def test_boost_docstring_multiline_sig():
function test_boost_docstring_existing_description (line 93) | def test_boost_docstring_existing_description():
FILE: common/tests/test_utils.py
function test_basic_merge (line 8) | def test_basic_merge():
function test_special_merge (line 62) | def test_special_merge():
function test_kwarg_merge (line 122) | def test_kwarg_merge():
FILE: houdini/hou_cleanup_config.py
function get_type_aliases (line 55) | def get_type_aliases() -> dict[str, str]:
FILE: houdini/stubgen_houdini.py
class IsResult (line 36) | class IsResult:
function is_std (line 46) | def is_std(node: ast.AST, attr: str) -> bool:
class AnnotationFixer (line 57) | class AnnotationFixer(ast.NodeTransformer):
method transform (line 64) | def transform(self, type_str: str) -> str:
method visit_Tuple (line 71) | def visit_Tuple(self, node: ast.Tuple) -> ast.AST:
method visit_Subscript (line 87) | def visit_Subscript(self, node: ast.Subscript) -> ast.AST:
class HoudiniCppTypeConverter (line 117) | class HoudiniCppTypeConverter(CppTypeConverter):
method to_python_id (line 165) | def to_python_id(self, cpp_type):
method cpp_arg_to_py_type (line 178) | def cpp_arg_to_py_type(
method process_ptr (line 224) | def process_ptr(
class HoudiniTypeFixer (line 241) | class HoudiniTypeFixer(SignatureFixer):
method maybe_add_optional (line 245) | def maybe_add_optional(self, type_name: str, default_value: str | None...
method cleanup_type (line 254) | def cleanup_type(
function get_signature_overrides (line 293) | def get_signature_overrides() -> dict[str, str]:
class HoudiniSignatureGenerator (line 312) | class HoudiniSignatureGenerator(AdvancedSignatureGenerator):
class ASTStubGenerator (line 316) | class ASTStubGenerator(mypy.stubgen.ASTStubGenerator):
method visit_class_def (line 317) | def visit_class_def(self, o) -> None:
method get_sig_generators (line 328) | def get_sig_generators(self) -> list[SignatureGenerator]:
method get_signatures (line 337) | def get_signatures(
method get_imports (line 353) | def get_imports(self) -> str:
method get_enums_from_docstring (line 391) | def get_enums_from_docstring(docstring: str | None) -> set[str]:
method dedent (line 437) | def dedent(self) -> None:
method output (line 495) | def output(self) -> str:
function enableHouModule (line 532) | def enableHouModule():
function main (line 567) | def main(outdir: str):
FILE: houdini/stubs/hou-stubs/__init__.pyi
class _SwigNonDynamicMeta (line 31) | class _SwigNonDynamicMeta(type):
class _NodeConnectionTupleOfTuplesGenerator (line 35) | class _NodeConnectionTupleOfTuplesGenerator:
method __init__ (line 37) | def __init__(self, *args, **kwargs) -> None: ...
method __getitem__ (line 39) | def __getitem__(self, key: int) -> Any: ...
method __len__ (line 40) | def __len__(self) -> int: ...
class EnumValue (line 42) | class EnumValue:
method __init__ (line 56) | def __init__(self, *args, **kwargs) -> None: ...
method __eq__ (line 57) | def __eq__(self, other: object) -> bool: ...
method __ne__ (line 58) | def __ne__(self, other: object) -> bool: ...
method __hash__ (line 59) | def __hash__(self) -> int: ...
method name (line 60) | def name(self) -> str:
method __lt__ (line 69) | def __lt__(self, other: object) -> bool: ...
class numericData (line 71) | class numericData:
method __init__ (line 93) | def __init__(self, *args, **kwargs) -> None: ...
class attribData (line 106) | class attribData:
method __init__ (line 124) | def __init__(self, *args, **kwargs) -> None: ...
class attribType (line 131) | class attribType:
method __init__ (line 156) | def __init__(self, *args, **kwargs) -> None: ...
class attribScope (line 163) | class attribScope:
method __init__ (line 184) | def __init__(self, *args, **kwargs) -> None: ...
class groupScope (line 189) | class groupScope:
method __init__ (line 210) | def __init__(self, *args, **kwargs) -> None: ...
class primType (line 215) | class primType:
method __init__ (line 274) | def __init__(self, *args, **kwargs) -> None: ...
class parmData (line 305) | class parmData:
method __init__ (line 323) | def __init__(self, *args, **kwargs) -> None: ...
class parmTemplateType (line 330) | class parmTemplateType:
method __init__ (line 356) | def __init__(self, *args, **kwargs) -> None: ...
class parmLook (line 371) | class parmLook:
method __init__ (line 423) | def __init__(self, *args, **kwargs) -> None: ...
class parmNamingScheme (line 433) | class parmNamingScheme:
method __init__ (line 503) | def __init__(self, *args, **kwargs) -> None: ...
class parmCondType (line 515) | class parmCondType:
method __init__ (line 532) | def __init__(self, *args, **kwargs) -> None: ...
class parmExtrapolate (line 538) | class parmExtrapolate:
method __init__ (line 560) | def __init__(self, *args, **kwargs) -> None: ...
class parmBakeChop (line 570) | class parmBakeChop:
method __init__ (line 590) | def __init__(self, *args, **kwargs) -> None: ...
class segmentType (line 597) | class segmentType:
method __init__ (line 619) | def __init__(self, *args, **kwargs) -> None: ...
class animBarToolSize (line 630) | class animBarToolSize:
method __init__ (line 648) | def __init__(self, *args, **kwargs) -> None: ...
class slopeMode (line 655) | class slopeMode:
method __init__ (line 672) | def __init__(self, *args, **kwargs) -> None: ...
class stringParmType (line 677) | class stringParmType:
method __init__ (line 699) | def __init__(self, *args, **kwargs) -> None: ...
class labelParmType (line 706) | class labelParmType:
method __init__ (line 727) | def __init__(self, *args, **kwargs) -> None: ...
class dataParmType (line 733) | class dataParmType:
method __init__ (line 753) | def __init__(self, *args, **kwargs) -> None: ...
class exprLanguage (line 758) | class exprLanguage:
method __init__ (line 774) | def __init__(self, *args, **kwargs) -> None: ...
class scriptLanguage (line 779) | class scriptLanguage:
method __init__ (line 795) | def __init__(self, *args, **kwargs) -> None: ...
class keyHalf (line 800) | class keyHalf:
method __init__ (line 825) | def __init__(self, *args, **kwargs) -> None: ...
class fileType (line 831) | class fileType:
method __init__ (line 873) | def __init__(self, *args, **kwargs) -> None: ...
class fileChooserMode (line 904) | class fileChooserMode:
method __init__ (line 923) | def __init__(self, *args, **kwargs) -> None: ...
class folderType (line 929) | class folderType:
method __init__ (line 973) | def __init__(self, *args, **kwargs) -> None: ...
class menuType (line 984) | class menuType:
method __init__ (line 1026) | def __init__(self, *args, **kwargs) -> None: ...
class paneTabType (line 1034) | class paneTabType:
method __init__ (line 1077) | def __init__(self, *args, **kwargs) -> None: ...
class stateViewerType (line 1109) | class stateViewerType:
method __init__ (line 1125) | def __init__(self, *args, **kwargs) -> None: ...
class paneLinkType (line 1130) | class paneLinkType:
method __init__ (line 1154) | def __init__(self, *args, **kwargs) -> None: ...
class networkItemType (line 1167) | class networkItemType:
method __init__ (line 1189) | def __init__(self, *args, **kwargs) -> None: ...
class colorItemType (line 1198) | class colorItemType:
method __init__ (line 1217) | def __init__(self, *args, **kwargs) -> None: ...
class geometryViewportType (line 1223) | class geometryViewportType:
method __init__ (line 1245) | def __init__(self, *args, **kwargs) -> None: ...
class glShadingType (line 1256) | class glShadingType:
method __init__ (line 1309) | def __init__(self, *args, **kwargs) -> None: ...
class viewportStereoMode (line 1324) | class viewportStereoMode:
method __init__ (line 1355) | def __init__(self, *args, **kwargs) -> None: ...
class viewportHomeClipMode (line 1362) | class viewportHomeClipMode:
method __init__ (line 1391) | def __init__(self, *args, **kwargs) -> None: ...
class geometryViewportLayout (line 1398) | class geometryViewportLayout:
method __init__ (line 1438) | def __init__(self, *args, **kwargs) -> None: ...
class geometryViewportBackgroundImageFitMode (line 1449) | class geometryViewportBackgroundImageFitMode:
method __init__ (line 1467) | def __init__(self, *args, **kwargs) -> None: ...
class snappingMode (line 1474) | class snappingMode:
method __init__ (line 1495) | def __init__(self, *args, **kwargs) -> None: ...
class snapSelectionMode (line 1503) | class snapSelectionMode:
method __init__ (line 1532) | def __init__(self, *args, **kwargs) -> None: ...
class selectionMode (line 1538) | class selectionMode:
method __init__ (line 1557) | def __init__(self, *args, **kwargs) -> None: ...
class pickStyle (line 1563) | class pickStyle:
method __init__ (line 1581) | def __init__(self, *args, **kwargs) -> None: ...
class pickModifier (line 1588) | class pickModifier:
method __init__ (line 1607) | def __init__(self, *args, **kwargs) -> None: ...
class pickFacing (line 1615) | class pickFacing:
method __init__ (line 1632) | def __init__(self, *args, **kwargs) -> None: ...
class displaySetType (line 1638) | class displaySetType:
method __init__ (line 1679) | def __init__(self, *args, **kwargs) -> None: ...
class topCookState (line 1688) | class topCookState:
method __init__ (line 1726) | def __init__(self, *args, **kwargs) -> None: ...
class markerVisibility (line 1736) | class markerVisibility:
method __init__ (line 1761) | def __init__(self, *args, **kwargs) -> None: ...
class viewportGuide (line 1768) | class viewportGuide:
method __init__ (line 1858) | def __init__(self, *args, **kwargs) -> None: ...
class viewportGeometryInfo (line 1885) | class viewportGeometryInfo:
method __init__ (line 1911) | def __init__(self, *args, **kwargs) -> None: ...
class viewportDefaultMaterial (line 1917) | class viewportDefaultMaterial:
method __init__ (line 1948) | def __init__(self, *args, **kwargs) -> None: ...
class viewportHandleHighlight (line 1953) | class viewportHandleHighlight:
method __init__ (line 1977) | def __init__(self, *args, **kwargs) -> None: ...
class viewportClosureSelection (line 1983) | class viewportClosureSelection:
method __init__ (line 2012) | def __init__(self, *args, **kwargs) -> None: ...
class viewportGuideFont (line 2018) | class viewportGuideFont:
method __init__ (line 2045) | def __init__(self, *args, **kwargs) -> None: ...
class viewportVolumeQuality (line 2052) | class viewportVolumeQuality:
method __init__ (line 2081) | def __init__(self, *args, **kwargs) -> None: ...
class viewportVolumeBSplines (line 2088) | class viewportVolumeBSplines:
method __init__ (line 2126) | def __init__(self, *args, **kwargs) -> None: ...
class viewportBGImageView (line 2132) | class viewportBGImageView:
method __init__ (line 2175) | def __init__(self, *args, **kwargs) -> None: ...
class viewportColorScheme (line 2187) | class viewportColorScheme:
method __init__ (line 2214) | def __init__(self, *args, **kwargs) -> None: ...
class viewportParticleDisplay (line 2221) | class viewportParticleDisplay:
method __init__ (line 2252) | def __init__(self, *args, **kwargs) -> None: ...
class viewportStandInGeometry (line 2260) | class viewportStandInGeometry:
method __init__ (line 2287) | def __init__(self, *args, **kwargs) -> None: ...
class viewportLighting (line 2293) | class viewportLighting:
method __init__ (line 2327) | def __init__(self, *args, **kwargs) -> None: ...
class viewportWorkLight (line 2335) | class viewportWorkLight:
method __init__ (line 2365) | def __init__(self, *args, **kwargs) -> None: ...
class viewportTransparency (line 2372) | class viewportTransparency:
method __init__ (line 2409) | def __init__(self, *args, **kwargs) -> None: ...
class viewportShadowQuality (line 2416) | class viewportShadowQuality:
method __init__ (line 2449) | def __init__(self, *args, **kwargs) -> None: ...
class viewportDOFBokeh (line 2456) | class viewportDOFBokeh:
method __init__ (line 2480) | def __init__(self, *args, **kwargs) -> None: ...
class viewportFogHeightMode (line 2486) | class viewportFogHeightMode:
method __init__ (line 2510) | def __init__(self, *args, **kwargs) -> None: ...
class viewportFogQuality (line 2516) | class viewportFogQuality:
method __init__ (line 2544) | def __init__(self, *args, **kwargs) -> None: ...
class viewportMaterialUpdate (line 2551) | class viewportMaterialUpdate:
method __init__ (line 2575) | def __init__(self, *args, **kwargs) -> None: ...
class viewportAgentBoneDeform (line 2581) | class viewportAgentBoneDeform:
method __init__ (line 2608) | def __init__(self, *args, **kwargs) -> None: ...
class viewportAgentWireframe (line 2614) | class viewportAgentWireframe:
method __init__ (line 2635) | def __init__(self, *args, **kwargs) -> None: ...
class viewportPackedBoxMode (line 2640) | class viewportPackedBoxMode:
method __init__ (line 2668) | def __init__(self, *args, **kwargs) -> None: ...
class viewportGridRuler (line 2675) | class viewportGridRuler:
method __init__ (line 2699) | def __init__(self, *args, **kwargs) -> None: ...
class viewportTextureDepth (line 2705) | class viewportTextureDepth:
method __init__ (line 2735) | def __init__(self, *args, **kwargs) -> None: ...
class boundaryDisplay (line 2742) | class boundaryDisplay:
method __init__ (line 2770) | def __init__(self, *args, **kwargs) -> None: ...
class flipbookObjectType (line 2777) | class flipbookObjectType:
method __init__ (line 2808) | def __init__(self, *args, **kwargs) -> None: ...
class groupListType (line 2815) | class groupListType:
method __init__ (line 2835) | def __init__(self, *args, **kwargs) -> None: ...
class geometryType (line 2844) | class geometryType:
method __init__ (line 2863) | def __init__(self, *args, **kwargs) -> None: ...
class connectivityType (line 2871) | class connectivityType:
method __init__ (line 2888) | def __init__(self, *args, **kwargs) -> None: ...
class severityType (line 2894) | class severityType:
method __init__ (line 2913) | def __init__(self, *args, **kwargs) -> None: ...
class confirmType (line 2921) | class confirmType:
method __init__ (line 2957) | def __init__(self, *args, **kwargs) -> None: ...
class positionType (line 2982) | class positionType:
method __init__ (line 2999) | def __init__(self, *args, **kwargs) -> None: ...
class componentLoopType (line 3005) | class componentLoopType:
method __init__ (line 3041) | def __init__(self, *args, **kwargs) -> None: ...
class flipbookAntialias (line 3047) | class flipbookAntialias:
method __init__ (line 3077) | def __init__(self, *args, **kwargs) -> None: ...
class flipbookMotionBlurBias (line 3085) | class flipbookMotionBlurBias:
method __init__ (line 3109) | def __init__(self, *args, **kwargs) -> None: ...
class parameterInterfaceTabType (line 3115) | class parameterInterfaceTabType:
method __init__ (line 3152) | def __init__(self, *args, **kwargs) -> None: ...
class shaderType (line 3160) | class shaderType:
method __init__ (line 3202) | def __init__(self, *args, **kwargs) -> None: ...
class rampBasis (line 3226) | class rampBasis:
method __init__ (line 3272) | def __init__(self, *args, **kwargs) -> None: ...
class rampParmType (line 3282) | class rampParmType:
method __init__ (line 3302) | def __init__(self, *args, **kwargs) -> None: ...
class colorType (line 3307) | class colorType:
method __init__ (line 3335) | def __init__(self, *args, **kwargs) -> None: ...
class nodeTypeSource (line 3343) | class nodeTypeSource:
method __init__ (line 3362) | def __init__(self, *args, **kwargs) -> None: ...
class fieldType (line 3370) | class fieldType:
method __init__ (line 3401) | def __init__(self, *args, **kwargs) -> None: ...
class renderMethod (line 3421) | class renderMethod:
method __init__ (line 3437) | def __init__(self, *args, **kwargs) -> None: ...
class updateMode (line 3442) | class updateMode:
method __init__ (line 3461) | def __init__(self, *args, **kwargs) -> None: ...
class licenseCategoryType (line 3467) | class licenseCategoryType:
method __init__ (line 3486) | def __init__(self, *args, **kwargs) -> None: ...
class hdaLicenseType (line 3494) | class hdaLicenseType:
method __init__ (line 3511) | def __init__(self, *args, **kwargs) -> None: ...
class orientUpAxis (line 3517) | class orientUpAxis:
method __init__ (line 3535) | def __init__(self, *args, **kwargs) -> None: ...
class handleOrientToNormalAxis (line 3540) | class handleOrientToNormalAxis:
method __init__ (line 3558) | def __init__(self, *args, **kwargs) -> None: ...
class nodeEventType (line 3563) | class nodeEventType:
method __init__ (line 3788) | def __init__(self, *args, **kwargs) -> None: ...
class hdaEventType (line 3822) | class hdaEventType:
method __init__ (line 3950) | def __init__(self, *args, **kwargs) -> None: ...
class hipFileEventType (line 3961) | class hipFileEventType:
method __init__ (line 4011) | def __init__(self, *args, **kwargs) -> None: ...
class appearanceChangeType (line 4022) | class appearanceChangeType:
method __init__ (line 4055) | def __init__(self, *args, **kwargs) -> None: ...
class ropRenderEventType (line 4074) | class ropRenderEventType:
method __init__ (line 4113) | def __init__(self, *args, **kwargs) -> None: ...
class imageDepth (line 4121) | class imageDepth:
method __init__ (line 4143) | def __init__(self, *args, **kwargs) -> None: ...
class imageLayerTypeInfo (line 4151) | class imageLayerTypeInfo:
method __init__ (line 4211) | def __init__(self, *args, **kwargs) -> None: ...
class imageLayerBorder (line 4225) | class imageLayerBorder:
method __init__ (line 4257) | def __init__(self, *args, **kwargs) -> None: ...
class imageLayerStorageType (line 4264) | class imageLayerStorageType:
method __init__ (line 4302) | def __init__(self, *args, **kwargs) -> None: ...
class imageLayerProjection (line 4312) | class imageLayerProjection:
method __init__ (line 4335) | def __init__(self, *args, **kwargs) -> None: ...
class vdbType (line 4340) | class vdbType:
method __init__ (line 4367) | def __init__(self, *args, **kwargs) -> None: ...
class volumeStorageType (line 4381) | class volumeStorageType:
method __init__ (line 4402) | def __init__(self, *args, **kwargs) -> None: ...
class volumeVisualization (line 4407) | class volumeVisualization:
method __init__ (line 4444) | def __init__(self, *args, **kwargs) -> None: ...
class playMode (line 4453) | class playMode:
method __init__ (line 4484) | def __init__(self, *args, **kwargs) -> None: ...
class playbarEvent (line 4491) | class playbarEvent:
method __init__ (line 4536) | def __init__(self, *args, **kwargs) -> None: ...
class channelListChangedReason (line 4547) | class channelListChangedReason:
method __init__ (line 4569) | def __init__(self, *args, **kwargs) -> None: ...
class bookmarkEvent (line 4574) | class bookmarkEvent:
method __init__ (line 4612) | def __init__(self, *args, **kwargs) -> None: ...
class perfMonTimeFormat (line 4621) | class perfMonTimeFormat:
method __init__ (line 4638) | def __init__(self, *args, **kwargs) -> None: ...
class perfMonTimeUnit (line 4643) | class perfMonTimeUnit:
method __init__ (line 4663) | def __init__(self, *args, **kwargs) -> None: ...
class perfMonObjectView (line 4668) | class perfMonObjectView:
method __init__ (line 4686) | def __init__(self, *args, **kwargs) -> None: ...
class compressionType (line 4692) | class compressionType:
method __init__ (line 4714) | def __init__(self, *args, **kwargs) -> None: ...
class nodeTypeFilter (line 4720) | class nodeTypeFilter:
method __init__ (line 4844) | def __init__(self, *args, **kwargs) -> None: ...
class vdbData (line 4883) | class vdbData:
method __init__ (line 4903) | def __init__(self, *args, **kwargs) -> None: ...
class lopViewportOverridesLayer (line 4910) | class lopViewportOverridesLayer:
method __init__ (line 4932) | def __init__(self, *args, **kwargs) -> None: ...
class channelEditorMode (line 4942) | class channelEditorMode:
method __init__ (line 4944) | def __init__(self, *args, **kwargs) -> None: ...
class vopParmGenType (line 4947) | class vopParmGenType:
method __init__ (line 4978) | def __init__(self, *args, **kwargs) -> None: ...
class stateGenerateMode (line 4984) | class stateGenerateMode:
method __init__ (line 5003) | def __init__(self, *args, **kwargs) -> None: ...
class scenePrimMask (line 5009) | class scenePrimMask:
method __init__ (line 5045) | def __init__(self, *args, **kwargs) -> None: ...
class viewportVisualizerCategory (line 5054) | class viewportVisualizerCategory:
method __init__ (line 5080) | def __init__(self, *args, **kwargs) -> None: ...
class viewportVisualizerScope (line 5086) | class viewportVisualizerScope:
method __init__ (line 5122) | def __init__(self, *args, **kwargs) -> None: ...
class viewportVisualizerEventType (line 5129) | class viewportVisualizerEventType:
method __init__ (line 5199) | def __init__(self, *args, **kwargs) -> None: ...
class nodeFlag (line 5210) | class nodeFlag:
method __init__ (line 5252) | def __init__(self, *args, **kwargs) -> None: ...
class nodeFootprint (line 5283) | class nodeFootprint:
method __init__ (line 5305) | def __init__(self, *args, **kwargs) -> None: ...
class fbxCompatibilityMode (line 5309) | class fbxCompatibilityMode:
method __init__ (line 5311) | def __init__(self, *args, **kwargs) -> None: ...
class fbxMaterialMode (line 5316) | class fbxMaterialMode:
method __init__ (line 5318) | def __init__(self, *args, **kwargs) -> None: ...
class saveMode (line 5324) | class saveMode:
method __init__ (line 5347) | def __init__(self, *args, **kwargs) -> None: ...
class radialItemType (line 5352) | class radialItemType:
method __init__ (line 5371) | def __init__(self, *args, **kwargs) -> None: ...
class radialItemLocation (line 5376) | class radialItemLocation:
method __init__ (line 5413) | def __init__(self, *args, **kwargs) -> None: ...
class valueLadderType (line 5424) | class valueLadderType:
method __init__ (line 5448) | def __init__(self, *args, **kwargs) -> None: ...
class valueLadderDataType (line 5453) | class valueLadderDataType:
method __init__ (line 5484) | def __init__(self, *args, **kwargs) -> None: ...
class promptMessageType (line 5491) | class promptMessageType:
method __init__ (line 5519) | def __init__(self, *args, **kwargs) -> None: ...
class drawableDisplayMode (line 5526) | class drawableDisplayMode:
method __init__ (line 5545) | def __init__(self, *args, **kwargs) -> None: ...
class scaleInheritanceMode (line 5550) | class scaleInheritanceMode:
method __init__ (line 5587) | def __init__(self, *args, **kwargs) -> None: ...
class uiEventValueType (line 5595) | class uiEventValueType:
method __init__ (line 5635) | def __init__(self, *args, **kwargs) -> None: ...
class uiEventReason (line 5645) | class uiEventReason:
method __init__ (line 5693) | def __init__(self, *args, **kwargs) -> None: ...
class drawablePrimitive (line 5705) | class drawablePrimitive:
method __init__ (line 5722) | def __init__(self, *args, **kwargs) -> None: ...
class resourceEventMessage (line 5728) | class resourceEventMessage:
method __init__ (line 5803) | def __init__(self, *args, **kwargs) -> None: ...
class snappingPriority (line 5823) | class snappingPriority:
method __init__ (line 5867) | def __init__(self, *args, **kwargs) -> None: ...
class triggerSelectorAction (line 5879) | class triggerSelectorAction:
method __init__ (line 5904) | def __init__(self, *args, **kwargs) -> None: ...
class drawableGeometryType (line 5910) | class drawableGeometryType:
method __init__ (line 5942) | def __init__(self, *args, **kwargs) -> None: ...
class drawableTextOrigin (line 5949) | class drawableTextOrigin:
method __init__ (line 5995) | def __init__(self, *args, **kwargs) -> None: ...
class drawableGeometryFaceStyle (line 6006) | class drawableGeometryFaceStyle:
method __init__ (line 6035) | def __init__(self, *args, **kwargs) -> None: ...
class drawableGeometryLineStyle (line 6043) | class drawableGeometryLineStyle:
method __init__ (line 6081) | def __init__(self, *args, **kwargs) -> None: ...
class drawableGeometryPointStyle (line 6092) | class drawableGeometryPointStyle:
method __init__ (line 6205) | def __init__(self, *args, **kwargs) -> None: ...
class drawableRampClamp (line 6241) | class drawableRampClamp:
method __init__ (line 6268) | def __init__(self, *args, **kwargs) -> None: ...
class drawableHighlightMode (line 6275) | class drawableHighlightMode:
method __init__ (line 6306) | def __init__(self, *args, **kwargs) -> None: ...
class secureSelectionOption (line 6314) | class secureSelectionOption:
method __init__ (line 6356) | def __init__(self, *args, **kwargs) -> None: ...
class resourceType (line 6363) | class resourceType:
method __init__ (line 6390) | def __init__(self, *args, **kwargs) -> None: ...
class geometryViewportEvent (line 6397) | class geometryViewportEvent:
method __init__ (line 6417) | def __init__(self, *args, **kwargs) -> None: ...
class sceneViewerEvent (line 6421) | class sceneViewerEvent:
method __init__ (line 6490) | def __init__(self, *args, **kwargs) -> None: ...
class hudInfoState (line 6508) | class hudInfoState:
method __init__ (line 6535) | def __init__(self, *args, **kwargs) -> None: ...
class hudPanel (line 6542) | class hudPanel:
method __init__ (line 6568) | def __init__(self, *args, **kwargs) -> None: ...
class drawable2DType (line 6574) | class drawable2DType:
method __init__ (line 6613) | def __init__(self, *args, **kwargs) -> None: ...
class drawable2DCapStyle (line 6624) | class drawable2DCapStyle:
method __init__ (line 6675) | def __init__(self, *args, **kwargs) -> None: ...
class drawable2DLineStyle (line 6690) | class drawable2DLineStyle:
method __init__ (line 6711) | def __init__(self, *args, **kwargs) -> None: ...
class drawable2DMarkerSize (line 6716) | class drawable2DMarkerSize:
method __init__ (line 6743) | def __init__(self, *args, **kwargs) -> None: ...
class drawable2DMarkerStyle (line 6750) | class drawable2DMarkerStyle:
method __init__ (line 6792) | def __init__(self, *args, **kwargs) -> None: ...
class scrollPosition (line 6804) | class scrollPosition:
method __init__ (line 6837) | def __init__(self, *args, **kwargs) -> None: ...
class parmFilterMode (line 6844) | class parmFilterMode:
method __init__ (line 6875) | def __init__(self, *args, **kwargs) -> None: ...
class parmFilterCriteria (line 6890) | class parmFilterCriteria:
method __init__ (line 6915) | def __init__(self, *args, **kwargs) -> None: ...
class _ik_targetType (line 6923) | class _ik_targetType:
method __init__ (line 6925) | def __init__(self, *args, **kwargs) -> None: ...
class agentShapeDeformerType (line 6931) | class agentShapeDeformerType:
method __init__ (line 6955) | def __init__(self, *args, **kwargs) -> None: ...
class optionalBool (line 6965) | class optionalBool:
method __init__ (line 6992) | def __init__(self, *args, **kwargs) -> None: ...
class videoDriver (line 6998) | class videoDriver:
method __init__ (line 7024) | def __init__(self, *args, **kwargs) -> None: ...
class trackExtend (line 7027) | class trackExtend:
method __init__ (line 7047) | def __init__(self, *args, **kwargs) -> None: ...
class clipMode (line 7056) | class clipMode:
method __init__ (line 7073) | def __init__(self, *args, **kwargs) -> None: ...
class SystemExit (line 7079) | class SystemExit(Exception):
method __init__ (line 7091) | def __init__(self, exit_code: int) -> None:
method code (line 7102) | def code(self) -> int:
class Error (line 7113) | class Error(Exception):
method __init__ (line 7129) | def __init__(self, *args) -> None:
method exceptionTypeName (line 7145) | def exceptionTypeName(self) -> str:
method description (line 7158) | def description(self) -> str:
method instanceMessage (line 7168) | def instanceMessage(self) -> str:
class NotAvailable (line 7178) | class NotAvailable(Error):
method __init__ (line 7192) | def __init__(self, *args) -> None:
method exceptionTypeName (line 7205) | def exceptionTypeName(self) -> str:
method description (line 7218) | def description(self) -> str:
class ObjectWasDeleted (line 7230) | class ObjectWasDeleted(Error):
method __init__ (line 7265) | def __init__(self, *args) -> None:
method exceptionTypeName (line 7299) | def exceptionTypeName(self) -> str:
method description (line 7312) | def description(self) -> str:
class InvalidInput (line 7324) | class InvalidInput(Error):
method __init__ (line 7343) | def __init__(self, *args) -> None:
method exceptionTypeName (line 7361) | def exceptionTypeName(self) -> str:
method description (line 7374) | def description(self) -> str:
class InvalidOutput (line 7386) | class InvalidOutput(Error):
method __init__ (line 7405) | def __init__(self, *args) -> None:
method exceptionTypeName (line 7423) | def exceptionTypeName(self) -> str:
method description (line 7436) | def description(self) -> str:
class InvalidSize (line 7448) | class InvalidSize(Error):
method __init__ (line 7463) | def __init__(self, *args) -> None:
method exceptionTypeName (line 7477) | def exceptionTypeName(self) -> str:
method description (line 7490) | def description(self) -> str:
class OperationFailed (line 7502) | class OperationFailed(Error):
method __init__ (line 7518) | def __init__(self, message: str|None = ...) -> None:
method exceptionTypeName (line 7533) | def exceptionTypeName(self) -> str:
method description (line 7546) | def description(self) -> str:
class InvalidNodeType (line 7558) | class InvalidNodeType(Error):
method __init__ (line 7573) | def __init__(self, *args) -> None:
method exceptionTypeName (line 7587) | def exceptionTypeName(self) -> str:
method description (line 7600) | def description(self) -> str:
class InitScriptFailed (line 7612) | class InitScriptFailed(Error):
method __init__ (line 7619) | def __init__(self, *args) -> None:
method exceptionTypeName (line 7625) | def exceptionTypeName(self) -> str:
method description (line 7638) | def description(self) -> str:
class MatchDefinitionError (line 7650) | class MatchDefinitionError(Error):
method __init__ (line 7657) | def __init__(self, *args) -> None:
method exceptionTypeName (line 7663) | def exceptionTypeName(self) -> str:
method description (line 7676) | def description(self) -> str:
class PermissionError (line 7688) | class PermissionError(Error):
method __init__ (line 7695) | def __init__(self, *args) -> None:
method exceptionTypeName (line 7701) | def exceptionTypeName(self) -> str:
method description (line 7714) | def description(self) -> str:
method instanceMessage (line 7724) | def instanceMessage(self) -> str:
class GeometryPermissionError (line 7735) | class GeometryPermissionError(Error):
method __init__ (line 7759) | def __init__(self, *args) -> None:
method exceptionTypeName (line 7782) | def exceptionTypeName(self) -> str:
method description (line 7795) | def description(self) -> str:
class KeyframeValueNotSet (line 7807) | class KeyframeValueNotSet(Error):
method __init__ (line 7814) | def __init__(self, *args) -> None:
method exceptionTypeName (line 7820) | def exceptionTypeName(self) -> str:
method description (line 7833) | def description(self) -> str:
class OperationInterrupted (line 7845) | class OperationInterrupted(Error):
method __init__ (line 7852) | def __init__(self, *args) -> None:
method exceptionTypeName (line 7858) | def exceptionTypeName(self) -> str:
method description (line 7871) | def description(self) -> str:
class LoadWarning (line 7883) | class LoadWarning(Error):
method __init__ (line 7894) | def __init__(self, *args) -> None:
method exceptionTypeName (line 7904) | def exceptionTypeName(self) -> str:
method description (line 7917) | def description(self) -> str:
class NodeError (line 7929) | class NodeError(Error):
method __init__ (line 7995) | def __init__(self, *args) -> None:
method exceptionTypeName (line 8060) | def exceptionTypeName(self) -> str:
method description (line 8073) | def description(self) -> str:
class NodeWarning (line 8085) | class NodeWarning(Error):
method __init__ (line 8154) | def __init__(self, *args) -> None:
method exceptionTypeName (line 8222) | def exceptionTypeName(self) -> str:
method description (line 8235) | def description(self) -> str:
class NameConflict (line 8247) | class NameConflict(Error):
method __init__ (line 8265) | def __init__(self, *args) -> None:
method exceptionTypeName (line 8282) | def exceptionTypeName(self) -> str:
method description (line 8295) | def description(self) -> str:
class TypeConflict (line 8307) | class TypeConflict(Error):
method __init__ (line 8321) | def __init__(self, *args) -> None:
method exceptionTypeName (line 8334) | def exceptionTypeName(self) -> str:
method description (line 8347) | def description(self) -> str:
class StateNotRegistered (line 8359) | class StateNotRegistered(Error):
method __init__ (line 8372) | def __init__(self, *args) -> None:
method exceptionTypeName (line 8384) | def exceptionTypeName(self) -> str:
method description (line 8397) | def description(self) -> str:
class HandleNotRegistered (line 8409) | class HandleNotRegistered(Error):
method __init__ (line 8422) | def __init__(self, *args) -> None:
method exceptionTypeName (line 8434) | def exceptionTypeName(self) -> str:
method description (line 8447) | def description(self) -> str:
class LicenseError (line 8459) | class LicenseError(Error):
method __init__ (line 8482) | def __init__(self, *args) -> None:
method exceptionTypeName (line 8504) | def exceptionTypeName(self) -> str:
method description (line 8517) | def description(self) -> str:
class InvalidGeometry (line 8529) | class InvalidGeometry(OperationFailed):
method __init__ (line 8568) | def __init__(self, *args) -> None:
method exceptionTypeName (line 8606) | def exceptionTypeName(self) -> str:
method description (line 8619) | def description(self) -> str:
class NetworkItem (line 8631) | class NetworkItem:
method __init__ (line 8647) | def __init__(self, *args) -> None:
method networkItemType (line 8663) | def networkItemType(self) -> EnumValue:
method __lt__ (line 8678) | def __lt__(self, other: object) -> bool: ...
method __le__ (line 8679) | def __le__(self, other: object) -> bool: ...
method __gt__ (line 8680) | def __gt__(self, other: object) -> bool: ...
method __ge__ (line 8681) | def __ge__(self, other: object) -> bool: ...
method __eq__ (line 8682) | def __eq__(self, other: object) -> bool: ...
method __ne__ (line 8683) | def __ne__(self, other: object) -> bool: ...
class NetworkMovableItem (line 8685) | class NetworkMovableItem(NetworkItem):
method __init__ (line 8703) | def __init__(self, *args, **kwargs) -> None: ...
method __hash__ (line 8705) | def __hash__(self) -> int: ...
method name (line 8706) | def name(self) -> str:
method setName (line 8715) | def setName(self, name: str, unique_name: bool = False) -> None:
method digitsInName (line 8731) | def digitsInName(self) -> int:
method path (line 8744) | def path(self) -> str:
method relativePathTo (line 8754) | def relativePathTo(self, base_item: NetworkMovableItem) -> str:
method isSelected (line 8771) | def isSelected(self) -> bool:
method setSelected (line 8782) | def setSelected(self, on: bool, clear_all_selected: bool = False, show...
method color (line 8795) | def color(self) -> Color:
method setColor (line 8804) | def setColor(self, color: Color) -> None:
method size (line 8814) | def size(self) -> Vector2:
method position (line 8824) | def position(self) -> Vector2:
method setPosition (line 8834) | def setPosition(self, position: Sequence[float]|Vector2) -> None:
method move (line 8844) | def move(self, amount: Sequence[float]|Vector2) -> None:
method parent (line 8861) | def parent(self) -> Optional[Node]:
method parentNetworkBox (line 8877) | def parentNetworkBox(self) -> Optional[NetworkBox]:
method sessionId (line 8887) | def sessionId(self) -> int:
class NetworkBox (line 8908) | class NetworkBox(NetworkMovableItem):
method __init__ (line 8924) | def __init__(self, *args, **kwargs) -> None: ...
method __eq__ (line 8926) | def __eq__(self, other: object) -> bool: ...
method __ne__ (line 8927) | def __ne__(self, other: object) -> bool: ...
method __hash__ (line 8928) | def __hash__(self) -> int: ...
method comment (line 8929) | def comment(self) -> str:
method setComment (line 8938) | def setComment(self, comment: str) -> None:
method autoFit (line 8949) | def autoFit(self) -> bool:
method setAutoFit (line 8958) | def setAutoFit(self, auto_fit: bool) -> None:
method setBounds (line 8974) | def setBounds(self, bounds: BoundingRect) -> None:
method setSize (line 8985) | def setSize(self, size: Sequence[float]) -> None:
method resize (line 8996) | def resize(self, amount: Sequence[float]) -> None:
method fitAroundContents (line 9006) | def fitAroundContents(self) -> None:
method minimizedSize (line 9015) | def minimizedSize(self) -> Vector2:
method restoredSize (line 9025) | def restoredSize(self) -> Vector2:
method isMinimized (line 9035) | def isMinimized(self) -> bool:
method setMinimized (line 9044) | def setMinimized(self, on: bool) -> None:
method alpha (line 9053) | def alpha(self) -> float:
method setAlpha (line 9064) | def setAlpha(self, alpha: float) -> None:
method nodes (line 9075) | def nodes(self, recurse: bool = True) -> Tuple[Node, ...]:
method addNode (line 9088) | def addNode(self, node: Node) -> None:
method removeNode (line 9098) | def removeNode(self, node: Node) -> None:
method removeAllNodes (line 9108) | def removeAllNodes(self) -> None:
method networkBoxes (line 9119) | def networkBoxes(self, recurse: bool = True) -> Tuple[NetworkBox, ...]:
method addNetworkBox (line 9132) | def addNetworkBox(self, networkbox: NetworkBox) -> None:
method removeNetworkBox (line 9142) | def removeNetworkBox(self, networkbox: NetworkBox) -> None:
method stickyNotes (line 9152) | def stickyNotes(self, recurse: bool = True) -> Tuple[StickyNote, ...]:
method addStickyNote (line 9165) | def addStickyNote(self, stickynote: StickyNote) -> None:
method removeStickyNote (line 9175) | def removeStickyNote(self, stickynote: StickyNote) -> None:
method subnetIndirectInputs (line 9185) | def subnetIndirectInputs(self, recurse: bool = True) -> Tuple[SubnetIn...
method addSubnetIndirectInput (line 9199) | def addSubnetIndirectInput(self, indirect: SubnetIndirectInput) -> None:
method removeSubnetIndirectInput (line 9209) | def removeSubnetIndirectInput(self, indirect: SubnetIndirectInput) -> ...
method items (line 9219) | def items(self, recurse: bool = True) -> Tuple[NetworkMovableItem, ...]:
method addItem (line 9232) | def addItem(self, item: NetworkMovableItem) -> None:
method removeItem (line 9241) | def removeItem(self, item: NetworkMovableItem) -> None:
method removeAllItems (line 9250) | def removeAllItems(self) -> None:
method destroy (line 9259) | def destroy(self, destroy_contents: bool = False) -> None:
method asCode (line 9269) | def asCode(self, brief: bool = False, recurse: bool = False, save_box_...
class OpNetworkBox (line 9285) | class OpNetworkBox(NetworkBox):
method __init__ (line 9295) | def __init__(self, *args, **kwargs) -> None: ...
method __hash__ (line 9297) | def __hash__(self) -> int: ...
class StickyNote (line 9299) | class StickyNote(NetworkMovableItem):
method __init__ (line 9315) | def __init__(self, *args, **kwargs) -> None: ...
method __eq__ (line 9317) | def __eq__(self, other: object) -> bool: ...
method __ne__ (line 9318) | def __ne__(self, other: object) -> bool: ...
method text (line 9319) | def text(self) -> str:
method setText (line 9328) | def setText(self, new_text: str) -> None:
method textSize (line 9337) | def textSize(self) -> float:
method setTextSize (line 9347) | def setTextSize(self, size: float) -> None:
method textColor (line 9357) | def textColor(self) -> Color:
method setTextColor (line 9366) | def setTextColor(self, color: Color) -> None:
method drawBackground (line 9376) | def drawBackground(self) -> bool:
method setDrawBackground (line 9386) | def setDrawBackground(self, on: bool) -> None:
method setBounds (line 9398) | def setBounds(self, bounds: BoundingRect) -> None: ...
method setSize (line 9399) | def setSize(self, size: Sequence[float]|Vector2) -> None:
method resize (line 9410) | def resize(self, amount: Sequence[float]) -> None:
method minimizedSize (line 9420) | def minimizedSize(self) -> Vector2:
method restoredSize (line 9430) | def restoredSize(self) -> Vector2:
method isMinimized (line 9440) | def isMinimized(self) -> bool:
method setMinimized (line 9449) | def setMinimized(self, on: bool) -> None:
method destroy (line 9458) | def destroy(self) -> None:
class ApexStickyNote (line 9468) | class ApexStickyNote(StickyNote):
method __init__ (line 9478) | def __init__(self, *args, **kwargs) -> None: ...
method __hash__ (line 9480) | def __hash__(self) -> int: ...
class OpStickyNote (line 9482) | class OpStickyNote(StickyNote):
method __init__ (line 9502) | def __init__(self, *args, **kwargs) -> None: ...
method __hash__ (line 9504) | def __hash__(self) -> int: ...
method asCode (line 9505) | def asCode(self, brief: bool = False, recurse: bool = False, save_box_...
class Node (line 9507) | class Node(NetworkMovableItem):
method __init__ (line 9528) | def __init__(self, *args, **kwargs) -> None: ...
method __eq__ (line 9530) | def __eq__(self, other: object) -> bool: ...
method __ne__ (line 9531) | def __ne__(self, other: object) -> bool: ...
method __hash__ (line 9532) | def __hash__(self) -> int: ...
method isNetwork (line 9533) | def isNetwork(self) -> bool:
method isEditable (line 9545) | def isEditable(self) -> bool: ...
method type (line 9546) | def type(self) -> NodeType:
method childTypeCategory (line 9557) | def childTypeCategory(self) -> NodeTypeCategory:
method isFlagReadable (line 9569) | def isFlagReadable(self, flag: EnumValue) -> bool:
method isFlagWritable (line 9580) | def isFlagWritable(self, flag: EnumValue) -> bool:
method isGenericFlagSet (line 9591) | def isGenericFlagSet(self, flag: EnumValue) -> bool:
method setGenericFlag (line 9602) | def setGenericFlag(self, flag: EnumValue, value: bool) -> None:
method isDisplayDescriptiveNameFlagSet (line 9614) | def isDisplayDescriptiveNameFlagSet(self) -> bool:
method setDisplayDescriptiveNameFlag (line 9624) | def setDisplayDescriptiveNameFlag(self, on: bool) -> None: ...
method errors (line 9625) | def errors(self) -> Tuple[str, ...]:
method warnings (line 9635) | def warnings(self) -> Tuple[str, ...]:
method messages (line 9645) | def messages(self) -> Tuple[str, ...]:
method node (line 9655) | def node(self, node_path: str) -> Optional[Node]:
method nodes (line 9678) | def nodes(self, node_paths: Sequence[str]) -> Tuple[Node, ...]:
method item (line 9689) | def item(self, item_path: str) -> Optional[NetworkMovableItem]:
method items (line 9710) | def items(self, item_paths: Sequence[str]) -> Tuple[NetworkMovableItem...
method glob (line 9721) | def glob(self, pattern: str, ignore_case: bool = False) -> Tuple[Node,...
method recursiveGlob (line 9767) | def recursiveGlob(self, pattern: str, filter: EnumValue = ..., include...
method createNode (line 9807) | def createNode(self, node_type_name: str, node_name: Optional[str] = N...
method inputIndex (line 9877) | def inputIndex(self, input_name: str) -> int:
method outputIndex (line 9890) | def outputIndex(self, output_name: str) -> int:
method setInput (line 9902) | def setInput(self, input_index: int, item_to_become_input: NetworkMova...
method setNamedInput (line 9930) | def setNamedInput(self, input_name: str, item_to_become_input: Network...
method setFirstInput (line 9942) | def setFirstInput(self, item_to_become_input: NetworkMovableItem|None,...
method setNextInput (line 9952) | def setNextInput(self, item_to_become_input: NetworkMovableItem, outpu...
method insertInput (line 9977) | def insertInput(self, input_index: int, item_to_become_input: NetworkM...
method numOrderedInputs (line 9989) | def numOrderedInputs(self) -> int:
method inputs (line 10006) | def inputs(self) -> Tuple[Self|None,...]:
method inputsFollowingOutputs (line 10023) | def inputsFollowingOutputs(self) -> Tuple[Node, ...]:
method input (line 10052) | def input(self, input_index: int) -> Self|None:
method inputFollowingOutputs (line 10069) | def inputFollowingOutputs(self, input_index: int) -> Self|None:
method inputConnections (line 10092) | def inputConnections(self) -> Tuple[NodeConnection, ...]:
method inputConnectors (line 10118) | def inputConnectors(self) -> Iterator[Tuple[NodeConnection, ...]]:
method inputAncestors (line 10133) | def inputAncestors(self, include_ref_inputs: bool = True, follow_subne...
method inputNames (line 10150) | def inputNames(self) -> Tuple[str, ...]:
method inputLabels (line 10160) | def inputLabels(self) -> Tuple[str, ...]:
method editableInputStrings (line 10170) | def editableInputStrings(self, input_index: int) -> dict[str, str]: ...
method editableInputString (line 10171) | def editableInputString(self, input_index: int, key: str) -> str: ...
method setEditableInputString (line 10172) | def setEditableInputString(self, input_index: int, key: str, value: st...
method outputNames (line 10173) | def outputNames(self) -> Tuple[str, ...]:
method outputLabels (line 10182) | def outputLabels(self) -> Tuple[str, ...]:
method outputs (line 10191) | def outputs(self) -> Tuple[Self,...]:
method outputConnections (line 10203) | def outputConnections(self) -> Tuple[NodeConnection, ...]:
method outputConnectors (line 10230) | def outputConnectors(self) -> Iterator[Tuple[NodeConnection, ...]]:
method children (line 10251) | def children(self) -> Tuple[Node, ...]:
method allSubChildren (line 10283) | def allSubChildren(self, top_down: bool = True, recurse_in_locked_node...
method selectedChildren (line 10346) | def selectedChildren(self, include_hidden: bool = False, include_hidde...
method allItems (line 10378) | def allItems(self) -> Tuple[NetworkMovableItem, ...]:
method allSubItems (line 10389) | def allSubItems(self, top_down: bool = True, recurse_in_locked_nodes: ...
method selectedItems (line 10404) | def selectedItems(self, include_hidden: bool = False, include_hidden_s...
method numItems (line 10434) | def numItems(self, item_type: Optional[EnumValue] = None, selected_onl...
method deleteItems (line 10435) | def deleteItems(self, items: Iterable[NetworkMovableItem], disable_saf...
method copyItemsToClipboard (line 10456) | def copyItemsToClipboard(self, items: Iterable[NetworkMovableItem]) ->...
method pasteItemsFromClipboard (line 10476) | def pasteItemsFromClipboard(self, position: Optional[Vector2] = None) ...
method copyItems (line 10494) | def copyItems(self, items: Sequence[NetworkMovableItem], channel_refer...
method creator (line 10526) | def creator(self) -> Node:
method network (line 10541) | def network(self) -> Optional[Node]: ...
method moveToGoodPosition (line 10542) | def moveToGoodPosition(self, relative_to_inputs: bool = True, move_inp...
method layoutChildren (line 10553) | def layoutChildren(self, items: Sequence[NetworkMovableItem] = ..., ho...
method isCurrent (line 10581) | def isCurrent(self) -> bool:
method setCurrent (line 10600) | def setCurrent(self, on: bool, clear_all_selected: bool = False) -> None:
method isHidden (line 10623) | def isHidden(self) -> bool:
method hide (line 10640) | def hide(self, on: bool) -> None:
method comment (line 10650) | def comment(self) -> str:
method setComment (line 10659) | def setComment(self, comment: str) -> None:
method appendComment (line 10669) | def appendComment(self, comment: str) -> None:
method destroy (line 10678) | def destroy(self, disable_safety_checks: bool = False) -> None:
method networkBoxes (line 10697) | def networkBoxes(self) -> Tuple[NetworkBox, ...]:
method iterNetworkBoxes (line 10707) | def iterNetworkBoxes(self) -> Iterator[NetworkBox]: ...
method createNetworkBox (line 10708) | def createNetworkBox(self, name: Optional[str] = None) -> NetworkBox:
method copyNetworkBox (line 10725) | def copyNetworkBox(self, network_box_to_copy: NetworkBox, new_name: Op...
method findNetworkBox (line 10746) | def findNetworkBox(self, name: str) -> Optional[NetworkBox]:
method findNetworkBoxes (line 10756) | def findNetworkBoxes(self, pattern: str) -> Tuple[NetworkBox, ...]:
method networkDots (line 10766) | def networkDots(self) -> Tuple[NetworkDot, ...]:
method createNetworkDot (line 10775) | def createNetworkDot(self) -> NetworkDot:
method canCreateDigitalAsset (line 10785) | def canCreateDigitalAsset(self) -> bool:
method collapseIntoSubnet (line 10795) | def collapseIntoSubnet(self, child_items: Sequence[NetworkMovableItem]...
method extractAndDelete (line 10829) | def extractAndDelete(self) -> Tuple[NetworkMovableItem, ...]:
method indirectInputs (line 10843) | def indirectInputs(self) -> Tuple[SubnetIndirectInput, ...]:
method subnetOutputs (line 10854) | def subnetOutputs(self) -> Tuple[Node, ...]:
method isSubNetwork (line 10871) | def isSubNetwork(self) -> bool:
method setUserData (line 10880) | def setUserData(self, name: str, value: str) -> None:
method destroyUserData (line 10924) | def destroyUserData(self, name: str, must_exist: bool = True) -> None:
method clearUserDataDict (line 10938) | def clearUserDataDict(self) -> None:
method userDataDict (line 10949) | def userDataDict(self) -> dict[str, str]:
method userData (line 10961) | def userData(self, name: str) -> str|None:
method createStickyNote (line 10977) | def createStickyNote(self, name: Optional[str] = None) -> StickyNote:
method stickyNotes (line 10989) | def stickyNotes(self) -> Tuple[StickyNote, ...]:
method iterStickyNotes (line 10999) | def iterStickyNotes(self) -> Iterator[StickyNote]: ...
method copyStickyNote (line 11000) | def copyStickyNote(self, sticky_note_to_copy: StickyNote, new_name: Op...
method findStickyNote (line 11017) | def findStickyNote(self, name: str) -> Optional[StickyNote]:
method findStickyNotes (line 11027) | def findStickyNotes(self, pattern: str) -> Tuple[StickyNote, ...]:
method createOutputNode (line 11039) | def createOutputNode(self, node_type_name: str, node_name: str | None ...
method createInputNode (line 11040) | def createInputNode(self, input_index: int, node_type_name: str, node_...
method creationTime (line 11041) | def creationTime(self) -> datetime.datetime: ...
method modificationTime (line 11042) | def modificationTime(self) -> datetime.datetime: ...
method outputsWithIndices (line 11043) | def outputsWithIndices(self, ignore_network_dots: bool = False, use_na...
class ApexNode (line 11045) | class ApexNode(Node):
method __init__ (line 11063) | def __init__(self, *args, **kwargs) -> None: ...
method inputName (line 11065) | def inputName(self, input_index: int) -> str:
method setInputName (line 11074) | def setInputName(self, input_index: int, name: str) -> None:
method canRenameInput (line 11083) | def canRenameInput(self, input_index: int) -> bool:
method outputName (line 11093) | def outputName(self, output_index: int) -> str:
method setOutputName (line 11102) | def setOutputName(self, output_index: int, name: str) -> None:
method canRenameOutput (line 11111) | def canRenameOutput(self, output_index: int) -> bool:
method convertSubgraphToSubnet (line 11121) | def convertSubgraphToSubnet(self) -> None:
method inputDataTypes (line 11131) | def inputDataTypes(self) -> Tuple[str, ...]:
method outputDataTypes (line 11140) | def outputDataTypes(self) -> Tuple[str, ...]:
method tags (line 11149) | def tags(self) -> Tuple[str, ...]:
method setTags (line 11158) | def setTags(self, tags: Sequence[str]) -> None:
method isSubgraphAsset (line 11167) | def isSubgraphAsset(self) -> bool:
class OpNode (line 11179) | class OpNode(Node):
method __init__ (line 11225) | def __init__(self, *args, **kwargs) -> None: ...
method __hash__ (line 11227) | def __hash__(self) -> int: ...
method creatorState (line 11228) | def creatorState(self) -> str:
method setCreatorState (line 11239) | def setCreatorState(self, state: str) -> None:
method isBuiltExplicitly (line 11250) | def isBuiltExplicitly(self) -> bool: ...
method setBuiltExplicitly (line 11251) | def setBuiltExplicitly(self, built_explicitly: bool) -> None: ...
method expressionLanguage (line 11252) | def expressionLanguage(self) -> EnumValue:
method setExpressionLanguage (line 11277) | def setExpressionLanguage(self, language: EnumValue) -> None:
method parm (line 11287) | def parm(self, parm_path: str) -> Optional[Parm]:
method parmTuple (line 11297) | def parmTuple(self, parm_path: str) -> Optional[ParmTuple]:
method globParms (line 11310) | def globParms(self, pattern: str, ignore_case: bool = False, search_la...
method parms (line 11341) | def parms(self) -> Tuple[Parm, ...]:
method parmsReferencingThis (line 11350) | def parmsReferencingThis(self) -> Tuple[Parm, ...]:
method parmTuples (line 11359) | def parmTuples(self) -> Tuple[ParmTuple, ...]:
method spareParms (line 11371) | def spareParms(self) -> Tuple[Parm, ...]:
method removeSpareParms (line 11380) | def removeSpareParms(self) -> None:
method syncNodeVersionIfNeeded (line 11389) | def syncNodeVersionIfNeeded(self, from_version: str) -> None:
method setParmTemplateGroup (line 11399) | def setParmTemplateGroup(self, parm_template_group: ParmTemplateGroup,...
method parmTuplesInFolder (line 11400) | def parmTuplesInFolder(self, folder_names: Sequence[str]) -> Tuple[Par...
method parmsInFolder (line 11415) | def parmsInFolder(self, folder_names: Sequence[str]) -> Tuple[Parm, ...]:
method parmTemplateGroup (line 11460) | def parmTemplateGroup(self) -> ParmTemplateGroup: ...
method localVariables (line 11461) | def localVariables(self) -> Tuple[str, ...]:
method localAttributes (line 11471) | def localAttributes(self) -> Tuple[str, ...]:
method reorderChild (line 11483) | def reorderChild(self, src: int, dest: int) -> None:
method references (line 11501) | def references(self, include_children: bool = True) -> Tuple[Node, ...]:
method dependents (line 11517) | def dependents(self, include_children: bool = True) -> Tuple[Node, ...]:
method fileReferences (line 11532) | def fileReferences(self, recurse: bool = ..., project_dir_variable: st...
method isTimeDependent (line 11561) | def isTimeDependent(self, for_last_cook: bool = False) -> bool:
method allowEditingOfContents (line 11575) | def allowEditingOfContents(self, propagate: bool = False) -> None:
method matchCurrentDefinition (line 11586) | def matchCurrentDefinition(self) -> None:
method matchesCurrentDefinition (line 11602) | def matchesCurrentDefinition(self) -> bool:
method syncDelayedDefinition (line 11612) | def syncDelayedDefinition(self) -> None:
method isDelayedDefinition (line 11623) | def isDelayedDefinition(self) -> bool:
method parmAliases (line 11634) | def parmAliases(self, recurse: bool = False) -> dict[Parm, str]:
method clearParmAliases (line 11649) | def clearParmAliases(self) -> None:
method createCompiledDigitalAsset (line 11658) | def createCompiledDigitalAsset(self, name: Optional[str] = None, hda_f...
method isInsideLockedHDA (line 11691) | def isInsideLockedHDA(self) -> bool:
method isEditableInsideLockedHDA (line 11702) | def isEditableInsideLockedHDA(self) -> bool:
method isLockedHDA (line 11714) | def isLockedHDA(self) -> bool:
method isCompiled (line 11734) | def isCompiled(self) -> bool: ...
method isMaterialManager (line 11735) | def isMaterialManager(self) -> bool: ...
method outputLabel (line 11736) | def outputLabel(self, output_index: int) -> str:
method outputForViewFlag (line 11747) | def outputForViewFlag(self) -> int:
method setOutputForViewFlag (line 11766) | def setOutputForViewFlag(self, output: int) -> None:
method hdaModule (line 11775) | def hdaModule(self) -> HDAModule:
method hdaViewerStateModule (line 11786) | def hdaViewerStateModule(self) -> Optional[HDAViewerStateModule]:
method hdaViewerHandleModule (line 11798) | def hdaViewerHandleModule(self) -> Optional[HDAViewerHandleModule]:
method hm (line 11810) | def hm(self) -> HDAModule: ...
method createDigitalAsset (line 11811) | def createDigitalAsset(self, name: Optional[str] = None, hda_file_name...
method changeNodeType (line 11886) | def changeNodeType(self, new_node_type: str, keep_name: bool = True, k...
method selectNextVisibleWorkItem (line 11905) | def selectNextVisibleWorkItem(self) -> None:
method selectPreviousVisibleWorkItem (line 11914) | def selectPreviousVisibleWorkItem(self) -> None:
method deselectWorkItem (line 11923) | def deselectWorkItem(self) -> None:
method setCurrentTOPPage (line 11933) | def setCurrentTOPPage(self, page: int) -> None:
method canGenerateCookCode (line 11943) | def canGenerateCookCode(self, check_parent: bool = False, check_auto_s...
method cookCodeGeneratorNode (line 11966) | def cookCodeGeneratorNode(self, check_parent: bool = ...) -> Node:
method cookCodeLanguage (line 11981) | def cookCodeLanguage(self) -> str:
method supportsMultiCookCodeContexts (line 11993) | def supportsMultiCookCodeContexts(self) -> bool:
method saveCookCodeToFile (line 12007) | def saveCookCodeToFile(self, file_name: str, skip_header: bool = False...
method saveCodeToFile (line 12046) | def saveCodeToFile(self, file_name: str, skip_header: bool = False, co...
method saveCompiledCookCodeToFile (line 12047) | def saveCompiledCookCodeToFile(self, file_name: str, context_name: Opt...
method saveToCompiledVexFile (line 12058) | def saveToCompiledVexFile(self, file_name: str, context_name: Optional...
method cook (line 12059) | def cook(self, force: bool = ..., frame_range: Sequence[float] = ...) ...
method needsToCook (line 12075) | def needsToCook(self, time: float = ...) -> bool:
method invalidateOutput (line 12084) | def invalidateOutput(self) -> None:
method cookCount (line 12101) | def cookCount(self) -> int:
method cookPathNodes (line 12111) | def cookPathNodes(self) -> Tuple[Node, ...]:
method infoTree (line 12121) | def infoTree(self, verbose: bool = False, debug: bool = False, output_...
method infoData (line 12157) | def infoData(self) -> dict[str, Any]:
method updateParmStates (line 12173) | def updateParmStates(self) -> None:
method runInitScripts (line 12193) | def runInitScripts(self) -> None:
method deleteScript (line 12202) | def deleteScript(self) -> str:
method setDeleteScript (line 12211) | def setDeleteScript(self, script_text: str, language: EnumValue = ...)...
method addNodeGroup (line 12220) | def addNodeGroup(self, name: Optional[str] = None) -> NodeGroup:
method nodeGroups (line 12240) | def nodeGroups(self) -> Tuple[NodeGroup, ...]:
method nodeGroup (line 12249) | def nodeGroup(self, name: str) -> Optional[NodeGroup]:
method motionEffectsNetworkPath (line 12259) | def motionEffectsNetworkPath(self) -> str:
method findOrCreateMotionEffectsNetwork (line 12270) | def findOrCreateMotionEffectsNetwork(self, create: bool = True) -> OpN...
method createOrMoveVisualizer (line 12283) | def createOrMoveVisualizer(self, output_index: int) -> None:
method saveItemsToFile (line 12296) | def saveItemsToFile(self, items: Sequence[NetworkMovableItem], file_na...
method loadItemsFromFile (line 12330) | def loadItemsFromFile(self, file_name: str, ignore_load_warnings: bool...
method removeAllEventCallbacks (line 12345) | def removeAllEventCallbacks(self) -> None:
method stampValue (line 12362) | def stampValue(self, parm_name: str, default_value: float|str) -> str:
method asCode (line 12385) | def asCode(self, brief: bool = False, recurse: bool = False, save_chan...
method dataBlockKeys (line 12444) | def dataBlockKeys(self, blocktype: Optional[str] = None) -> Tuple[str,...
method dataBlockType (line 12461) | def dataBlockType(self, key: str) -> str:
method dataBlock (line 12473) | def dataBlock(self, key: str) -> bytes:
method setDataBlock (line 12500) | def setDataBlock(self, key: str, data: bytes, block_type: Optional[str...
method removeDataBlock (line 12526) | def removeDataBlock(self, key: str) -> None:
method destroyCachedUserData (line 12536) | def destroyCachedUserData(self, name: str, must_exist: bool = True) ->...
method clearCachedUserDataDict (line 12550) | def clearCachedUserDataDict(self) -> None:
method cachedUserDataDict (line 12561) | def cachedUserDataDict(self) -> dict[str, Any]:
method setCachedUserData (line 12573) | def setCachedUserData(self, name: str, value: Any) -> None:
method cachedUserData (line 12609) | def cachedUserData(self, name: str) -> Any:
method simulation (line 12644) | def simulation(self) -> DopSimulation: ...
method findNodesThatProcessedObject (line 12645) | def findNodesThatProcessedObject(self, dop_object: DopObject) -> Tuple...
method addError (line 12646) | def addError(self, message: str, severity: EnumValue = ...) -> None:
method addWarning (line 12667) | def addWarning(self, message: Optional[str] = None) -> None:
method addMessage (line 12685) | def addMessage(self, message: Optional[str] = None) -> None:
method lastCookTime (line 12703) | def lastCookTime(self) -> float:
method lastCookContextOptions (line 12712) | def lastCookContextOptions(self, only_used_options: bool = ...) -> dic...
method evalParm (line 12725) | def evalParm(self, parm_path: str) -> ParmArgType:
method evalParmTuple (line 12734) | def evalParmTuple(self, parm_path: str) -> ParmTupleReturnType:
method addEventCallback (line 12743) | def addEventCallback(self, event_types: Sequence[EnumValue], callback:...
method addParmCallback (line 12810) | def addParmCallback(self, callback: Callable[[OpNode, ParmTuple], None...
method removeEventCallback (line 12834) | def removeEventCallback(self, event_types: Sequence[EnumValue], callba...
method eventCallbacks (line 12852) | def eventCallbacks(self) -> Tuple[Tuple[Tuple[EnumValue,...], Callable...
method appendParmTemplatesFromData (line 12855) | def appendParmTemplatesFromData(self, data: dict[str, Any], rename_con...
method appendParmTemplatesToFolderFromData (line 12856) | def appendParmTemplatesToFolderFromData(self, data: dict[str, Any], pa...
method asData (line 12857) | def asData(self, nodes_only: bool = False, children: bool = False, edi...
method children (line 12858) | def children(self) -> Tuple[OpNode, ...]: ...
method childrenAsData (line 12859) | def childrenAsData(self, nodes_only: bool = False, children: bool = Tr...
method createDecorationItemsFromData (line 12860) | def createDecorationItemsFromData(self, items: Sequence[NetworkMovable...
method createNode (line 12861) | def createNode(self, node_type_name: str, node_name: str | None = None...
method editablesAsData (line 12862) | def editablesAsData(self, nodes_only: bool = False, children: bool = T...
method inputConnections (line 12863) | def inputConnections(self) -> Tuple[OpNodeConnection, ...]: ...
method inputsAsData (line 12864) | def inputsAsData(self, ignore_network_dots: bool = False, ignore_subne...
method insertParmTemplatesAfterFromData (line 12865) | def insertParmTemplatesAfterFromData(self, data: dict[str, Any], parm_...
method insertParmTemplatesBeforeFromData (line 12866) | def insertParmTemplatesBeforeFromData(self, data: dict[str, Any], parm...
method node (line 12867) | def node(self, node_path: str) -> OpNode | None: ...
method outputConnections (line 12868) | def outputConnections(self) -> Tuple[OpNodeConnection, ...]: ...
method outputsAsData (line 12869) | def outputsAsData(self, ignore_network_dots: bool = False, ignore_subn...
method parmTemplateChildrenAsData (line 12870) | def parmTemplateChildrenAsData(self, name: str= '', parmtemplate_order...
method parmTemplatesAsData (line 12871) | def parmTemplatesAsData(self, name: str= '', children: bool = True, pa...
method parmsAsData (line 12872) | def parmsAsData(self, values: bool = True, parms: bool = True, default...
method prependParmTemplatesToFolderFromData (line 12873) | def prependParmTemplatesToFolderFromData(self, data: dict[str, Any], p...
method replaceParmTemplatesFromData (line 12874) | def replaceParmTemplatesFromData(self, data: dict[str, Any]) -> dict[s...
method setChildrenFromData (line 12875) | def setChildrenFromData(self, clear_content: bool = True, force_item_c...
method setEditablesFromData (line 12876) | def setEditablesFromData(self, clear_content: bool = True, force_item_...
method setFromData (line 12877) | def setFromData(self, data: dict[str, Any], clear_content: bool = Fals...
method setInputsFromData (line 12878) | def setInputsFromData(self, data: dict[str, Any]) -> None: ...
method setOutputsFromData (line 12879) | def setOutputsFromData(self, data: dict[str, Any]) -> None: ...
method setParmExpressions (line 12880) | def setParmExpressions(self, parm_dict: Mapping[str, str | Sequence[st...
method setParms (line 12881) | def setParms(self, parm_dict: Mapping[str, ParmArgType | ParmTupleArgT...
method setParmsFromData (line 12882) | def setParmsFromData(self, data: dict[str, Any]) -> None: ...
method type (line 12883) | def type(self) -> OpNodeType: ...
class OpVerb (line 12885) | class OpVerb:
method __init__ (line 12897) | def __init__(self, *args, **kwargs) -> None: ...
method loadParmsFromNode (line 12899) | def loadParmsFromNode(self, opnode: OpNode) -> None:
method loadParmsFromNodeAtTime (line 12910) | def loadParmsFromNodeAtTime(self, opnode: OpNode, time: float) -> None...
method parms (line 12911) | def parms(self) -> dict[str, OptionType]:
method setParms (line 12924) | def setParms(self, p: Mapping[str, OptionMultiArgType|Sequence[Mapping...
method minNumInputs (line 12938) | def minNumInputs(self) -> int:
class NodeGroup (line 12949) | class NodeGroup:
method __init__ (line 12968) | def __init__(self, *args, **kwargs) -> None: ...
method __eq__ (line 12970) | def __eq__(self, other: object) -> bool: ...
method __ne__ (line 12971) | def __ne__(self, other: object) -> bool: ...
method name (line 12972) | def name(self) -> str:
method nodes (line 12981) | def nodes(self) -> Tuple[Node, ...]:
method parent (line 12990) | def parent(self) -> Node:
method addNode (line 12999) | def addNode(self, node: Node) -> None:
method removeNode (line 13012) | def removeNode(self, node: Node) -> None:
method clear (line 13023) | def clear(self) -> None:
method destroy (line 13032) | def destroy(self) -> None:
method asCode (line 13042) | def asCode(self, save_creation_commands: bool = True, save_node_member...
class ObjNode (line 13063) | class ObjNode(OpNode):
method __init__ (line 13094) | def __init__(self, *args, **kwargs) -> None: ...
method origin (line 13096) | def origin(self) -> Vector3:
method localTransform (line 13126) | def localTransform(self) -> Matrix4:
method localTransformAtTime (line 13153) | def localTransformAtTime(self, time: float) -> Matrix4:
method worldTransform (line 13168) | def worldTransform(self) -> Matrix4:
method worldTransformAtTime (line 13194) | def worldTransformAtTime(self, time: float) -> Matrix4:
method setWorldTransform (line 13209) | def setWorldTransform(self, matrix: Matrix4, fail_on_locked_parms: boo...
method setCookTransform (line 13283) | def setCookTransform(self, matrix: Matrix4) -> None:
method parmTransform (line 13305) | def parmTransform(self) -> Matrix4:
method setParmTransform (line 13342) | def setParmTransform(self, matrix: Matrix4, fail_on_locked_parms: bool...
method parmPivotTransform (line 13383) | def parmPivotTransform(self) -> Matrix4:
method setParmPivotTransform (line 13405) | def setParmPivotTransform(self, matrix: Matrix4, fail_on_locked_parms:...
method preTransform (line 13442) | def preTransform(self) -> Matrix4:
method setPreTransform (line 13460) | def setPreTransform(self, matrix: Matrix4) -> None:
method movePreTransformIntoParmTransform (line 13470) | def movePreTransformIntoParmTransform(self) -> None:
method moveParmTransformIntoPreTransform (line 13488) | def moveParmTransformIntoPreTransform(self) -> None:
method moveParmTranslateIntoPreTransform (line 13509) | def moveParmTranslateIntoPreTransform(self) -> None:
method moveParmRotateIntoPreTransform (line 13521) | def moveParmRotateIntoPreTransform(self) -> None:
method moveParmScaleIntoPreTransform (line 13562) | def moveParmScaleIntoPreTransform(self) -> None:
method parentAndSubnetTransform (line 13574) | def parentAndSubnetTransform(self) -> Matrix4:
method getTransformToNode (line 13597) | def getTransformToNode(self, obj_node: ObjNode) -> Matrix4:
method getTransformFromPointToPoint (line 13622) | def getTransformFromPointToPoint(self, pos3: Vector3, other_node: ObjN...
method buildLookatRotation (line 13647) | def buildLookatRotation(self, to_node: ObjNode, up_vector: Optional[Ve...
method isObjectDisplayed (line 13675) | def isObjectDisplayed(self) -> bool:
method isObjectDisplayedAtFrame (line 13690) | def isObjectDisplayedAtFrame(self, frame: float) -> bool:
method isDisplayFlagSet (line 13705) | def isDisplayFlagSet(self) -> bool:
method setDisplayFlag (line 13719) | def setDisplayFlag(self, on: bool) -> None:
method isSelectableInViewport (line 13729) | def isSelectableInViewport(self) -> bool:
method setSelectableInViewport (line 13740) | def setSelectableInViewport(self, on: bool) -> None:
method isShowingOrigin (line 13750) | def isShowingOrigin(self) -> bool:
method showOrigin (line 13762) | def showOrigin(self, on: bool) -> None:
method isUsingXray (line 13772) | def isUsingXray(self) -> bool:
method useXray (line 13785) | def useXray(self, on: bool) -> None:
method displayNode (line 13795) | def displayNode(self) -> Optional[Node]:
method renderNode (line 13805) | def renderNode(self) -> Optional[Node]:
method combine (line 13815) | def combine(self, nodes: Sequence[Node]) -> None:
method material (line 13830) | def material(self, operation: Literal['override','select','remove','rm...
class Prim (line 13886) | class Prim:
method __init__ (line 13902) | def __init__(self, *args, **kwargs) -> None: ...
method __eq__ (line 13904) | def __eq__(self, other: object) -> bool: ...
method __ne__ (line 13905) | def __ne__(self, other: object) -> bool: ...
method __hash__ (line 13906) | def __hash__(self) -> int: ...
method geometry (line 13907) | def geometry(self) -> Geometry:
method number (line 13916) | def number(self) -> int:
method type (line 13927) | def type(self) -> EnumValue:
method attribType (line 13937) | def attribType(self) -> EnumValue:
method vertices (line 13958) | def vertices(self) -> Iterator[Vertex]:
method numVertices (line 13977) | def numVertices(self) -> int:
method edges (line 13987) | def edges(self) -> Tuple[Edge, ...]: ...
method numEdges (line 13988) | def numEdges(self) -> int: ...
method floatAttribValue (line 13989) | def floatAttribValue(self, attrib: Attrib|str) -> float:
method floatListAttribValue (line 14007) | def floatListAttribValue(self, name_or_attrib: str|Attrib) -> Tuple[fl...
method intAttribValue (line 14023) | def intAttribValue(self, attrib: Attrib|str) -> int:
method intListAttribValue (line 14035) | def intListAttribValue(self, name_or_attrib: Attrib|str) -> Tuple[int,...
method stringAttribValue (line 14047) | def stringAttribValue(self, attrib: Attrib|str) -> str:
method stringListAttribValue (line 14058) | def stringListAttribValue(self, name_or_attrib: Attrib|str) -> Tuple[s...
method dictAttribValue (line 14074) | def dictAttribValue(self, attrib: Attrib|str) -> AttribDictReturnType:
method dictListAttribValue (line 14085) | def dictListAttribValue(self, name_or_attrib: Attrib|str) -> Sequence[...
method setAttribValue (line 14100) | def setAttribValue(self, name_or_attrib: Attrib|str, attrib_value: Att...
method intrinsicNames (line 14138) | def intrinsicNames(self) -> Tuple[str, ...]:
method intrinsicValue (line 14151) | def intrinsicValue(self, intrinsic_name: str) -> AttribReturnType:
method intrinsicSize (line 14177) | def intrinsicSize(self, intrinsic_name: str) -> int:
method intrinsicReadOnly (line 14186) | def intrinsicReadOnly(self, intrinsic_name: str) -> bool:
method setIntrinsicValue (line 14196) | def setIntrinsicValue(self, intrinsic_name: str, value: AttribArgType)...
method attribValue (line 14210) | def attribValue(self, attrib: Attrib|str) -> AttribReturnType|AttribDi...
method positionAtInterior (line 14233) | def positionAtInterior(self, u: float, v: float, w: float = 0.0) -> Ve...
method attribValueAtInterior (line 14245) | def attribValueAtInterior(self, attrib: Attrib|str, u: float, v: float...
method boundingBox (line 14266) | def boundingBox(self) -> BoundingBox:
method nearestToPosition (line 14276) | def nearestToPosition(self, position: Sequence[float]) -> Tuple[float,...
method groups (line 14291) | def groups(self) -> Tuple[PrimGroup, ...]:
method primuvConvert (line 14300) | def primuvConvert(self, uv: Sequence[float]|Vector2, mode: int, tol: f...
method primuConvert (line 14311) | def primuConvert(self, u: float, mode: int, tol: float|None = ...) -> ...
method voxelRangeAsBool (line 14314) | def voxelRangeAsBool(self, range: BoundingBox) -> Tuple[bool, ...]: ...
method voxelRangeAsInt (line 14315) | def voxelRangeAsInt(self, range: BoundingBox) -> Tuple[int, ...]: ...
method voxelRangeAsFloat (line 14316) | def voxelRangeAsFloat(self, range: BoundingBox) -> Tuple[float, ...]: ...
method voxelRangeAsVector3 (line 14317) | def voxelRangeAsVector3(self, range: BoundingBox) -> Sequence[Vector3]...
class Face (line 14319) | class Face(Prim):
method __init__ (line 14337) | def __init__(self, *args, **kwargs) -> None: ...
method isClosed (line 14339) | def isClosed(self) -> bool:
method closed (line 14352) | def closed(self) -> bool:
method setIsClosed (line 14361) | def setIsClosed(self, on: bool) -> None:
method normal (line 14378) | def normal(self) -> Vector3:
method positionAt (line 14387) | def positionAt(self, u: float) -> Vector3:
method attribValueAt (line 14397) | def attribValueAt(self, attrib_or_name: Attrib|str, u: float, du: floa...
method vertex (line 14412) | def vertex(self, index: int) -> Vertex:
method addVertex (line 14426) | def addVertex(self, point: Point) -> Vertex:
method arcLength (line 14470) | def arcLength(self, u_start: float, u_stop: float, divs: int = 10) -> ...
class PackedPrim (line 14483) | class PackedPrim(Prim):
method __init__ (line 14511) | def __init__(self, *args, **kwargs) -> None: ...
method transform (line 14513) | def transform(self) -> Matrix3:
method fullTransform (line 14525) | def fullTransform(self) -> Matrix4:
method setTransform (line 14536) | def setTransform(self, transform: Matrix4) -> None:
method vertex (line 14555) | def vertex(self, index: int) -> Vertex:
class BaseKeyframe (line 14570) | class BaseKeyframe:
method __init__ (line 14580) | def __init__(self, *args, **kwargs) -> None: ...
method __eq__ (line 14582) | def __eq__(self, other: object) -> bool: ...
method __ne__ (line 14583) | def __ne__(self, other: object) -> bool: ...
method __hash__ (line 14584) | def __hash__(self) -> int: ...
method evaluatedType (line 14585) | def evaluatedType(self) -> EnumValue:
method setExpression (line 14594) | def setExpression(self, expression: str, language: Optional[EnumValue]...
method expression (line 14609) | def expression(self) -> str:
method isExpressionSet (line 14625) | def isExpressionSet(self) -> bool:
method expressionLanguage (line 14636) | def expressionLanguage(self) -> EnumValue:
method isExpressionLanguageSet (line 14650) | def isExpressionLanguageSet(self) -> bool:
method setTime (line 14661) | def setTime(self, time: float) -> None:
method isTimeSet (line 14675) | def isTimeSet(self) -> bool:
method time (line 14686) | def time(self) -> float:
method setFrame (line 14700) | def setFrame(self, frame: float) -> None:
method frame (line 14714) | def frame(self) -> float:
method asCode (line 14728) | def asCode(self, brief: bool = False, save_keys_in_frames: bool = Fals...
class ChannelGraphSelection (line 14803) | class ChannelGraphSelection:
method __init__ (line 14813) | def __init__(self, path: str|None = ..., flags: Sequence[int] = ...) -...
method __eq__ (line 14823) | def __eq__(self, other: object) -> bool: ...
method __ne__ (line 14824) | def __ne__(self, other: object) -> bool: ...
method parm (line 14825) | def parm(self) -> Parm:
method path (line 14835) | def path(self) -> str: ...
method keyframes (line 14836) | def keyframes(self) -> Tuple[BaseKeyframe, ...]:
method flags (line 14846) | def flags(self) -> Tuple[int, ...]:
method setFlags (line 14855) | def setFlags(self, flags: Sequence[int]) -> None: ...
method values (line 14856) | def values(self) -> Tuple[int, ...]:
method timeMarks (line 14865) | def timeMarks(self) -> Tuple[int, ...]:
method slopes (line 14875) | def slopes(self) -> Tuple[int, ...]:
method accelerations (line 14884) | def accelerations(self) -> Tuple[int, ...]:
method segments (line 14894) | def segments(self) -> Tuple[int, ...]:
method inValues (line 14904) | def inValues(self) -> Tuple[int, ...]:
method inSlopes (line 14914) | def inSlopes(self) -> Tuple[int, ...]:
method inAccelerations (line 14924) | def inAccelerations(self) -> Tuple[int, ...]:
method outValues (line 14934) | def outValues(self) -> Tuple[int, ...]:
method outSlopes (line 14944) | def outSlopes(self) -> Tuple[int, ...]:
method outAccelerations (line 14954) | def outAccelerations(self) -> Tuple[int, ...]:
method selectValues (line 14964) | def selectValues(self, sel: Sequence[int], _in: bool = True, out: bool...
method selectTimeMarks (line 14973) | def selectTimeMarks(self, sel: Sequence[int]) -> None:
method selectSlopes (line 14982) | def selectSlopes(self, sel: Sequence[int], _in: bool = True, out: bool...
method selectAccelerations (line 14991) | def selectAccelerations(self, sel: Sequence[int], _in: bool = True, ou...
method selectSegments (line 15000) | def selectSegments(self, sel: Sequence[int]) -> None:
method deselectValues (line 15009) | def deselectValues(self, sel: Sequence[int], _in: bool = True, out: bo...
method deselectTimeMarks (line 15018) | def deselectTimeMarks(self, sel: Sequence[int]) -> None:
method deselectSlopes (line 15027) | def deselectSlopes(self, sel: Sequence[int], _in: bool = True, out: bo...
method deselectAccelerations (line 15036) | def deselectAccelerations(self, sel: Sequence[int], _in: bool = True, ...
method deselectSegments (line 15045) | def deselectSegments(self, sel: Sequence[int]) -> None:
class NodeType (line 15055) | class NodeType:
method __init__ (line 15083) | def __init__(self, *args, **kwargs) -> None: ...
method __eq__ (line 15085) | def __eq__(self, other: object) -> bool: ...
method __ne__ (line 15086) | def __ne__(self, other: object) -> bool: ...
method __hash__ (line 15087) | def __hash__(self) -> int: ...
method category (line 15088) | def category(self) -> NodeTypeCategory:
method name (line 15099) | def name(self) -> str:
method nameComponents (line 15110) | def nameComponents(self) -> Tuple[str, ...]:
method description (line 15126) | def description(self) -> str:
method nameWithCategory (line 15138) | def nameWithCategory(self) -> str:
method namespaceOrder (line 15152) | def namespaceOrder(self) -> Tuple[str, ...]:
method versionNamespaceOrder (line 15179) | def versionNamespaceOrder(self) -> Tuple[str, ...]:
method icon (line 15202) | def icon(self) -> str:
method resolvedIcon (line 15213) | def resolvedIcon(self) -> str:
method minNumInputs (line 15224) | def minNumInputs(self) -> int:
method maxNumInputs (line 15235) | def maxNumInputs(self) -> int:
method maxNumOutputs (line 15246) | def maxNumOutputs(self) -> int:
method isGenerator (line 15257) | def isGenerator(self) -> bool:
method isManager (line 15269) | def isManager(self, include_management_types: bool = True) -> bool:
method hasUnorderedInputs (line 15283) | def hasUnorderedInputs(self) -> bool:
method hasEditableInputData (line 15299) | def hasEditableInputData(self) -> bool:
method parmTemplates (line 15312) | def parmTemplates(self) -> Tuple[ParmTemplate, ...]:
method parmTemplateGroup (line 15324) | def parmTemplateGroup(self) -> ParmTemplateGroup:
method hasPermanentUserDefaults (line 15338) | def hasPermanentUserDefaults(self) -> bool:
method isReadable (line 15350) | def isReadable(self) -> bool:
method isWritable (line 15360) | def isWritable(self) -> bool:
method areContentsViewable (line 15370) | def areContentsViewable(self) -> bool: ...
method containedNodeTypes (line 15371) | def containedNodeTypes(self) -> Tuple[str, ...]:
method childTypeCategory (line 15380) | def childTypeCategory(self) -> Optional[NodeTypeCategory]: ...
method helpUrl (line 15381) | def helpUrl(self) -> str:
method defaultHelpUrl (line 15392) | def defaultHelpUrl(self) -> str:
method embeddedHelp (line 15404) | def embeddedHelp(self) -> str:
method defaultShape (line 15423) | def defaultShape(self) -> str:
method setDefaultShape (line 15433) | def setDefaultShape(self, shape: str) -> None:
method defaultColor (line 15444) | def defaultColor(self) -> Color:
method setDefaultColor (line 15454) | def setDefaultColor(self, color: Color) -> None:
class ApexNodeType (line 15466) | class ApexNodeType(NodeType):
method __init__ (line 15479) | def __init__(self, *args, **kwargs) -> None: ...
method __hash__ (line 15481) | def __hash__(self) -> int: ...
method hidden (line 15482) | def hidden(self) -> bool:
method deprecated (line 15491) | def deprecated(self) -> bool:
method definition (line 15500) | def definition(self) -> Optional[HDADefinition]:
class OpNodeType (line 15511) | class OpNodeType(NodeType):
method __init__ (line 15531) | def __init__(self, *args, **kwargs) -> None: ...
method __hash__ (line 15533) | def __hash__(self) -> int: ...
method sectionData (line 15534) | def sectionData(self, name: str) -> str:
method binarySectionData (line 15546) | def binarySectionData(self, name: str) -> bytes:
method hasSectionData (line 15561) | def hasSectionData(self, name: str) -> bool:
method source (line 15571) | def source(self) -> EnumValue:
method sourcePath (line 15588) | def sourcePath(self) -> str:
method sourceNetwork (line 15604) | def sourceNetwork(self) -> Optional[Node]:
method definition (line 15614) | def definition(self) -> Optional[HDADefinition]:
method allInstalledDefinitions (line 15624) | def allInstalledDefinitions(self) -> Tuple[HDADefinition, ...]:
method uninstallFromPath (line 15640) | def uninstallFromPath(self, path: str) -> None: ...
method hdaModule (line 15641) | def hdaModule(self) -> Optional[HDAModule]:
method hdaViewerStateModule (line 15658) | def hdaViewerStateModule(self) -> Optional[HDAViewerStateModule]:
method hdaViewerHandleModule (line 15671) | def hdaViewerHandleModule(self) -> Optional[HDAViewerHandleModule]:
method aliases (line 15684) | def aliases(self) -> Tuple[str, ...]:
method addAlias (line 15694) | def addAlias(self, alias: str) -> None:
method removeAlias (line 15710) | def removeAlias(self, alias: str) -> None:
method hidden (line 15719) | def hidden(self) -> bool:
method setHidden (line 15729) | def setHidden(self, hidden: bool) -> None:
method deprecated (line 15739) | def deprecated(self) -> bool:
method deprecationInfo (line 15749) | def deprecationInfo(self) -> dict[str, str|Self]:
method instances (line 15775) | def instances(self) -> Tuple[OpNode, ...]:
method defaultState (line 15784) | def defaultState(self) -> str:
method boundHandles (line 15795) | def boundHandles(self) -> dict[str, str]:
method handleBindings (line 15806) | def handleBindings(self, bound_handle: str) -> dict[str, str]:
method generatorFlag (line 15819) | def generatorFlag(self) -> bool: ...
method managerFlag (line 15820) | def managerFlag(self) -> bool: ...
method unorderedInputsFlag (line 15821) | def unorderedInputsFlag(self) -> bool: ...
method category (line 15824) | def category(self) -> OpNodeTypeCategory: ...
class NodeTypeCategory (line 15826) | class NodeTypeCategory:
method __init__ (line 15881) | def __init__(self, *args, **kwargs) -> None: ...
method __eq__ (line 15883) | def __eq__(self, other: object) -> bool: ...
method __ne__ (line 15884) | def __ne__(self, other: object) -> bool: ...
method __hash__ (line 15885) | def __hash__(self) -> int: ...
method name (line 15886) | def name(self) -> str:
method typeName (line 15895) | def typeName(self) -> str: ...
method label (line 15896) | def label(self) -> str:
method nodeTypes (line 15906) | def nodeTypes(self) -> dict[str, NodeType]:
method nodeType (line 15937) | def nodeType(self, type_name: str) -> Optional[NodeType]:
method hasSubNetworkType (line 15948) | def hasSubNetworkType(self) -> bool:
method subNetworkType (line 15962) | def subNetworkType(self) -> Optional[NodeType]:
method defaultShape (line 15972) | def defaultShape(self) -> str: ...
method clearDefaultShapes (line 15973) | def clearDefaultShapes(self) -> None: ...
method setDefaultShape (line 15974) | def setDefaultShape(self, shape: str) -> None: ...
method defaultColor (line 15975) | def defaultColor(self) -> Color: ...
method clearDefaultColors (line 15976) | def clearDefaultColors(self) -> None: ...
method setDefaultColor (line 15977) | def setDefaultColor(self, color: Color) -> None: ...
method defaultWireStyle (line 15978) | def defaultWireStyle(self) -> str: ...
method setDefaultWireStyle (line 15979) | def setDefaultWireStyle(self, wirestyle: str) -> None: ...
class ApexNodeTypeCategory (line 15981) | class ApexNodeTypeCategory(NodeTypeCategory):
method __init__ (line 15997) | def __init__(self, *args, **kwargs) -> None: ...
method __hash__ (line 15999) | def __hash__(self) -> int: ...
class OpNodeTypeCategory (line 16001) | class OpNodeTypeCategory(NodeTypeCategory):
method __init__ (line 16051) | def __init__(self, *args, **kwargs) -> None: ...
method __hash__ (line 16053) | def __hash__(self) -> int: ...
method __eq__ (line 16054) | def __eq__(self, other: object) -> bool: ...
method __ne__ (line 16055) | def __ne__(self, other: object) -> bool: ...
method createDigitalAsset (line 16056) | def createDigitalAsset(self, name: Optional[str] = None, hda_file_name...
method nodeVerbs (line 16082) | def nodeVerbs(self) -> dict[str, OpVerb]:
method nodeVerb (line 16095) | def nodeVerb(self, verb_name: str) -> Optional[OpVerb]:
method viewerStates (line 16105) | def viewerStates(self, viewer_type: EnumValue) -> Tuple[ViewerState, ....
method loadDSO (line 16112) | def loadDSO(self, dso_path: str) -> None:
method nodeTypes (line 16125) | def nodeTypes(self) -> dict[str, OpNodeType]: ... # type: ignore[over...
method nodeType (line 16126) | def nodeType(self, type_name: str) -> Optional[OpNodeType]: ...
class ParmTemplate (line 16128) | class ParmTemplate:
method __init__ (line 16180) | def __init__(self, *args, **kwargs) -> None: ...
method __eq__ (line 16182) | def __eq__(self, other: object) -> bool: ...
method __ne__ (line 16183) | def __ne__(self, other: object) -> bool: ...
method __hash__ (line 16184) | def __hash__(self) -> int: ...
method clone (line 16185) | def clone(self) -> ParmTemplate:
method name (line 16197) | def name(self) -> str:
method setName (line 16217) | def setName(self, name: str) -> None:
method label (line 16233) | def label(self) -> str:
method setLabel (line 16243) | def setLabel(self, label: str) -> None:
method type (line 16253) | def type(self) -> EnumValue:
method dataType (line 16304) | def dataType(self) -> EnumValue:
method look (line 16319) | def look(self) -> EnumValue:
method setLook (line 16332) | def setLook(self, look: EnumValue) -> None:
method namingScheme (line 16343) | def namingScheme(self) -> EnumValue:
method setNamingScheme (line 16364) | def setNamingScheme(self, naming_scheme: EnumValue) -> None:
method numComponents (line 16376) | def numComponents(self) -> int:
method setNumComponents (line 16391) | def setNumComponents(self, num_components: int) -> None:
method disableWhen (line 16407) | def disableWhen(self) -> str:
method setDisableWhen (line 16416) | def setDisableWhen(self, disable_when: str) -> None:
method conditionals (line 16425) | def conditionals(self) -> dict[EnumValue, str]:
method setConditional (line 16437) | def setConditional(self, cond_type: EnumValue, conditional: str) -> None:
method isHidden (line 16451) | def isHidden(self) -> bool:
method hide (line 16460) | def hide(self, on: bool) -> None:
method isLabelHidden (line 16473) | def isLabelHidden(self) -> bool:
method hideLabel (line 16483) | def hideLabel(self, on: bool) -> None:
method joinsWithNext (line 16492) | def joinsWithNext(self) -> bool:
method setJoinWithNext (line 16502) | def setJoinWithNext(self, on: bool) -> None:
method joinWithNext (line 16512) | def joinWithNext(self) -> bool:
method help (line 16521) | def help(self) -> str:
method setHelp (line 16531) | def setHelp(self, help: str) -> None:
method scriptCallback (line 16541) | def scriptCallback(self) -> str:
method setScriptCallback (line 16556) | def setScriptCallback(self, script_callback: str) -> None:
method scriptCallbackLanguage (line 16568) | def scriptCallbackLanguage(self) -> EnumValue:
method setScriptCallbackLanguage (line 16583) | def setScriptCallbackLanguage(self, script_callback_language: EnumValu...
method tags (line 16594) | def tags(self) -> dict[str, str]:
method setTags (line 16607) | def setTags(self, tags: Mapping[str, str]) -> None:
method asCode (line 16618) | def asCode(self, function_name: Optional[str] = None, variable_name: O...
class ParmTemplateGroup (line 16686) | class ParmTemplateGroup:
method __init__ (line 16770) | def __init__(self, parm_templates: Sequence[ParmTemplate] = ...) -> None:
method __eq__ (line 16810) | def __eq__(self, other: object) -> bool: ...
method __ne__ (line 16811) | def __ne__(self, other: object) -> bool: ...
method find (line 16812) | def find(self, name: str) -> Optional[ParmTemplate]:
method findIndices (line 16846) | def findIndices(self, name_or_parm_template: ParmTemplate|str) -> Tupl...
method findFolder (line 16871) | def findFolder(self, label_or_labels: str|Sequence[str]) -> ParmTempla...
method findIndicesForFolder (line 16894) | def findIndicesForFolder(self, name_or_parm_template: ParmTemplate|str...
method entryAtIndices (line 16911) | def entryAtIndices(self, indices: Sequence[int]) -> ParmTemplate:
method containingFolderIndices (line 16942) | def containingFolderIndices(self, name_or_parm_template_or_indices: st...
method containingFolder (line 16959) | def containingFolder(self, name_or_parm_template: str|ParmTemplate) ->...
method entries (line 16977) | def entries(self) -> Tuple[ParmTemplate, ...]:
method parmTemplates (line 17010) | def parmTemplates(self) -> Tuple[ParmTemplate, ...]:
method entriesWithoutFolders (line 17031) | def entriesWithoutFolders(self) -> Tuple[ParmTemplate, ...]:
method replace (line 17051) | def replace(self, name_or_parm_template_or_indices: str|ParmTemplate|S...
method insertBefore (line 17082) | def insertBefore(self, name_or_parm_template_or_indices: str|ParmTempl...
method insertAfter (line 17098) | def insertAfter(self, name_or_parm_template_or_indices: str|ParmTempla...
method append (line 17114) | def append(self, parm_template: ParmTemplate) -> None:
method appendToFolder (line 17126) | def appendToFolder(self, label_or_labels_or_parm_template_or_indices: ...
method addParmTemplate (line 17151) | def addParmTemplate(self, parm_template: ParmTemplate) -> None:
method remove (line 17164) | def remove(self, name_or_parm_template_or_indices: str|ParmTemplate|Se...
method hide (line 17179) | def hide(self, name_or_parm_template_or_indices: str|ParmTemplate|Sequ...
method hideFolder (line 17201) | def hideFolder(self, label_or_labels: str|Sequence[str], on: bool) -> ...
method isHidden (line 17237) | def isHidden(self, name_or_parm_template_or_indices: str|ParmTemplate|...
method isFolderHidden (line 17255) | def isFolderHidden(self, label_or_labels: str|Sequence[str]) -> bool:
method clear (line 17275) | def clear(self) -> None:
method asDialogScript (line 17284) | def asDialogScript(self, rename_conflicting_parms: bool = ..., full_in...
method setToDialogScript (line 17315) | def setToDialogScript(self, dialog_script: str) -> None:
method asCode (line 17328) | def asCode(self, function_name: Optional[str] = None, variable_name: O...
method sourceNode (line 17345) | def sourceNode(self) -> Optional[Node]:
method sourceNodeType (line 17357) | def sourceNodeType(self) -> Optional[NodeType]:
method name (line 17371) | def name(self) -> str:
method setName (line 17382) | def setName(self, name: str) -> None:
method label (line 17393) | def label(self) -> str:
method setLabel (line 17404) | def setLabel(self, label: str) -> None:
class Pane (line 17417) | class Pane:
method __init__ (line 17434) | def __init__(self, *args, **kwargs) -> None: ...
method desktop (line 17436) | def desktop(self) -> Optional[Desktop]:
method id (line 17446) | def id(self) -> int: ...
method isMaximized (line 17447) | def isMaximized(self) -> bool:
method floatingPanel (line 17456) | def floatingPanel(self) -> Optional[FloatingPanel]: ...
method setIsMaximized (line 17457) | def setIsMaximized(self, on: bool) -> None:
method tabs (line 17466) | def tabs(self) -> Tuple[PaneTab, ...]:
method createTab (line 17475) | def createTab(self, type: EnumValue, python_panel_interface: Optional[...
method currentTab (line 17499) | def currentTab(self) -> PaneTab:
method tabOfType (line 17510) | def tabOfType(self, type: EnumValue, index: int = 0) -> Optional[PaneT...
method splitHorizontally (line 17527) | def splitHorizontally(self) -> Pane:
method splitVertically (line 17540) | def splitVertically(self) -> Pane:
method getSplitParent (line 17553) | def getSplitParent(self) -> Optional[Pane]:
method getSplitChild (line 17562) | def getSplitChild(self, child: int) -> Optional[Pane]:
method splitSwap (line 17571) | def splitSwap(self) -> None:
method splitRotate (line 17581) | def splitRotate(self) -> None:
method isSplitMaximized (line 17590) | def isSplitMaximized(self) -> bool:
method isSplitMinimized (line 17601) | def isSplitMinimized(self) -> bool:
method setIsSplitMaximized (line 17612) | def setIsSplitMaximized(self, on: bool) -> None:
method isSplit (line 17621) | def isSplit(self) -> bool:
method setSplitFraction (line 17630) | def setSplitFraction(self, value: float) -> None:
method getSplitFraction (line 17639) | def getSplitFraction(self) -> float:
method setSplitDirection (line 17648) | def setSplitDirection(self, dir: int) -> None:
method getSplitDirection (line 17657) | def getSplitDirection(self) -> int:
method setShowPaneTabs (line 17666) | def setShowPaneTabs(self, value: bool) -> None:
method showPaneTabs (line 17677) | def showPaneTabs(self, value: bool) -> None:
method isShowingPaneTabs (line 17686) | def isShowingPaneTabs(self) -> bool:
method showPaneTabsStow (line 17695) | def showPaneTabsStow(self, value: bool) -> None:
method isShowingPaneTabsStow (line 17705) | def isShowingPaneTabsStow(self) -> bool:
class PaneTab (line 17716) | class PaneTab:
method __init__ (line 17732) | def __init__(self, *args, **kwargs) -> None: ...
method __eq__ (line 17734) | def __eq__(self, other: object) -> bool: ...
method __ne__ (line 17735) | def __ne__(self, other: object) -> bool: ...
method __hash__ (line 17736) | def __hash__(self) -> int: ...
method pane (line 17737) | def pane(self) -> Optional[Pane]:
method floatingPanel (line 17753) | def floatingPanel(self) -> Optional[FloatingPanel]:
method name (line 17763) | def name(self) -> str:
method setName (line 17772) | def setName(self, name: str) -> None:
method isCurrentTab (line 17784) | def isCurrentTab(self) -> bool:
method setIsCurrentTab (line 17793) | def setIsCurrentTab(self) -> None:
method isFloating (line 17802) | def isFloating(self) -> bool:
method clone (line 17815) | def clone(self) -> PaneTab:
method close (line 17825) | def close(self) -> None:
method type (line 17834) | def type(self) -> EnumValue:
method setType (line 17844) | def setType(self, type: EnumValue) -> PaneTab:
method linkGroup (line 17855) | def linkGroup(self) -> EnumValue:
method setLinkGroup (line 17866) | def setLinkGroup(self, group: EnumValue) -> None:
method isPin (line 17875) | def isPin(self) -> bool:
method setPin (line 17887) | def setPin(self, pin: bool) -> None:
method tools (line 17907) | def tools(self) -> Tuple[Tool, ...]:
method size (line 17917) | def size(self) -> Tuple[int, ...]:
method contentSize (line 17930) | def contentSize(self) -> Tuple[int, ...]: ...
method hasNetworkControls (line 17931) | def hasNetworkControls(self) -> bool:
method isShowingNetworkControls (line 17940) | def isShowingNetworkControls(self) -> bool:
method setShowNetworkControls (line 17951) | def setShowNetworkControls(self, value: bool) -> None:
method showNetworkControls (line 17964) | def showNetworkControls(self, value: bool) -> None:
method displayRadialMenu (line 17975) | def displayRadialMenu(self, menu: str|RadialScriptItem) -> None:
class PathBasedPaneTab (line 17991) | class PathBasedPaneTab(PaneTab):
method __init__ (line 17998) | def __init__(self, *args, **kwargs) -> None: ...
method pwd (line 18000) | def pwd(self) -> Node:
method setPwd (line 18007) | def setPwd(self, node: Node) -> None:
method cd (line 18014) | def cd(self, path: str) -> None:
method currentNode (line 18021) | def currentNode(self) -> Node:
method setCurrentNode (line 18028) | def setCurrentNode(self, node: Node, pick_node: bool = True) -> None:
class DopData (line 18036) | class DopData:
method __init__ (line 18077) | def __init__(self, *args, **kwargs) -> None: ...
method __eq__ (line 18079) | def __eq__(self, other: object) -> bool: ...
method __ne__ (line 18080) | def __ne__(self, other: object) -> bool: ...
method freeze (line 18081) | def freeze(self) -> DopData:
method isFrozen (line 18095) | def isFrozen(self) -> bool:
method path (line 18106) | def path(self) -> str:
method selectionPath (line 18126) | def selectionPath(self) -> str:
method __hash__ (line 18141) | def __hash__(self) -> int: ...
method dopNetNode (line 18142) | def dopNetNode(self) -> OpNode:
method simulation (line 18151) | def simulation(self) -> DopSimulation:
method creator (line 18161) | def creator(self) -> OpNode:
method id (line 18171) | def id(self) -> str:
method dataType (line 18188) | def dataType(self) -> str:
method recordTypes (line 18203) | def recordTypes(self) -> Tuple[str, ...]:
method record (line 18214) | def record(self, record_type: str, record_index: int = 0) -> Optional[...
method records (line 18232) | def records(self, record_type: str) -> Iterator[DopRecord]:
method options (line 18252) | def options(self) -> DopRecord:
method subData (line 18262) | def subData(self) -> dict[str, DopData]:
method findSubData (line 18291) | def findSubData(self, data_spec: str) -> Optional[DopData]:
method findAllSubData (line 18313) | def findAllSubData(self, data_spec: str, recurse: bool = False) -> dic...
method createSubData (line 18335) | def createSubData(self, data_name: str, data_type: str = ..., avoid_na...
method attachSubData (line 18372) | def attachSubData(self, hom_new_subdata: DopData, new_data_name: str, ...
method removeSubData (line 18406) | def removeSubData(self, data_spec: str) -> None:
method copyContentsFrom (line 18418) | def copyContentsFrom(self, hom_data: DopData) -> None:
method fieldGeometry (line 18440) | def fieldGeometry(self, data_name: str) -> Optional[Geometry]: ...
method geometry (line 18441) | def geometry(self, data_name: Optional[str] = None) -> Optional[Geomet...
method editableGeometry (line 18442) | def editableGeometry(self, data_name: Optional[str] = None) -> Optiona...
class ShelfElement (line 18444) | class ShelfElement:
method __init__ (line 18454) | def __init__(self, *args, **kwargs) -> None: ...
method __eq__ (line 18456) | def __eq__(self, other: object) -> bool: ...
method __ne__ (line 18457) | def __ne__(self, other: object) -> bool: ...
method filePath (line 18458) | def filePath(self) -> str:
method setFilePath (line 18467) | def setFilePath(self, file_path: str|None) -> None:
method name (line 18476) | def name(self) -> str:
method setName (line 18489) | def setName(self, name: str) -> None:
method label (line 18507) | def label(self) -> str:
method setLabel (line 18516) | def setLabel(self, label: str) -> None:
method fileLocation (line 18526) | def fileLocation(self) -> str:
method isReadOnly (line 18537) | def isReadOnly(self) -> bool:
method setReadOnly (line 18546) | def setReadOnly(self, on: bool) -> None:
class _logging_Sink (line 18560) | class _logging_Sink:
method __init__ (line 18573) | def __init__(self, *args, **kwargs) -> None: ...
method connectedSources (line 18575) | def connectedSources(self) -> Tuple[str, ...]:
method connect (line 18584) | def connect(self, source_name: str) -> None:
method disconnect (line 18594) | def disconnect(self, source_name: str) -> None:
method setFilterCallback (line 18604) | def setFilterCallback(self, callback: Callable[[_logging_LogEntry], No...
class Agent (line 18618) | class Agent(PackedPrim):
method __init__ (line 18630) | def __init__(self, *args, **kwargs) -> None: ...
method definition (line 18632) | def definition(self) -> AgentDefinition:
method setDefinition (line 18641) | def setDefinition(self, definition: AgentDefinition) -> None:
method currentLayer (line 18660) | def currentLayer(self) -> AgentLayer:
method setCurrentLayer (line 18673) | def setCurrentLayer(self, layer: AgentLayer) -> None:
method collisionLayer (line 18691) | def collisionLayer(self) -> AgentLayer:
method setCollisionLayer (line 18704) | def setCollisionLayer(self, layer: AgentLayer) -> None:
method currentLayers (line 18722) | def currentLayers(self) -> Tuple[AgentLayer, ...]:
method setCurrentLayers (line 18731) | def setCurrentLayers(self, layers: Sequence[AgentLayer]) -> None:
method collisionLayers (line 18747) | def collisionLayers(self) -> Tuple[AgentLayer, ...]:
method setCollisionLayers (line 18756) | def setCollisionLayers(self, layers: Sequence[AgentLayer]) -> None:
method clips (line 18772) | def clips(self) -> Tuple[AgentClip, ...]:
method setClips (line 18781) | def setClips(self, clips: Sequence[AgentClip]) -> None:
method clipTimes (line 18797) | def clipTimes(self) -> Tuple[float, ...]:
method setClipTimes (line 18806) | def setClipTimes(self, times: Sequence[float]) -> None:
method clipWeights (line 18822) | def clipWeights(self) -> Tuple[float, ...]: ...
method setClipWeights (line 18823) | def setClipWeights(self, weights: Sequence[float]) -> None:
method localTransform (line 18839) | def localTransform(self, i: int) -> Matrix4:
method setLocalTransform (line 18853) | def setLocalTransform(self, xform: Matrix4, i: int) -> None:
method worldTransform (line 18872) | def worldTransform(self, i: int) -> Matrix4:
method setWorldTransform (line 18886) | def setWorldTransform(self, xform: Matrix4, i: int) -> None:
method channelValue (line 18905) | def channelValue(self, i: int) -> float:
method setChannelValue (line 18918) | def setChannelValue(self, value: float, i: int) -> None:
method clipCatalog (line 18936) | def clipCatalog(self) -> AgentClip: ...
method layers (line 18937) | def layers(self) -> AgentLayer: ...
method rig (line 18938) | def rig(self) -> AgentRig: ...
method shapeLibrary (line 18939) | def shapeLibrary(self) -> AgentShapeLibrary: ...
class AgentClip (line 18941) | class AgentClip:
method __init__ (line 18953) | def __init__(self, name: str, stage: pxr.Usd.Stage, prim_path: str, ri...
method __eq__ (line 18981) | def __eq__(self, other: object) -> bool: ...
method __ne__ (line 18982) | def __ne__(self, other: object) -> bool: ...
method __hash__ (line 18983) | def __hash__(self) -> int: ...
method freeze (line 18984) | def freeze(self) -> AgentClip:
method name (line 18994) | def name(self) -> str:
method fileName (line 19003) | def fileName(self, expanded: bool = False) -> str:
method isLoaded (line 19018) | def isLoaded(self) -> bool:
method loadFromFile (line 19028) | def loadFromFile(self) -> None:
method length (line 19043) | def length(self) -> float:
method startTime (line 19052) | def startTime(self) -> float:
method sampleCount (line 19061) | def sampleCount(self) -> int:
method sampleRate (line 19070) | def sampleRate(self) -> float:
method addChannel (line 19079) | def addChannel(self, name: str, samples: Sequence[float]) -> None:
method sampleLocal (line 19100) | def sampleLocal(self, time: float, transform: int) -> Matrix4:
method sampleWorld (line 19117) | def sampleWorld(self, time: float, transform: int) -> Matrix4:
method localTransforms (line 19134) | def localTransforms(self, sample: int) -> Tuple[Matrix4, ...]:
method worldTransforms (line 19148) | def worldTransforms(self, sample: int) -> Tuple[Matrix4, ...]:
method allLocalTransformValues (line 19162) | def allLocalTransformValues(self) -> Tuple[float, ...]:
method setAllLocalTransformValues (line 19174) | def setAllLocalTransformValues(self, values: Sequence[float]) -> None:
method setLocalTransforms (line 19193) | def setLocalTransforms(self, sample: int, xforms: typing.Iterable[Matr...
method sample (line 19213) | def sample(self, time: float, channel: str) -> float:
method channelNames (line 19231) | def channelNames(self) -> Tuple[str, ...]:
method data (line 19241) | def data(self, binary: bool, worldspace: bool = False) -> bytes:
method extractLocomotion (line 19263) | def extractLocomotion(self, cog_transform: int, cog_lookat_transform: ...
class AgentDefinition (line 19298) | class AgentDefinition:
method __init__ (line 19321) | def __init__(self, rig: AgentRig, shapelib: AgentShapeLibrary) -> None:
method __eq__ (line 19338) | def __eq__(self, other: object) -> bool: ...
method __ne__ (line 19339) | def __ne__(self, other: object) -> bool: ...
method __hash__ (line 19340) | def __hash__(self) -> int: ...
method freeze (line 19341) | def freeze(self, new_shapelib: Optional[AgentShapeLibrary] = None, new...
method rig (line 19361) | def rig(self) -> AgentRig:
method shapeLibrary (line 19370) | def shapeLibrary(self) -> AgentShapeLibrary:
method layers (line 19379) | def layers(self) -> Iterator[AgentLayer]:
method findLayer (line 19388) | def findLayer(self, name: str) -> Optional[AgentLayer]:
method clips (line 19398) | def clips(self) -> Iterator[AgentClip]:
method findClip (line 19407) | def findClip(self, name: str) -> Optional[AgentClip]:
method transformGroups (line 19417) | def transformGroups(self) -> Iterator[AgentTransformGroup]:
method findTransformGroup (line 19426) | def findTransformGroup(self, name: str) -> Optional[AgentTransformGroup]:
method addClip (line 19436) | def addClip(self, clip: AgentClip) -> None:
method removeClip (line 19455) | def removeClip(self, name: str) -> None:
method addLayer (line 19471) | def addLayer(self, layer: AgentLayer) -> None:
method removeLayer (line 19490) | def removeLayer(self, name: str) -> None:
method addTransformGroup (line 19506) | def addTransformGroup(self, group: AgentTransformGroup) -> None:
method removeTransformGroup (line 19525) | def removeTransformGroup(self, name: str) -> None:
method metadata (line 19541) | def metadata(self) -> AgentMetadata:
method setMetadata (line 19556) | def setMetadata(self, metadata: AgentMetadata) -> None: ...
class AgentLayer (line 19558) | class AgentLayer:
method __init__ (line 19570) | def __init__(self, name: str, rig: AgentRig, shapelib: AgentShapeLibra...
method __eq__ (line 19598) | def __eq__(self, other: object) -> bool: ...
method __ne__ (line 19599) | def __ne__(self, other: object) -> bool: ...
method __hash__ (line 19600) | def __hash__(self) -> int: ...
method asJSON (line 19601) | def asJSON(self) -> str:
method name (line 19610) | def name(self) -> str:
method fileName (line 19619) | def fileName(self, expanded: bool = False) -> str:
method bindings (line 19634) | def bindings(self, transform: int|None = ...) -> Tuple[AgentShapeBindi...
method staticBindings (line 19649) | def staticBindings(self) -> Tuple[AgentShapeBinding, ...]:
method deformingBindings (line 19659) | def deformingBindings(self) -> Tuple[AgentShapeBinding, ...]:
class AgentMetadata (line 19670) | class AgentMetadata:
method __init__ (line 19687) | def __init__(self, data: Mapping[str, Any]) -> None:
method __eq__ (line 19701) | def __eq__(self, other: object) -> bool: ...
method __ne__ (line 19702) | def __ne__(self, other: object) -> bool: ...
method __hash__ (line 19703) | def __hash__(self) -> int: ...
method freeze (line 19704) | def freeze(self) -> AgentMetadata:
method isReadOnly (line 19714) | def isReadOnly(self) -> bool:
method asJSON (line 19723) | def asJSON(self) -> str:
method fileName (line 19732) | def fileName(self, expanded: bool = False) -> str:
method data (line 19747) | def data(self) -> dict[str, Any]:
method setData (line 19756) | def setData(self, data: Mapping[str, Any]) -> None:
class AgentRig (line 19771) | class AgentRig:
method __init__ (line 19783) | def __init__(self, name: str, transform_names: Sequence[str], hierarch...
method __eq__ (line 19811) | def __eq__(self, other: object) -> bool: ...
method __ne__ (line 19812) | def __ne__(self, other: object) -> bool: ...
method __hash__ (line 19813) | def __hash__(self) -> int: ...
method freeze (line 19814) | def freeze(self) -> AgentRig:
method asJSON (line 19824) | def asJSON(self) -> str:
method name (line 19833) | def name(self) -> str:
method fileName (line 19842) | def fileName(self, expanded: bool = False) -> str:
method transformCount (line 19857) | def transformCount(self) -> int:
method transformName (line 19866) | def transformName(self, i: int) -> str:
method findTransform (line 19879) | def findTransform(self, transform_name: str) -> int:
method parentIndex (line 19893) | def parentIndex(self, transform: int) -> int:
method childIndices (line 19907) | def childIndices(self, transform: int) -> Tuple[int, ...]:
method setRestLocalTransforms (line 19920) | def setRestLocalTransforms(self, xforms: typing.Iterable[Matrix4]) -> ...
method restLocalTransform (line 19937) | def restLocalTransform(self, i: int) -> Matrix4:
method restWorldTransform (line 19951) | def restWorldTransform(self, i: int) -> Matrix4:
method channelCount (line 19965) | def channelCount(self) -> int:
method channelName (line 19974) | def channelName(self, i: int) -> str:
method channelDefaultValue (line 19987) | def channelDefaultValue(self, i: int) -> float:
method channelTransform (line 20000) | def channelTransform(self, i: int) -> int:
method findChannel (line 20014) | def findChannel(self, channel_name: str) -> int:
method addChannel (line 20028) | def addChannel(self, name: str, default_value: float = 0.0, transform:...
class AgentShape (line 20052) | class AgentShape:
method __init__ (line 20076) | def __init__(self, *args, **kwargs) -> None: ...
method __eq__ (line 20078) | def __eq__(self, other: object) -> bool: ...
method __ne__ (line 20079) | def __ne__(self, other: object) -> bool: ...
method __hash__ (line 20080) | def __hash__(self) -> int: ...
method name (line 20081) | def name(self) -> str:
method uniqueId (line 20090) | def uniqueId(self) -> int:
method geometry (line 20099) | def geometry(self) -> Geometry:
method freeze (line 20108) | def freeze(self) -> AgentShape:
method setGeometry (line 20118) | def setGeometry(self, geometry: Geometry) -> None:
class AgentShapeBinding (line 20133) | class AgentShapeBinding:
method __init__ (line 20146) | def __init__(self, shape: AgentShape, deformer: AgentShapeDeformer, bo...
method __eq__ (line 20172) | def __eq__(self, other: object) -> bool: ...
method __ne__ (line 20173) | def __ne__(self, other: object) -> bool: ...
method __hash__ (line 20174) | def __hash__(self) -> int: ...
method shapeName (line 20175) | def shapeName(self) -> str:
method shapeId (line 20184) | def shapeId(self) -> int:
method transformId (line 20194) | def transformId(self) -> int:
method isDeforming (line 20204) | def isDeforming(self) -> bool:
method boundsScale (line 20213) | def boundsScale(self) -> Vector3:
method shape (line 20222) | def shape(self) -> AgentShape:
method deformer (line 20231) | def deformer(self) -> AgentShapeDeformer:
class AgentShapeDeformer (line 20242) | class AgentShapeDeformer:
method __init__ (line 20258) | def __init__(self, name: str|EnumValue) -> None:
method __eq__ (line 20282) | def __eq__(self, other: object) -> bool: ...
method __ne__ (line 20283) | def __ne__(self, other: object) -> bool: ...
method __hash__ (line 20284) | def __hash__(self) -> int: ...
method name (line 20285) | def name(self) -> str:
class AgentShapeLibrary (line 20295) | class AgentShapeLibrary:
method __init__ (line 20307) | def __init__(self, filename: str, keep_external_ref: bool = ...) -> None:
method __eq__ (line 20335) | def __eq__(self, other: object) -> bool: ...
method __ne__ (line 20336) | def __ne__(self, other: object) -> bool: ...
method __hash__ (line 20337) | def __hash__(self) -> int: ...
method freeze (line 20338) | def freeze(self, keep_external_ref: bool = False) -> AgentShapeLibrary:
method name (line 20358) | def name(self) -> str:
method fileName (line 20367) | def fileName(self, expanded: bool = False) -> str:
method findShape (line 20382) | def findShape(self, name: str) -> Optional[AgentShape]:
method shapes (line 20392) | def shapes(self) -> Tuple[AgentShape, ...]:
method data (line 20401) | def data(self) -> Geometry:
method addShape (line 20411) | def addShape(self, name: str, geometry: Geometry) -> AgentShape:
class AgentTransformGroup (line 20431) | class AgentTransformGroup:
method __init__ (line 20443) | def __init__(self, name: str, transforms: Sequence[int], rig: AgentRig...
method __eq__ (line 20473) | def __eq__(self, other: object) -> bool: ...
method __ne__ (line 20474) | def __ne__(self, other: object) -> bool: ...
method __hash__ (line 20475) | def __hash__(self) -> int: ...
method asJSON (line 20476) | def asJSON(self) -> str:
method name (line 20485) | def name(self) -> str:
method fileName (line 20494) | def fileName(self, expanded: bool = False) -> str:
method transformIndices (line 20509) | def transformIndices(self) -> Tuple[int, ...]:
method weights (line 20518) | def weights(self) -> Tuple[float, ...]:
method channelIndices (line 20527) | def channelIndices(self) -> Tuple[int, ...]:
class anim (line 20537) | class anim:
method __init__ (line 20547) | def __init__(self, *args, **kwargs) -> None: ...
method bookmarks (line 20550) | def bookmarks() -> Tuple[Bookmark, ...]:
method saveBookmarks (line 20560) | def saveBookmarks(filename: str, bookmarks: Sequence[Bookmark]|None = ...
method loadBookmarks (line 20587) | def loadBookmarks(filename: str, remove_existing: bool = True) -> bool:
method saveBookmarksToString (line 20608) | def saveBookmarksToString(bookmarks: Sequence[Bookmark]|None = ..., in...
method loadBookmarksFromString (line 20633) | def loadBookmarksFromString(data: bytes, remove_existing: bool = True)...
method clearBookmarks (line 20651) | def clearBookmarks() -> None:
method newBookmark (line 20662) | def newBookmark(name: str, start: float, end: float) -> Bookmark:
method bookmark (line 20674) | def bookmark(bookmark_id: int) -> Optional[Bookmark]:
method getBookmark (line 20685) | def getBookmark(bookmark_id: int) -> Optional[Bookmark]:
method removeBookmarks (line 20698) | def removeBookmarks(bm: Sequence[Bookmark]) -> None:
method mergeGeometryChannels (line 20710) | def mergeGeometryChannels(collection_name: str, geometry: Geometry, ch...
method getGeometryChannels (line 20742) | def getGeometryChannels(collection_name: str, geometry: Geometry, chan...
method setGeometryChannels (line 20777) | def setGeometryChannels(collection_name: str, geometry: Geometry, chan...
method setGeometryChannelsFromPattern (line 20801) | def setGeometryChannelsFromPattern(collection_name: str, geometry: Geo...
method setGeometryChannelPending (line 20824) | def setGeometryChannelPending(collection_name: str, channel_name: str,...
method isGeometryChannelPending (line 20846) | def isGeometryChannelPending(collection_name: str, channel_name: str) ...
method isGeometryChannelPinned (line 20863) | def isGeometryChannelPinned(collection_name: str, channel_names: str|N...
method pinnedGeometryChannels (line 20882) | def pinnedGeometryChannels(collection_name: str) -> Tuple[str, ...]:
method getPinnedGeometryChannels (line 20897) | def getPinnedGeometryChannels(collection_name: str) -> Tuple[str, ...]:
method lockGeometryChannelCollection (line 20915) | def lockGeometryChannelCollection(collection_name: str, lock: bool) ->...
method addBookmarksChangedCallback (line 20933) | def addBookmarksChangedCallback(callback: Callable) -> None:
method removeBookmarksChangedCallback (line 20944) | def removeBookmarksChangedCallback(callback: Callable) -> None:
method addGeometryChannelsChangedCallback (line 20954) | def addGeometryChannelsChangedCallback(collection_name: str, callback:...
method removeGeometryChannelsChangedCallback (line 20991) | def removeGeometryChannelsChangedCallback(collection_name: str, callba...
method slopeMode (line 21016) | def slopeMode() -> EnumValue:
method setSlopeMode (line 21027) | def setSlopeMode(mode: EnumValue) -> None:
class AnimBar (line 21043) | class AnimBar:
method __init__ (line 21058) | def __init__(self, *args, **kwargs) -> None: ...
method tools (line 21060) | def tools(self, shown_only: bool = True) -> Tuple[str, ...]:
method hiddenTools (line 21072) | def hiddenTools(self) -> Tuple[str, ...]:
method setTools (line 21082) | def setTools(self, tool_ids: Sequence[str]) -> None:
method removeTool (line 21095) | def removeTool(self, id: str) -> None:
method addTool (line 21104) | def addTool(self, id: str, index: int = -1) -> None:
method reset (line 21120) | def reset(self) -> None:
method showLabels (line 21130) | def showLabels(self, show: bool) -> None:
method labelsShown (line 21139) | def labelsShown(self) -> bool:
method setToolSize (line 21149) | def setToolSize(self, tool_size: EnumValue) -> None:
method toolSize (line 21160) | def toolSize(self) -> EnumValue:
class anonstats (line 21170) | class anonstats:
method __init__ (line 21172) | def __init__(self, *args, **kwargs) -> None: ...
method recordOccurrence (line 21175) | def recordOccurrence(key: str) -> None: ...
method recordString (line 21177) | def recordString(key: str, value: str) -> None: ...
method hasString (line 21179) | def hasString(key: str) -> bool: ...
method getString (line 21181) | def getString(key: str) -> str: ...
method incrementCount (line 21183) | def incrementCount(key: str, count: int = 1) -> None: ...
method logEvent (line 21185) | def logEvent(key: str, message: str) -> None: ...
method addSum (line 21187) | def addSum(key: str, stat_value: float, count: int = 1) -> None: ...
class AssetBrowser (line 21189) | class AssetBrowser(PathBasedPaneTab):
method __init__ (line 21191) | def __init__(self, *args, **kwargs) -> None: ...
method reload (line 21193) | def reload(self) -> None: ...
method installRequiredDefinitionsForNodeTypeName (line 21194) | def installRequiredDefinitionsForNodeTypeName(self, node_type_name: st...
method storeUpdateSessionKey (line 21195) | def storeUpdateSessionKey(self, session_key: str) -> None: ...
method updateAssetDownloadFraction (line 21196) | def updateAssetDownloadFraction(self, node_type_name: str, downloaded_...
method storeSyncSessionKey (line 21197) | def storeSyncSessionKey(self, session_key: str) -> None: ...
class AssetGalleryDataSource (line 21199) | class AssetGalleryDataSource:
method __init__ (line 21247) | def __init__(self, source_identifier: str, args: Optional[str] = None)...
method __hash__ (line 21259) | def __hash__(self) -> int: ...
method isValid (line 21260) | def isValid(self) -> bool:
method isReadOnly (line 21273) | def isReadOnly(self) -> bool:
method sourceIdentifier (line 21286) | def sourceIdentifier(self) -> str:
method sourceArgs (line 21296) | def sourceArgs(self) -> str:
method infoHtml (line 21305) | def infoHtml(self) -> str:
method startTransaction (line 21317) | def startTransaction(self) -> None:
method endTransaction (line 21329) | def endTransaction(self, commit: bool = True) -> None:
method itemIds (line 21344) | def itemIds(self) -> Tuple[str, ...]:
method updatedItemIds (line 21356) | def updatedItemIds(self) -> Tuple[str, ...]: ...
method childItemIds (line 21357) | def childItemIds(self, parent: str) -> Tuple[str, ...]:
method sourceTypeName (line 21368) | def sourceTypeName(self, item_id: Optional[str] = None) -> str:
method typeName (line 21382) | def typeName(self, item_id: str) -> str:
method label (line 21393) | def label(self, item_id: str) -> str:
method thumbnail (line 21404) | def thumbnail(self, item_id: str) -> bytes:
method creationDate (line 21413) | def creationDate(self, item_id: str) -> int:
method modificationDate (line 21423) | def modificationDate(self, item_id: str) -> int:
method isStarred (line 21433) | def isStarred(self, item_id: str) -> bool:
method colorTag (line 21442) | def colorTag(self, item_id: str) -> str:
method tags (line 21454) | def tags(self, item_id: str) -> Tuple[str, ...]:
method filePath (line 21464) | def filePath(self, item_id: str) -> str:
method ownsFile (line 21477) | def ownsFile(self, item_id: str) -> bool:
method blindData (line 21489) | def blindData(self, item_id: str) -> bytes:
method status (line 21505) | def status(self, item_id: str) -> str:
method parentId (line 21517) | def parentId(self, item_id: str) -> str:
method prepareItemForUse (line 21528) | def prepareItemForUse(self, item_id: str) -> str:
method setLabel (line 21541) | def setLabel(self, item_id: str, label: str) -> bool:
method setThumbnail (line 21551) | def setThumbnail(self, item_id: str, thumbnail: bytes) -> bool:
method setModificationDate (line 21561) | def setModificationDate(self, item_id: str, timestamp: int) -> bool:
method setIsStarred (line 21571) | def setIsStarred(self, item_id: str, isstarred: bool) -> bool:
method setColorTag (line 21581) | def setColorTag(self, item_id: str, color_tag: str) -> bool:
method setMetadata (line 21591) | def setMetadata(self, item_id: str, metadata: dict[str, Any]) -> bool:
method setFilePath (line 21601) | def setFilePath(self, item_id: str, file_path: str) -> bool:
method setOwnsFile (line 21611) | def setOwnsFile(self, item_id: str, owns_file: bool) -> bool:
method setBlindData (line 21621) | def setBlindData(self, item_id: str, data: bytes) -> bool:
method setParentId (line 21631) | def setParentId(self, item_id: str, parent_item_id: str) -> bool:
method createTag (line 21642) | def createTag(self, tag: str) -> bool:
method deleteTag (line 21652) | def deleteTag(self, tag: str, delete_if_assigned: bool) -> bool:
method addTag (line 21666) | def addTag(self, item_id: str, tag: str) -> bool:
method removeTag (line 21677) | def removeTag(self, item_id: str, tag: str) -> bool:
method generateItemFilePath (line 21688) | def generateItemFilePath(self, item_id: str, file_ext: str) -> str:
method addItem (line 21700) | def addItem(self, label: str, file_path: str|None = ..., thumbnail: by...
method markItemsForDeletion (line 21713) | def markItemsForDeletion(self, item_ids: Sequence[str]) -> bool:
method unmarkItemsForDeletion (line 21731) | def unmarkItemsForDeletion(self, item_ids: Sequence[str]) -> bool:
method saveAs (line 21744) | def saveAs(self, source_identifier: str) -> bool:
method metadata (line 21754) | def metadata(self, item_id: str) -> Any:
class Attrib (line 21766) | class Attrib:
method __init__ (line 21802) | def __init__(self, *args, **kwargs) -> None: ...
method __eq__ (line 21804) | def __eq__(self, other: object) -> bool: ...
method __ne__ (line 21805) | def __ne__(self, other: object) -> bool: ...
method __hash__ (line 21806) | def __hash__(self) -> int: ...
method destroy (line 21807) | def destroy(self) -> None:
method geometry (line 21823) | def geometry(self) -> Geometry:
method name (line 21832) | def name(self) -> str:
method dataType (line 21842) | def dataType(self) -> EnumValue:
method type (line 21858) | def type(self) -> EnumValue:
method isArrayType (line 21867) | def isArrayType(self) -> bool:
method numericDataType (line 21877) | def numericDataType(self) -> EnumValue:
method qualifier (line 21886) | def qualifier(self) -> str:
method size (line 21898) | def size(self) -> int:
method setSize (line 21908) | def setSize(self, size: int) -> None:
method isTransformedAsVector (line 21918) | def isTransformedAsVector(self) -> bool: ...
method isTransformedAsNormal (line 21919) | def isTransformedAsNormal(self) -> bool:
method boostAnyDefaultValue (line 21933) | def boostAnyDefaultValue(self) -> Any: ...
method stringCount (line 21934) | def stringCount(self) -> int:
method strings (line 21944) | def strings(self) -> Tuple[str, ...]:
method replaceString (line 21971) | def replaceString(self, before: str, after: str) -> bool: ...
method dictCount (line 21972) | def dictCount(self) -> int:
method dicts (line 21982) | def dicts(self) -> Tuple[dict[str, Any], ...]:
method indexPairPropertyTables (line 22012) | def indexPairPropertyTables(self) -> Tuple[IndexPairPropertyTable, ...]:
method optionType (line 22022) | def optionType(self, option_name: str) -> EnumValue:
method setOption (line 22033) | def setOption(self, name: str, value: OptionMultiArgType, type_hint: E...
method removeOption (line 22057) | def removeOption(self, name: str) -> None:
method dataId (line 22070) | def dataId(self) -> AttribDataId:
method incrementDataId (line 22079) | def incrementDataId(self) -> None:
method defaultValue (line 22089) | def defaultValue(self) -> AttribReturnType:
method options (line 22103) | def options(self) -> dict[str, OptionMultiReturnType]:
method option (line 22118) | def option(self, option_name: str) -> OptionMultiReturnType: ...
class AttribDataId (line 22120) | class AttribDataId:
method __init__ (line 22150) | def __init__(self) -> None:
method __eq__ (line 22161) | def __eq__(self, other: object) -> bool: ...
method __ne__ (line 22162) | def __ne__(self, other: object) -> bool: ...
method __hash__ (line 22163) | def __hash__(self) -> int: ...
method isValid (line 22164) | def isValid(self) -> bool:
method vexAttribDataId (line 22173) | def vexAttribDataId(self) -> Tuple[int, ...]:
class audio (line 22185) | class audio:
method __init__ (line 22195) | def __init__(self, *args, **kwargs) -> None: ...
method turnOffAudio (line 22198) | def turnOffAudio() -> None:
method useTimeLineMode (line 22208) | def useTimeLineMode() -> None:
method useTimeSliceMode (line 22222) | def useTimeSliceMode() -> None:
method useTestMode (line 22232) | def useTestMode() -> None:
method setMono (line 22251) | def setMono(on: bool) -> None:
method setVolumeTied (line 22261) | def setVolumeTied(on: bool) -> None:
method setMeter (line 22273) | def setMeter(on: bool) -> None:
method setLeftVolume (line 22284) | def setLeftVolume(volume: float) -> None:
method setRightVolume (line 22294) | def setRightVolume(volume: float) -> None:
method useChops (line 22304) | def useChops() -> None:
method useAudioFile (line 22314) | def useAudioFile() -> None:
method setChopPath (line 22324) | def setChopPath(node_path: str) -> None:
method setAudioFileName (line 22340) | def setAudioFileName(file_name: str) -> None:
method setAudioOffset (line 22352) | def setAudioOffset(time_offset: float) -> None:
method setAudioFrame (line 22364) | def setAudioFrame(frame: float) -> None:
method setScrubRepeat (line 22375) | def setScrubRepeat(on: bool) -> None:
method setScrubSustain (line 22386) | def setScrubSustain(sustain: float) -> None:
method setScrubRate (line 22401) | def setScrubRate(scrub_rate: float) -> None:
method setScrubLength (line 22415) | def setScrubLength(scrub_length: float) -> None:
method reverse (line 22427) | def reverse() -> None:
method stop (line 22438) | def stop() -> None:
method play (line 22449) | def play() -> None:
method setLooping (line 22461) | def setLooping(on: bool) -> None:
method setRewind (line 22473) | def setRewind(on: bool) -> None:
class Bookmark (line 22486) | class Bookmark:
method __init__ (line 22499) | def __init__(self, *args, **kwargs) -> None: ...
method name (line 22501) | def name(self) -> str:
method setName (line 22510) | def setName(self, name: str) -> None:
method startFrame (line 22519) | def startFrame(self) -> int:
method setStartFrame (line 22528) | def setStartFrame(self, start: float) -> None:
method endFrame (line 22537) | def endFrame(self) -> int:
method setEndFrame (line 22546) | def setEndFrame(self, end: float) -> None:
method comment (line 22555) | def comment(self) -> str:
method setComment (line 22564) | def setComment(self, comment: str) -> None:
method color (line 22573) | def color(self) -> Color:
method setColor (line 22582) | def setColor(self, color: Color) -> None:
method visible (line 22593) | def visible(self) -> bool:
method setVisible (line 22602) | def setVisible(self, visible: bool) -> None:
method sessionId (line 22611) | def sessionId(self) -> int:
method isTemporary (line 22621) | def isTemporary(self) -> bool:
method setTemporary (line 22630) | def setTemporary(self, temporary: bool) -> None:
method isEnabled (line 22643) | def isEnabled(self) -> bool:
method enable (line 22652) | def enable(self, enabled: bool) -> None:
method setMetadata (line 22662) | def setMetadata(self, key: str, value: Any, type_hint: EnumValue = ......
method metadata (line 22682) | def metadata(self, key: str, default_value: Any = ...) -> Any:
class BoundingBox (line 22701) | class BoundingBox:
method __init__ (line 22716) | def __init__(self, bbox_or_xmin: float|BoundingBox = ..., ymin: float ...
method __eq__ (line 22729) | def __eq__(self, other: object) -> bool: ...
method __ne__ (line 22730) | def __ne__(self, other: object) -> bool: ...
method isAlmostEqual (line 22731) | def isAlmostEqual(self, bbox: BoundingBox, tolerance: float = 1e-05) -...
method almostEqual (line 22741) | def almostEqual(self, bbox: BoundingBox, tolerance: float = 1e-05) -> ...
method __hash__ (line 22742) | def __hash__(self) -> int: ...
method __mul__ (line 22743) | def __mul__(self, matrix4: Matrix4) -> BoundingBox:
method isValid (line 22754) | def isValid(self) -> bool:
method setTo (line 22763) | def setTo(self, tuple: Sequence[float]) -> None:
method minvec (line 22775) | def minvec(self) -> Vector3:
method maxvec (line 22785) | def maxvec(self) -> Vector3:
method sizevec (line 22795) | def sizevec(self) -> Vector3:
method center (line 22809) | def center(self) -> Vector3:
method enlargeToContain (line 22822) | def enlargeToContain(self, point_or_bbox: Sequence[float]|Vector3, Bou...
method contains (line 22835) | def contains(self, point: Sequence[float]) -> bool:
class BoundingRect (line 22846) | class BoundingRect:
method __init__ (line 22859) | def __init__(self, brect_or_p1_or_xmin: BoundingRect|Vector2|float, p2...
method __eq__ (line 22870) | def __eq__(self, other: object) -> bool: ...
method __ne__ (line 22871) | def __ne__(self, other: object) -> bool: ...
method isAlmostEqual (line 22872) | def isAlmostEqual(self, rect: BoundingRect, tolerance: float = 1e-05) ...
method __hash__ (line 22888) | def __hash__(self) -> int: ...
method isValid (line 22889) | def isValid(self) -> bool:
method setTo (line 22905) | def setTo(self, tuple: Sequence[float]) -> None:
method translate (line 22917) | def translate(self, tuple: Sequence[float]) -> None:
method scale (line 22931) | def scale(self, tuple: Sequence[float]) -> None:
method expand (line 22953) | def expand(self, tuple: Sequence[float]) -> None:
method min (line 22979) | def min(self) -> Vector2:
method max (line 22989) | def max(self) -> Vector2:
method size (line 22999) | def size(self) -> Vector2:
method center (line 23013) | def center(self) -> Vector2:
method getOffsetToAvoid (line 23026) | def getOffsetToAvoid(self, bounds: BoundingRect, direction: Optional[V...
method enlargeToContain (line 23047) | def enlargeToContain(self, point_or_rect: Sequence[float]|Vector2|Boun...
method intersect (line 23068) | def intersect(self, rect: BoundingRect) -> None:
method intersects (line 23082) | def intersects(self, rect: BoundingRect) -> bool:
method contains (line 23099) | def contains(self, rect: BoundingRect) -> bool:
method closestPoint (line 23114) | def closestPoint(self, point: Sequence[float]) -> Vector2:
class ButtonParmTemplate (line 23133) | class ButtonParmTemplate(ParmTemplate):
method __init__ (line 23143) | def __init__(self, name: str, label: str, disable_when: str|None = ......
class ChannelEditorPane (line 23191) | class ChannelEditorPane(PaneTab):
method __init__ (line 23198) | def __init__(self, *args, **kwargs) -> None: ...
method graph (line 23200) | def graph(self) -> Optional[ChannelGraph]:
method channelListSplitFraction (line 23209) | def channelListSplitFraction(self) -> float:
method setChannelListSplitFraction (line 23219) | def setChannelListSplitFraction(self, split_fraction: float) -> None:
method displayFilter (line 23229) | def displayFilter(self) -> str:
method setDisplayFilter (line 23238) | def setDisplayFilter(self, filter: str) -> None:
method editorMode (line 23248) | def editorMode(self) -> EnumValue:
method setEditorMode (line 23257) | def setEditorMode(self, mode: EnumValue) -> None:
method templateFilter (line 23266) | def templateFilter(self) -> str:
method setTemplateFilter (line 23275) | def setTemplateFilter(self, filter: str) -> None:
method colorsCallback (line 23285) | def colorsCallback(self) -> str:
method setColorsCallback (line 23294) | def setColorsCallback(self, cb: str) -> bool:
method unregisterColorsCallback (line 23306) | def unregisterColorsCallback(self, cb_class: str) -> bool:
method colorsCallbacks (line 23318) | def colorsCallbacks(self) -> Tuple[str, ...]:
method registerColorsCallback (line 23327) | def registerColorsCallback(self, cb_class: str, callback: Any) -> bool:
method channelList (line 23400) | def channelList(self) -> Optional[ChannelList]: ...
method setChannelList (line 23401) | def setChannelList(self, l: ChannelList) -> None: ...
method channelListPinned (line 23402) | def channelListPinned(self) -> bool: ...
method setChannelListPinned (line 23403) | def setChannelListPinned(self, pinned: bool) -> None: ...
method isAnimBarShown (line 23404) | def isAnimBarShown(self) -> bool:
method showAnimBar (line 23413) | def showAnimBar(self, show: bool) -> None:
method animBar (line 23422) | def animBar(self) -> Optional[AnimBar]:
class ChannelGraph (line 23433) | class ChannelGraph:
method __init__ (line 23440) | def __init__(self, *args, **kwargs) -> None: ...
method __eq__ (line 23442) | def __eq__(self, other: object) -> bool: ...
method __ne__ (line 23443) | def __ne__(self, other: object) -> bool: ...
method __hash__ (line 23444) | def __hash__(self) -> int: ...
method selectedKeyframes (line 23445) | def selectedKeyframes(self) -> dict[Parm, Tuple[BaseKeyframe,...]]:
method selection (line 23462) | def selection(self) -> Tuple[ChannelGraphSelection, ...]:
method setSelection (line 23471) | def setSelection(self, s: Sequence[ChannelGraphSelection]) -> None:
class ChannelList (line 23482) | class ChannelList:
method __init__ (line 23492) | def __init__(self) -> None:
method __eq__ (line 23502) | def __eq__(self, other: object) -> bool: ...
method __ne__ (line 23503) | def __ne__(self, other: object) -> bool: ...
method clear (line 23504) | def clear(self) -> None:
method parms (line 23513) | def parms(self) -> Tuple[Parm, ...]:
method selected (line 23523) | def selected(self) -> Tuple[Parm, ...]:
method deselected (line 23533) | def deselected(self) -> Tuple[Parm, ...]:
method pinned (line 23543) | def pinned(self) -> Tuple[Parm, ...]:
method unpinned (line 23553) | def unpinned(self) -> Tuple[Parm, ...]:
method selectedValue (line 23563) | def selectedValue(self) -> Tuple[Parm, ...]:
method deselectedValue (line 23573) | def deselectedValue(self) -> Tuple[Parm, ...]:
method addParm (line 23583) | def addParm(self, parm: Parm, selected: bool = True, pinned: bool = Fa...
method addPath (line 23606) | def addPath(self, path: str, selected: bool = True, pinned: bool = Fal...
method addParms (line 23629) | def addParms(self, parms: Sequence[Parm], selected: bool = True, pinne...
method addPaths (line 23630) | def addPaths(self, paths: Sequence[str], selected: bool = True, pinned...
method remove (line 23653) | def remove(self, parm: Parm|Sequence[Parm]) -> None:
method select (line 23666) | def select(self, parm: Parm|Sequence[Parm]) -> None:
method deselect (line 23679) | def deselect(self, parm: Parm|Sequence[Parm]) -> None:
method pin (line 23692) | def pin(self, parm: Parm|Sequence[Parm]) -> None:
method unpin (line 23705) | def unpin(self, parm: Parm|Sequence[Parm]) -> None:
method selectValue (line 23718) | def selectValue(self, parm: Parm|Sequence[Parm]) -> None:
method deselectValue (line 23732) | def deselectValue(self, parm: Parm|Sequence[Parm]) -> None:
method contains (line 23746) | def contains(self, parm: Parm) -> bool:
method isSelected (line 23759) | def isSelected(self, parm: Parm) -> bool:
method isPinned (line 23772) | def isPinned(self, parm: Parm) -> bool:
method isValueSelected (line 23785) | def isValueSelected(self, parm: Parm) -> bool:
method addNodeGeometryChannels (line 23799) | def addNodeGeometryChannels(self, node: SopNode, pattern: str|None = ....
method addGeometryChannels (line 23830) | def addGeometryChannels(self, geometry: Geometry, collection_name: str...
method geometryChannels (line 23903) | def geometryChannels(self, collection_name: str) -> Tuple[ChannelPrim,...
method geometryChannelCollectionNames (line 23913) | def geometryChannelCollectionNames(self) -> Tuple[str, ...]:
method removeGeometryChannels (line 23923) | def removeGeometryChannels(self, collection_name: str) -> None:
method selectGeometryChannel (line 23937) | def selectGeometryChannel(self, collection_name: str, channel: str|Non...
method deselectGeometryChannel (line 23954) | def deselectGeometryChannel(self, collection_name: str, channel: str|N...
method pinGeometryChannel (line 23971) | def pinGeometryChannel(self, collection_name: str, channel: str|None =...
method unpinGeometryChannel (line 23988) | def unpinGeometryChannel(self, collection_name: str, channel: str|None...
method selectGeometryChannelValue (line 24005) | def selectGeometryChannelValue(self, collection_name: str, channel: st...
method deselectGeometryChannelValue (line 24022) | def deselectGeometryChannelValue(self, collection_name: str, channel: ...
method containsGeometryChannel (line 24023) | def containsGeometryChannel(self, collection_name: str, channel: str|N...
method isGeometryChannelSelected (line 24041) | def isGeometryChannelSelected(self, collection_name: str, channel: str...
method isGeometryChannelPinned (line 24057) | def isGeometryChannelPinned(self, collection_name: str, channel: str) ...
method isGeometryChannelValueSelected (line 24073) | def isGeometryChannelValueSelected(self, collection_name: str, channel...
method filter (line 24090) | def filter(self) -> str:
method keepSelection (line 24099) | def keepSelection(self) -> bool:
method enableFilter (line 24108) | def enableFilter(self) -> bool:
method filterTranslates (line 24117) | def filterTranslates(self) -> bool:
method filterRotates (line 24126) | def filterRotates(self) -> bool:
method filterScales (line 24135) | def filterScales(self) -> bool:
method setFilter (line 24144) | def setFilter(self, pattern: str) -> None:
method setKeepSelection (line 24157) | def setKeepSelection(self, value: bool) -> None:
method setEnableFilter (line 24166) | def setEnableFilter(self, value: bool) -> None:
method setFilterTranslates (line 24175) | def setFilterTranslates(self, value: bool) -> None:
method setFilterRotates (line 24184) | def setFilterRotates(self, value: bool) -> None:
method setFilterScales (line 24193) | def setFilterScales(self, value: bool) -> None:
method asCode (line 24202) | def asCode(self, var_name: str = ...) -> str:
class ChannelPrim (line 24218) | class ChannelPrim(Prim):
method __init__ (line 24256) | def __init__(self, *args, **kwargs) -> None: ...
method vertex (line 24258) | def vertex(self, index: int) -> Vertex:
method addVertex (line 24272) | def addVertex(self, point: Point) -> Vertex:
method start (line 24294) | def start(self) -> float:
method end (line 24303) | def end(self) -> float:
method length (line 24312) | def length(self) -> float:
method setStart (line 24321) | def setStart(self, frame: float) -> None:
method defaultValue (line 24330) | def defaultValue(self) -> float:
method setDefaultValue (line 24340) | def setDefaultValue(self, value: float) -> None:
method eval (line 24349) | def eval(self, frame: float) -> float:
method hasKeyAtFrame (line 24358) | def hasKeyAtFrame(self, frame: float) -> bool:
method insertKey (line 24367) | def insertKey(self, frame: float, auto_slope: bool = True) -> None:
method destroyKey (line 24381) | def destroyKey(self, frame: float) -> None:
method destroyKeys (line 24390) | def destroyKeys(self, frame_start: float, frame_end: float) -> None:
method clear (line 24399) | def clear(self) -> None:
method keyIndex (line 24408) | def keyIndex(self, frame: float) -> int:
method setKeyValue (line 24418) | def setKeyValue(self, frame: float, value: float, key_half: Optional[E...
method setKeySlope (line 24433) | def setKeySlope(self, frame: float, slope: float, key_half: Optional[E...
method setKeyAccel (line 24449) | def setKeyAccel(self, frame: float, accel: float, key_half: Optional[E...
method keyValue (line 24465) | def keyValue(self, frame: float, key_half: Optional[EnumValue] = None)...
method keySlope (line 24477) | def keySlope(self, frame: float, key_half: Optional[EnumValue] = None)...
method keyAccel (line 24489) | def keyAccel(self, frame: float, key_half: Optional[EnumValue] = None)...
method setKeyAutoSlope (line 24502) | def setKeyAutoSlope(self, frame: float, auto_slope: bool, key_half: Op...
method segmentType (line 24519) | def segmentType(self, frame: float) -> EnumValue:
method setSegmentType (line 24528) | def setSegmentType(self, frame: float, type: EnumValue) -> None:
method keyFrames (line 24538) | def keyFrames(self) -> Tuple[float, ...]:
method keyValues (line 24548) | def keyValues(self, key_half: Optional[EnumValue] = None) -> Tuple[flo...
method keySlopes (line 24560) | def keySlopes(self, key_half: Optional[EnumValue] = None) -> Tuple[flo...
method keyAccels (line 24573) | def keyAccels(self, key_half: Optional[EnumValue] = None) -> Tuple[flo...
method setKeyValues (line 24586) | def setKeyValues(self, values: Sequence[float], key_half: Optional[Enu...
method setKeySlopes (line 24602) | def setKeySlopes(self, slopes: Sequence[float], key_half: Optional[Enu...
method setKeyAccels (line 24620) | def setKeyAccels(self, accels: Sequence[float], key_half: Optional[Enu...
method moveKeyframes (line 24638) | def moveKeyframes(self, key_indices: Sequence[int], frame_offsets: Seq...
method smoothAutoSlopes (line 24656) | def smoothAutoSlopes(self, force: bool = False) -> None:
method smoothAutoSlopesForKeys (line 24667) | def smoothAutoSlopesForKeys(self, start_index: int, end_index: int = -...
class ChopNode (line 24686) | class ChopNode(OpNode):
method __init__ (line 24696) | def __init__(self, *args, **kwargs) -> None: ...
method isBypassed (line 24698) | def isBypassed(self) -> bool:
method bypass (line 24707) | def bypass(self, on: bool) -> None:
method isLocked (line 24717) | def isLocked(self) -> bool:
method setLocked (line 24726) | def setLocked(self, on: bool) -> None:
method isDisplayFlagSet (line 24738) | def isDisplayFlagSet(self) -> bool:
method setDisplayFlag (line 24747) | def setDisplayFlag(self, on: bool) -> None:
method isAudioFlagSet (line 24756) | def isAudioFlagSet(self) -> bool:
method setAudioFlag (line 24765) | def setAudioFlag(self, on: bool) -> None:
method isExportFlagSet (line 24774) | def isExportFlagSet(self) -> bool:
method setExportFlag (line 24783) | def setExportFlag(self, on: bool) -> None:
method isUnloadFlagSet (line 24792) | def isUnloadFlagSet(self) -> bool:
method setUnloadFlag (line 24801) | def setUnloadFlag(self, on: bool) -> None:
method isCurrentFlagSet (line 24810) | def isCurrentFlagSet(self) -> bool:
method setCurrentFlag (line 24819) | def setCurrentFlag(self, on: bool) -> None:
method tracks (line 24828) | def tracks(self, output_index: int = 0, cook: bool = True) -> Tuple[Tr...
method track (line 24837) | def track(self, track_name: str, output_index: int = 0, cook: bool = T...
method clip (line 24846) | def clip(self, output_index: int = 0) -> Clip:
method sampleRate (line 24860) | def sampleRate(self) -> float:
method sampleRange (line 24870) | def sampleRange(self) -> Tuple[float, float]:
method frameToSamples (line 24881) | def frameToSamples(self, frame: float) -> float:
method samplesToFrame (line 24891) | def samplesToFrame(self, samples: float) -> float:
method timeToSamples (line 24901) | def timeToSamples(self, time: float) -> float:
method samplesToTime (line 24911) | def samplesToTime(self, samples: float) -> float:
method clipData (line 24921) | def clipData(self, binary: Any) -> bytes:
method setClipData (line 24934) | def setClipData(self, source: bytes, binary: bool, offset: float = 0, ...
method saveClip (line 24944) | def saveClip(self, file_name: str) -> bool:
class Clip (line 24955) | class Clip:
method __init__ (line 24973) | def __init__(self) -> None:
method __eq__ (line 24983) | def __eq__(self, other: object) -> bool: ...
method __ne__ (line 24984) | def __ne__(self, other: object) -> bool: ...
method chopNode (line 24985) | def chopNode(self) -> Optional[ChopNode]:
method chopNodeOutputIndex (line 24995) | def chopNodeOutputIndex(self) -> int:
method tracks (line 25005) | def tracks(self) -> Tuple[Track, ...]:
method track (line 25014) | def track(self, track_name: str) -> Optional[Track]:
method sampleRate (line 25023) | def sampleRate(self) -> float:
method sampleRange (line 25033) | def sampleRange(self) -> Tuple[float, float]:
method numSamples (line 25044) | def numSamples(self) -> int:
method frameToSamples (line 25053) | def frameToSamples(self, frame: float) -> float:
method samplesToFrame (line 25063) | def samplesToFrame(self, samples: float) -> float:
method timeToSamples (line 25073) | def timeToSamples(self, time: float) -> float:
method samplesToTime (line 25083) | def samplesToTime(self, samples: float) -> float:
method loadFromFile (line 25093) | def loadFromFile(self, filename: str) -> None:
method saveToFile (line 25102) | def saveToFile(self, filename: str) -> None:
method mode (line 25112) | def mode(self) -> EnumValue:
class clone (line 25123) | class clone:
method __init__ (line 25125) | def __init__(self, *args, **kwargs) -> None: ...
method runAsClone (line 25128) | def runAsClone(start_port: int = 0, end_port: int = -1, debug: bool = ...
method isRunningAsClone (line 25202) | def isRunningAsClone() -> bool:
method createClone (line 25218) | def createClone(id: Optional[str] = None) -> _clone_Connection:
method clones (line 25246) | def clones() -> Tuple[_clone_Connection, ...]:
method clone (line 25263) | def clone(id: str) -> Optional[_clone_Connection]:
method deleteClone (line 25286) | def deleteClone(id: str) -> None:
method deleteDisconnectedClones (line 25311) | def deleteDisconnectedClones() -> None:
method removeAllConnectionChangeCallbacks (line 25328) | def removeAllConnectionChangeCallbacks() -> None:
method removeAllImageChangeCallbacks (line 25346) | def removeAllImageChangeCallbacks() -> None:
method addConnectionChangeCallback (line 25363) | def addConnectionChangeCallback(callback: Callable[[str], None]) -> None:
method removeConnectionChangeCallback (line 25391) | def removeConnectionChangeCallback(callback: Callable[[str], None]) ->...
method connectionChangeCallbacks (line 25414) | def connectionChangeCallbacks() -> Tuple[Callable[[str], None],...]:
method addImageChangeCallback (line 25430) | def addImageChangeCallback(callback: Callable[[str], None]) -> None:
method removeImageChangeCallback (line 25455) | def removeImageChangeCallback(callback: Callable[[str], None]) -> None:
method imageChangeCallbacks (line 25478) | def imageChangeCallbacks() -> Tuple[Callable[[str], None],...]:
class _clone_Connection (line 25494) | class _clone_Connection:
method __init__ (line 25529) | def __init__(self, *args, **kwargs) -> None: ...
method isValid (line 25531) | def isValid(self) -> bool:
method sessionId (line 25544) | def sessionId(self) -> str:
method name (line 25557) | def name(self) -> str:
method setName (line 25566) | def setName(self, name: str) -> None:
method lopNode (line 25577) | def lopNode(self) -> Node:
method setLopNode (line 25587) | def setLopNode(self, lop: Node) -> None:
method cameraPath (line 25598) | def cameraPath(self) -> str:
method setCameraPath (line 25608) | def setCameraPath(self, camerapath: str) -> None:
method renderer (line 25621) | def renderer(self) -> str:
method setRenderer (line 25630) | def setRenderer(self, renderer: str) -> None:
method renderSettings (line 25641) | def renderSettings(self) -> str:
method setRenderSettings (line 25651) | def setRenderSettings(self, rendersettings: str) -> None:
method renderPass (line 25663) | def renderPass(self) -> str:
method setRenderPass (line 25673) | def setRenderPass(self, renderpass: str) -> None:
method availableAovs (line 25685) | def availableAovs(self) -> Tuple[str, ...]:
method displayAov (line 25696) | def displayAov(self) -> str:
method setDisplayAov (line 25707) | def setDisplayAov(self, displayaov: str) -> None:
method resolutionScale (line 25719) | def resolutionScale(self) -> float:
method setResolutionScale (line 25732) | def setResolutionScale(self, resolution_scale: float) -> None:
method resolution (line 25745) | def resolution(self) -> Tuple[int, int]:
method setResolution (line 25760) | def setResolution(self, width: int, height: int) -> None:
method renderRegion (line 25774) | def renderRegion(self) -> Vector4:
method setRenderRegion (line 25787) | def setRenderRegion(self, render_region: Vector4) -> None:
method frameExpression (line 25801) | def frameExpression(self) -> str:
method setFrameExpression (line 25813) | def setFrameExpression(self, expression: str) -> None:
method contextOptionExpression (line 25827) | def contextOptionExpression(self, opt: str) -> str:
method setContextOptionExpression (line 25839) | def setContextOptionExpression(self, opt: str, expression: str) -> None:
method contextOptionsWithExpressions (line 25854) | def contextOptionsWithExpressions(self) -> Tuple[str, ...]:
method processUpdates (line 25865) | def processUpdates(self) -> bool:
method setProcessUpdates (line 25875) | def setProcessUpdates(self, process_updates: bool) -> None:
method launcherConfig (line 25885) | def launcherConfig(self) -> dict[str, Any]:
method setLauncherConfig (line 25895) | def setLauncherConfig(self, config: dict[str, Any]) -> None:
method connect (line 25909) | def connect(self, host: str, port: int) -> bool:
method disconnect (line 25925) | def disconnect(self) -> None:
method isConnected (line 25935) | def isConnected(self) -> bool:
method isWaitingToConnect (line 25945) | def isWaitingToConnect(self) -> bool:
method setWaitingToConnect (line 25955) | def setWaitingToConnect(self, waiting_to_connect: bool) -> None:
method host (line 25970) | def host(self) -> str:
method port (line 25981) | def port(self) -> int:
method imagePath (line 25991) | def imagePath(self) -> str:
method imageVersion (line 26007) | def imageVersion(self) -> int:
method imageSize (line 26019) | def imageSize(self) -> Tuple[int, ...]:
method percentComplete (line 26034) | def percentComplete(self) -> float:
method renderGalleryDataSource (line 26044) | def renderGalleryDataSource(self) -> Optional[AssetGalleryDataSource]:
method renderGalleryItemId (line 26058) | def renderGalleryItemId(self) -> str:
method createSnapshot (line 26074) | def createSnapshot(self) -> str:
method duplicate (line 26091) | def duplicate(self) -> _clone_Connection:
class Color (line 26105) | class Color:
method __init__ (line 26130) | def __init__(self, rgb_tuple: Sequence[float]|float = ..., g: float = ...
method __eq__ (line 26145) | def __eq__(self, other: object) -> bool: ...
method __ne__ (line 26146) | def __ne__(self, other: object) -> bool: ...
method __hash__ (line 26147) | def __hash__(self) -> int: ...
method rgb (line 26148) | def rgb(self) -> Tuple[float, float, float]:
method hsv (line 26158) | def hsv(self) -> Tuple[float, float, float]:
method hsl (line 26168) | def hsl(self) -> Tuple[float, float, float]:
method xyz (line 26178) | def xyz(self) -> Tuple[float, float, float]:
method lab (line 26189) | def lab(self) -> Tuple[float, float, float]:
method tmi (line 26200) | def tmi(self) -> Tuple[float, float, float]:
method setRGB (line 26210) | def setRGB(self, tuple: Sequence[float]) -> None:
method setHSV (line 26220) | def setHSV(self, tuple: Sequence[float]) -> None:
method setHSL (line 26230) | def setHSL(self, tuple: Sequence[float]) -> None:
method setXYZ (line 26240) | def setXYZ(self, tuple: Sequence[float]) -> None:
method setLAB (line 26250) | def setLAB(self, tuple: Sequence[float]) -> None:
method setTMI (line 26260) | def setTMI(self, tuple: Sequence[float]) -> None:
method ocio_configPath (line 26271) | def ocio_configPath() -> str:
method ocio_spaces (line 26281) | def ocio_spaces() -> Tuple[str, ...]:
method ocio_activeDisplays (line 26292) | def ocio_activeDisplays() -> Tuple[str, ...]:
method ocio_activeViews (line 26303) | def ocio_activeViews() -> Tuple[str, ...]:
method ocio_looks (line 26314) | def ocio_looks() -> Tuple[str, ...]:
method ocio_roles (line 26324) | def ocio_roles() -> Tuple[str, ...]:
method ocio_views (line 26334) | def ocio_views(display: str) -> Tuple[str, ...]:
method ocio_defaultDisplay (line 26344) | def ocio_defaultDisplay() -> str:
method ocio_defaultView (line 26356) | def ocio_defaultView() -> str:
method ocio_transform (line 26367) | def ocio_transform(self, src_colorspace: str, dest_colorspace: str, lo...
method ocio_viewTransform (line 26379) | def ocio_viewTransform(self, src_colorspace: str, display: str, view: ...
method reloadOCIO (line 26393) | def reloadOCIO() -> None:
class CompositorViewer (line 26405) | class CompositorViewer(PathBasedPaneTab):
method __init__ (line 26420) | def __init__(self, *args, **kwargs) -> None: ...
method currentState (line 26422) | def currentState(self) -> str:
method enterViewState (line 26434) | def enterViewState(self, wait_for_exit: bool = False) -> None:
method setCurrentState (line 26443) | def setCurrentState(self, state: str, wait_for_exit: bool = False) -> ...
method usingOCIO (line 26454) | def usingOCIO(self) -> bool:
method setUsingOCIO (line 26464) | def setUsingOCIO(self, enable: bool) -> None:
method setOCIODisplayView (line 26473) | def setOCIODisplayView(self, display: Optional[str] = None, view: Opti...
method getOCIODisplay (line 26485) | def getOCIODisplay(self) -> str:
method getOCIOView (line 26494) | def getOCIOView(self) -> str:
method curViewport (line 26503) | def curViewport(self) -> Optional[Viewport2D]:
method showHandle (line 26513) | def showHandle(self, name: str, value: bool) -> None:
method runStateCommand (line 26536) | def runStateCommand(self, name: str, args: Optional[Any] = None) -> None:
method bindViewerHandle (line 26598) | def bindViewerHandle(self, handle_type: str, name: str, settings: str|...
method bindViewerHandleStatic (line 26650) | def bindViewerHandleStatic(self, handle_type: str, name: str, bindings...
method unbindViewerHandle (line 26693) | def unbindViewerHandle(self, handle_instance_name: str) -> None:
class ConstructionPlane (line 26716) | class ConstructionPlane:
method __init__ (line 26726) | def __init__(self, *args, **kwargs) -> None: ...
method sceneViewer (line 26728) | def sceneViewer(self) -> SceneViewer:
method isVisible (line 26737) | def isVisible(self) -> bool:
method setIsVisible (line 26746) | def setIsVisible(self, on: bool) -> None:
method transform (line 26755) | def transform(self) -> Matrix4:
method setTransform (line 26785) | def setTransform(self, matrix: Matrix4) -> None:
method cellSize (line 26824) | def cellSize(self) -> Tuple[float, ...]:
method setCellSize (line 26834) | def setCellSize(self, size: Sequence[float]) -> None:
method numberOfCells (line 26847) | def numberOfCells(self) -> Tuple[int, ...]:
method setNumberOfCells (line 26857) | def setNumberOfCells(self, number: Sequence[int]) -> None: ...
method numberOfCellsPerRulerLine (line 26858) | def numberOfCellsPerRulerLine(self) -> Tuple[int, ...]:
method setNumberOfCellsPerRulerLine (line 26869) | def setNumberOfCellsPerRulerLine(self, number: Sequence[int]) -> None:...
class ContextViewer (line 26871) | class ContextViewer(PathBasedPaneTab):
method __init__ (line 26881) | def __init__(self, *args, **kwargs) -> None: ...
method sceneViewer (line 26883) | def sceneViewer(self) -> Optional[SceneViewer]:
method compositorViewer (line 26893) | def compositorViewer(self) -> Optional[CompositorViewer]:
method findViewport (line 26903) | def findViewport(self, name: str) -> Optional[GeometryViewport]:
class CopCableStructure (line 26914) | class CopCableStructure:
method __init__ (line 26931) | def __init__(self, *args, **kwargs) -> None: ...
method wireCount (line 26933) | def wireCount(self) -> int:
method wireDataType (line 26942) | def wireDataType(self, index: int) -> str: ...
method wireName (line 26943) | def wireName(self, index: int) -> str:
method appearanceIndex (line 26952) | def appearanceIndex(self, index: int) -> int:
class CopNode (line 26968) | class CopNode(OpNode):
method __init__ (line 26978) | def __init__(self, *args, **kwargs) -> None: ...
method geometry (line 26980) | def geometry(self, output_index: int = 0) -> Optional[Geometry]:
method geometryAtFrame (line 26999) | def geometryAtFrame(self, frame: float, output_index: int = 0) -> Opti...
method layer (line 27019) | def layer(self, output_index: int = 0) -> Optional[ImageLayer]:
method layerAtFrame (line 27032) | def layerAtFrame(self, frame: float, output_index: int = 0) -> Optiona...
method vdb (line 27046) | def vdb(self, output_index: int = 0) -> Optional[NanoVDB]:
method vdbAtFrame (line 27059) | def vdbAtFrame(self, frame: float, output_index: int = 0) -> Optional[...
method inputCableStructure (line 27073) | def inputCableStructure(self, input_index: int) -> Optional[CopCableSt...
method outputCableStructure (line 27083) | def outputCableStructure(self, output_index: int) -> Optional[CopCable...
method hasVerb (line 27093) | def hasVerb(self) -> bool:
method verb (line 27102) | def verb(self) -> Optional[CopVerb]:
method isBypassed (line 27112) | def isBypassed(self) -> bool:
method bypass (line 27122) | def bypass(self, on: bool) -> None:
method isDisplayFlagSet (line 27135) | def isDisplayFlagSet(self) -> bool:
method setDisplayFlag (line 27145) | def setDisplayFlag(self, on: bool) -> None:
method isTemplateFlagSet (line 27158) | def isTemplateFlagSet(self) -> bool:
method setTemplateFlag (line 27168) | def setTemplateFlag(self, on: bool) -> None:
method isSelectableTemplateFlagSet (line 27180) | def isSelectableTemplateFlagSet(self) -> bool:
method setSelectableTemplateFlag (line 27190) | def setSelectableTemplateFlag(self, on: bool) -> None:
method isCompressFlagSet (line 27201) | def isCompressFlagSet(self) -> bool:
method setCompressFlag (line 27212) | def setCompressFlag(self, on: bool) -> None:
method isExportFlagSet (line 27226) | def isExportFlagSet(self) -> bool:
method setExportFlag (line 27236) | def setExportFlag(self, on: bool) -> None:
method outputDataTypes (line 27251) | def outputDataTypes(self) -> Tuple[str, ...]:
method inputDataTypes (line 27261) | def inputDataTypes(self) -> Tuple[str, ...]:
method isInputCompatible (line 27271) | def isInputCompatible(self, idx: int, other: CopNode, other_idx: int, ...
method displayNode (line 27285) | def displayNode(self) -> Optional[Node]:
class CopVerb (line 27296) | class CopVerb(OpVerb):
method __init__ (line 27308) | def __init__(self, *args, **kwargs) -> None: ...
method execute (line 27310) | def execute(self, inputs: dict[str, Any]) -> dict[str, Any]:
class Cop2Node (line 27333) | class Cop2Node(OpNode):
method __init__ (line 27351) | def __init__(self, *args, **kwargs) -> None: ...
method isBypassed (line 27353) | def isBypassed(self) -> bool:
method bypass (line 27363) | def bypass(self, on: bool) -> None:
method isDisplayFlagSet (line 27376) | def isDisplayFlagSet(self) -> bool:
method setDisplayFlag (line 27386) | def setDisplayFlag(self, on: bool) -> None:
method isRenderFlagSet (line 27399) | def isRenderFlagSet(self) -> bool:
method setRenderFlag (line 27409) | def setRenderFlag(self, on: bool) -> None:
method isTemplateFlagSet (line 27422) | def isTemplateFlagSet(self) -> bool:
method setTemplateFlag (line 27432) | def setTemplateFlag(self, on: bool) -> None:
method isCompressFlagSet (line 27444) | def isCompressFlagSet(self) -> bool:
method setCompressFlag (line 27455) | def setCompressFlag(self, on: bool) -> None:
method planes (line 27469) | def planes(self) -> Tuple[str, ...]:
method components (line 27481) | def components(self, plane: str) -> Tuple[str, ...]:
method depth (line 27497) | def depth(self, plane: str) -> EnumValue:
method maskInputIndex (line 27514) | def maskInputIndex(self) -> int:
method getPixelByUV (line 27524) | def getPixelByUV(self, plane: str, u: float, v: float, component: Opti...
method getPixelHSVByUV (line 27557) | def getPixelHSVByUV(self, u: float, v: float, interpolate: bool = True...
method getPixelLuminanceByUV (line 27581) | def getPixelLuminanceByUV(self, u: float, v: float, interpolate: bool ...
method allPixels (line 27605) | def allPixels(self, plane: str = ..., component: str|None = ..., inter...
method allPixelsAsString (line 27653) | def allPixelsAsString(self, plane: str = ..., component: str|None = .....
method setPixelsOfCookingPlane (line 27693) | def setPixelsOfCookingPlane(self, values: Sequence[float], component: ...
method imageBounds (line 27748) | def imageBounds(self, plane: str = ...) -> Tuple[int, int, int]:
method xRes (line 27772) | def xRes(self) -> int:
method yRes (line 27784) | def yRes(self) -> int:
method sequenceStartFrame (line 27796) | def sequenceStartFrame(self) -> float:
method sequenceEndFrame (line 27808) | def sequenceEndFrame(self) -> float:
method sequenceFrameLength (line 27820) | def sequenceFrameLength(self) -> float:
method isSingleImage (line 27832) | def isSingleImage(self) -> bool:
method saveImage (line 27842) | def saveImage(self, file_name: str, frame_range: Sequence[float] = ......
method hasMetaData (line 27866) | def hasMetaData(self, metadata_name: str) -> bool:
method getMetaDataInt (line 27876) | def getMetaDataInt(self, metadata_name: str, index: int = 0) -> int:
method getMetaDataFloat (line 27887) | def getMetaDataFloat(self, metadata_name: str, index: int = 0) -> float:
method getMetaDataString (line 27898) | def getMetaDataString(self, metadata_name: str) -> str:
method getMetaDataIntArray (line 27907) | def getMetaDataIntArray(self, metadata_name: str) -> Tuple[int, ...]:
method getMetaDataFloatArray (line 27917) | def getMetaDataFloatArray(self, metadata_name: str) -> Tuple[float, ...]:
method setPixelsOfCookingPlaneFromString (line 27926) | def setPixelsOfCookingPlaneFromString(self, values: bytes, component: ...
class crowds (line 27959) | class crowds:
method __init__ (line 27969) | def __init__(self, *args, **kwargs) -> None: ...
method addBlendshapeInputs (line 27972) | def addBlendshapeInputs(base_shape_geo: Geometry, shapes: Sequence[Age...
method addInBetweenShapes (line 28000) | def addInBetweenShapes(primary_shape_geo: Geometry, shapes: Sequence[A...
method setBlendshapeDeformerParms (line 28028) | def setBlendshapeDeformerParms(base_shape_geo: Geometry, attribs: str ...
method findAgentDefinitions (line 28056) | def findAgentDefinitions(geometry: Geometry, group: str = ..., group_t...
method replaceAgentDefinitions (line 28091) | def replaceAgentDefinitions(geometry: Geometry, new_definition_map: Ma...
method computeLocalTransforms (line 28137) | def computeLocalTransforms(rig: AgentRig, world_xforms: typing.Iterabl...
method computeWorldTransforms (line 28157) | def computeWorldTransforms(rig: AgentRig, local_xforms: typing.Iterabl...
method computeRotationLimits (line 28177) | def computeRotationLimits(rig: AgentRig, clips: Sequence[AgentClip], x...
method shapeDeformers (line 28219) | def shapeDeformers() -> Tuple[AgentShapeDeformer, ...]:
method findShapeDeformer (line 28229) | def findShapeDeformer(name: str) -> Optional[AgentShapeDeformer]:
method applyUsdProcedural (line 28240) | def applyUsdProcedural(stage: pxr.Usd.Stage, selection_rule: LopSelect...
class DataParmTemplate (line 28335) | class DataParmTemplate(ParmTemplate):
method __init__ (line 28345) | def __init__(self, name: str, label: str, num_components: int, look: E...
method dataParmType (line 28407) | def dataParmType(self) -> EnumValue:
method setDataParmType (line 28419) | def setDataParmType(self, data_type: EnumValue) -> None: ...
method defaultExpression (line 28420) | def defaultExpression(self) -> Tuple[str, ...]:
method setDefaultExpression (line 28447) | def setDefaultExpression(self, default_expression: Sequence[str]) -> N...
method defaultExpressionLanguage (line 28463) | def defaultExpressionLanguage(self) -> Tuple[EnumValue, ...]:
method setDefaultExpressionLanguage (line 28477) | def setDefaultExpressionLanguage(self, default_expression_language: Se...
class DataTree (line 28494) | class DataTree(PaneTab):
method __init__ (line 28504) | def __init__(self, *args, **kwargs) -> None: ...
method treeTypes (line 28506) | def treeTypes(self) -> Tuple[str, ...]:
method treeType (line 28516) | def treeType(self) -> str:
method setTreeType (line 28527) | def setTreeType(self, tree_type: str) -> bool:
method currentPath (line 28538) | def currentPath(self) -> str:
method clearCurrentPath (line 28547) | def clearCurrentPath(self) -> None:
method setCurrentPath (line 28556) | def setCurrentPath(self, path: str, multi_select: bool = False, index:...
method setCurrentPaths (line 28572) | def setCurrentPaths(self, paths: Sequence[str], expanded: bool) -> None:
method setTreeExpanded (line 28583) | def setTreeExpanded(self, expanded: bool) -> None:
method setCurrentNodeExpanded (line 28592) | def setCurrentNodeExpanded(self, expanded: bool) -> None:
class Desktop (line 28603) | class Desktop:
method __init__ (line 28631) | def __init__(self, *args, **kwargs) -> None: ...
method panes (line 28633) | def panes(self) -> Tuple[Pane, ...]:
method paneTabs (line 28659) | def paneTabs(self) -> Tuple[PaneTab, ...]:
method currentPaneTabs (line 28673) | def currentPaneTabs(self) -> Tuple[PaneTab, ...]:
method floatingPaneTabs (line 28688) | def floatingPaneTabs(self) -> Tuple[PaneTab, ...]:
method paneTabOfType (line 28698) | def paneTabOfType(self, type: EnumValue, index: int = 0) -> Optional[P...
method findPane (line 28731) | def findPane(self, pane_id: int) -> Optional[Pane]:
method findPaneTab (line 28745) | def findPaneTab(self, name: str) -> Optional[PaneTab]:
method createFloatingPaneTab (line 28762) | def createFloatingPaneTab(self, pane_tab_type: EnumValue, position: Se...
method createFloatingPane (line 28822) | def createFloatingPane(self, pane_tab_type: EnumValue, position: Seque...
method floatingPanels (line 28823) | def floatingPanels(self) -> Tuple[FloatingPanel, ...]:
method createFloatingPanel (line 28837) | def createFloatingPanel(self, pane_tab_type: EnumValue, position: Sequ...
method paneUnderCursor (line 28862) | def paneUnderCursor(self) -> Optional[Pane]:
method paneTabUnderCursor (line 28876) | def paneTabUnderCursor(self) -> Optional[PaneTab]:
method name (line 28892) | def name(self) -> str:
method shelfDock (line 28904) | def shelfDock(self) -> ShelfDock:
method displaySideHelp (line 28913) | def displaySideHelp(self, show: bool = True) -> Optional[PaneTab]:
method displayHelp (line 28927) | def displayHelp(self, node_type: NodeType) -> None:
method displayHelpPath (line 28938) | def displayHelpPath(self, help_path: str) -> None:
method displayHelpPyPanel (line 28951) | def displayHelpPyPanel(self, interface_name: str) -> None:
method setAsCurrent (line 28964) | def setAsCurrent(self) -> None:
class Dialog (line 28979) | class Dialog:
method __init__ (line 28996) | def __init__(self, *args, **kwargs) -> None: ...
method destroy (line 28998) | def destroy(self) -> None:
method setValue (line 29010) | def setValue(self, name: str, value: OptionType) -> None:
method enableValue (line 29023) | def enableValue(self, name: str, onoff: bool) -> None:
method waitForValueToChangeTo (line 29038) | def waitForValueToChangeTo(self, name: str, new_value: OptionType) -> ...
method menuItems (line 29057) | def menuItems(self, name: str) -> Tuple[str, ...]:
method setMenuItems (line 29070) | def setMenuItems(self, name: str, items: Sequence[str]) -> None:
method value (line 29083) | def value(self, name: str) -> OptionType:
method addCallback (line 29095) | def addCallback(self, name: str, callback: Callable[[], None]) -> None:
method removeCallback (line 29110) | def removeCallback(self, name: str, callback: Callable[[], None]) -> N...
method callbacks (line 29124) | def callbacks(self, name: str) -> Tuple[Callable[[], None],...]:
class dop (line 29137) | class dop:
method __init__ (line 29147) | def __init__(self, *args, **kwargs) -> None: ...
method isScriptSolverRunning (line 29150) | def isScriptSolverRunning() -> bool:
method scriptSolverData (line 29164) | def scriptSolverData() -> Optional[DopData]:
method scriptSolverNetwork (line 29198) | def scriptSolverNetwork() -> OpNode | None:
method scriptSolverSimulation (line 29210) | def scriptSolverSimulation() -> Optional[DopSimulation]: ...
method scriptSolverObjects (line 29212) | def scriptSolverObjects() -> Tuple[DopData, ...]:
method scriptSolverNewObjects (line 29223) | def scriptSolverNewObjects() -> Tuple[DopData, ...]:
method scriptSolverTimestepSize (line 29235) | def scriptSolverTimestepSize() -> float:
method scriptSolverTime (line 29246) | def scriptSolverTime() -> float: ...
class DopNode (line 29248) | class DopNode(OpNode):
method __init__ (line 29258) | def __init__(self, *args, **kwargs) -> None: ...
method dopNetNode (line 29260) | def dopNetNode(self) -> OpNode:
method simulation (line 29269) | def simulation(self) -> DopSimulation:
method processedObjects (line 29279) | def processedObjects(self) -> Tuple[DopObject, ...]:
method createdObjects (line 29288) | def createdObjects(self) -> Tuple[DopObject, ...]:
method isBypassed (line 29297) | def isBypassed(self) -> bool:
method bypass (line 29306) | def bypass(self, on: bool) -> None:
method isDisplayFlagSet (line 29316) | def isDisplayFlagSet(self) -> bool:
method setDisplayFlag (line 29326) | def setDisplayFlag(self, on: bool) -> None:
method isTemplateFlagSet (line 29336) | def isTemplateFlagSet(self) -> bool:
method setTemplateFlag (line 29346) | def setTemplateFlag(self, on: bool) -> None:
method displayNode (line 29356) | def displayNode(self) -> OpNode | None:
method renderNode (line 29367) | def renderNode(self) -> OpNode | None: ...
method objectsToProcess (line 29368) | def objectsToProcess(self) -> Tuple[DopObject, ...]:
method pythonSolverData (line 29379) | def pythonSolverData(self) -> DopData:
class DopObject (line 29395) | class DopObject(DopData):
method __init__ (line 29409) | def __init__(self, *args, **kwargs) -> None: ...
method name (line 29411) | def name(self) -> str:
method objid (line 29420) | def objid(self) -> int:
method matches (line 29438) | def matches(self, pattern: str) -> bool:
method transform (line 29461) | def transform(self, include_geometry_transform: bool = True) -> Matrix4:
class DopRecord (line 29505) | class DopRecord:
method __init__ (line 29517) | def __init__(self, *args, **kwargs) -> None: ...
method __eq__ (line 29519) | def __eq__(self, other: object) -> bool: ...
method __ne__ (line 29520) | def __ne__(self, other: object) -> bool: ...
method __hash__ (line 29521) | def __hash__(self) -> int: ...
method recordType (line 29522) | def recordType(self) -> str:
method recordIndex (line 29532) | def recordIndex(self) -> int:
method fieldNames (line 29542) | def fieldNames(self) -> Tuple[str, ...]:
method fieldType (line 29552) | def fieldType(self, field_name: str) -> EnumValue:
method field (line 29565) | def field(self, field_name: str) -> OptionType:
method setFieldBool (line 29604) | def setFieldBool(self, field_name: str, value: bool) -> None:
method setField (line 29619) | def setField(self, field_name: str, value: OptionType) -> None:
class DopRelationship (line 29640) | class DopRelationship(DopData):
method __init__ (line 29656) | def __init__(self, *args, **kwargs) -> None: ...
method name (line 29658) | def name(self) -> str:
method matches (line 29667) | def matches(self, pattern: str) -> bool:
method setGroup (line 29677) | def setGroup(self, objects: Sequence[DopObject]) -> None:
method setAffectorGroup (line 29691) | def setAffectorGroup(self, objects: Sequence[DopObject]) -> None:
method relationshipTypeData (line 29705) | def relationshipTypeData(self) -> Optional[DopData]:
class DopSimulation (line 29715) | class DopSimulation:
method __init__ (line 29729) | def __init__(self) -> None:
method __eq__ (line 29740) | def __eq__(self, other: object) -> bool: ...
method __ne__ (line 29741) | def __ne__(self, other: object) -> bool: ...
method createObject (line 29742) | def createObject(self, name: str, solve_on_creation_frame: bool) -> Op...
method removeObject (line 29766) | def removeObject(self, obj: DopObject) -> None:
method createRelationship (line 29782) | def createRelationship(self, name: str) -> Optional[DopData]:
method removeRelationship (line 29804) | def removeRelationship(self, rel: DopRelationship) -> None:
method dopNetNode (line 29820) | def dopNetNode(self) -> Node:
method objects (line 29829) | def objects(self) -> Tuple[DopData, ...]:
method relationships (line 29843) | def relationships(self) -> Tuple[DopData, ...]:
method findObject (line 29867) | def findObject(self, obj_spec: str) -> Optional[DopData]:
method findRelationship (line 29878) | def findRelationship(self, rel_spec: str) -> Optional[DopData]:
method findData (line 29888) | def findData(self, data_spec: str) -> Optional[DopData]:
method findAllObjects (line 29908) | def findAllObjects(self, obj_spec: str) -> Tuple[DopData, ...]:
method findAllRelationships (line 29923) | def findAllRelationships(self, rel_spec: str) -> Tuple[DopData, ...]:
method findAllData (line 29934) | def findAllData(self, data_spec: str) -> Tuple[DopData, ...]:
method time (line 29944) | def time(self) -> float:
method setTime (line 29956) | def setTime(self, t: float, resim_last_timestep: bool = False, force_r...
method timestep (line 29982) | def timestep(self) -> float:
method setTimestep (line 29991) | def setTimestep(self, t: float) -> None:
method memoryUsage (line 30004) | def memoryUsage(self) -> int:
class Drawable (line 30014) | class Drawable:
method __init__ (line 30083) | def __init__(self, *args, **kwargs) -> None: ...
method name (line 30085) | def name(self) -> str:
method label (line 30094) | def label(self) -> str:
method show (line 30103) | def show(self, value: bool) -> None:
method visible (line 30117) | def visible(self) -> bool:
method transform (line 30126) | def transform(self) -> Matrix4:
method setTransform (line 30136) | def setTransform(self, xform: Matrix4) -> None:
method setLabel (line 30151) | def setLabel(self, label: str) -> None:
method setIsControl (line 30160) | def setIsControl(self, is_control: bool) -> None:
method isControl (line 30176) | def isControl(self) -> bool:
class Drawable2D (line 30186) | class Drawable2D(Drawable):
method __init__ (line 30213) | def __init__(self, scene_viewer: SceneViewer|CompositorViewer, type: E...
method setParams (line 30259) | def setParams(self, params: dict[str, Any]) -> None:
method params (line 30512) | def params(self) -> dict[str, Any]:
method draw (line 30523) | def draw(self, handle: Handle, params: dict[str, Any]|None = ...) -> N...
method type (line 30547) | def type(self) -> EnumValue:
method setPickable (line 30556) | def setPickable(self, value: bool) -> None:
method isPickable (line 30571) | def isPickable(self) -> bool:
method mapToModel (line 30581) | def mapToModel(self, x: float, y: float, z: float = 0) -> Vector3:
class AdvancedDrawable (line 30613) | class AdvancedDrawable(Drawable):
method __init__ (line 30639) | def __init__(self, *args, **kwargs) -> None: ...
method setParams (line 30641) | def setParams(self, params: Mapping[str, Any]|None = ...) -> None:
method draw (line 30755) | def draw(self, handle: Handle, params: Mapping[str, Any]|None = ...) -...
class SimpleDrawable (line 30780) | class SimpleDrawable(Drawable):
method __init__ (line 30913) | def __init__(self, scene_viewer: SceneViewer, geometry: Geometry|EnumV...
method enable (line 30953) | def enable(self, value: bool) -> None:
method enabled (line 30967) | def enabled(self) -> bool:
method setDisplayMode (line 30976) | def setDisplayMode(self, value: EnumValue) -> None:
method displayMode (line 30985) | def displayMode(self) -> EnumValue: ...
method setWireframeColor (line 30986) | def setWireframeColor(self, color: Color) -> None:
method wireframeColor (line 31001) | def wireframeColor(self) -> Color:
method setUseWireframeColor (line 31010) | def setUseWireframeColor(self, value: bool) -> None:
method useWireframeColor (line 31024) | def useWireframeColor(self) -> bool:
method setXray (line 31033) | def setXray(self, value: bool) -> None:
method isXray (line 31046) | def isXray(self) -> bool:
method setShowMaterials (line 31055) | def setShowMaterials(self, value: bool) -> None:
method isShowMaterials (line 31069) | def isShowMaterials(self) -> bool:
method setCastShadows (line 31078) | def setCastShadows(self, value: bool) -> None:
method isCastShadows (line 31091) | def isCastShadows(self) -> bool:
method setDrawOutline (line 31100) | def setDrawOutline(self, value: bool) -> None:
method isDrawOutline (line 31113) | def isDrawOutline(self) -> bool:
method setOutlineColor (line 31122) | def setOutlineColor(self, color: Color|Vector4) -> None:
method outlineColor (line 31138) | def outlineColor(self) -> Vector4:
method setSeparateOutline (line 31147) | def setSeparateOutline(self, value: bool) -> None:
method isSeparateOutline (line 31164) | def isSeparateOutline(self) -> bool:
method setOutlineOnly (line 31173) | def setOutlineOnly(self, value: bool) -> None:
method isOutlineOnly (line 31188) | def isOutlineOnly(self) -> bool:
method geometry (line 31197) | def geometry(self) -> Geometry:
method setGeometry (line 31207) | def setGeometry(self, geometry: Geometry) -> None:
method setVisibleInViewport (line 31221) | def setVisibleInViewport(self, viewport: GeometryViewport) -> None:
method setVisibleInAllViewports (line 31232) | def setVisibleInAllViewports(self) -> None:
method isVisibleInViewport (line 31242) | def isVisibleInViewport(self, viewport: GeometryViewport) -> bool:
class Edge (line 31252) | class Edge:
method __init__ (line 31263) | def __init__(self, *args, **kwargs) -> None: ...
method __eq__ (line 31265) | def __eq__(self, other: object) -> bool: ...
method __ne__ (line 31266) | def __ne__(self, other: object) -> bool: ...
method __hash__ (line 31267) | def __hash__(self) -> int: ...
method geometry (line 31268) | def geometry(self) -> Geometry: ...
method points (line 31269) | def points(self) -> Tuple[Point, ...]:
method edgeId (line 31278) | def edgeId(self) -> str:
method length (line 31287) | def length(self) -> float:
method prims (line 31296) | def prims(self) -> Tuple[Prim, ...]:
class EdgeGroup (line 31306) | class EdgeGroup:
method __init__ (line 31322) | def __init__(self, *args, **kwargs) -> None: ...
method __eq__ (line 31324) | def __eq__(self, other: object) -> bool: ...
method __ne__ (line 31325) | def __ne__(self, other: object) -> bool: ...
method __hash__ (line 31326) | def __hash__(self) -> int: ...
method geometry (line 31327) | def geometry(self) -> Geometry:
method name (line 31336) | def name(self) -> str:
method iterEdges (line 31345) | def iterEdges(self) -> _EdgeTupleGenerator:
method edges (line 31359) | def edges(self) -> Tuple[Edge, ...]:
method contains (line 31370) | def contains(self, edge: Edge) -> bool:
method add (line 31382) | def add(self, edge_or_list_or_edge_group: Edge|Sequence[Edge]|EdgeGrou...
method remove (line 31403) | def remove(self, edge_or_list_or_edge_group: Edge|Sequence[Edge]|EdgeG...
method clear (line 31424) | def clear(self) -> None: ...
method destroy (line 31425) | def destroy(self) -> None:
method edgeCount (line 31438) | def edgeCount(self) -> int:
method dataId (line 31447) | def dataId(self) -> AttribDataId:
method incrementDataId (line 31456) | def incrementDataId(self) -> None:
class EditableDopGeometryGuard (line 31467) | class EditableDopGeometryGuard:
method __init__ (line 31469) | def __init__(self, *args, **kwargs) -> None: ...
method __enter__ (line 31471) | def __enter__(self) -> Optional[Geometry]: ...
method __exit__ (line 31472) | def __exit__(self, type: Any, value: Any, traceback: Any) -> None: ...
class FlipbookSettings (line 31474) | class FlipbookSettings:
method __init__ (line 31515) | def __init__(self, *args, **kwargs) -> None: ...
method stash (line 31517) | def stash(self) -> FlipbookSettings:
method copy (line 31528) | def copy(self, from_settings: FlipbookSettings) -> None:
method outputToMPlay (line 31537) | def outputToMPlay(self, value: bool|None = ...) -> bool|None:
method leaveFrameAtEnd (line 31546) | def leaveFrameAtEnd(self, value: bool|None = ...) -> bool|None:
method output (line 31556) | def output(self, value: str|None = ...) -> str|None:
method sessionLabel (line 31565) | def sessionLabel(self, value: str|None = ...) -> str|None:
method visibleObjects (line 31574) | def visibleObjects(self, value: str|None = ...) -> str|None:
method visibleTypes (line 31583) | def visibleTypes(self, value: EnumValue|None = ...) -> EnumValue|None:
method frameRange (line 31592) | def frameRange(self, value: Sequence[float]|None = ...) -> Tuple[float...
method frameIncrement (line 31602) | def frameIncrement(self, value: float|None = ...) -> float|None:
method beautyPassOnly (line 31611) | def beautyPassOnly(self, value: bool|None = ...) -> bool|None:
method renderAllViewports (line 31620) | def renderAllViewports(self, value: bool|None = ...) -> bool|None:
method appendFramesToCurrent (line 31630) | def appendFramesToCurrent(self, value: bool|None = ...) -> bool|None:
method scopeChannelKeyframesOnly (line 31640) | def scopeChannelKeyframesOnly(self, value: bool|None = ...) -> bool|None:
method blockEditing (line 31649) | def blockEditing(self, value: bool|None = ...) -> bool|None:
method initializeSimulations (line 31658) | def initializeSimulations(self, value: bool|None = ...) -> bool|None:
method audioFilename (line 31669) | def audioFilename(self, audio_file: str|None = ...) -> str|None:
method audioFrameStart (line 31678) | def audioFrameStart(self, audio_file: float|None = ...) -> float|None:
method audioTimeOffset (line 31687) | def audioTimeOffset(self, value: float|None = ...) -> float|None:
method backgroundImage (line 31696) | def backgroundImage(self, value: str|None = ...) -> str|None:
method overrideGam
Copy disabled (too large)
Download .json
Condensed preview — 2046 files, each showing path, character count, and a content snippet. Download the .json file for the full structured content (26,928K chars).
[
{
"path": ".gitignore",
"chars": 132,
"preview": ".venv*\n.nox\ndist\n__pycache__\n*.pyc\nusd/stubs/**/__DOC.pyi\nusd/stubs/**/_[a-z]*.pyi\n*.egg-info\n.env\n\n# moon\n.moon/cache\n."
},
{
"path": ".moon/hooks/pre-commit.sh",
"chars": 168,
"preview": "#!/usr/bin/env bash\nset -eo pipefail\n\n# Automatically generated by moon. DO NOT MODIFY!\n# https://moonrepo.dev/docs/guid"
},
{
"path": ".moon/tasks/tag-stubs.yml",
"chars": 374,
"preview": "tasks:\n generate:\n description: 'Create the stubs'\n command: 'generate'\n inputs:\n - 'stubgen_*'\n\n publis"
},
{
"path": ".moon/tasks.yml",
"chars": 689,
"preview": "tasks:\n mypy:\n script: uv run mypy\n\n mypy-silent:\n # don't use uv run because we do NOT want the rea"
},
{
"path": ".moon/toolchain.yml",
"chars": 70,
"preview": "python:\n# rootRequirementsOnly: true\n version: '3.11.10'\n pip: {}\n"
},
{
"path": ".moon/workspace.yml",
"chars": 794,
"preview": "# https://moonrepo.dev/docs/config/workspace\n$schema: 'https://moonrepo.dev/schemas/workspace.json'\n\n# Require a specifi"
},
{
"path": ".pre-commit-config.yaml",
"chars": 267,
"preview": "\nrepos:\n- repo: local\n hooks:\n\n - id: precommit_gen\n name: precommit_gen\n entry: nox\n args: [-s, precommit_ge"
},
{
"path": "LICENSE.txt",
"chars": 11357,
"preview": " Apache License\n Version 2.0, January 2004\n "
},
{
"path": "README.md",
"chars": 4470,
"preview": "# CG Stubs\n\n## Python stubs for VFX and Animation\n\nThese stubs are intended to be used with a type checker like [`mypy`]"
},
{
"path": "common/moon.yml",
"chars": 16,
"preview": "type: 'library'\n"
},
{
"path": "common/pyproject.toml",
"chars": 989,
"preview": "[project]\nname = \"stubgenlib\"\nversion = \"0.3.0\"\n\ndependencies = [\n \"mypy >= 1.15.0, < 1.20.0\",\n \"typeguard\",\n]\n\n#r"
},
{
"path": "common/src/stubgenlib/__init__.py",
"chars": 55,
"preview": "from __future__ import absolute_import, print_function\n"
},
{
"path": "common/src/stubgenlib/build.py",
"chars": 961,
"preview": "from __future__ import absolute_import, print_function\n\nimport pathlib\n\n\ndef add_stubs_suffix(path: pathlib.Path) -> Non"
},
{
"path": "common/src/stubgenlib/cpptypeconvert.py",
"chars": 5800,
"preview": "from __future__ import absolute_import, annotations, division, print_function\n\nimport pathlib\nimport re\nfrom functools i"
},
{
"path": "common/src/stubgenlib/moduleinspect.py",
"chars": 814,
"preview": "from __future__ import absolute_import, print_function\n\nimport mypy.moduleinspect\n\n\nclass ModuleInspect:\n \"\"\"\n Pat"
},
{
"path": "common/src/stubgenlib/notifier.py",
"chars": 1393,
"preview": "from __future__ import absolute_import, annotations, division, print_function\n\nfrom collections import defaultdict\n\n\ncla"
},
{
"path": "common/src/stubgenlib/py.typed",
"chars": 0,
"preview": ""
},
{
"path": "common/src/stubgenlib/siggen/__init__.py",
"chars": 644,
"preview": "from __future__ import absolute_import, print_function\n\nfrom .advanced import (\n AdvancedSigMatcher as AdvancedSigMat"
},
{
"path": "common/src/stubgenlib/siggen/advanced.py",
"chars": 13155,
"preview": "from __future__ import absolute_import, annotations, division, print_function\n\nimport fnmatch\nimport re\nfrom dataclasses"
},
{
"path": "common/src/stubgenlib/siggen/boost.py",
"chars": 10974,
"preview": "from __future__ import absolute_import, annotations, division, print_function\n\nimport contextlib\nimport io\nimport re\nimp"
},
{
"path": "common/src/stubgenlib/siggen/default.py",
"chars": 445,
"preview": "from __future__ import absolute_import, annotations, division, print_function\n\nfrom mypy.stubgenc import (\n FunctionC"
},
{
"path": "common/src/stubgenlib/siggen/docstring.py",
"chars": 2169,
"preview": "from __future__ import absolute_import, annotations, division, print_function\n\nfrom mypy.stubgenc import (\n ArgSig,\n "
},
{
"path": "common/src/stubgenlib/siggen/sigfixer.py",
"chars": 8868,
"preview": "from __future__ import absolute_import, annotations, division, print_function\n\nimport re\n\nfrom mypy.fastparse import par"
},
{
"path": "common/src/stubgenlib/stubgen/__init__.py",
"chars": 55,
"preview": "from __future__ import absolute_import, print_function\n"
},
{
"path": "common/src/stubgenlib/stubgen/delegate.py",
"chars": 861,
"preview": "from __future__ import absolute_import, print_function\n\nimport fnmatch\nfrom typing import Any, Generic, TypeVar\n\nT = Typ"
},
{
"path": "common/src/stubgenlib/test_helpers.py",
"chars": 329,
"preview": "from __future__ import absolute_import, print_function\n\nfrom typing import TYPE_CHECKING\n\nimport typeguard\nfrom typeguar"
},
{
"path": "common/src/stubgenlib/utils.py",
"chars": 11996,
"preview": "from __future__ import absolute_import, annotations, division, print_function\n\nimport itertools\nfrom dataclasses import "
},
{
"path": "common/tests/test_stubgenlib.py",
"chars": 5265,
"preview": "import pytest\nfrom mypy.stubdoc import ArgSig, FunctionSig\n\nfrom stubgenlib.siggen.boost import infer_sig_from_boost_doc"
},
{
"path": "common/tests/test_utils.py",
"chars": 5896,
"preview": "from __future__ import absolute_import, print_function\n\nfrom mypy.stubgenc import ArgSig, FunctionSig\n\nfrom stubgenlib.u"
},
{
"path": "houdini/.interpreter",
"chars": 7,
"preview": "hython\n"
},
{
"path": "houdini/README.md",
"chars": 462,
"preview": "# Unofficial python stubs for SideFX Houdini\n\nThese stubs are designed to be used with a type checker like `mypy` to pro"
},
{
"path": "houdini/hou_cleanup_config.py",
"chars": 140909,
"preview": "\"\"\"Configuration hou stub generation clean up.\n\nThe constants in this module act as overrides for the automatic type ann"
},
{
"path": "houdini/moon.yml",
"chars": 56,
"preview": "dependsOn:\n - 'common'\ntags: ['stubs']\ntype: 'library'\n"
},
{
"path": "houdini/pyproject.toml",
"chars": 1778,
"preview": "[project]\nname = \"types-houdini\"\nversion = \"21.0.512.3\"\n\nreadme = \"README.md\"\nauthors = [{name=\"Chad Dombrova\"}, {name=\""
},
{
"path": "houdini/stubgen_houdini.py",
"chars": 21568,
"preview": "from __future__ import absolute_import, annotations, division, print_function\n\nimport ast\nimport re\nimport sys\nimport te"
},
{
"path": "houdini/stubgen_houdini.sh.bak",
"chars": 347,
"preview": "#!/bin/bash\n\nset -e\n\nHOU_LIBS=$REZ_HOUDINI_ROOT/python3.11libs\nexport UV_PYTHON=/opt/local_packages/houdini/20.5.487/pla"
},
{
"path": "houdini/stubs/hou-stubs/__init__.pyi",
"chars": 2993821,
"preview": "# Houdini stubs generated from Houdini 21.0.512\n\nfrom houcppportion import * # type: ignore[import-not-found]\nfrom _typ"
},
{
"path": "houdini/stubs/hou-stubs/py.typed",
"chars": 0,
"preview": ""
},
{
"path": "houdini/test_stubs.py",
"chars": 1258,
"preview": "from __future__ import absolute_import, division, print_function\n\nimport hou\n\n\nclass SizedItems(object):\n \"\"\"\n Thi"
},
{
"path": "katana/.interpreter",
"chars": 11,
"preview": "./katanapy\n"
},
{
"path": "katana/README.md",
"chars": 460,
"preview": "# Unofficial python stubs for Foundry Katana\n\nThese stubs are designed to be used with a type checker like `mypy` to pro"
},
{
"path": "katana/katanapy",
"chars": 2095,
"preview": "#!/usr/bin/env python\n\"\"\"\nWrapper for Katana --script that behaves more like a normal python binary.\n\n - adds support fo"
},
{
"path": "katana/moon.yml",
"chars": 56,
"preview": "dependsOn:\n - 'common'\ntags: ['stubs']\ntype: 'library'\n"
},
{
"path": "katana/mypy.ini",
"chars": 85,
"preview": "[mypy]\nfiles =\n ../pyside/stubs,\n stubs\n\n[mypy-PySide2.*]\nignore_errors = true\n"
},
{
"path": "katana/pyproject.toml",
"chars": 2971,
"preview": "[build-system]\nrequires = [\"hatchling\"]\nbuild-backend = \"hatchling.build\"\n\n[project]\nname = \"types-katana\"\nreadme = \"REA"
},
{
"path": "katana/stubgen_katana.py",
"chars": 16410,
"preview": "from __future__ import absolute_import, annotations, division, print_function\n\nimport pathlib\nimport re\nfrom typing impo"
},
{
"path": "katana/stubgen_katana.sh",
"chars": 908,
"preview": "#!/bin/bash\n\nset -e\n\nversion=$1\nif [[ \"$version\" == \"\" ]]; then\n version=5.0v5\n echo \"defaulting to $version\"\nfi\n\nexpo"
},
{
"path": "katana/stubs/AssetAPI/__init__.pyi",
"chars": 1989,
"preview": "# mypy: disable-error-code=\"misc, override, attr-defined, no-redef, assignment\"\n\nimport AssetAPI_cmodule as AssetAPI_cmo"
},
{
"path": "katana/stubs/AssetAPI/py.typed",
"chars": 0,
"preview": ""
},
{
"path": "katana/stubs/AssetAPI_cmodule/__init__.pyi",
"chars": 5650,
"preview": "# mypy: disable-error-code=\"misc, override, attr-defined, no-redef, assignment\"\n\nfrom typing import Any, Set, Tuple\n\nkAs"
},
{
"path": "katana/stubs/AssetAPI_cmodule/py.typed",
"chars": 0,
"preview": ""
},
{
"path": "katana/stubs/AssetBrowser/Browser.pyi",
"chars": 1044,
"preview": "# mypy: disable-error-code=\"misc, override, attr-defined, no-redef, assignment\"\n\nimport AssetBrowser.FileBrowser as File"
},
{
"path": "katana/stubs/AssetBrowser/BrowserColumn.pyi",
"chars": 1258,
"preview": "# mypy: disable-error-code=\"misc, override, attr-defined, no-redef, assignment\"\n\nimport PyQt5.QtCore\nimport PyQt5.QtWidg"
},
{
"path": "katana/stubs/AssetBrowser/BrowserSettings.pyi",
"chars": 256,
"preview": "# mypy: disable-error-code=\"misc, override, attr-defined, no-redef, assignment\"\n\nimport PyQt5.QtCore as QtCore\nfrom typi"
},
{
"path": "katana/stubs/AssetBrowser/FileBrowser.pyi",
"chars": 3071,
"preview": "# mypy: disable-error-code=\"misc, override, attr-defined, no-redef, assignment\"\n\nimport AssetAPI\nimport KatanaResources "
},
{
"path": "katana/stubs/AssetBrowser/FileInfo.pyi",
"chars": 1170,
"preview": "# mypy: disable-error-code=\"misc, override, attr-defined, no-redef, assignment\"\n\nimport AssetAPI as AssetAPI\nfrom _types"
},
{
"path": "katana/stubs/AssetBrowser/Manifest.pyi",
"chars": 413,
"preview": "# mypy: disable-error-code=\"misc, override, attr-defined, no-redef, assignment\"\n\nimport KatanaResources as KatResourceFi"
},
{
"path": "katana/stubs/AssetBrowser/NonexclusiveCheckboxPopup.pyi",
"chars": 1318,
"preview": "# mypy: disable-error-code=\"misc, override, attr-defined, no-redef, assignment\"\n\nimport PyQt5.QtCore\nimport QT4Widgets a"
},
{
"path": "katana/stubs/AssetBrowser/__init__.pyi",
"chars": 370,
"preview": "# mypy: disable-error-code=\"misc, override, attr-defined, no-redef, assignment\"\n\nfrom . import Browser as Browser, FileB"
},
{
"path": "katana/stubs/AssetBrowser/py.typed",
"chars": 0,
"preview": ""
},
{
"path": "katana/stubs/CacheManager/__init__.pyi",
"chars": 255,
"preview": "# mypy: disable-error-code=\"misc, override, attr-defined, no-redef, assignment\"\n\nimport Utils as Utils\nfrom typing impor"
},
{
"path": "katana/stubs/CacheManager/py.typed",
"chars": 0,
"preview": ""
},
{
"path": "katana/stubs/Callbacks/Callbacks.pyi",
"chars": 2675,
"preview": "# mypy: disable-error-code=\"misc, override, attr-defined, no-redef, assignment\"\n\nfrom Callbacks.Callbacks import Callbac"
},
{
"path": "katana/stubs/Callbacks/Manifest.pyi",
"chars": 111,
"preview": "# mypy: disable-error-code=\"misc, override, attr-defined, no-redef, assignment\"\n\nfrom typing import Set, Tuple\n"
},
{
"path": "katana/stubs/Callbacks/__init__.pyi",
"chars": 262,
"preview": "# mypy: disable-error-code=\"misc, override, attr-defined, no-redef, assignment\"\n\nfrom Callbacks.Callbacks import Callbac"
},
{
"path": "katana/stubs/Callbacks/py.typed",
"chars": 0,
"preview": ""
},
{
"path": "katana/stubs/CatalogAPI/Catalog.pyi",
"chars": 1456,
"preview": "# mypy: disable-error-code=\"misc, override, attr-defined, no-redef, assignment\"\n\nimport CatalogAPI.Client as Client\nimpo"
},
{
"path": "katana/stubs/CatalogAPI/CatalogItem.pyi",
"chars": 6118,
"preview": "# mypy: disable-error-code=\"misc, override, attr-defined, no-redef, assignment\"\n\nimport Callbacks as Callbacks\nimport Ca"
},
{
"path": "katana/stubs/CatalogAPI/CatalogUtils.pyi",
"chars": 983,
"preview": "# mypy: disable-error-code=\"misc, override, attr-defined, no-redef, assignment\"\n\nimport AssetAPI as AssetAPI\nimport Conf"
},
{
"path": "katana/stubs/CatalogAPI/Client.pyi",
"chars": 2783,
"preview": "# mypy: disable-error-code=\"misc, override, attr-defined, no-redef, assignment\"\n\nimport NodegraphAPI as NodegraphAPI\nimp"
},
{
"path": "katana/stubs/CatalogAPI/__init__.pyi",
"chars": 2598,
"preview": "# mypy: disable-error-code=\"misc, override, attr-defined, no-redef, assignment\"\n\nfrom . import Catalog as Catalog, Catal"
},
{
"path": "katana/stubs/CatalogAPI/py.typed",
"chars": 0,
"preview": ""
},
{
"path": "katana/stubs/ConditionalStateGrammar/Parser.pyi",
"chars": 271,
"preview": "# mypy: disable-error-code=\"misc, override, attr-defined, no-redef, assignment\"\n\nfrom _typeshed import Incomplete\nfrom t"
},
{
"path": "katana/stubs/ConditionalStateGrammar/__init__.pyi",
"chars": 256,
"preview": "# mypy: disable-error-code=\"misc, override, attr-defined, no-redef, assignment\"\n\nfrom . import Parser as Parser\nfrom Con"
},
{
"path": "katana/stubs/ConditionalStateGrammar/py.typed",
"chars": 0,
"preview": ""
},
{
"path": "katana/stubs/ConfigurationAPI_cmodule/__init__.pyi",
"chars": 265,
"preview": "# mypy: disable-error-code=\"misc, override, attr-defined, no-redef, assignment\"\n\nfrom typing import Set, Tuple\n\ndef expo"
},
{
"path": "katana/stubs/ConfigurationAPI_cmodule/py.typed",
"chars": 0,
"preview": ""
},
{
"path": "katana/stubs/DrawingModule/AutoPosition.pyi",
"chars": 600,
"preview": "# mypy: disable-error-code=\"misc, override, attr-defined, no-redef, assignment\"\n\nimport ConfigurationAPI_cmodule as Conf"
},
{
"path": "katana/stubs/DrawingModule/CustomColors.pyi",
"chars": 533,
"preview": "# mypy: disable-error-code=\"misc, override, attr-defined, no-redef, assignment\"\n\nimport drawing_cmodule as DrawingModule"
},
{
"path": "katana/stubs/DrawingModule/Manifest.pyi",
"chars": 169,
"preview": "# mypy: disable-error-code=\"misc, override, attr-defined, no-redef, assignment\"\n\nimport NodegraphAPI as NodegraphAPI\nimp"
},
{
"path": "katana/stubs/DrawingModule/NodeShapeAttrUtil.pyi",
"chars": 323,
"preview": "# mypy: disable-error-code=\"misc, override, attr-defined, no-redef, assignment\"\n\nimport drawing_cmodule as DrawingModule"
},
{
"path": "katana/stubs/DrawingModule/__init__.pyi",
"chars": 4729,
"preview": "# mypy: disable-error-code=\"misc, override, attr-defined, no-redef, assignment\"\n\nfrom . import AutoPosition as AutoPosit"
},
{
"path": "katana/stubs/DrawingModule/py.typed",
"chars": 0,
"preview": ""
},
{
"path": "katana/stubs/GeoAPI/Lookfiles.pyi",
"chars": 147,
"preview": "# mypy: disable-error-code=\"misc, override, attr-defined, no-redef, assignment\"\n\nfrom typing import Set, Tuple\n\ndef getP"
},
{
"path": "katana/stubs/GeoAPI/Manifest.pyi",
"chars": 673,
"preview": "# mypy: disable-error-code=\"misc, override, attr-defined, no-redef, assignment\"\n\nimport CacheManager as CacheManager\nimp"
},
{
"path": "katana/stubs/GeoAPI/Transform.pyi",
"chars": 491,
"preview": "# mypy: disable-error-code=\"misc, override, attr-defined, no-redef, assignment\"\n\nimport PyFnGeolibProducers\nimport GeoAP"
},
{
"path": "katana/stubs/GeoAPI/Util/ArgsFileUtil.pyi",
"chars": 666,
"preview": "# mypy: disable-error-code=\"misc, override, attr-defined, no-redef, assignment\"\n\nimport PyFnGeolibServices.ArgsFile as A"
},
{
"path": "katana/stubs/GeoAPI/Util/CelUtil.pyi",
"chars": 447,
"preview": "# mypy: disable-error-code=\"misc, override, attr-defined, no-redef, assignment\"\n\nimport PyFnAttribute as FnAttribute\nimp"
},
{
"path": "katana/stubs/GeoAPI/Util/GenericAppenderUtil.pyi",
"chars": 677,
"preview": "# mypy: disable-error-code=\"misc, override, attr-defined, no-redef, assignment\"\n\nimport PyFnAttribute as FnAttribute\nimp"
},
{
"path": "katana/stubs/GeoAPI/Util/HintDictUtil.pyi",
"chars": 390,
"preview": "# mypy: disable-error-code=\"misc, override, attr-defined, no-redef, assignment\"\n\nimport PyFnAttribute as FnAttribute\nfro"
},
{
"path": "katana/stubs/GeoAPI/Util/LookFileUtil.pyi",
"chars": 2943,
"preview": "# mypy: disable-error-code=\"misc, override, attr-defined, no-redef, assignment\"\n\nimport ConfigurationAPI_cmodule as Conf"
},
{
"path": "katana/stubs/GeoAPI/Util/Manifest.pyi",
"chars": 157,
"preview": "# mypy: disable-error-code=\"misc, override, attr-defined, no-redef, assignment\"\n\nimport Utils as Utils\nimport PyXmlIO as"
},
{
"path": "katana/stubs/GeoAPI/Util/Matrix.pyi",
"chars": 762,
"preview": "# mypy: disable-error-code=\"misc, override, attr-defined, no-redef, assignment\"\n\nfrom typing import Set, Tuple\n\ndef axis"
},
{
"path": "katana/stubs/GeoAPI/Util/__init__.pyi",
"chars": 682,
"preview": "# mypy: disable-error-code=\"misc, override, attr-defined, no-redef, assignment\"\n\nimport CacheManager as CacheManager\nimp"
},
{
"path": "katana/stubs/GeoAPI/__init__.pyi",
"chars": 1182,
"preview": "# mypy: disable-error-code=\"misc, override, attr-defined, no-redef, assignment\"\n\nimport ConfigurationAPI_cmodule as Conf"
},
{
"path": "katana/stubs/GeoAPI/py.typed",
"chars": 0,
"preview": ""
},
{
"path": "katana/stubs/Katana/__init__.pyi",
"chars": 2389,
"preview": "from typing import Any\nfrom Callbacks.Callbacks import Callbacks as Callbacks\nimport AssetAPI as AssetAPI, AssetBrowser "
},
{
"path": "katana/stubs/Katana/py.typed",
"chars": 0,
"preview": ""
},
{
"path": "katana/stubs/KatanaResources/Manifest.pyi",
"chars": 182,
"preview": "# mypy: disable-error-code=\"misc, override, attr-defined, no-redef, assignment\"\n\nimport ConfigurationAPI_cmodule as Conf"
},
{
"path": "katana/stubs/KatanaResources/ResourceFiles.pyi",
"chars": 562,
"preview": "# mypy: disable-error-code=\"misc, override, attr-defined, no-redef, assignment\"\n\nimport ConfigurationAPI_cmodule as Conf"
},
{
"path": "katana/stubs/KatanaResources/__init__.pyi",
"chars": 451,
"preview": "# mypy: disable-error-code=\"misc, override, attr-defined, no-redef, assignment\"\n\nfrom . import ResourceFiles as Resource"
},
{
"path": "katana/stubs/KatanaResources/py.typed",
"chars": 0,
"preview": ""
},
{
"path": "katana/stubs/LoggingAPI/__init__.pyi",
"chars": 223,
"preview": "# mypy: disable-error-code=\"misc, override, attr-defined, no-redef, assignment\"\n\nfrom typing import Set, Tuple\n\ndef Buil"
},
{
"path": "katana/stubs/LoggingAPI/py.typed",
"chars": 0,
"preview": ""
},
{
"path": "katana/stubs/LookFileBakeAPI/Constants.pyi",
"chars": 249,
"preview": "# mypy: disable-error-code=\"misc, override, attr-defined, no-redef, assignment\"\n\nfrom typing import ClassVar, Set, Tuple"
},
{
"path": "katana/stubs/LookFileBakeAPI/Exceptions.pyi",
"chars": 159,
"preview": "# mypy: disable-error-code=\"misc, override, attr-defined, no-redef, assignment\"\n\nfrom typing import Set, Tuple\n\nclass Lo"
},
{
"path": "katana/stubs/LookFileBakeAPI/LookFileBaker.pyi",
"chars": 2016,
"preview": "# mypy: disable-error-code=\"misc, override, attr-defined, no-redef, assignment\"\n\nimport AssetAPI as AssetAPI\nimport PyFn"
},
{
"path": "katana/stubs/LookFileBakeAPI/LookFileUtil.pyi",
"chars": 2858,
"preview": "# mypy: disable-error-code=\"misc, override, attr-defined, no-redef, assignment\"\n\nimport PyFnAttribute as FnAttribute\nimp"
},
{
"path": "katana/stubs/LookFileBakeAPI/OutputFormatAPI.pyi",
"chars": 1553,
"preview": "# mypy: disable-error-code=\"misc, override, attr-defined, no-redef, assignment\"\n\nfrom _typeshed import Incomplete\nfrom t"
},
{
"path": "katana/stubs/LookFileBakeAPI/Utils.pyi",
"chars": 812,
"preview": "# mypy: disable-error-code=\"misc, override, attr-defined, no-redef, assignment\"\n\nimport PyFnAttribute as FnAttribute\nimp"
},
{
"path": "katana/stubs/LookFileBakeAPI/__init__.pyi",
"chars": 1305,
"preview": "# mypy: disable-error-code=\"misc, override, attr-defined, no-redef, assignment\"\n\nfrom . import Constants as Constants, E"
},
{
"path": "katana/stubs/LookFileBakeAPI/py.typed",
"chars": 0,
"preview": ""
},
{
"path": "katana/stubs/MachineInfo/KatanaInfo.pyi",
"chars": 490,
"preview": "# mypy: disable-error-code=\"misc, override, attr-defined, no-redef, assignment\"\n\nimport ConfigurationAPI_cmodule as Conf"
},
{
"path": "katana/stubs/MachineInfo/MachineInfo.pyi",
"chars": 315,
"preview": "# mypy: disable-error-code=\"misc, override, attr-defined, no-redef, assignment\"\n\nfrom typing import Set, Tuple\n\ndef GetF"
},
{
"path": "katana/stubs/MachineInfo/__init__.pyi",
"chars": 385,
"preview": "# mypy: disable-error-code=\"misc, override, attr-defined, no-redef, assignment\"\n\nfrom . import KatanaInfo as Katana, Kat"
},
{
"path": "katana/stubs/MachineInfo/py.typed",
"chars": 0,
"preview": ""
},
{
"path": "katana/stubs/Main/__init__.pyi",
"chars": 816,
"preview": "# mypy: disable-error-code=\"misc, override, attr-defined, no-redef, assignment\"\n\nimport ConfigurationAPI_cmodule as Conf"
},
{
"path": "katana/stubs/Main/py.typed",
"chars": 0,
"preview": ""
},
{
"path": "katana/stubs/MediaCacheHandler/Core.pyi",
"chars": 825,
"preview": "# mypy: disable-error-code=\"misc, override, attr-defined, no-redef, assignment\"\n\nimport MediaCacheHandler.DiskUtil as Di"
},
{
"path": "katana/stubs/MediaCacheHandler/DiskUtil.pyi",
"chars": 278,
"preview": "# mypy: disable-error-code=\"misc, override, attr-defined, no-redef, assignment\"\n\nfrom typing import Set, Tuple\n\ndef GetF"
},
{
"path": "katana/stubs/MediaCacheHandler/ImageUtil.pyi",
"chars": 280,
"preview": "# mypy: disable-error-code=\"misc, override, attr-defined, no-redef, assignment\"\n\nfrom typing import Set, Tuple\n\ndef Copy"
},
{
"path": "katana/stubs/MediaCacheHandler/KatanaUtil.pyi",
"chars": 153,
"preview": "# mypy: disable-error-code=\"misc, override, attr-defined, no-redef, assignment\"\n\nfrom typing import Set, Tuple\n\ndef GetK"
},
{
"path": "katana/stubs/MediaCacheHandler/__init__.pyi",
"chars": 658,
"preview": "# mypy: disable-error-code=\"misc, override, attr-defined, no-redef, assignment\"\n\nfrom . import Core as Core, DiskUtil as"
},
{
"path": "katana/stubs/MediaCacheHandler/py.typed",
"chars": 0,
"preview": ""
},
{
"path": "katana/stubs/Naming/SafeIdentifier.pyi",
"chars": 157,
"preview": "# mypy: disable-error-code=\"misc, override, attr-defined, no-redef, assignment\"\n\nfrom typing import Set, Tuple\n\ndef GetS"
},
{
"path": "katana/stubs/Naming/UniqueName.pyi",
"chars": 199,
"preview": "# mypy: disable-error-code=\"misc, override, attr-defined, no-redef, assignment\"\n\nimport typing\nfrom typing import Set, T"
},
{
"path": "katana/stubs/Naming/__init__.pyi",
"chars": 318,
"preview": "# mypy: disable-error-code=\"misc, override, attr-defined, no-redef, assignment\"\n\nfrom . import SafeIdentifier as SafeIde"
},
{
"path": "katana/stubs/Naming/py.typed",
"chars": 0,
"preview": ""
},
{
"path": "katana/stubs/NodeGraphView/Manifest.pyi",
"chars": 169,
"preview": "# mypy: disable-error-code=\"misc, override, attr-defined, no-redef, assignment\"\n\nimport NodegraphAPI as NodegraphAPI\nimp"
},
{
"path": "katana/stubs/NodeGraphView/Utility.pyi",
"chars": 547,
"preview": "# mypy: disable-error-code=\"misc, override, attr-defined, no-redef, assignment\"\n\nimport NodegraphAPI as NodegraphAPI\nimp"
},
{
"path": "katana/stubs/NodeGraphView/__init__.pyi",
"chars": 533,
"preview": "# mypy: disable-error-code=\"misc, override, attr-defined, no-redef, assignment\"\n\nfrom . import Manifest as Manifest, Uti"
},
{
"path": "katana/stubs/NodeGraphView/py.typed",
"chars": 0,
"preview": ""
},
{
"path": "katana/stubs/NodegraphAPI/BypassParameterManager.pyi",
"chars": 444,
"preview": "# mypy: disable-error-code=\"misc, override, attr-defined, no-redef, assignment\"\n\nimport NodegraphAPI as NodegraphAPI\nimp"
},
{
"path": "katana/stubs/NodegraphAPI/CallbackTypes.pyi",
"chars": 141,
"preview": "# mypy: disable-error-code=\"misc, override, attr-defined, no-redef, assignment\"\n\nimport Callbacks as Callbacks\nfrom typi"
},
{
"path": "katana/stubs/NodegraphAPI/ComplexConnector.pyi",
"chars": 704,
"preview": "# mypy: disable-error-code=\"misc, override, attr-defined, no-redef, assignment\"\n\nimport NodegraphAPI\nimport Utils as Uti"
},
{
"path": "katana/stubs/NodegraphAPI/Constants/ApplyWhenOptions.pyi",
"chars": 428,
"preview": "# mypy: disable-error-code=\"misc, override, attr-defined, no-redef, assignment\"\n\nfrom NodegraphAPI.ParameterValueOption "
},
{
"path": "katana/stubs/NodegraphAPI/Constants/ApplyWhereOptions.pyi",
"chars": 318,
"preview": "# mypy: disable-error-code=\"misc, override, attr-defined, no-redef, assignment\"\n\nfrom NodegraphAPI.ParameterValueOption "
},
{
"path": "katana/stubs/NodegraphAPI/Constants/ExecutionModeOptions.pyi",
"chars": 266,
"preview": "# mypy: disable-error-code=\"misc, override, attr-defined, no-redef, assignment\"\n\nfrom NodegraphAPI.ParameterValueOption "
},
{
"path": "katana/stubs/NodegraphAPI/Constants/__init__.pyi",
"chars": 248,
"preview": "# mypy: disable-error-code=\"misc, override, attr-defined, no-redef, assignment\"\n\nfrom . import ApplyWhenOptions as Apply"
},
{
"path": "katana/stubs/NodegraphAPI/DynamicParameters.pyi",
"chars": 502,
"preview": "# mypy: disable-error-code=\"misc, override, attr-defined, no-redef, assignment\"\n\nimport NodegraphAPI\nimport PyXmlIO as P"
},
{
"path": "katana/stubs/NodegraphAPI/ExpressionModule.pyi",
"chars": 2529,
"preview": "# mypy: disable-error-code=\"misc, override, attr-defined, no-redef, assignment\"\n\nimport AssetAPI as AssetAPI\nimport Conf"
},
{
"path": "katana/stubs/NodegraphAPI/Flavor.pyi",
"chars": 542,
"preview": "# mypy: disable-error-code=\"misc, override, attr-defined, no-redef, assignment\"\n\nimport NodegraphAPI_cmodule as Nodegrap"
},
{
"path": "katana/stubs/NodegraphAPI/GroupStack.pyi",
"chars": 1401,
"preview": "# mypy: disable-error-code=\"misc, override, attr-defined, no-redef, assignment\"\n\nimport NodegraphAPI.NodeExtensions as N"
},
{
"path": "katana/stubs/NodegraphAPI/InteractiveRenderFilters.pyi",
"chars": 529,
"preview": "# mypy: disable-error-code=\"misc, override, attr-defined, no-redef, assignment\"\n\nimport NodegraphAPI.GroupStack\nfrom Nod"
},
{
"path": "katana/stubs/NodegraphAPI/LiveGroup.pyi",
"chars": 8133,
"preview": "# mypy: disable-error-code=\"misc, override, attr-defined, no-redef, assignment\"\n\nimport AssetAPI as AssetAPI\nimport Conf"
},
{
"path": "katana/stubs/NodegraphAPI/Manifest.pyi",
"chars": 649,
"preview": "# mypy: disable-error-code=\"misc, override, attr-defined, no-redef, assignment\"\n\nimport AssetAPI as AssetAPI\nimport Cach"
},
{
"path": "katana/stubs/NodegraphAPI/NodeDelegateManager.pyi",
"chars": 273,
"preview": "# mypy: disable-error-code=\"misc, override, attr-defined, no-redef, assignment\"\n\nimport NodegraphAPI as NodegraphAPI\nfro"
},
{
"path": "katana/stubs/NodegraphAPI/NodeExtensions.pyi",
"chars": 2845,
"preview": "# mypy: disable-error-code=\"misc, override, attr-defined, no-redef, assignment\"\n\nimport Utils.EventModule as EventModule"
},
{
"path": "katana/stubs/NodegraphAPI/NodeGraphViewExtensions.pyi",
"chars": 360,
"preview": "# mypy: disable-error-code=\"misc, override, attr-defined, no-redef, assignment\"\n\nimport NodegraphAPI\nimport NodegraphAPI"
},
{
"path": "katana/stubs/NodegraphAPI/NodeNameFromParamManager.pyi",
"chars": 455,
"preview": "# mypy: disable-error-code=\"misc, override, attr-defined, no-redef, assignment\"\n\nimport Callbacks as Callbacks\nimport No"
},
{
"path": "katana/stubs/NodegraphAPI/NodeXmlIO.pyi",
"chars": 1533,
"preview": "# mypy: disable-error-code=\"misc, override, attr-defined, no-redef, assignment\"\n\nimport CacheManager as CacheManager\nimp"
},
{
"path": "katana/stubs/NodegraphAPI/NodegraphChangedEvents.pyi",
"chars": 1279,
"preview": "# mypy: disable-error-code=\"misc, override, attr-defined, no-redef, assignment\"\n\nimport NodegraphAPI.NodeExtensions as N"
},
{
"path": "katana/stubs/NodegraphAPI/NodegraphGlobals.pyi",
"chars": 2519,
"preview": "# mypy: disable-error-code=\"misc, override, attr-defined, no-redef, assignment\"\n\nimport AssetAPI as AssetAPI\nimport Call"
},
{
"path": "katana/stubs/NodegraphAPI/ParameterValueOption.pyi",
"chars": 277,
"preview": "# mypy: disable-error-code=\"misc, override, attr-defined, no-redef, assignment\"\n\nfrom typing import Set, Tuple\n\nclass Pa"
},
{
"path": "katana/stubs/NodegraphAPI/PythonRenderScript.pyi",
"chars": 826,
"preview": "# mypy: disable-error-code=\"misc, override, attr-defined, no-redef, assignment\"\n\nimport NodegraphAPI\nimport NodegraphAPI"
},
{
"path": "katana/stubs/NodegraphAPI/RenderFilter.pyi",
"chars": 506,
"preview": "# mypy: disable-error-code=\"misc, override, attr-defined, no-redef, assignment\"\n\nimport NodegraphAPI.GroupStack\nfrom Nod"
},
{
"path": "katana/stubs/NodegraphAPI/RenderScript.pyi",
"chars": 559,
"preview": "# mypy: disable-error-code=\"misc, override, attr-defined, no-redef, assignment\"\n\nimport NodegraphAPI.NodeExtensions as N"
},
{
"path": "katana/stubs/NodegraphAPI/StructuredPorts.pyi",
"chars": 866,
"preview": "# mypy: disable-error-code=\"misc, override, attr-defined, no-redef, assignment\"\n\nimport NodegraphAPI\nfrom typing import "
},
{
"path": "katana/stubs/NodegraphAPI/SuperTool.pyi",
"chars": 841,
"preview": "# mypy: disable-error-code=\"misc, override, attr-defined, no-redef, assignment\"\n\nimport NodegraphAPI.Flavor as Flavor\nim"
},
{
"path": "katana/stubs/NodegraphAPI/UserParameters.pyi",
"chars": 1071,
"preview": "# mypy: disable-error-code=\"misc, override, attr-defined, no-redef, assignment\"\n\nimport NodegraphAPI\nimport NodegraphAPI"
},
{
"path": "katana/stubs/NodegraphAPI/Util.pyi",
"chars": 1466,
"preview": "# mypy: disable-error-code=\"misc, override, attr-defined, no-redef, assignment\"\n\nimport NodegraphAPI as NodegraphAPI\nimp"
},
{
"path": "katana/stubs/NodegraphAPI/Version/Manifest.pyi",
"chars": 173,
"preview": "# mypy: disable-error-code=\"misc, override, attr-defined, no-redef, assignment\"\n\nimport NodegraphAPI as NodegraphAPI\nimp"
},
{
"path": "katana/stubs/NodegraphAPI/Version/Registry.pyi",
"chars": 655,
"preview": "# mypy: disable-error-code=\"misc, override, attr-defined, no-redef, assignment\"\n\nimport NodegraphAPI.Version.Utils as Ut"
},
{
"path": "katana/stubs/NodegraphAPI/Version/UpdateNodeTypeVersions.pyi",
"chars": 344,
"preview": "# mypy: disable-error-code=\"misc, override, attr-defined, no-redef, assignment\"\n\nimport NodegraphAPI.Xio as Xio\nfrom Nod"
},
{
"path": "katana/stubs/NodegraphAPI/Version/Updater.pyi",
"chars": 279,
"preview": "# mypy: disable-error-code=\"misc, override, attr-defined, no-redef, assignment\"\n\nimport NodegraphAPI.Version.Registry as"
},
{
"path": "katana/stubs/NodegraphAPI/Version/Utils.pyi",
"chars": 331,
"preview": "# mypy: disable-error-code=\"misc, override, attr-defined, no-redef, assignment\"\n\nfrom typing import Set, Tuple\n\nNoVersio"
},
{
"path": "katana/stubs/NodegraphAPI/Version/__init__.pyi",
"chars": 2743,
"preview": "# mypy: disable-error-code=\"misc, override, attr-defined, no-redef, assignment\"\n\nimport Utils as KatUtils\nimport PyXmlIO"
},
{
"path": "katana/stubs/NodegraphAPI/Xio.pyi",
"chars": 7271,
"preview": "# mypy: disable-error-code=\"misc, override, attr-defined, no-redef, assignment\"\n\nimport PyXmlIO as PyXmlIO\nimport Naming"
},
{
"path": "katana/stubs/NodegraphAPI/__init__.pyi",
"chars": 10106,
"preview": "# mypy: disable-error-code=\"misc, override, attr-defined, no-redef, assignment\"\n\nimport Callbacks as Callbacks\nimport Py"
},
{
"path": "katana/stubs/NodegraphAPI/py.typed",
"chars": 0,
"preview": ""
},
{
"path": "katana/stubs/NodegraphAPI_cmodule/__init__.pyi",
"chars": 18863,
"preview": "# mypy: disable-error-code=\"misc, override, attr-defined, no-redef, assignment\"\n\nimport NodegraphAPI\nimport typing\nfrom "
},
{
"path": "katana/stubs/NodegraphAPI_cmodule/py.typed",
"chars": 0,
"preview": ""
},
{
"path": "katana/stubs/Nodes2DAPI/Expression.pyi",
"chars": 1080,
"preview": "# mypy: disable-error-code=\"misc, override, attr-defined, no-redef, assignment\"\n\nimport NodegraphAPI as NodegraphAPI\nimp"
},
{
"path": "katana/stubs/Nodes2DAPI/FileInNodeUtil.pyi",
"chars": 598,
"preview": "# mypy: disable-error-code=\"misc, override, attr-defined, no-redef, assignment\"\n\nimport AssetAPI as AssetAPI\nimport Node"
},
{
"path": "katana/stubs/Nodes2DAPI/FileOutNodeUtil.pyi",
"chars": 889,
"preview": "# mypy: disable-error-code=\"misc, override, attr-defined, no-redef, assignment\"\n\nimport AssetAPI as AssetAPI\nimport Node"
},
{
"path": "katana/stubs/Nodes2DAPI/GradientNodeUtil.pyi",
"chars": 476,
"preview": "# mypy: disable-error-code=\"misc, override, attr-defined, no-redef, assignment\"\n\nimport NodegraphAPI\nimport PyXmlIO as P"
},
{
"path": "katana/stubs/Nodes2DAPI/Manifest.pyi",
"chars": 479,
"preview": "# mypy: disable-error-code=\"misc, override, attr-defined, no-redef, assignment\"\n\nimport PyFnGeolibServices.ExpressionMat"
},
{
"path": "katana/stubs/Nodes2DAPI/NodeColorDelegate.pyi",
"chars": 486,
"preview": "# mypy: disable-error-code=\"misc, override, attr-defined, no-redef, assignment\"\n\nimport NodegraphAPI as NodegraphAPI\nimp"
},
{
"path": "katana/stubs/Nodes2DAPI/ThumbnailManager.pyi",
"chars": 540,
"preview": "# mypy: disable-error-code=\"misc, override, attr-defined, no-redef, assignment\"\n\nimport NodegraphAPI as NodegraphAPI\nimp"
},
{
"path": "katana/stubs/Nodes2DAPI/TransformUtil.pyi",
"chars": 339,
"preview": "# mypy: disable-error-code=\"misc, override, attr-defined, no-redef, assignment\"\n\nimport NodegraphAPI as NodegraphAPI\nfro"
},
{
"path": "katana/stubs/Nodes2DAPI/__init__.pyi",
"chars": 5625,
"preview": "# mypy: disable-error-code=\"misc, override, attr-defined, no-redef, assignment\"\n\nimport NodegraphAPI as NodegraphAPI\nimp"
},
{
"path": "katana/stubs/Nodes2DAPI/py.typed",
"chars": 0,
"preview": ""
},
{
"path": "katana/stubs/Nodes2DAPI_cmodule/Views.pyi",
"chars": 551,
"preview": "# mypy: disable-error-code=\"misc, override, attr-defined, no-redef, assignment\"\n\nfrom typing import Set, Tuple\n\nVIEW_MAS"
},
{
"path": "katana/stubs/Nodes2DAPI_cmodule/__init__.pyi",
"chars": 10374,
"preview": "# mypy: disable-error-code=\"misc, override, attr-defined, no-redef, assignment\"\n\nimport NodegraphAPI_cmodule\nimport PyFn"
},
{
"path": "katana/stubs/Nodes2DAPI_cmodule/py.typed",
"chars": 0,
"preview": ""
},
{
"path": "katana/stubs/Nodes3DAPI/AbstractTransform.pyi",
"chars": 904,
"preview": "# mypy: disable-error-code=\"misc, override, attr-defined, no-redef, assignment\"\n\nimport PyFnAttribute as FnAttribute\nimp"
},
{
"path": "katana/stubs/Nodes3DAPI/Alembic_In.pyi",
"chars": 686,
"preview": "# mypy: disable-error-code=\"misc, override, attr-defined, no-redef, assignment\"\n\nimport AssetAPI as AssetAPI\nimport PyFn"
},
{
"path": "katana/stubs/Nodes3DAPI/AttributeCopy.pyi",
"chars": 446,
"preview": "# mypy: disable-error-code=\"misc, override, attr-defined, no-redef, assignment\"\n\nimport PyFnAttribute as FnAttribute\nimp"
},
{
"path": "katana/stubs/Nodes3DAPI/AttributeEditor.pyi",
"chars": 2844,
"preview": "# mypy: disable-error-code=\"misc, override, attr-defined, no-redef, assignment\"\n\nimport PyFnAttribute as FnAttribute\nimp"
},
{
"path": "katana/stubs/Nodes3DAPI/AttributeFile_In.pyi",
"chars": 881,
"preview": "# mypy: disable-error-code=\"misc, override, attr-defined, no-redef, assignment\"\n\nimport NodegraphAPI.Constants.ApplyWhen"
},
{
"path": "katana/stubs/Nodes3DAPI/AttributeSet.pyi",
"chars": 720,
"preview": "# mypy: disable-error-code=\"misc, override, attr-defined, no-redef, assignment\"\n\nimport PyFnAttribute as FnAttribute\nimp"
},
{
"path": "katana/stubs/Nodes3DAPI/BlockerCreate.pyi",
"chars": 901,
"preview": "# mypy: disable-error-code=\"misc, override, attr-defined, no-redef, assignment\"\n\nimport Nodes3DAPI.AbstractTransform as "
},
{
"path": "katana/stubs/Nodes3DAPI/BoundsAdjust.pyi",
"chars": 647,
"preview": "# mypy: disable-error-code=\"misc, override, attr-defined, no-redef, assignment\"\n\nimport PyFnAttribute as FnAttribute\nimp"
},
{
"path": "katana/stubs/Nodes3DAPI/CameraClippingPlaneEdit.pyi",
"chars": 961,
"preview": "# mypy: disable-error-code=\"misc, override, attr-defined, no-redef, assignment\"\n\nimport PyFnAttribute as FnAttribute\nimp"
},
{
"path": "katana/stubs/Nodes3DAPI/CameraCreate.pyi",
"chars": 1808,
"preview": "# mypy: disable-error-code=\"misc, override, attr-defined, no-redef, assignment\"\n\nimport Nodes3DAPI.AbstractTransform as "
},
{
"path": "katana/stubs/Nodes3DAPI/CameraImagePlaneCreate.pyi",
"chars": 811,
"preview": "# mypy: disable-error-code=\"misc, override, attr-defined, no-redef, assignment\"\n\nimport ConfigurationAPI_cmodule as Conf"
},
{
"path": "katana/stubs/Nodes3DAPI/CollectionCreate.pyi",
"chars": 622,
"preview": "# mypy: disable-error-code=\"misc, override, attr-defined, no-redef, assignment\"\n\nimport PyFnAttribute as FnAttribute\nimp"
},
{
"path": "katana/stubs/Nodes3DAPI/ConstraintCache.pyi",
"chars": 728,
"preview": "# mypy: disable-error-code=\"misc, override, attr-defined, no-redef, assignment\"\n\nimport PyFnAttribute as FnAttribute\nimp"
},
{
"path": "katana/stubs/Nodes3DAPI/ConstraintListEdit.pyi",
"chars": 500,
"preview": "# mypy: disable-error-code=\"misc, override, attr-defined, no-redef, assignment\"\n\nimport PyFnAttribute as FnAttribute\nimp"
},
{
"path": "katana/stubs/Nodes3DAPI/Constraints/AimConstraint.pyi",
"chars": 701,
"preview": "# mypy: disable-error-code=\"misc, override, attr-defined, no-redef, assignment\"\n\nimport PyFnAttribute as FnAttribute\nimp"
}
]
// ... and 1846 more files (download for full content)
About this extraction
This page contains the full source code of the LumaPictures/cg-stubs GitHub repository, extracted and formatted as plain text for AI agents and large language models (LLMs). The extraction includes 2046 files (24.9 MB), approximately 6.6M tokens, and a symbol index with 189966 extracted functions, classes, methods, constants, and types. Use this with OpenClaw, Claude, ChatGPT, Cursor, Windsurf, or any other AI tool that accepts text input. You can copy the full output to your clipboard or download it as a .txt file.
Extracted by GitExtract — free GitHub repo to text converter for AI. Built by Nikandr Surkov.