arkitekt-next 0.7.58__py3-none-any.whl → 0.7.60__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.
Potentially problematic release.
This version of arkitekt-next might be problematic. Click here for more details.
- arkitekt_next/qt/__init__.py +2 -2
- arkitekt_next/qt/builders.py +166 -0
- {arkitekt_next-0.7.58.dist-info → arkitekt_next-0.7.60.dist-info}/METADATA +8 -8
- {arkitekt_next-0.7.58.dist-info → arkitekt_next-0.7.60.dist-info}/RECORD +7 -7
- {arkitekt_next-0.7.58.dist-info → arkitekt_next-0.7.60.dist-info}/LICENSE +0 -0
- {arkitekt_next-0.7.58.dist-info → arkitekt_next-0.7.60.dist-info}/WHEEL +0 -0
- {arkitekt_next-0.7.58.dist-info → arkitekt_next-0.7.60.dist-info}/entry_points.txt +0 -0
arkitekt_next/qt/__init__.py
CHANGED
|
@@ -9,7 +9,7 @@ to ArkitektNext, and configure settings.
|
|
|
9
9
|
"""
|
|
10
10
|
|
|
11
11
|
from .magic_bar import MagicBar
|
|
12
|
-
from .builders import publicqt
|
|
12
|
+
from .builders import publicqt, devqt
|
|
13
13
|
from .types import *
|
|
14
14
|
|
|
15
|
-
__all__ = ["MagicBar", "publicqt", "QtApp"]
|
|
15
|
+
__all__ = ["MagicBar", "publicqt", "devqt", "QtApp"]
|
arkitekt_next/qt/builders.py
CHANGED
|
@@ -15,6 +15,172 @@ from qtpy import QtWidgets, QtCore
|
|
|
15
15
|
from typing import List, Optional
|
|
16
16
|
import os
|
|
17
17
|
import logging
|
|
18
|
+
from typing import List, Optional
|
|
19
|
+
import logging
|
|
20
|
+
import os
|
|
21
|
+
|
|
22
|
+
from arkitekt_next.apps.service.fakts_next import (
|
|
23
|
+
build_arkitekt_next_fakts_next,
|
|
24
|
+
build_arkitekt_next_redeem_fakts_next,
|
|
25
|
+
build_arkitekt_next_token_fakts,
|
|
26
|
+
)
|
|
27
|
+
from arkitekt_next.apps.service.herre import build_arkitekt_next_herre
|
|
28
|
+
from arkitekt_next.utils import create_arkitekt_next_folder
|
|
29
|
+
from arkitekt_next.model import Manifest
|
|
30
|
+
from arkitekt_next.apps.types import App
|
|
31
|
+
from arkitekt_next.service_registry import (
|
|
32
|
+
ServiceBuilderRegistry,
|
|
33
|
+
check_and_import_services,
|
|
34
|
+
)
|
|
35
|
+
from arkitekt_next.constants import DEFAULT_ARKITEKT_URL
|
|
36
|
+
|
|
37
|
+
|
|
38
|
+
def devqt(
|
|
39
|
+
identifier: str,
|
|
40
|
+
version: str = "0.0.1",
|
|
41
|
+
logo: Optional[str] = None,
|
|
42
|
+
scopes: Optional[List[str]] = None,
|
|
43
|
+
url: str = DEFAULT_ARKITEKT_URL,
|
|
44
|
+
headless: bool = False,
|
|
45
|
+
log_level: str = "ERROR",
|
|
46
|
+
parent: Optional[QtWidgets.QWidget] = None,
|
|
47
|
+
token: Optional[str] = None,
|
|
48
|
+
no_cache: bool = False,
|
|
49
|
+
redeem_token: Optional[str] = None,
|
|
50
|
+
app_kind: str = "development",
|
|
51
|
+
registry: Optional[ServiceBuilderRegistry] = None,
|
|
52
|
+
**kwargs,
|
|
53
|
+
) -> App:
|
|
54
|
+
"""Creates a next app
|
|
55
|
+
|
|
56
|
+
A simple way to create an ArkitektNext Next app, ArkitektNext next apps are
|
|
57
|
+
development apps by default, as they will try to register themselves
|
|
58
|
+
with services that are not yet available in production (such as the
|
|
59
|
+
rekuest_next and mikro_next services). They represent the next generation
|
|
60
|
+
of ArkitektNext apps, and will be the default way to create ArkitektNext apps
|
|
61
|
+
in the future. From here be dragons.
|
|
62
|
+
|
|
63
|
+
A few things to note:
|
|
64
|
+
- The Next builder closely mimics the easy builder, but will use the
|
|
65
|
+
next generation of services (such as rekuest_next and mikro_next)
|
|
66
|
+
and will therefore not be compatible with the current generation.
|
|
67
|
+
|
|
68
|
+
- Next apps will try to establish themselves a "development" apps, by default
|
|
69
|
+
which means that they will be authenticated with the ArkitektNext server on
|
|
70
|
+
a per user basis. If you want to create a "desktop" app, which multiple users
|
|
71
|
+
can use, you should set the `app_kind` to "desktop" TODO: Currently not implemented (use next app for this)
|
|
72
|
+
- The Next builder can also be used in plugin apps, and when provided with a fakts token
|
|
73
|
+
will be able to connect to the ArkitektNext server without any user interaction.
|
|
74
|
+
|
|
75
|
+
|
|
76
|
+
Parameters
|
|
77
|
+
----------
|
|
78
|
+
identifier : str
|
|
79
|
+
The apps identifier (should be globally unique, see Manifest for more info)
|
|
80
|
+
version : str, optional
|
|
81
|
+
The version of the app, by default "0.0.1"
|
|
82
|
+
logo : str, optional
|
|
83
|
+
The logo of the app as a public http url, by default None
|
|
84
|
+
scopes : List[str], optional
|
|
85
|
+
The scopes, that this apps requires, will default to standard scopes, by default None
|
|
86
|
+
url : str, optional
|
|
87
|
+
The fakts server that will be used to configure this app, in a default ArkitektNext deployment this
|
|
88
|
+
is the address of the "Lok Service" (which provides the Fakts API), by default DEFAULT_ARKITEKT_URL
|
|
89
|
+
Will be overwritten by the FAKTS_URL environment variable
|
|
90
|
+
headless : bool, optional
|
|
91
|
+
Should we run in headless, mode, e.g printing necessary interaction into the console (will forexample
|
|
92
|
+
stop opening browser windows), by default False
|
|
93
|
+
log_level : str, optional
|
|
94
|
+
The log-level to use, by default "ERROR"
|
|
95
|
+
token : str, optional
|
|
96
|
+
A fakts token to use, by default None
|
|
97
|
+
Will be overwritten by the FAKTS_TOKEN environment variable
|
|
98
|
+
no_cache : bool, optional
|
|
99
|
+
Should we skip caching token, acess-token, by default False
|
|
100
|
+
Attention: If this is set to True, the app will always have to be configured
|
|
101
|
+
and authenticated.
|
|
102
|
+
instance_id : str, optional
|
|
103
|
+
The instance_id to use, by default "main"
|
|
104
|
+
Can be set to a different value, if you want to run multiple intstances
|
|
105
|
+
of the same app by the same user.
|
|
106
|
+
Will be overwritten by the REKUEST_INSTANCE_ID environment variable
|
|
107
|
+
register_reaktion : bool, optional
|
|
108
|
+
Should we register the reaktion extension, by default True
|
|
109
|
+
If set to False, the app will not be able to use the reaktion extension
|
|
110
|
+
(which is necessary for scheduling in app` workflows from fluss)
|
|
111
|
+
app_kind : str, optional
|
|
112
|
+
The kind of app to create, by default "development"
|
|
113
|
+
Can be set to "desktop" to create a desktop app, that can be used by multiple users.
|
|
114
|
+
|
|
115
|
+
Returns
|
|
116
|
+
-------
|
|
117
|
+
NextApp
|
|
118
|
+
A built app, that can be used to interact with the ArkitektNext server
|
|
119
|
+
"""
|
|
120
|
+
registry = registry or check_and_import_services()
|
|
121
|
+
|
|
122
|
+
url = os.getenv("FAKTS_URL", url)
|
|
123
|
+
token = os.getenv("FAKTS_TOKEN", token)
|
|
124
|
+
|
|
125
|
+
manifest = Manifest(
|
|
126
|
+
version=version,
|
|
127
|
+
identifier=identifier,
|
|
128
|
+
scopes=scopes if scopes else ["openid"],
|
|
129
|
+
logo=logo,
|
|
130
|
+
requirements=registry.get_requirements(),
|
|
131
|
+
)
|
|
132
|
+
if token:
|
|
133
|
+
print("Using token")
|
|
134
|
+
fakts = build_arkitekt_next_token_fakts(
|
|
135
|
+
manifest=manifest,
|
|
136
|
+
token=token,
|
|
137
|
+
url=url,
|
|
138
|
+
)
|
|
139
|
+
|
|
140
|
+
elif redeem_token:
|
|
141
|
+
print("Using redeem token")
|
|
142
|
+
fakts = build_arkitekt_next_redeem_fakts_next(
|
|
143
|
+
manifest=manifest,
|
|
144
|
+
redeem_token=redeem_token,
|
|
145
|
+
url=url,
|
|
146
|
+
no_cache=no_cache,
|
|
147
|
+
headless=headless,
|
|
148
|
+
)
|
|
149
|
+
else:
|
|
150
|
+
print("Using normal fakts")
|
|
151
|
+
fakts = build_arkitekt_next_fakts_next(
|
|
152
|
+
manifest=manifest,
|
|
153
|
+
url=url,
|
|
154
|
+
no_cache=no_cache,
|
|
155
|
+
headless=headless,
|
|
156
|
+
client_kind=app_kind,
|
|
157
|
+
)
|
|
158
|
+
|
|
159
|
+
herre = build_arkitekt_next_herre(fakts=fakts)
|
|
160
|
+
|
|
161
|
+
params = kwargs
|
|
162
|
+
|
|
163
|
+
create_arkitekt_next_folder(with_cache=True)
|
|
164
|
+
|
|
165
|
+
try:
|
|
166
|
+
from rich.logging import RichHandler
|
|
167
|
+
|
|
168
|
+
logging.basicConfig(level=log_level, handlers=[RichHandler()])
|
|
169
|
+
except ImportError:
|
|
170
|
+
logging.basicConfig(level=log_level)
|
|
171
|
+
|
|
172
|
+
app = App(
|
|
173
|
+
fakts=fakts,
|
|
174
|
+
herre=herre,
|
|
175
|
+
manifest=manifest,
|
|
176
|
+
services=registry.build_service_map(
|
|
177
|
+
fakts=fakts, herre=herre, params=params, manifest=manifest
|
|
178
|
+
),
|
|
179
|
+
)
|
|
180
|
+
|
|
181
|
+
app.enter()
|
|
182
|
+
|
|
183
|
+
return app
|
|
18
184
|
|
|
19
185
|
|
|
20
186
|
def publicqt(
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.1
|
|
2
2
|
Name: arkitekt-next
|
|
3
|
-
Version: 0.7.
|
|
3
|
+
Version: 0.7.60
|
|
4
4
|
Summary: client for the arkitekt_next platform
|
|
5
5
|
License: MIT
|
|
6
6
|
Author: jhnnsrs
|
|
@@ -20,20 +20,20 @@ Requires-Dist: blok (>=0.0.19) ; (python_version >= "3.8" and python_version < "
|
|
|
20
20
|
Requires-Dist: cryptography (>=40.0.8) ; (python_version >= "3.8" and python_version < "4.0") and (extra == "blok")
|
|
21
21
|
Requires-Dist: dokker (>=0.1.21)
|
|
22
22
|
Requires-Dist: fakts (>=0.5.0)
|
|
23
|
-
Requires-Dist: fluss-next (>=0.1.
|
|
23
|
+
Requires-Dist: fluss-next (>=0.1.79) ; extra == "all"
|
|
24
24
|
Requires-Dist: herre (>=0.4.3)
|
|
25
|
-
Requires-Dist: kabinet (>=0.1.
|
|
25
|
+
Requires-Dist: kabinet (>=0.1.17) ; (python_version >= "3.9" and python_version < "4.0") and (extra == "all")
|
|
26
26
|
Requires-Dist: koil (>=0.3.6)
|
|
27
|
-
Requires-Dist: lovekit (>=0.1.
|
|
28
|
-
Requires-Dist: mikro-next (>=0.1.
|
|
27
|
+
Requires-Dist: lovekit (>=0.1.6) ; (python_version >= "3.9" and python_version < "4.0") and (extra == "all")
|
|
28
|
+
Requires-Dist: mikro-next (>=0.1.34) ; (python_version >= "3.10" and python_version < "4.0") and (extra == "all")
|
|
29
29
|
Requires-Dist: namegenerator (>=1.0.6) ; (python_version >= "3.8" and python_version < "4.0") and (extra == "blok")
|
|
30
30
|
Requires-Dist: netifaces (>=0.11.0) ; (python_version >= "3.8" and python_version < "4.0") and (extra == "blok")
|
|
31
|
-
Requires-Dist: reaktion-next (>=0.1.
|
|
32
|
-
Requires-Dist: rekuest-next (>=0.2.
|
|
31
|
+
Requires-Dist: reaktion-next (>=0.1.69) ; (python_version >= "3.8" and python_version < "4.0") and (extra == "all")
|
|
32
|
+
Requires-Dist: rekuest-next (>=0.2.25) ; (python_version >= "3.8" and python_version < "4.0") and (extra == "cli" or extra == "all")
|
|
33
33
|
Requires-Dist: rich-click (>=1.6.1) ; extra == "cli" or extra == "all"
|
|
34
34
|
Requires-Dist: semver (>=3.0.1) ; extra == "cli" or extra == "all"
|
|
35
35
|
Requires-Dist: turms (>=0.5.0) ; (python_version >= "3.9" and python_version < "4.0") and (extra == "cli" or extra == "all")
|
|
36
|
-
Requires-Dist: unlok-next (>=0.1.
|
|
36
|
+
Requires-Dist: unlok-next (>=0.1.73) ; python_version >= "3.8" and python_version < "4.0"
|
|
37
37
|
Requires-Dist: watchfiles (>=0.18.1) ; extra == "cli" or extra == "all"
|
|
38
38
|
Description-Content-Type: text/markdown
|
|
39
39
|
|
|
@@ -118,7 +118,7 @@ arkitekt_next/cli/vars.py,sha256=ev7cKDSPoik8hU9A_ohNpjRZX4FT1GYJaBoGLnxCKjU,982
|
|
|
118
118
|
arkitekt_next/cli/versions/v1.yaml,sha256=rv2-F6FQbTZi_H6pSE_csdICdtKBObDdoo_asOFi43Y,12
|
|
119
119
|
arkitekt_next/constants.py,sha256=OMNXceT6p9hxo3DLLH-632HtZqOe29E_1vrdeNiP4ZE,94
|
|
120
120
|
arkitekt_next/model.py,sha256=4ZZljn-UAK8EXltYTuzi_L7ygCVllqR0tDHOvMv1oW4,4476
|
|
121
|
-
arkitekt_next/qt/__init__.py,sha256=
|
|
121
|
+
arkitekt_next/qt/__init__.py,sha256=5tCCd-FA3sMN9Lo5JRUYUM6xgs2zxyHj5YDpdWYbR0w,471
|
|
122
122
|
arkitekt_next/qt/assets/dark/gear.png,sha256=nYl1JZhcpwd7s5FgG2g-1RpkK7TH_QQRqJMmK6r0BpU,6296
|
|
123
123
|
arkitekt_next/qt/assets/dark/green pulse.gif,sha256=cUd2F3Qlvjb7SnsU-LjGgeLTa8KoPgu3C-LNrixIQds,105386
|
|
124
124
|
arkitekt_next/qt/assets/dark/orange pulse.gif,sha256=0gDvrRed0mzZZPHB4tP6vptx7myUCAa_hEVGdjRhNy8,94769
|
|
@@ -129,15 +129,15 @@ arkitekt_next/qt/assets/light/green pulse.gif,sha256=cUd2F3Qlvjb7SnsU-LjGgeLTa8K
|
|
|
129
129
|
arkitekt_next/qt/assets/light/orange pulse.gif,sha256=0gDvrRed0mzZZPHB4tP6vptx7myUCAa_hEVGdjRhNy8,94769
|
|
130
130
|
arkitekt_next/qt/assets/light/pink pulse.gif,sha256=rxd6ZTHSIG9JZuuHhi3jiSB_JYFBZpy7OWUeZETlhQ4,107513
|
|
131
131
|
arkitekt_next/qt/assets/light/red pulse.gif,sha256=U7WLbZvSl5e-Ob5RmawtlC0Rh9VVHxkjDbGjj7NYVUo,108749
|
|
132
|
-
arkitekt_next/qt/builders.py,sha256=
|
|
132
|
+
arkitekt_next/qt/builders.py,sha256=mtT8CFQoLChg-FYZwNUegUTRzQFUJAnuWUBOCeKz6k8,9030
|
|
133
133
|
arkitekt_next/qt/magic_bar.py,sha256=Ni_c53A1yR5A6CGXMqBU-IPKzb3tVXL9r-K6e0rdRY8,18301
|
|
134
134
|
arkitekt_next/qt/types.py,sha256=jI9UHt1Rn-fxGZfeImTO9-yHh0zJPzk7CwvpnUXdirg,1085
|
|
135
135
|
arkitekt_next/qt/utils.py,sha256=MgBPtPmCSBkIuATov3UgREESwxAHh77lWNNxyE7Qs48,773
|
|
136
136
|
arkitekt_next/service_registry.py,sha256=0Qt3PNPRBlhIGWMeB04ZVmOmNI-cFCt_o2F6UrplKA8,3577
|
|
137
137
|
arkitekt_next/tqdm.py,sha256=FgrwpAwFTXBTEPY4rS7K4Gs8Wdjp74mUk4_OEU8hWZM,1526
|
|
138
138
|
arkitekt_next/utils.py,sha256=csBRBnxnErMRTilNBYAtIe0lPBb6E3uplqwsVGs5Wkk,2390
|
|
139
|
-
arkitekt_next-0.7.
|
|
140
|
-
arkitekt_next-0.7.
|
|
141
|
-
arkitekt_next-0.7.
|
|
142
|
-
arkitekt_next-0.7.
|
|
143
|
-
arkitekt_next-0.7.
|
|
139
|
+
arkitekt_next-0.7.60.dist-info/LICENSE,sha256=YZ2oRjC248t-GpoEyw7J13vwKYNG6zhYMaEAix6EzF0,1089
|
|
140
|
+
arkitekt_next-0.7.60.dist-info/METADATA,sha256=JaKcUp98xmn0hNXy7OGVESNT4Xt-7Pn0I2x-3rIegIY,6084
|
|
141
|
+
arkitekt_next-0.7.60.dist-info/WHEEL,sha256=sP946D7jFCHeNz5Iq4fL4Lu-PrWrFsgfLXbbkciIZwg,88
|
|
142
|
+
arkitekt_next-0.7.60.dist-info/entry_points.txt,sha256=-hxikQx4xZ6TiOnWVDOlTN_kcAISgGFvTHXIchsCHSc,60
|
|
143
|
+
arkitekt_next-0.7.60.dist-info/RECORD,,
|
|
File without changes
|
|
File without changes
|
|
File without changes
|