coinbase_agentkit.action_providers.hyperboliclabs.marketplace package¶
Submodules¶
coinbase_agentkit.action_providers.hyperboliclabs.marketplace.action_provider module¶
Hyperbolic Marketplace action provider.
This module provides actions for interacting with Hyperbolic marketplace services. It includes functionality for managing GPU instances and SSH access.
- class coinbase_agentkit.action_providers.hyperboliclabs.marketplace.action_provider.MarketplaceActionProvider(api_key=None)¶
Bases:
ActionProviderProvides actions for interacting with Hyperbolic marketplace.
This provider enables interaction with the Hyperbolic marketplace for GPU compute resources. It requires an API key which can be provided directly or through the HYPERBOLIC_API_KEY environment variable.
- get_available_gpus(args)¶
Retrieve available GPU instances from the marketplace.
- Parameters:
args (dict[str, Any]) – Input arguments for the action.
- Returns:
A message containing the action response or error details.
- Return type:
str
- get_available_gpus_by_type(args)¶
Retrieve available GPU instances of a specific model from the marketplace.
- Parameters:
args (dict[str, Any]) – Input arguments for the action.
- Returns:
A message containing the action response or error details.
- Return type:
str
- get_available_gpus_types(args)¶
Retrieve available GPU types/models from the marketplace.
- Parameters:
args (dict[str, Any]) – Input arguments for the action.
- Returns:
A message containing the action response or error details.
- Return type:
str
- get_gpu_status(args)¶
Retrieve status and SSH commands for currently rented GPUs.
- Parameters:
args (dict[str, Any]) – Input arguments for the action.
- Returns:
A message containing the action response or error details.
- Return type:
str
- rent_compute(args)¶
Rents a GPU machine on the platform.
- Parameters:
args (dict[str, Any]) – Input arguments for the action.
- Returns:
A message containing the action response or error details.
- Return type:
str
- terminate_compute(args)¶
Terminates a GPU instance on the platform.
- Parameters:
args (dict[str, Any]) – Input arguments for the action.
- Returns:
A message containing the action response or error details.
- Return type:
str
- coinbase_agentkit.action_providers.hyperboliclabs.marketplace.action_provider.hyperbolic_marketplace_action_provider(api_key=None)¶
Create a new instance of the MarketplaceActionProvider.
- Parameters:
api_key (
Optional[str]) – Optional API key for authentication. If not provided, will attempt to read from HYPERBOLIC_API_KEY environment variable.- Return type:
- Returns:
A new Marketplace action provider instance.
- Raises:
ValueError – If API key is not provided and not found in environment.
coinbase_agentkit.action_providers.hyperboliclabs.marketplace.schemas module¶
Schemas for Hyperbolic marketplace actions.
- class coinbase_agentkit.action_providers.hyperboliclabs.marketplace.schemas.GetAvailableGpusByTypeSchema(**data)¶
Bases:
BaseModelSchema for get_available_gpus_by_type action.
-
gpu_model:
str¶
- model_config: ClassVar[ConfigDict] = {}¶
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
-
gpu_model:
- class coinbase_agentkit.action_providers.hyperboliclabs.marketplace.schemas.GetAvailableGpusSchema(**data)¶
Bases:
BaseModelSchema for get_available_gpus action.
- model_config: ClassVar[ConfigDict] = {}¶
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- class coinbase_agentkit.action_providers.hyperboliclabs.marketplace.schemas.GetAvailableGpusTypesSchema(**data)¶
Bases:
BaseModelSchema for get_available_gpus_types action.
- model_config: ClassVar[ConfigDict] = {}¶
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- class coinbase_agentkit.action_providers.hyperboliclabs.marketplace.schemas.GetGpuStatusSchema(**data)¶
Bases:
BaseModelSchema for get_gpu_status action.
- model_config: ClassVar[ConfigDict] = {}¶
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- class coinbase_agentkit.action_providers.hyperboliclabs.marketplace.schemas.RentComputeSchema(**data)¶
Bases:
BaseModelSchema for rent_compute action.
-
cluster_name:
str¶
-
gpu_count:
str¶
- model_config: ClassVar[ConfigDict] = {}¶
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
-
node_name:
str¶
-
cluster_name:
- class coinbase_agentkit.action_providers.hyperboliclabs.marketplace.schemas.TerminateComputeSchema(**data)¶
Bases:
BaseModelSchema for terminate_compute action.
-
id:
str¶
- model_config: ClassVar[ConfigDict] = {}¶
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
-
id:
coinbase_agentkit.action_providers.hyperboliclabs.marketplace.service module¶
Service for marketplace-related operations.
- class coinbase_agentkit.action_providers.hyperboliclabs.marketplace.service.MarketplaceService(api_key)¶
Bases:
BaseService for marketplace-related operations.
- get_available_instances()¶
Get available GPU instances from the marketplace.
- Returns:
The marketplace instances data.
- Return type:
- get_instance_history()¶
Get GPU instance rental history.
- Returns:
The instance history data.
- Return type:
- get_rented_instances()¶
Get currently rented GPU instances.
- Returns:
The rented instances data.
- Return type:
- rent_instance(request)¶
Rent a GPU compute instance.
- Parameters:
request (
RentInstanceRequest) – The RentInstanceRequest object containing rental parameters.- Returns:
The rental response data.
- Return type:
- terminate_instance(request)¶
Terminate a GPU compute instance.
- Parameters:
request (
TerminateInstanceRequest) – The TerminateInstanceRequest object containing the instance ID.- Returns:
The termination response data.
- Return type:
coinbase_agentkit.action_providers.hyperboliclabs.marketplace.types module¶
Types for Hyperbolic marketplace operations.
This module provides type definitions for marketplace API communication.
- class coinbase_agentkit.action_providers.hyperboliclabs.marketplace.types.AvailableInstance(**data)¶
Bases:
NodeInstanceAvailable instance information.
- model_config: ClassVar[ConfigDict] = {}¶
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- class coinbase_agentkit.action_providers.hyperboliclabs.marketplace.types.AvailableInstancesResponse(**data)¶
Bases:
BaseModelResponse for available instances.
-
instances:
list[AvailableInstance]¶
- model_config: ClassVar[ConfigDict] = {}¶
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
-
instances:
- class coinbase_agentkit.action_providers.hyperboliclabs.marketplace.types.ContainerImage(**data)¶
Bases:
BaseModelContainer image configuration.
- model_config: ClassVar[ConfigDict] = {}¶
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
-
name:
str¶
-
port:
int¶
-
tag:
str¶
- class coinbase_agentkit.action_providers.hyperboliclabs.marketplace.types.CpuHardware(**data)¶
Bases:
BaseModelCPU hardware information.
-
cores:
int|None¶
-
hardware_type:
str¶
-
model:
str¶
- model_config: ClassVar[ConfigDict] = {}¶
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
-
virtual_cores:
int¶
-
cores:
- class coinbase_agentkit.action_providers.hyperboliclabs.marketplace.types.GpuHardware(**data)¶
Bases:
BaseModelGPU hardware information.
-
clock_speed:
float|None¶
-
compute_power:
float|None¶
-
hardware_type:
str¶
-
interface:
str|None¶
-
model:
str¶
- model_config: ClassVar[ConfigDict] = {}¶
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
-
ram:
float|None¶
-
clock_speed:
- class coinbase_agentkit.action_providers.hyperboliclabs.marketplace.types.HardwareInfo(**data)¶
Bases:
BaseModelComplete hardware information.
-
cpus:
list[CpuHardware] |None¶
-
gpus:
list[GpuHardware]¶
- model_config: ClassVar[ConfigDict] = {}¶
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
-
ram:
list[RamHardware] |None¶
-
storage:
list[StorageHardware] |None¶
-
cpus:
- class coinbase_agentkit.action_providers.hyperboliclabs.marketplace.types.InstanceHistoryEntry(**data)¶
Bases:
BaseModelInstance history entry.
-
gpu_count:
int¶
-
hardware:
HardwareInfo¶
-
instance_name:
str¶
- model_config: ClassVar[ConfigDict] = {}¶
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
-
started_at:
str|None¶
-
terminated_at:
str|None¶
-
gpu_count:
- class coinbase_agentkit.action_providers.hyperboliclabs.marketplace.types.InstanceHistoryResponse(**data)¶
Bases:
BaseModelResponse for instance history.
-
instance_history:
list[InstanceHistoryEntry]¶
- model_config: ClassVar[ConfigDict] = {}¶
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
-
instance_history:
- class coinbase_agentkit.action_providers.hyperboliclabs.marketplace.types.Location(**data)¶
Bases:
BaseModelLocation information.
- model_config: ClassVar[ConfigDict] = {}¶
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
-
region:
str|None¶
- class coinbase_agentkit.action_providers.hyperboliclabs.marketplace.types.NestedGpuHardware(**data)¶
Bases:
BaseModelGPU hardware information for nested instances.
-
hardware_type:
str¶
-
model:
str¶
- model_config: ClassVar[ConfigDict] = {}¶
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
-
ram:
float|None¶
-
hardware_type:
- class coinbase_agentkit.action_providers.hyperboliclabs.marketplace.types.NestedHardwareComponent(**data)¶
Bases:
BaseModelA single hardware component in the nested structure.
-
gpu:
NestedGpuHardware|None¶
- model_config: ClassVar[ConfigDict] = {}¶
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
-
storage:
NestedStorageHardware|None¶
-
gpu:
- class coinbase_agentkit.action_providers.hyperboliclabs.marketplace.types.NestedInstance(**data)¶
Bases:
BaseModelInstance information in nested format.
-
hardware:
list[NestedHardwareComponent]¶
-
id:
str¶
- model_config: ClassVar[ConfigDict] = {}¶
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
-
status:
str¶
-
hardware:
- class coinbase_agentkit.action_providers.hyperboliclabs.marketplace.types.NestedStorageHardware(**data)¶
Bases:
BaseModelStorage hardware information for nested instances.
-
capacity:
float¶
-
hardware_type:
str¶
- model_config: ClassVar[ConfigDict] = {}¶
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
-
capacity:
- class coinbase_agentkit.action_providers.hyperboliclabs.marketplace.types.NodeInstance(**data)¶
Bases:
BaseModelTop-level node information.
-
cluster_name:
str|None¶
-
gpu_count:
int|None¶
-
gpus_reserved:
int|None¶
-
gpus_total:
int|None¶
-
hardware:
HardwareInfo¶
-
has_persistent_storage:
bool|None¶
-
id:
str¶
-
instances:
list[NestedInstance]¶
- model_config: ClassVar[ConfigDict] = {}¶
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
-
network:
dict[str,Any]¶
-
owner:
str|None¶
-
pricing:
PricingInfo|None¶
-
reserved:
bool|None¶
-
status:
str¶
-
supplier_id:
str|None¶
-
cluster_name:
- class coinbase_agentkit.action_providers.hyperboliclabs.marketplace.types.NodeRental(**data)¶
Bases:
BaseModelRecord of a rented compute node.
-
end:
str|None¶
-
id:
str¶
-
instance:
NodeInstance¶
- model_config: ClassVar[ConfigDict] = {'populate_by_name': True}¶
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
-
ssh_command:
str|None¶
-
start:
str|None¶
- property status: str¶
Get the node status from the nested instance.
-
end:
- class coinbase_agentkit.action_providers.hyperboliclabs.marketplace.types.Price(**data)¶
Bases:
BaseModelPrice information.
-
agent:
str|None¶
-
amount:
float¶
- model_config: ClassVar[ConfigDict] = {}¶
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
-
period:
str¶
-
agent:
- class coinbase_agentkit.action_providers.hyperboliclabs.marketplace.types.PricingInfo(**data)¶
Bases:
BaseModelPricing information for an instance.
- model_config: ClassVar[ConfigDict] = {}¶
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- class coinbase_agentkit.action_providers.hyperboliclabs.marketplace.types.RamHardware(**data)¶
Bases:
BaseModelRAM hardware information.
-
capacity:
float¶
-
hardware_type:
str¶
- model_config: ClassVar[ConfigDict] = {}¶
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
-
capacity:
- class coinbase_agentkit.action_providers.hyperboliclabs.marketplace.types.RentInstanceRequest(**data)¶
Bases:
BaseModelRequest to rent an instance.
-
cluster_name:
str¶
-
gpu_count:
int¶
-
image:
ContainerImage|None¶
- model_config: ClassVar[ConfigDict] = {}¶
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
-
node_name:
str¶
-
cluster_name:
- class coinbase_agentkit.action_providers.hyperboliclabs.marketplace.types.RentInstanceResponse(**data)¶
Bases:
BaseModelResponse from rent instance API endpoint.
-
instance_name:
str|None¶
- model_config: ClassVar[ConfigDict] = {}¶
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
-
status:
str¶
-
instance_name:
- class coinbase_agentkit.action_providers.hyperboliclabs.marketplace.types.RentedInstancesResponse(**data)¶
Bases:
BaseModelResponse for rented instances.
-
instances:
list[NodeRental]¶
- model_config: ClassVar[ConfigDict] = {}¶
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
-
instances:
- class coinbase_agentkit.action_providers.hyperboliclabs.marketplace.types.SSHAccess(**data)¶
Bases:
BaseModelSSH access information for connecting to a remote instance.
-
host:
str¶
-
key_path:
str|None¶
- model_config: ClassVar[ConfigDict] = {}¶
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
-
ssh_command:
str|None¶
-
username:
str¶
-
host:
- class coinbase_agentkit.action_providers.hyperboliclabs.marketplace.types.StorageHardware(**data)¶
Bases:
BaseModelStorage hardware information.
-
capacity:
float¶
-
hardware_type:
str¶
- model_config: ClassVar[ConfigDict] = {}¶
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
-
capacity:
- class coinbase_agentkit.action_providers.hyperboliclabs.marketplace.types.TerminateInstanceRequest(**data)¶
Bases:
BaseModelRequest to terminate an instance.
-
id:
str¶
- model_config: ClassVar[ConfigDict] = {}¶
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
-
id:
- class coinbase_agentkit.action_providers.hyperboliclabs.marketplace.types.TerminateInstanceResponse(**data)¶
Bases:
BaseModelResponse from terminate instance API endpoint.
-
error_code:
int|None¶
- property get_status: str¶
Return status string based on fields for backward compatibility.
-
message:
str|None¶
- model_config: ClassVar[ConfigDict] = {}¶
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
-
status:
str|None¶
-
error_code:
coinbase_agentkit.action_providers.hyperboliclabs.marketplace.utils module¶
Utility functions for Hyperbolic Marketplace action provider.
- coinbase_agentkit.action_providers.hyperboliclabs.marketplace.utils.format_all_gpu_instances(instances)¶
Format a list of all available GPU instances.
- Parameters:
instances (
list[AvailableInstance]) – List of AvailableInstance objects.- Returns:
Formatted string with all available GPU instances.
- Return type:
str
- coinbase_agentkit.action_providers.hyperboliclabs.marketplace.utils.format_gpu_instance(instance)¶
Format a single GPU instance into a readable string.
- Parameters:
instance (
AvailableInstance) – AvailableInstance object containing instance details.- Returns:
Formatted string if instance has available GPUs, None otherwise.
- Return type:
str | None
- coinbase_agentkit.action_providers.hyperboliclabs.marketplace.utils.format_gpu_instances_by_type(instances, gpu_model)¶
Format a list of available GPU instances of a specific model.
- Parameters:
instances (
list[AvailableInstance]) – List of AvailableInstance objects.gpu_model (
str) – The specific GPU model to filter by.
- Returns:
Formatted string with available GPU instances of the specified model.
- Return type:
str
- coinbase_agentkit.action_providers.hyperboliclabs.marketplace.utils.format_gpu_status(instance)¶
Format a rented GPU instance status into a readable string.
- Parameters:
instance (
NodeRental) – NodeRental object containing instance details.- Returns:
Formatted status string.
- Return type:
str
- coinbase_agentkit.action_providers.hyperboliclabs.marketplace.utils.format_gpu_types(instances)¶
Format a list of available GPU types/models.
- Parameters:
instances (
list[AvailableInstance]) – List of AvailableInstance objects.- Returns:
Formatted string with available GPU types.
- Return type:
str
- coinbase_agentkit.action_providers.hyperboliclabs.marketplace.utils.format_rent_compute_response(response_data)¶
Format compute rental response into a readable string.
- Parameters:
response_data (
RentInstanceResponse) – RentInstanceResponse object from compute rental API.- Returns:
Formatted response string with next steps.
- Return type:
str
- coinbase_agentkit.action_providers.hyperboliclabs.marketplace.utils.format_terminate_compute_response(response_data)¶
Format compute termination response into a readable string.
- Parameters:
response_data (
TerminateInstanceResponse) – TerminateInstanceResponse object from compute termination API.- Returns:
Formatted response string with next steps.
- Return type:
str
- coinbase_agentkit.action_providers.hyperboliclabs.marketplace.utils.get_api_key()¶
Get Hyperbolic API key from environment variables.
- Returns:
The API key.
- Return type:
str
- Raises:
ValueError – If API key is not configured.
Module contents¶
Hyperbolic Marketplace action provider.
This package contains functionality for interacting with Hyperbolic’s marketplace services, including managing GPU instances and SSH access.
- class coinbase_agentkit.action_providers.hyperboliclabs.marketplace.MarketplaceActionProvider(api_key=None)¶
Bases:
ActionProviderProvides actions for interacting with Hyperbolic marketplace.
This provider enables interaction with the Hyperbolic marketplace for GPU compute resources. It requires an API key which can be provided directly or through the HYPERBOLIC_API_KEY environment variable.
- get_available_gpus(args)¶
Retrieve available GPU instances from the marketplace.
- Parameters:
args (dict[str, Any]) – Input arguments for the action.
- Returns:
A message containing the action response or error details.
- Return type:
str
- get_available_gpus_by_type(args)¶
Retrieve available GPU instances of a specific model from the marketplace.
- Parameters:
args (dict[str, Any]) – Input arguments for the action.
- Returns:
A message containing the action response or error details.
- Return type:
str
- get_available_gpus_types(args)¶
Retrieve available GPU types/models from the marketplace.
- Parameters:
args (dict[str, Any]) – Input arguments for the action.
- Returns:
A message containing the action response or error details.
- Return type:
str
- get_gpu_status(args)¶
Retrieve status and SSH commands for currently rented GPUs.
- Parameters:
args (dict[str, Any]) – Input arguments for the action.
- Returns:
A message containing the action response or error details.
- Return type:
str
- rent_compute(args)¶
Rents a GPU machine on the platform.
- Parameters:
args (dict[str, Any]) – Input arguments for the action.
- Returns:
A message containing the action response or error details.
- Return type:
str
- terminate_compute(args)¶
Terminates a GPU instance on the platform.
- Parameters:
args (dict[str, Any]) – Input arguments for the action.
- Returns:
A message containing the action response or error details.
- Return type:
str
- coinbase_agentkit.action_providers.hyperboliclabs.marketplace.hyperbolic_marketplace_action_provider(api_key=None)¶
Create a new instance of the MarketplaceActionProvider.
- Parameters:
api_key (
Optional[str]) – Optional API key for authentication. If not provided, will attempt to read from HYPERBOLIC_API_KEY environment variable.- Return type:
- Returns:
A new Marketplace action provider instance.
- Raises:
ValueError – If API key is not provided and not found in environment.