Supported Python versions
The SDK supports Python 3.10 and later. If your project uses SDK version 0.2.x, check the migration notes in the Python SDK repository before updating to version 0.3.x or later.Installation and update
Install the SDK package:Initialization and authentication
For server-to-server communication, use a service account to authenticate SDK requests. The SDK uses the service account credentials to generate a JSON Web Token, exchange it for an IAM token and refresh the IAM token in the background.- Create a service account.
-
Create a private and public key pair:
This command creates the
private.pemandpublic.pemfiles in the current directory. -
Upload the public key to create an authorized key:
In the command, specify the service account ID.
-
Initialize the SDK with the private key file:
The
SDKconstructor initializes the SDK and uses the service account private key file to authenticate requests. Theuser_agent_prefixargument adds a prefix to the User-Agent header sent with each request. Useuser_agent_prefixto identify your application in the list of requests. The version or comment in the prefix is optional. In the script, set the following parameters:<application_name>/<application_version_or_comment>: Application or library that calls the SDK. The version or comment is optional.<private_key_file_path>: Path to the private key file, for exampleprivate.pem.<public_key_ID>: ID of the public key generated for the service account.<service_account_ID>: ID of your service account.
For user-to-server communication, authenticate SDK requests by using an IAM token, CLI configuration or a credentials file. For more information about authentication methods, see the Python SDK repository.
Sending a request
The SDK provides service clients grouped by Nebius AI Cloud services and API versions. Many mutating operations, such as creating, updating and deleting resources, return an operation object. If an operation is asynchronous, callwait to wait until it is completed.
The following example creates a Compute virtual machine (VM).
-
Create a Python file with the following code.
This script already includes SDK initialization and authentication.
In the script, set the following parameters:
<application_name>/<application_version_or_comment>: Application or library that calls the SDK. For more information, see Initialization and authentication.<private_key_file_path>: Path to the private key file.<public_key_ID>: ID of the public key generated for the service account.<service_account_ID>: ID of your service account.<project_ID>: ID of the project where you create the resources.<image_family_name>: Name of the boot disk image family, for exampleubuntu24.04-driverless.<platform_name>: Name of the Compute platform, for examplecpu-e2.<preset_name>: Name of the resource preset. Available presets depend on the selected platform, for example2vcpu-8gbforcpu-e2.<subnet_ID>: ID of the VM’s subnet.
-
Execute the file: