Skip to main content

A Python async client library for interacting with the Electrolux Developer Portal API.

Project description

Electrolux Group Developer SDK

The official Python async client library for interacting with the Electrolux Developer Portal API.
This library handles authentication, token management, and communication with appliances (e.g. getting appliance info, state, and sending commands).


🚀 Features

  • Async API client powered by aiohttp
  • JWT expiry check
  • Automatic token management
  • Easy appliance access (list, details, state)
  • Command sending interface

🔧 CLI

This library includes a CLI tool to manually test and interact with the API.

📑 Authentication

To use this library, you must have credentials from the Electrolux Developer Portal:

  1. Log in to the developer portal you need an Electrolux Group account with a password. If you don't have one, you can create it from one of Electrolux Group apps.

  2. Create an API Key for your account.

  3. Generate an Access Token and Refresh Token using the portal.

  4. Use these credentials in your app or provide them to the CLI when prompted.

⚡ Quickstart

This example demonstrates how to authenticate and fetch your appliance data:

import asyncio
from electrolux_group_developer_sdk.auth.token_manager import TokenManager
from electrolux_group_developer_sdk.client.appliance_client import ApplianceClient


# Callback to handle token updates
def on_token_update(new_access_token, new_refresh_token, api_key):
    # Save updated tokens somewhere safe
    print("Access Token updated:", new_access_token)
    print("Refresh Token updated:", new_refresh_token)
    print("API Key:", api_key)

async def main():
    # Initialize the token manager
    token_manager = TokenManager(
        access_token="your_access_token",
        refresh_token="your_refresh_token",
        api_key="your_api_key",
        on_token_update=on_token_update
    )

    # Initialize the appliance client
    appliance_client = ApplianceClient(token_manager=token_manager)

    # Fetch all your appliances
    appliance_list = await appliance_client.get_appliance_data()

    # appliance_list is a list of ApplianceData objects
    for appliance in appliance_list:
        print(appliance)

# Run the async main function
asyncio.run(main())

Notes

  • ElectroluxTokenManager handles token refreshing automatically.
  • on_token_update callback is called whenever tokens are refreshed.
  • get_appliance_data() is async and returns a list of ApplianceData objects representing your owned appliances.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

electrolux_group_developer_sdk-0.3.1.tar.gz (37.3 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

electrolux_group_developer_sdk-0.3.1-py3-none-any.whl (71.4 kB view details)

Uploaded Python 3

File details

Details for the file electrolux_group_developer_sdk-0.3.1.tar.gz.

File metadata

  • Download URL: electrolux_group_developer_sdk-0.3.1.tar.gz
  • Upload date:
  • Size: 37.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/2.3.4 CPython/3.14.3 Linux/6.17.0-1010-azure

File hashes

Hashes for electrolux_group_developer_sdk-0.3.1.tar.gz
Algorithm Hash digest
SHA256 a7491ccfe6980bf2e194d44d74127092e1aa7faf16625e87e7c0d6bd022ee614
MD5 4370b47b286ae080017b59d00c8412a9
BLAKE2b-256 76d2d3897b7d778b4318278bf9f6a44ba1412e3ea814801e65e8f22abf8456f3

See more details on using hashes here.

File details

Details for the file electrolux_group_developer_sdk-0.3.1-py3-none-any.whl.

File metadata

File hashes

Hashes for electrolux_group_developer_sdk-0.3.1-py3-none-any.whl
Algorithm Hash digest
SHA256 e24d045944a95f1219d30c003e04b9fc4d2874dc17a8632c0ec529a849add900
MD5 e10966d1ae61adc4b03cd25b4272bed5
BLAKE2b-256 9eeb6e46feb09eec2942bdf3dbd416d5a66cb06225ad95643c5397e6633e5e2b

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page