flespi-sdk 0.1.0__py3-none-any.whl → 0.1.2__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- flespi_sdk/account.py +3 -1
- flespi_sdk/modules/{subsystem.py → flespi_session.py} +1 -1
- flespi_sdk/modules/item_with_metadata.py +31 -0
- flespi_sdk/modules/items_container.py +42 -0
- flespi_sdk/modules/metadata/__init__.py +22 -15
- flespi_sdk/modules/mqtt/__init__.py +2 -2
- flespi_sdk/modules/realms/__init__.py +32 -0
- flespi_sdk/modules/realms/realm.py +21 -0
- flespi_sdk/modules/realms/users/__init__.py +53 -0
- flespi_sdk/modules/realms/users/user.py +44 -0
- flespi_sdk/modules/subaccounts/__init__.py +3 -3
- flespi_sdk-0.1.2.dist-info/METADATA +88 -0
- flespi_sdk-0.1.2.dist-info/RECORD +17 -0
- flespi_sdk-0.1.0.dist-info/METADATA +0 -7
- flespi_sdk-0.1.0.dist-info/RECORD +0 -11
- {flespi_sdk-0.1.0.dist-info → flespi_sdk-0.1.2.dist-info}/WHEEL +0 -0
flespi_sdk/account.py
CHANGED
@@ -2,6 +2,7 @@ from aiohttp import ClientSession
|
|
2
2
|
|
3
3
|
from flespi_sdk.modules.metadata import Metadata
|
4
4
|
from flespi_sdk.modules.mqtt import MQTT
|
5
|
+
from flespi_sdk.modules.realms import Realms
|
5
6
|
from flespi_sdk.modules.subaccounts import Subaccounts
|
6
7
|
|
7
8
|
|
@@ -70,6 +71,7 @@ class Account:
|
|
70
71
|
self._init_modules()
|
71
72
|
|
72
73
|
def _init_modules(self):
|
73
|
-
self.metadata = Metadata(self.session, self.id)
|
74
|
+
self.metadata = Metadata("platform/customer", self.session, self.id)
|
74
75
|
self.subaccounts = Subaccounts(self.session, self.id)
|
76
|
+
self.realms = Realms(self.session, self.id)
|
75
77
|
self.mqtt = MQTT(self.session, self.id)
|
@@ -0,0 +1,31 @@
|
|
1
|
+
from aiohttp import ClientSession
|
2
|
+
from flespi_sdk.modules.flespi_session import FlespiSession
|
3
|
+
from flespi_sdk.modules.metadata import Metadata
|
4
|
+
|
5
|
+
|
6
|
+
class ItemWithMetadata(FlespiSession):
|
7
|
+
def __init__(
|
8
|
+
self,
|
9
|
+
parent_id: int | None,
|
10
|
+
id: int,
|
11
|
+
item_path: str,
|
12
|
+
session: ClientSession,
|
13
|
+
cid: int | None = None,
|
14
|
+
):
|
15
|
+
super().__init__(session, cid)
|
16
|
+
self.parent_id = parent_id
|
17
|
+
self.id = id
|
18
|
+
self.item_path = item_path
|
19
|
+
self.metadata = Metadata(item_path, session, cid)
|
20
|
+
|
21
|
+
async def get_name(self) -> str:
|
22
|
+
"""
|
23
|
+
Get the name of the item.
|
24
|
+
:return: The name of the item.
|
25
|
+
"""
|
26
|
+
async with self.session.get(
|
27
|
+
f"/{self.item_path}",
|
28
|
+
headers=self.get_headers(),
|
29
|
+
) as response:
|
30
|
+
result = await self.get_result(response)
|
31
|
+
return result[0]["name"]
|
@@ -0,0 +1,42 @@
|
|
1
|
+
# from aiohttp import ClientSession
|
2
|
+
# from flespi_sdk.modules.realms.users.user import User
|
3
|
+
# from flespi_sdk.modules.flespi_session import FlespiSession
|
4
|
+
|
5
|
+
|
6
|
+
# class ItemsContainer(FlespiSession):
|
7
|
+
# """
|
8
|
+
# The RealmUsers class provides methods to manage users in a specific realm.
|
9
|
+
# It allows for the retrieval of user information and the management of user roles.
|
10
|
+
# """
|
11
|
+
|
12
|
+
# def __init__(
|
13
|
+
# self,
|
14
|
+
# items_path: str,
|
15
|
+
# item_class: type,
|
16
|
+
# client_session: ClientSession,
|
17
|
+
# cid: int | None = None,
|
18
|
+
# ):
|
19
|
+
# """
|
20
|
+
# Initializes the RealmUsers class with a client instance.
|
21
|
+
|
22
|
+
# :param client: The client instance used to make API requests.
|
23
|
+
# """
|
24
|
+
# super().__init__(client_session, cid)
|
25
|
+
# self.items_path = items_path
|
26
|
+
# self.itemClass = item_class
|
27
|
+
|
28
|
+
# async def list(self, selector: str = "all"):
|
29
|
+
# """
|
30
|
+
# List all users in the realm.
|
31
|
+
# :param selector: The selector to filter users.
|
32
|
+
# :return: A list of User objects.
|
33
|
+
# """
|
34
|
+
# async with self.session.get(
|
35
|
+
# f"{self.items_path}/{selector}",
|
36
|
+
# headers=self.get_headers(),
|
37
|
+
# ) as response:
|
38
|
+
# result = await self.get_result(response)
|
39
|
+
# return [
|
40
|
+
# self.itemClass(self.realm_id, user["id"], self.session, self.cid)
|
41
|
+
# for user in result
|
42
|
+
# ]
|
@@ -1,11 +1,14 @@
|
|
1
1
|
import aiohttp
|
2
2
|
|
3
|
-
from flespi_sdk.modules.
|
3
|
+
from flespi_sdk.modules.flespi_session import FlespiSession
|
4
4
|
|
5
5
|
|
6
|
-
class Metadata(
|
7
|
-
def __init__(
|
6
|
+
class Metadata(FlespiSession):
|
7
|
+
def __init__(
|
8
|
+
self, item_path, session: aiohttp.ClientSession, cid: int | None = None
|
9
|
+
):
|
8
10
|
super().__init__(session, cid)
|
11
|
+
self.item_path = item_path
|
9
12
|
|
10
13
|
async def get(self) -> dict:
|
11
14
|
"""
|
@@ -14,7 +17,7 @@ class Metadata(Module):
|
|
14
17
|
"""
|
15
18
|
params = {"fields": "metadata"}
|
16
19
|
async with self.session.get(
|
17
|
-
|
20
|
+
self.item_path, params=params, headers=self.get_headers()
|
18
21
|
) as response:
|
19
22
|
result = await self.get_result(response)
|
20
23
|
return result[0]["metadata"]
|
@@ -25,7 +28,7 @@ class Metadata(Module):
|
|
25
28
|
:param metadata: Metadata as a dictionary.
|
26
29
|
"""
|
27
30
|
async with self.session.put(
|
28
|
-
|
31
|
+
self.item_path,
|
29
32
|
json={"metadata": metadata},
|
30
33
|
headers=self.get_headers(),
|
31
34
|
) as response:
|
@@ -38,6 +41,8 @@ class Metadata(Module):
|
|
38
41
|
:return: The value from the metadata.
|
39
42
|
"""
|
40
43
|
metadata = await self.get()
|
44
|
+
if not metadata:
|
45
|
+
return None
|
41
46
|
keys = key_path.split(".")
|
42
47
|
value = metadata
|
43
48
|
for key in keys:
|
@@ -53,14 +58,14 @@ class Metadata(Module):
|
|
53
58
|
:param key_path: The key path to the value in the metadata.
|
54
59
|
:param value: The value to set.
|
55
60
|
"""
|
56
|
-
metadata = await self.get()
|
61
|
+
metadata = await self.get() or {}
|
57
62
|
keys = key_path.split(".")
|
58
|
-
|
63
|
+
metadata_level = metadata
|
59
64
|
for key in keys[:-1]:
|
60
|
-
if key not in
|
61
|
-
|
62
|
-
|
63
|
-
|
65
|
+
if key not in metadata_level:
|
66
|
+
metadata_level[key] = {}
|
67
|
+
metadata_level = metadata_level[key]
|
68
|
+
metadata_level[keys[-1]] = value
|
64
69
|
await self.set(metadata)
|
65
70
|
|
66
71
|
async def delete_value(self, key_path: str) -> None:
|
@@ -69,12 +74,14 @@ class Metadata(Module):
|
|
69
74
|
:param key_path: The key path to the value in the metadata.
|
70
75
|
"""
|
71
76
|
metadata = await self.get()
|
77
|
+
if not metadata:
|
78
|
+
return
|
72
79
|
keys = key_path.split(".")
|
73
|
-
|
80
|
+
metadata_level = metadata
|
74
81
|
for key in keys[:-1]:
|
75
|
-
if key in
|
76
|
-
|
82
|
+
if key in metadata_level:
|
83
|
+
metadata_level = metadata_level[key]
|
77
84
|
else:
|
78
85
|
return None
|
79
|
-
del
|
86
|
+
del metadata_level[keys[-1]]
|
80
87
|
await self.set(metadata)
|
@@ -1,10 +1,10 @@
|
|
1
1
|
import urllib.parse
|
2
2
|
|
3
3
|
import aiohttp
|
4
|
-
from flespi_sdk.modules.
|
4
|
+
from flespi_sdk.modules.flespi_session import FlespiSession
|
5
5
|
|
6
6
|
|
7
|
-
class MQTT(
|
7
|
+
class MQTT(FlespiSession):
|
8
8
|
def __init__(self, session: aiohttp.ClientSession, cid: int | None = None):
|
9
9
|
super().__init__(session, cid)
|
10
10
|
|
@@ -0,0 +1,32 @@
|
|
1
|
+
import aiohttp
|
2
|
+
|
3
|
+
from flespi_sdk.modules.realms.realm import Realm
|
4
|
+
from flespi_sdk.modules.flespi_session import FlespiSession
|
5
|
+
|
6
|
+
|
7
|
+
class Realms(FlespiSession):
|
8
|
+
def __init__(self, session: aiohttp.ClientSession, cid: int | None = None):
|
9
|
+
super().__init__(session, cid)
|
10
|
+
|
11
|
+
async def get(self, id: int):
|
12
|
+
async with self.session.get(
|
13
|
+
f"/platform/realms/{id}", headers=self.get_headers()
|
14
|
+
) as response:
|
15
|
+
result = await self.get_result(response)
|
16
|
+
realm = result[0]
|
17
|
+
return Realm(
|
18
|
+
realm_id=realm["id"],
|
19
|
+
session=self.session,
|
20
|
+
cid=self.cid,
|
21
|
+
)
|
22
|
+
|
23
|
+
async def list(self, selector: str = "all"):
|
24
|
+
async with self.session.get(
|
25
|
+
f"/platform/realms/{selector}",
|
26
|
+
headers=self.get_headers(),
|
27
|
+
) as response:
|
28
|
+
result = await self.get_result(response)
|
29
|
+
return [
|
30
|
+
Realm(realm_id=realm["id"], session=self.session, cid=self.cid)
|
31
|
+
for realm in result
|
32
|
+
]
|
@@ -0,0 +1,21 @@
|
|
1
|
+
from aiohttp import ClientSession
|
2
|
+
|
3
|
+
from flespi_sdk.modules.realms.users import Users
|
4
|
+
from flespi_sdk.modules.item_with_metadata import ItemWithMetadata
|
5
|
+
|
6
|
+
|
7
|
+
class Realm(ItemWithMetadata):
|
8
|
+
"""
|
9
|
+
Represents a realm in the Flespi system.
|
10
|
+
"""
|
11
|
+
|
12
|
+
def __init__(self, realm_id: int, session: ClientSession, cid: int | None = None):
|
13
|
+
item_path = f"platform/realms/{realm_id}"
|
14
|
+
super().__init__(
|
15
|
+
parent_id=None, id=realm_id, item_path=item_path, session=session, cid=cid
|
16
|
+
)
|
17
|
+
self.users = Users(
|
18
|
+
realm_id=realm_id,
|
19
|
+
client_session=session,
|
20
|
+
cid=cid,
|
21
|
+
)
|
@@ -0,0 +1,53 @@
|
|
1
|
+
from aiohttp import ClientSession
|
2
|
+
from flespi_sdk.modules.realms.users.user import User
|
3
|
+
from flespi_sdk.modules.flespi_session import FlespiSession
|
4
|
+
|
5
|
+
|
6
|
+
class Users(FlespiSession):
|
7
|
+
"""
|
8
|
+
The RealmUsers class provides methods to manage users in a specific realm.
|
9
|
+
It allows for the retrieval of user information and the management of user roles.
|
10
|
+
"""
|
11
|
+
|
12
|
+
def __init__(
|
13
|
+
self,
|
14
|
+
realm_id: int,
|
15
|
+
client_session: ClientSession,
|
16
|
+
cid: int | None = None,
|
17
|
+
):
|
18
|
+
"""
|
19
|
+
Initializes the RealmUsers class with a client instance.
|
20
|
+
|
21
|
+
:param client: The client instance used to make API requests.
|
22
|
+
"""
|
23
|
+
super().__init__(client_session, cid)
|
24
|
+
self.realm_id = realm_id
|
25
|
+
|
26
|
+
async def get(self, user_id: int) -> User:
|
27
|
+
"""
|
28
|
+
Get a user by ID.
|
29
|
+
:param user_id: The ID of the user to retrieve.
|
30
|
+
:return: A User object.
|
31
|
+
"""
|
32
|
+
async with self.session.get(
|
33
|
+
f"/platform/realms/{self.realm_id}/users/{user_id}",
|
34
|
+
headers=self.get_headers(),
|
35
|
+
) as response:
|
36
|
+
result = await self.get_result(response)
|
37
|
+
return User(self.realm_id, result[0]["id"], self.session, self.cid)
|
38
|
+
|
39
|
+
async def list(self, selector: str = "all") -> list[User]:
|
40
|
+
"""
|
41
|
+
List all users in the realm.
|
42
|
+
:param selector: The selector to filter users.
|
43
|
+
:return: A list of User objects.
|
44
|
+
"""
|
45
|
+
async with self.session.get(
|
46
|
+
f"/platform/realms/{self.realm_id}/users/{selector}",
|
47
|
+
headers=self.get_headers(),
|
48
|
+
) as response:
|
49
|
+
result = await self.get_result(response)
|
50
|
+
return [
|
51
|
+
User(self.realm_id, user["id"], self.session, self.cid)
|
52
|
+
for user in result
|
53
|
+
]
|
@@ -0,0 +1,44 @@
|
|
1
|
+
from aiohttp import ClientSession
|
2
|
+
from flespi_sdk.modules.item_with_metadata import ItemWithMetadata
|
3
|
+
|
4
|
+
|
5
|
+
class User(ItemWithMetadata):
|
6
|
+
def __init__(
|
7
|
+
self,
|
8
|
+
realm_id: int,
|
9
|
+
user_id: int,
|
10
|
+
session: ClientSession,
|
11
|
+
cid: int | None = None,
|
12
|
+
):
|
13
|
+
"""
|
14
|
+
Initializes the RealmUsers class with a client instance.
|
15
|
+
|
16
|
+
:param client: The client instance used to make API requests.
|
17
|
+
"""
|
18
|
+
item_path = f"platform/realms/{realm_id}/users/{user_id}"
|
19
|
+
super().__init__(
|
20
|
+
parent_id=realm_id,
|
21
|
+
id=user_id,
|
22
|
+
item_path=item_path,
|
23
|
+
session=session,
|
24
|
+
cid=cid,
|
25
|
+
)
|
26
|
+
|
27
|
+
async def update_password(
|
28
|
+
self,
|
29
|
+
password: str,
|
30
|
+
) -> None:
|
31
|
+
"""
|
32
|
+
Updates the password of the user.
|
33
|
+
|
34
|
+
:param password: The new password for the user.
|
35
|
+
"""
|
36
|
+
if len(password) < 16:
|
37
|
+
raise ValueError("Password must be at least 16 characters long")
|
38
|
+
|
39
|
+
async with self.session.put(
|
40
|
+
f"/platform/realms/{self.parent_id}/users/{self.id}",
|
41
|
+
json={"password": password},
|
42
|
+
headers=self.get_headers(),
|
43
|
+
) as response:
|
44
|
+
await self.get_result(response)
|
@@ -1,13 +1,13 @@
|
|
1
1
|
import aiohttp
|
2
2
|
|
3
|
-
from flespi_sdk.modules.
|
3
|
+
from flespi_sdk.modules.flespi_session import FlespiSession
|
4
4
|
|
5
5
|
|
6
|
-
class Subaccounts(
|
6
|
+
class Subaccounts(FlespiSession):
|
7
7
|
def __init__(self, session: aiohttp.ClientSession, cid: int | None = None):
|
8
8
|
super().__init__(session, cid)
|
9
9
|
|
10
|
-
async def
|
10
|
+
async def get(self, id: str):
|
11
11
|
from flespi_sdk.account import Account
|
12
12
|
|
13
13
|
async with self.session.get(
|
@@ -0,0 +1,88 @@
|
|
1
|
+
Metadata-Version: 2.4
|
2
|
+
Name: flespi-sdk
|
3
|
+
Version: 0.1.2
|
4
|
+
Summary: Add your description here
|
5
|
+
Author-email: Sergey Shevchik <sergey.shevchik@gmail.com>
|
6
|
+
Requires-Python: >=3.11
|
7
|
+
Requires-Dist: aiohttp>=3.11.15
|
8
|
+
Description-Content-Type: text/markdown
|
9
|
+
|
10
|
+
# Install
|
11
|
+
|
12
|
+
```
|
13
|
+
pip install flespi-sdk
|
14
|
+
|
15
|
+
```
|
16
|
+
|
17
|
+
# Usage
|
18
|
+
|
19
|
+
```python
|
20
|
+
from flespi_sdk.account import Account
|
21
|
+
|
22
|
+
# log into account
|
23
|
+
account = Account()
|
24
|
+
await account.set_token("<flespi-token>")
|
25
|
+
# or
|
26
|
+
# await account.realm_login("<realm-public-id>", "<realm-username>", "<realm-password>")
|
27
|
+
|
28
|
+
# use account
|
29
|
+
|
30
|
+
print("Metadata", await account.metadata.get())
|
31
|
+
print("Direct subaccount IDs", [subaccount.id for subaccount in await account.subaccounts.list()])
|
32
|
+
print("Flespi API counters", await account.mqtt.list("flespi/state/platform/customer/counters/api/#"))
|
33
|
+
|
34
|
+
```
|
35
|
+
|
36
|
+
# Examples
|
37
|
+
|
38
|
+
### Read emails from MQTT for all subaccounts (master token required)
|
39
|
+
|
40
|
+
```python
|
41
|
+
from flespi_sdk.cli import get_account
|
42
|
+
|
43
|
+
|
44
|
+
async def main():
|
45
|
+
account = None
|
46
|
+
try:
|
47
|
+
account = await get_account()
|
48
|
+
subaccounts = await account.subaccounts.list()
|
49
|
+
for subaccount in subaccounts:
|
50
|
+
name = await subaccount.metadata.get_value("sys_user_config.title")
|
51
|
+
mqtt_msg = await subaccount.mqtt.get("flespi/state/platform/customer/email")
|
52
|
+
email = mqtt_msg["payload"]
|
53
|
+
print(f"Subaccount ID: {subaccount.id}, Name: {name}, Email: {email}")
|
54
|
+
except Exception as e:
|
55
|
+
print("Error:", e)
|
56
|
+
finally:
|
57
|
+
if account:
|
58
|
+
await account.stop()
|
59
|
+
|
60
|
+
|
61
|
+
if __name__ == "__main__":
|
62
|
+
import asyncio
|
63
|
+
|
64
|
+
asyncio.run(main())
|
65
|
+
|
66
|
+
```
|
67
|
+
|
68
|
+
### Manipulate realms and users
|
69
|
+
|
70
|
+
```python
|
71
|
+
acc = Account()
|
72
|
+
await acc.set_token(acc_token)
|
73
|
+
|
74
|
+
realms = await acc.realms.list(selector="all")
|
75
|
+
for realm in realms:
|
76
|
+
print(realm.id, await realm.get_name(), await realm.metadata.get())
|
77
|
+
users = await realm.users.list()
|
78
|
+
for user in users:
|
79
|
+
print(user.id, await user.get_name(), await user.metadata.get())
|
80
|
+
|
81
|
+
realm = await acc.realms.get(22644)
|
82
|
+
user = await realm.users.get(90287)
|
83
|
+
await user.metadata.set_value("test-metadata-key", "123")
|
84
|
+
print(await user.metadata.get())
|
85
|
+
await user.metadata.delete_value("test-metadata-key")
|
86
|
+
print(await user.metadata.get())
|
87
|
+
await user.update_password("newpassword123456789")
|
88
|
+
```
|
@@ -0,0 +1,17 @@
|
|
1
|
+
flespi_sdk/__init__.py,sha256=INx-TmKYpKi9SC0-UMqtqKwnMnHK88oXyvh3tTFY668,1462
|
2
|
+
flespi_sdk/account.py,sha256=tu4JX4Qh8Sf25BbX4RMvXjWs5DJg2W_LeasaBSYzAzo,2774
|
3
|
+
flespi_sdk/cli.py,sha256=6OcRQAu-LLFTYGGY_S0SNTXgHlazr3NaMDqPQ7QLg_E,1346
|
4
|
+
flespi_sdk/modules/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
5
|
+
flespi_sdk/modules/flespi_session.py,sha256=TiEUVZMo-JpU7vPqnMhJJX47-kI6UMrDAlptSSpRzTo,682
|
6
|
+
flespi_sdk/modules/item_with_metadata.py,sha256=_J1dvU_aFg6yTeiKFuQPNMFEZnFkP5Li6NePXpyqRzY,906
|
7
|
+
flespi_sdk/modules/items_container.py,sha256=5c8ov35NQ8dVmDGpq68ROaVIj8VtySaE0Rlrk0JUsLc,1440
|
8
|
+
flespi_sdk/modules/metadata/__init__.py,sha256=3-FNhSeWFQIlUZH8jnCAVbiJvQI7emAz3I8LRB92VPU,2792
|
9
|
+
flespi_sdk/modules/mqtt/__init__.py,sha256=nLUQxrNpJ2E8l-OGyOAE-dfyOpQ4_-bjC-fkUEj_8As,2714
|
10
|
+
flespi_sdk/modules/realms/__init__.py,sha256=U3nT0Zwz7Y6knmEsL3jDqxwRntM3GgmMqJUERCJJsTs,1063
|
11
|
+
flespi_sdk/modules/realms/realm.py,sha256=TxYZpUJfKY3DnlUXzbu2OaY4nlfdA_PkVcW8N5tXNQc,633
|
12
|
+
flespi_sdk/modules/realms/users/__init__.py,sha256=hHv5R_eySJ_ioQIfYjYHbnbcMm1NhSKBKBpsNILHfbE,1798
|
13
|
+
flespi_sdk/modules/realms/users/user.py,sha256=Y6Z3WZuzyl9-IOvKl4_OkBXBT2nIiq8L_dWF6MhD-IY,1249
|
14
|
+
flespi_sdk/modules/subaccounts/__init__.py,sha256=PhS91e9FoV3m6VkfrANoq0_Zf-v139VsShGBXoPaJ-I,1044
|
15
|
+
flespi_sdk-0.1.2.dist-info/METADATA,sha256=Ij9JZs0jpNBmxRDfLLKwCrLJJOraIX_dgLxUZo23t1c,2267
|
16
|
+
flespi_sdk-0.1.2.dist-info/WHEEL,sha256=qtCwoSJWgHk21S1Kb4ihdzI2rlJ1ZKaIurTj_ngOhyQ,87
|
17
|
+
flespi_sdk-0.1.2.dist-info/RECORD,,
|
@@ -1,11 +0,0 @@
|
|
1
|
-
flespi_sdk/__init__.py,sha256=INx-TmKYpKi9SC0-UMqtqKwnMnHK88oXyvh3tTFY668,1462
|
2
|
-
flespi_sdk/account.py,sha256=mnFLKR204ln09UIRXGQcGf0tURK5wgWg8mlo8vN3o3w,2656
|
3
|
-
flespi_sdk/cli.py,sha256=6OcRQAu-LLFTYGGY_S0SNTXgHlazr3NaMDqPQ7QLg_E,1346
|
4
|
-
flespi_sdk/modules/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
5
|
-
flespi_sdk/modules/subsystem.py,sha256=6ZKVL-ZtqbA_n1tbuzStu3EV7WYtZepWtuF7G_yIqEA,675
|
6
|
-
flespi_sdk/modules/metadata/__init__.py,sha256=SVj_OogLsLEOwOS2snP3iW03NmENe8sIW1MbeKK5iTo,2501
|
7
|
-
flespi_sdk/modules/mqtt/__init__.py,sha256=jiN4RniDru1YJF_EMHSIIjUgDsboeJc730ktu7P7a8E,2695
|
8
|
-
flespi_sdk/modules/subaccounts/__init__.py,sha256=OElPCprLOqV1hZ-evBi-sWp_KNTnUImdgLXqVvsO2No,1031
|
9
|
-
flespi_sdk-0.1.0.dist-info/METADATA,sha256=VJJ7knUJZZQe2gp5oLLUqLoPdN0YcNQGWH6zTliftEM,203
|
10
|
-
flespi_sdk-0.1.0.dist-info/WHEEL,sha256=qtCwoSJWgHk21S1Kb4ihdzI2rlJ1ZKaIurTj_ngOhyQ,87
|
11
|
-
flespi_sdk-0.1.0.dist-info/RECORD,,
|
File without changes
|