Google Cloud Storage

vortex.store.GCSStore([bucket, prefix, ...])

Interface to Google Cloud Storage.

vortex.store.GCSConfig

Configuration parameters for GCSStore.

vortex.store.GCSCredential

A Google Cloud Storage Credential.

vortex.store.GCSCredentialProvider(*args, ...)

A type hint for a synchronous or asynchronous callback to provide custom Google Cloud Storage credentials.

class vortex.store.GCSStore(bucket: str | None = None, *, prefix: str | None = None, config: GCSConfig | None = None, client_options: ClientConfig | None = None, retry_config: RetryConfig | None = None, credential_provider: GCSCredentialProvider | None = None, **kwargs: Unpack[GCSConfig])

Interface to Google Cloud Storage.

All constructors will check for environment variables. Refer to GCSConfig for valid environment variables.

If no credentials are explicitly provided, they will be sourced from the environment as documented here.

property client_options: ClientConfig | None

Get the store’s client configuration.

property config: GCSConfig

Get the underlying GCS config parameters.

property credential_provider: GCSCredentialProvider | None

Get the store’s credential provider.

classmethod from_url(url: str, *, prefix: str | None = None, config: GCSConfig | None = None, client_options: ClientConfig | None = None, retry_config: RetryConfig | None = None, credential_provider: GCSCredentialProvider | None = None, **kwargs: Unpack[GCSConfig]) Self

Construct a new GCSStore with values populated from a well-known storage URL.

Any path on the URL will be assigned as the prefix for the store. So if you pass gs://<bucket>/path/to/directory, the store will be created with a prefix of path/to/directory, and all further operations will use paths relative to that prefix.

The supported url schemes are:

  • gs://<bucket>/<path>

Parameters:

url – well-known storage URL.

Keyword Arguments:
  • prefix – A prefix within the bucket to use for all operations.

  • config – GCS Configuration. Values in this config will override values inferred from the url. Defaults to None.

  • client_options – HTTP Client options. Defaults to None.

  • retry_config – Retry configuration. Defaults to None.

  • credential_provider – A callback to provide custom Google credentials.

  • kwargs – GCS configuration values. Supports the same values as config, but as named keyword args.

Returns:

GCSStore

property prefix: str | None

Get the prefix applied to all operations in this store, if any.

property retry_config: RetryConfig | None

Get the store’s retry configuration.

class vortex.store.GCSConfig

Configuration parameters for GCSStore.

application_credentials: str

Application credentials path.

See <https://cloud.google.com/docs/authentication/provide-credentials-adc>.

Environment variable: GOOGLE_APPLICATION_CREDENTIALS.

bucket: str

Bucket name. (required)

Environment variables:

  • GOOGLE_BUCKET

  • GOOGLE_BUCKET_NAME

service_account: str

Path to the service account file.

This or service_account_key must be set.

Example value "/tmp/gcs.json". Example contents of gcs.json:

{
   "gcs_base_url": "https://localhost:4443",
   "disable_oauth": true,
   "client_email": "",
   "private_key": ""
}

Environment variables:

  • GOOGLE_SERVICE_ACCOUNT

  • GOOGLE_SERVICE_ACCOUNT_PATH

service_account_key: str

The serialized service account key.

The service account must be in the JSON format. This or with_service_account_path must be set.

Environment variable: GOOGLE_SERVICE_ACCOUNT_KEY.

skip_signature: bool

If True, GCSStore will not fetch credentials and will not sign requests.

This can be useful when interacting with public GCS buckets that deny authorized requests.

Environment variable: GOOGLE_SKIP_SIGNATURE.

class vortex.store.GCSCredential

A Google Cloud Storage Credential.

expires_at: datetime | None

Expiry datetime of credential. The datetime should have time zone set.

If None, the credential will never expire.

token: str

An HTTP bearer token.

class vortex.store.GCSCredentialProvider(*args, **kwargs)

A type hint for a synchronous or asynchronous callback to provide custom Google Cloud Storage credentials.

This should be passed into the credential_provider parameter of GCSStore.