Scaleway SDK for Python

raw JSON →
2.11.0 verified Sat May 09 auth: no python

Official Python SDK for Scaleway cloud infrastructure. Provides client libraries for managing Scaleway resources (instances, Kubernetes, databases, etc.). Currently at version 2.11.0, with monthly releases.

pip install scaleway-core
error ModuleNotFoundError: No module named 'scaleway'
cause Installing 'scaleway-core' does not create a top-level module named 'scaleway'? Actually, it does. But users may have installed 'scaleway-sdk' (v1) instead.
fix
Uninstall old SDK and install 'scaleway-core': pip uninstall scaleway-sdk && pip install scaleway-core
error AttributeError: module 'scaleway' has no attribute 'Client'
cause You may have an older version of scaleway-core installed, or you are importing from 'scaleway_core' directly. In v2, the Client is exported at 'scaleway.Client'.
fix
Ensure scaleway-core >=2.0.0: pip install --upgrade scaleway-core
error scaleway.core.exceptions.ConfigurationError: Missing mandatory environment variables: SCW_ACCESS_KEY
cause Client.from_env() requires SCW_ACCESS_KEY, SCW_SECRET_KEY, and SCW_DEFAULT_PROJECT_ID to be set.
fix
Set environment variables or pass credentials explicitly: Client(access_key='...', secret_key='...', default_project_id='...')
breaking SDK v2 (scaleway-core) is a complete rewrite from v1 (scaleway-sdk). Import paths, client initialization, and API classes have changed significantly.
fix Use 'from scaleway import Client' and 'from scaleway.{service}.{version} import {ServiceAPI}' patterns. See migration guide: https://github.com/scaleway/scaleway-sdk-python/blob/main/MIGRATION.md
gotcha API classes are versioned (e.g., instance.v1, k8s.v1). Using the wrong version may lead to missing methods or different response structures.
fix Always check the Scaleway API documentation for the latest version. For example, instance API is at 'instance.v1'.
gotcha Environment variables SCW_ACCESS_KEY and SCW_SECRET_KEY are required. If not set, Client.from_env() will raise a ConfigurationError.
fix Set environment variables or use 'Client(access_key=..., secret_key=..., default_project_id=...)' explicitly.
gotcha Pagination is handled automatically by default (per_page=100, max_pages=5). Large lists may be truncated.
fix Adjust per_page and max_pages parameters in list methods, or iterate over pages manually using the pagination API.

Initialize the SDK using environment variables and list all instances.

from scaleway import Client
from scaleway.instance.v1 import InstanceAPI

# Initialize client (uses SCW_ACCESS_KEY, SCW_SECRET_KEY, SCW_DEFAULT_PROJECT_ID env vars)
client = Client.from_env()

api = InstanceAPI(client)

# List instances
servers = api.list_servers().servers
for server in servers:
    print(server.name, server.state)