Add your description here
Project description
Install
pip install flespi-sdk
Usage
from flespi_sdk.account import Account
# log into account
account = Account()
await account.set_token("<flespi-token>")
# or
# await account.realm_login("<realm-public-id>", "<realm-username>", "<realm-password>")
# use account
print("Metadata", await account.metadata.get())
print("Direct subaccount IDs", [subaccount.id for subaccount in await account.subaccounts.list()])
print("Flespi API counters", await account.mqtt.list("flespi/state/platform/customer/counters/api/#"))
Examples
Read emails from MQTT for all subaccounts (master token required)
from flespi_sdk.cli import get_account
async def main():
account = None
try:
account = await get_account()
subaccounts = await account.subaccounts.list()
for subaccount in subaccounts:
name = await subaccount.metadata.get_value("sys_user_config.title")
mqtt_msg = await subaccount.mqtt.get("flespi/state/platform/customer/email")
email = mqtt_msg["payload"]
print(f"Subaccount ID: {subaccount.id}, Name: {name}, Email: {email}")
except Exception as e:
print("Error:", e)
finally:
if account:
await account.stop()
if __name__ == "__main__":
import asyncio
asyncio.run(main())
Manipulate realms and users
acc = Account()
await acc.set_token(acc_token)
realms = await acc.realms.list(selector="all")
for realm in realms:
print(realm.id, await realm.get_name(), await realm.metadata.get())
users = await realm.users.list()
for user in users:
print(user.id, await user.get_name(), await user.metadata.get())
realm = await acc.realms.get(22644)
user = await realm.users.get(90287)
await user.metadata.set_value("test-metadata-key", "123")
print(await user.metadata.get())
await user.metadata.delete_value("test-metadata-key")
print(await user.metadata.get())
await user.update_password("newpassword123456789")
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
flespi_sdk-0.1.2.tar.gz
(36.9 kB
view details)
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file flespi_sdk-0.1.2.tar.gz.
File metadata
- Download URL: flespi_sdk-0.1.2.tar.gz
- Upload date:
- Size: 36.9 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.6.6
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
6b8e3e2e367a949f47a5bce93d9e2fcc91d023e36bc474dd6e159ab2c77f6f91
|
|
| MD5 |
e86f242d51f804e761e6b87d07f473ac
|
|
| BLAKE2b-256 |
746e0abf7651d2371e4d3c675a54ad752430bf72502202a79659c3d60ea8008f
|
File details
Details for the file flespi_sdk-0.1.2-py3-none-any.whl.
File metadata
- Download URL: flespi_sdk-0.1.2-py3-none-any.whl
- Upload date:
- Size: 10.8 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.6.6
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
63927cb2b6fc65c2b5de940a7f1ae9dab0763d159d249c7de308ae142b36bdef
|
|
| MD5 |
6749bb0cdc13c0023c6f267807551920
|
|
| BLAKE2b-256 |
a8807388a3fe162e3d16212ec341caaf9086c75137bab183ce814ecbcfcc33cb
|