From 59ebe6e96252e162e5da20746b9c06589c4fe297 Mon Sep 17 00:00:00 2001 From: Barkin Simsek Date: Thu, 22 Jun 2023 10:34:52 +0900 Subject: [PATCH] Update GraphQL client. --- CHANGELOG.md | 5 ++ README.md | 6 +- python/mujinwebstackclient/version.py | 2 +- .../webstackgraphclient.py | 60 +++++++++++++++++-- 4 files changed, 63 insertions(+), 10 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 9bc90c5..14d358f 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,8 @@ +# 0.5.1 (2023-06-22) + +- Regenerate graph client for new module library APIs. + + # 0.5.0 (2023-04-18) - Support HTTP over Unix domain socket via optional `unixEndpoint` argument. diff --git a/README.md b/README.md index 00fc91c..59dcfbb 100644 --- a/README.md +++ b/README.md @@ -31,7 +31,7 @@ Mujin Controller Python Client is Licensed under the Apache License, Version 2.0 ## For developers -### How to re-generate `controllergraphclient.py` +### How to re-generate `webstackgraphclient.py` First, set up a virtualenv to install required pip packages: @@ -46,10 +46,10 @@ virtualenv .ve ./.ve/bin/pip install . ``` -Then, use `mujin_webstackclientpy_generategraphclient.py` to generate the content of the `controllergraphclient.py` file. +Then, use `mujin_webstackclientpy_generategraphclient.py` to generate the content of the `webstackgraphclient.py` file. ```bash -./.ve/bin/python devbin/mujin_webstackclientpy_generategraphclient.py --url http://controller123 > python/mujinwebstackclient/controllergraphclient.py +./.ve/bin/python devbin/mujin_webstackclientpy_generategraphclient.py --url http://controller123 > python/mujinwebstackclient/webstackgraphclient.py ``` ## Troubleshooting diff --git a/python/mujinwebstackclient/version.py b/python/mujinwebstackclient/version.py index 9c9db50..bc2c77e 100644 --- a/python/mujinwebstackclient/version.py +++ b/python/mujinwebstackclient/version.py @@ -1,4 +1,4 @@ -__version__ = '0.5.0' +__version__ = '0.5.1' # Do not forget to update CHANGELOG.md diff --git a/python/mujinwebstackclient/webstackgraphclient.py b/python/mujinwebstackclient/webstackgraphclient.py index 6dd7438..98f7e70 100644 --- a/python/mujinwebstackclient/webstackgraphclient.py +++ b/python/mujinwebstackclient/webstackgraphclient.py @@ -2,7 +2,7 @@ # # DO NOT EDIT, THIS FILE WAS AUTO-GENERATED # GENERATED BY: mujin_webstackclientpy_generategraphclient.py -# GENERATED AGAINST: mujinwebstack/2.2.61.e3cf6b7364a631ceee0c6c0b6085ea2252d3d178-dirty +# GENERATED AGAINST: mujinwebstack/2.3.41.c8be3d03b5264805d3bb9123d01c7c8d0c8c0460 # from .webstackgraphclientutils import GraphClientBase @@ -997,11 +997,37 @@ def GetUntypedModelProcessorState(self, bodyId, environmentId, resolveReferences return self._CallSimpleGraphAPI('query', operationName='GetUntypedModelProcessorState', parameterNameTypeValues=parameterNameTypeValues, returnType='Any', fields=fields, timeout=timeout) def GetUntypedSchema(self, schemaId, fields=None, timeout=None): + """Get untyped JSON schema by the schema ID. + + Args: + schemaId (str): ID of the schema. + fields (list or dict, optional): Specifies a subset of fields to return. + timeout (float, optional): Number of seconds to wait for response. + + Returns: + Any: + """ parameterNameTypeValues = [ ('schemaId', 'String!', schemaId), ] return self._CallSimpleGraphAPI('query', operationName='GetUntypedSchema', parameterNameTypeValues=parameterNameTypeValues, returnType='Any', fields=fields, timeout=timeout) + def GetVisionTaskModuleByVisionTaskType(self, visionTaskType, fields=None, timeout=None): + """Get vision task module by vision task type. + + Args: + visionTaskType (str): + fields (list or dict, optional): Specifies a subset of fields to return. + timeout (float, optional): Number of seconds to wait for response. + + Returns: + VisionTaskModule: + """ + parameterNameTypeValues = [ + ('visionTaskType', 'String!', visionTaskType), + ] + return self._CallSimpleGraphAPI('query', operationName='GetVisionTaskModuleByVisionTaskType', parameterNameTypeValues=parameterNameTypeValues, returnType='VisionTaskModule', fields=fields, timeout=timeout) + def IsAttachedSensorMoveable(self, attachedSensorName, bodyName, environmentId, fields=None, timeout=None): """Check and see if attached sensor is moveable on a robot @@ -1588,6 +1614,22 @@ def ListTools(self, bodyId, environmentId, options=None, resolveReferences=None, ] return self._CallSimpleGraphAPI('query', operationName='ListTools', parameterNameTypeValues=parameterNameTypeValues, returnType='ListToolsReturnValue', fields=fields, timeout=timeout) + def ListVisionTaskModules(self, options=None, fields=None, timeout=None): + """List vision task modules. + + Args: + options (ListOptionsInput, optional): Optional list query parameters, used to filter returned results. + fields (list or dict, optional): Specifies a subset of fields to return. + timeout (float, optional): Number of seconds to wait for response. + + Returns: + ListVisionTaskModulesReturnValue: + """ + parameterNameTypeValues = [ + ('options', 'ListOptionsInput', options), + ] + return self._CallSimpleGraphAPI('query', operationName='ListVisionTaskModules', parameterNameTypeValues=parameterNameTypeValues, returnType='ListVisionTaskModulesReturnValue', fields=fields, timeout=timeout) + def Ping(self, host, size=None, ttl=None, fields=None, timeout=None): """Ping a remote host. @@ -3184,7 +3226,7 @@ def GetLatestDetectionResultImages(self, options=None, parameters=None, fields=N timeout (float, optional): Number of seconds to wait for response. Returns: - [MujinImage]: + [MujinImage]: Holds data related to a captured images. """ parameterNameTypeValues = [ ('options', 'VisionManagerOptionsInput', options), @@ -4066,7 +4108,7 @@ def SnapImages(self, parameters=None, fields=None, timeout=None): timeout (float, optional): Number of seconds to wait for response. Returns: - [MujinImage]: + [MujinImage]: Holds data related to a captured images. """ parameterNameTypeValues = [ ('parameters', 'Any', parameters), @@ -4121,7 +4163,7 @@ def SyncConfigurationsToRemote(self, configurationIds, remoteUrl, ignoreUploadFa ] return self._CallSimpleGraphAPI('mutation', operationName='SyncConfigurationsToRemote', parameterNameTypeValues=parameterNameTypeValues, returnType='SyncConfigurationsToRemoteReturnValue', fields=fields, timeout=timeout) - def SyncEnvironments(self, environmentIds, remoteUrl, addKeywords=None, fileNamePatterns=None, ignoreDownloadFailures=None, remotePassword=None, remoteUsername=None, fields=None, timeout=None): + def SyncEnvironments(self, environmentIds, remoteUrl, addKeywords=None, downloadReferenceObjects=None, fileNamePatterns=None, ignoreDownloadFailures=None, remotePassword=None, remoteUsername=None, fields=None, timeout=None): """Sync environments from remote webstack. @@ -4129,6 +4171,7 @@ def SyncEnvironments(self, environmentIds, remoteUrl, addKeywords=None, fileName environmentIds ([String]): List of environment IDs to download. remoteUrl (str): URL to remote webstack, e.g. "http://username:password@controller123". addKeywords ([String], optional): If set, add keywords to the modified environments. + downloadReferenceObjects (bool, optional): If set to true, download objects referenced in bodies. fileNamePatterns ([String], optional): List of regular expression patterns to determine what files to sync inside each environment. ignoreDownloadFailures (bool, optional): If set to true, ignores download failures. remotePassword (str, optional): Optional credential to use when authenticating with remote webstack, if credentials are not given in remoteUrl already. @@ -4143,6 +4186,7 @@ def SyncEnvironments(self, environmentIds, remoteUrl, addKeywords=None, fileName ('environmentIds', '[String!]!', environmentIds), ('remoteUrl', 'String!', remoteUrl), ('addKeywords', '[String!]', addKeywords), + ('downloadReferenceObjects', 'Boolean', downloadReferenceObjects), ('fileNamePatterns', '[String!]', fileNamePatterns), ('ignoreDownloadFailures', 'Boolean', ignoreDownloadFailures), ('remotePassword', 'String', remotePassword), @@ -4150,13 +4194,14 @@ def SyncEnvironments(self, environmentIds, remoteUrl, addKeywords=None, fileName ] return self._CallSimpleGraphAPI('mutation', operationName='SyncEnvironments', parameterNameTypeValues=parameterNameTypeValues, returnType='SyncEnvironmentsFromRemoteReturnValue', fields=fields, timeout=timeout) - def SyncEnvironmentsFromRemote(self, environmentIds, remoteUrl, addKeywords=None, fileNamePatterns=None, ignoreDownloadFailures=None, remotePassword=None, remoteUsername=None, fields=None, timeout=None): + def SyncEnvironmentsFromRemote(self, environmentIds, remoteUrl, addKeywords=None, downloadReferenceObjects=None, fileNamePatterns=None, ignoreDownloadFailures=None, remotePassword=None, remoteUsername=None, fields=None, timeout=None): """Sync environments from remote webstack. Args: environmentIds ([String]): List of environment IDs to download. remoteUrl (str): URL to remote webstack, e.g. "http://username:password@controller123". addKeywords ([String], optional): If set, add keywords to the modified environments. + downloadReferenceObjects (bool, optional): If set to true, download objects referenced in bodies. fileNamePatterns ([String], optional): List of regular expression patterns to determine what files to sync inside each environment. ignoreDownloadFailures (bool, optional): If set to true, ignores download failures. remotePassword (str, optional): Optional credential to use when authenticating with remote webstack, if credentials are not given in remoteUrl already. @@ -4171,6 +4216,7 @@ def SyncEnvironmentsFromRemote(self, environmentIds, remoteUrl, addKeywords=None ('environmentIds', '[String!]!', environmentIds), ('remoteUrl', 'String!', remoteUrl), ('addKeywords', '[String!]', addKeywords), + ('downloadReferenceObjects', 'Boolean', downloadReferenceObjects), ('fileNamePatterns', '[String!]', fileNamePatterns), ('ignoreDownloadFailures', 'Boolean', ignoreDownloadFailures), ('remotePassword', 'String', remotePassword), @@ -4178,7 +4224,7 @@ def SyncEnvironmentsFromRemote(self, environmentIds, remoteUrl, addKeywords=None ] return self._CallSimpleGraphAPI('mutation', operationName='SyncEnvironmentsFromRemote', parameterNameTypeValues=parameterNameTypeValues, returnType='SyncEnvironmentsFromRemoteReturnValue', fields=fields, timeout=timeout) - def SyncEnvironmentsToRemote(self, environmentIds, remoteUrl, addKeywords=None, fileNamePatterns=None, ignoreUploadFailures=None, remotePassword=None, remoteUsername=None, fields=None, timeout=None): + def SyncEnvironmentsToRemote(self, environmentIds, remoteUrl, addKeywords=None, fileNamePatterns=None, ignoreUploadFailures=None, remotePassword=None, remoteUsername=None, uploadReferenceObjects=None, fields=None, timeout=None): """Sync environments to remote webstack. Args: @@ -4189,6 +4235,7 @@ def SyncEnvironmentsToRemote(self, environmentIds, remoteUrl, addKeywords=None, ignoreUploadFailures (bool, optional): If set to true, ignores upload failures. remotePassword (str, optional): Optional credential to use when authenticating with remote webstack, if credentials are not given in remoteUrl already. remoteUsername (str, optional): Optional credential to use when authenticating with remote webstack, if credentials are not given in remoteUrl already. + uploadReferenceObjects (bool, optional): If set to true, upload objects referenced in bodies. fields (list or dict, optional): Specifies a subset of fields to return. timeout (float, optional): Number of seconds to wait for response. @@ -4203,6 +4250,7 @@ def SyncEnvironmentsToRemote(self, environmentIds, remoteUrl, addKeywords=None, ('ignoreUploadFailures', 'Boolean', ignoreUploadFailures), ('remotePassword', 'String', remotePassword), ('remoteUsername', 'String', remoteUsername), + ('uploadReferenceObjects', 'Boolean', uploadReferenceObjects), ] return self._CallSimpleGraphAPI('mutation', operationName='SyncEnvironmentsToRemote', parameterNameTypeValues=parameterNameTypeValues, returnType='SyncEnvironmentsToRemoteReturnValue', fields=fields, timeout=timeout)