code: def copy_dataset(
      client: AuthenticatedClient,
      name: str,
      json_body: CopyDatasetRequest,
  ) -> Response[Dataset]:
      url = f"{client.base_url}/api/datasets/{name}:copy"
  
      response = httpx.put(
          url=url,
          headers=client.get_headers(),
          cookies=client.get_cookies(),
          timeout=client.get_timeout(),
          json=json_body.dict(by_alias=True),
      )
  
      if response.status_code == 200:
          response_obj = Response.from_httpx_response(response)
          response_obj.parsed = Dataset(**response.json())
          return response_obj
      handle_response_error(response)
  
file_path: argilla/src/argilla/client/sdk/datasets/api.py
imports: from functools import lru_cache
  from typing import List, Optional, Union
  import httpx
  from argilla._constants import WORKSPACE_HEADER_NAME
  from argilla.client.sdk.client import AuthenticatedClient
  from argilla.client.sdk.commons.errors_handler import handle_response_error
  from argilla.client.sdk.commons.models import Response
  from argilla.client.sdk.datasets.models import CopyDatasetRequest, Dataset
label_desc: Use image node_id 3 for calling a global function with example usage: copy_dataset(client, name, json_body) and returns: response_obj