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.

@@ -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"]
@@ -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.58
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.77) ; extra == "all"
23
+ Requires-Dist: fluss-next (>=0.1.79) ; extra == "all"
24
24
  Requires-Dist: herre (>=0.4.3)
25
- Requires-Dist: kabinet (>=0.1.15) ; (python_version >= "3.9" and python_version < "4.0") and (extra == "all")
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.4) ; (python_version >= "3.9" and python_version < "4.0") and (extra == "all")
28
- Requires-Dist: mikro-next (>=0.1.32) ; (python_version >= "3.10" and python_version < "4.0") and (extra == "all")
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.67) ; (python_version >= "3.8" and python_version < "4.0") and (extra == "all")
32
- Requires-Dist: rekuest-next (>=0.2.23) ; (python_version >= "3.8" and python_version < "4.0") and (extra == "cli" or extra == "all")
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.70) ; python_version >= "3.8" and python_version < "4.0"
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=bvBdD3TKL10kc3mHupdRIY9qdkeZX_Bj-JN82Xv2MaI,455
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=AI_4WSDlT3sk9IVtxnepZPjGO4gIYfHa0I40MFUgj6o,2808
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.58.dist-info/LICENSE,sha256=YZ2oRjC248t-GpoEyw7J13vwKYNG6zhYMaEAix6EzF0,1089
140
- arkitekt_next-0.7.58.dist-info/METADATA,sha256=WV6gndP05A9vk7cqSY2yovDVoljW0gROl17lE9czAv0,6084
141
- arkitekt_next-0.7.58.dist-info/WHEEL,sha256=sP946D7jFCHeNz5Iq4fL4Lu-PrWrFsgfLXbbkciIZwg,88
142
- arkitekt_next-0.7.58.dist-info/entry_points.txt,sha256=-hxikQx4xZ6TiOnWVDOlTN_kcAISgGFvTHXIchsCHSc,60
143
- arkitekt_next-0.7.58.dist-info/RECORD,,
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,,