Appearance
module: sdk.client_lib_generator ​
Link to GitHub
Entities: ​
Class ClientLibGenerator ​
extends: -
is extended by: -
description ​
This class is used to generate client library files for a given service.
attributes ​
_metadata_provider(StorageProvider): An instance of theStorageProviderclass.org_id(str): The organization ID of the service.service_id(str): The service ID.language(str): The language of the client library. Default ispython.protodir(str): The directory where the .proto files are located. Default is~/.snet.
methods ​
__init__ ​
Initializes a new instance of the class. Initializes the attributes by arguments values.
args: ​
metadata_provider(StorageProvider): An instance of theStorageProviderclass.org_id(str): The organization ID of the service.service_id(str): The service ID.protodir(Path | None): The directory where the .proto files are located. Default is None.
returns: ​
- None
generate_client_library ​
Generates client library stub files based on specified organization and service ids, including:
- getting service metadata from Registry
- getting archived proto files from IPFS or FileCoin and extracting them
- compiling .proto file to stub file and saving it in a given directory
returns: ​
- None
generate_directories_by_params ​
Generates directories for client library in the ~/.snet directory based on organization and service ids using the create_service_client_libraries_path method.
returns: ​
- None
create_service_client_libraries_path ​
Creates a directory for client library in the ~/.snet directory based on organization and service ids.
returns: ​
- None
receive_proto_files ​
Receives .proto files from IPFS or FileCoin based on service metadata and extracts them to a given directory.
returns: ​
- None
raises: ​
- Exception: if the directory for storing proto files is not found.
training_added ​
Checks whether training is used in the service .proto file.
returns: ​
- True if training is used in the service .proto file, False otherwise.