Metadata-Version: 2.1
Name: waylay-sdk-storage
Version: 0.5.2.20241025
Summary: Waylay Storage
Author-email: Waylay <info@waylay.io>
License: ISC License (ISC)
        Copyright 2024, Waylay
        
        Permission to use, copy, modify, and/or distribute this software for any purpose 
        with or without fee is hereby granted, provided that the above copyright notice 
        and this permission notice appear in all copies.
        
        THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH 
        REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND 
        FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, 
        OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, 
        DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS 
        ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
Project-URL: Homepage, https://www.waylay.io/
Project-URL: Documentation, https://docs.waylay.io/#/api/?id=software-development-kits
Project-URL: Repository, https://github.com/waylayio/waylay-sdk-storage-py.git
Project-URL: Openapi Specification, https://docs.waylay.io/openapi/public/redocly/storage.html
Keywords: Waylay Storage
Requires-Python: >=3.9
Description-Content-Type: text/markdown
License-File: LICENSE.txt
Requires-Dist: waylay-sdk-core~=0.3.2
Requires-Dist: pydantic~=2.6
Requires-Dist: typing-extensions~=4.10
Requires-Dist: eval-type-backport~=0.1.3; python_version < "3.10"
Provides-Extra: dev
Requires-Dist: mypy; extra == "dev"
Requires-Dist: ruff; extra == "dev"
Requires-Dist: types-python-jose; extra == "dev"
Requires-Dist: types-appdirs; extra == "dev"
Requires-Dist: types-python-dateutil; extra == "dev"
Requires-Dist: pytest; extra == "dev"
Requires-Dist: pytest-mock; extra == "dev"
Requires-Dist: pytest-httpx; extra == "dev"
Requires-Dist: pytest-asyncio; extra == "dev"
Requires-Dist: starlette; extra == "dev"
Requires-Dist: python-multipart; extra == "dev"
Requires-Dist: typeguard; extra == "dev"
Requires-Dist: pyyaml; extra == "dev"
Requires-Dist: jsf>=0.11.1; extra == "dev"
Provides-Extra: types
Requires-Dist: waylay-sdk-storage-types; extra == "types"

# Waylay Storage Service

Manage storage buckets and subscriptions.


This Python package is automatically generated based on the 
Waylay Storage OpenAPI specification (API version: 0.5.2)
For more information, please visit [the openapi specification](https://docs.waylay.io/openapi/public/redocly/storage.html).

It consists of a plugin for the waylay-sdk-core package, and contains the Storage api methods.
Note that the typed model classes for all path params, query params, body params and responses for each of the api methods are contained in a separate package called waylay-sdk-storage-types.

## Requirements.
This package requires Python 3.9+.

## Installation

Normally this package is installed together with support for other services using the [waylay-sdk](https://pypi.org/project/waylay-sdk/) umbrella package:
* `pip install waylay-sdk` will install `waylay-sdk-storage` together with the SDK api packages for other services.
* `pip install waylay-sdk[types-storage]` will additionally install the types package `waylay-sdk-storage-types`.
* `pip install waylay-sdk[types]` will install the types packages for this and all other services.

Alternatively, you can install support for this _storage_ service only, installing or extending an existing [waylay-sdk-core](https://pypi.org/project/waylay-sdk-core/):

- `pip install waylay-sdk-storage` to only install api support for _storage_.
- `pip install waylay-sdk-storage[types]` to additionally install type support for _storage_.

## Usage

```python
from pprint import pprint

# Import the waylay-client from the waylay-sdk-core package
from waylay.sdk.client import WaylayClient
from waylay.sdk.api.api_exceptions import ApiError

# Intialize a waylay client instance
waylay_client = WaylayClient.from_profile()

# Note that the typed model classes for responses/parameters/... are only available when `waylay-sdk-storage-types` is installed
from waylay.services.storage.models.tenant_status_report import TenantStatusReport
try:
    # Status
    # calls `GET /storage/v1/status`
    api_response = await waylay_client.storage.about.status(
        # query parameters:
        query = {
            'include_buckets': True
            'include_queues': True
            'include_disk_usage': False
        },
    )
    print("The response of storage.about.status:\n")
    pprint(api_response)
except ApiError as e:
    print("Exception when calling storage.about.status: %s\n" % e)
```


For more information, please visit the [Waylay API documentation](https://docs.waylay.io/#/api/?id=software-development-kits).
