arkitekt-next 0.8.19__py3-none-any.whl → 0.8.20__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.

@@ -1,16 +1,14 @@
1
1
  from typing import Optional
2
2
 
3
- from fakts.fakts import Fakts
4
- from fakts.grants.remote import RemoteGrant
5
- from fakts.grants.remote.discovery.well_known import WellKnownDiscovery
6
- from fakts.grants.remote import RemoteGrant
7
- from fakts.grants.remote.demanders.auto_save import AutoSaveDemander
8
- from fakts.grants.remote.demanders.cache import CacheTokenStore
9
- from fakts.grants.remote.demanders.static import StaticDemander
10
- from fakts.grants.remote.demanders.device_code import DeviceCodeDemander
11
- from fakts.grants.remote.claimers.post import ClaimEndpointClaimer
12
- from fakts.grants.remote.demanders.redeem import RedeemDemander
13
-
3
+ from fakts_next.fakts import Fakts
4
+ from fakts_next.grants.remote import RemoteGrant
5
+ from fakts_next.grants.remote.discovery.well_known import WellKnownDiscovery
6
+ from fakts_next.grants.remote import RemoteGrant
7
+ from fakts_next.grants.remote.demanders.static import StaticDemander
8
+ from fakts_next.grants.remote.demanders.device_code import DeviceCodeDemander
9
+ from fakts_next.grants.remote.claimers.post import ClaimEndpointClaimer
10
+ from fakts_next.grants.remote.demanders.redeem import RedeemDemander
11
+ from fakts_next.cache.file import FileCache
14
12
  from arkitekt_next.base_models import Manifest
15
13
 
16
14
 
@@ -32,34 +30,25 @@ def build_arkitekt_next_fakts_next(
32
30
  identifier = manifest.identifier
33
31
  version = manifest.version
34
32
 
35
- if no_cache:
36
- demander = DeviceCodeDemander(
37
- manifest=manifest,
38
- redirect_uri="http://127.0.0.1:6767",
39
- open_browser=not headless,
40
- requested_client_kind=client_kind,
41
- )
42
-
43
- else:
44
- demander = AutoSaveDemander(
45
- demander=DeviceCodeDemander(
46
- manifest=manifest,
47
- redirect_uri="http://127.0.0.1:6767",
48
- open_browser=not headless,
49
- requested_client_kind=client_kind,
50
- ),
51
- store=CacheTokenStore(
52
- cache_file=f".arkitekt_next/cache/{identifier}-{version}_fakts_cache.json",
53
- hash=manifest.hash(),
54
- ),
55
- )
33
+ demander = DeviceCodeDemander(
34
+ manifest=manifest,
35
+ redirect_uri="http://127.0.0.1:6767",
36
+ open_browser=not headless,
37
+ requested_client_kind=client_kind,
38
+ )
39
+
56
40
 
57
41
  return ArkitektNextFaktsNext(
58
42
  grant=RemoteGrant(
59
43
  demander=demander,
60
44
  discovery=WellKnownDiscovery(url=url, auto_protocols=["https", "http"]),
61
45
  claimer=ClaimEndpointClaimer(),
62
- )
46
+ ),
47
+ cache=FileCache(
48
+ cache_file=f".arkitekt_next/cache/{identifier}-{version}_fakts_cache.json",
49
+ hash=manifest.hash(),
50
+ skip_cache=no_cache,
51
+ ),
63
52
  )
64
53
 
65
54
 
@@ -70,24 +59,39 @@ def build_arkitekt_next_redeem_fakts_next(
70
59
  no_cache: Optional[bool] = False,
71
60
  headless=False,
72
61
  ):
62
+ identifier = manifest.identifier
63
+ version = manifest.version
64
+
65
+
73
66
  return ArkitektNextFaktsNext(
74
67
  grant=RemoteGrant(
75
68
  demander=RedeemDemander(token=redeem_token, manifest=manifest),
76
69
  discovery=WellKnownDiscovery(url=url, auto_protocols=["https", "http"]),
77
70
  claimer=ClaimEndpointClaimer(),
78
- )
71
+ ),
72
+ cache=FileCache(
73
+ cache_file=f".arkitekt_next/cache/{identifier}-{version}_fakts_cache.json",
74
+ hash=manifest.hash(),
75
+ ),
79
76
  )
80
77
 
81
78
 
82
- def build_arkitekt_next_token_fakts(
79
+ def build_arkitekt_next_token_fakts_next(
83
80
  manifest: Manifest,
84
81
  token: str,
85
82
  url,
86
83
  ):
84
+ identifier = manifest.identifier
85
+ version = manifest.version
86
+
87
87
  return ArkitektNextFaktsNext(
88
88
  grant=RemoteGrant(
89
89
  demander=StaticDemander(token=token),
90
90
  discovery=WellKnownDiscovery(url=url, auto_protocols=["https", "http"]),
91
91
  claimer=ClaimEndpointClaimer(),
92
- )
92
+ ),
93
+ cache=FileCache(
94
+ cache_file=f".arkitekt_next/cache/{identifier}-{version}_fakts_cache.json",
95
+ hash=manifest.hash(),
96
+ ),
93
97
  )
@@ -1,37 +1,21 @@
1
- from fakts.fakts import Fakts
1
+ from fakts_next.fakts import Fakts
2
2
  from typing import Optional
3
- from fakts.grants.remote import RemoteGrant
4
- from fakts.grants.remote.demanders.auto_save import AutoSaveDemander
5
- from fakts.grants.remote.demanders.device_code import DeviceCodeDemander
6
- from fakts.grants.remote.discovery.auto_save import AutoSaveDiscovery
7
- from fakts.grants.remote.discovery.qt.auto_save_endpoint_widget import (
8
- AutoSaveEndpointWidget,
9
- )
10
- from fakts.grants.remote.discovery.qt.qt_settings_endpoint_store import (
11
- QtSettingsEndpointStore,
12
- )
13
- from fakts.grants.remote.demanders.qt.qt_settings_token_store import QTSettingTokenStore
3
+ from fakts_next.grants.remote import RemoteGrant
4
+ from fakts_next.grants.remote.demanders.device_code import DeviceCodeDemander
14
5
 
15
- from fakts.grants.remote.demanders.retrieve import RetrieveDemander
16
- from fakts.grants.remote.claimers.post import ClaimEndpointClaimer
17
- from fakts.grants.remote.discovery.qt.selectable_beacon import (
6
+ from fakts_next.grants.remote.claimers.post import ClaimEndpointClaimer
7
+ from fakts_next.grants.remote.discovery.qt.selectable_beacon import (
18
8
  SelectBeaconWidget,
19
9
  QtSelectableDiscovery,
20
10
  )
21
11
  from arkitekt_next.base_models import Manifest
22
12
  from qtpy import QtCore, QtWidgets
23
-
24
-
25
- class ArkitektNextFaktsAutoSaveDiscovery(AutoSaveDiscovery):
26
- """An ArkitektNext Fakts discovery that uses Qt widgets for token and endpoint storage"""
27
-
28
- discovery: QtSelectableDiscovery
29
-
13
+ from fakts_next.cache.qt.settings import QtSettingsCache
30
14
 
31
15
  class ArkitektNextFaktsQtRemoteGrant(RemoteGrant):
32
16
  """An ArkitektNext Fakts grant that uses Qt widgets for token and endpoint storage"""
33
17
 
34
- discovery: ArkitektNextFaktsAutoSaveDiscovery
18
+ discovery: QtSelectableDiscovery
35
19
 
36
20
 
37
21
  class ArkitektNextFaktsQt(Fakts):
@@ -40,7 +24,7 @@ class ArkitektNextFaktsQt(Fakts):
40
24
  grant: ArkitektNextFaktsQtRemoteGrant
41
25
 
42
26
 
43
- def build_arkitekt_next_qt_fakts(
27
+ def build_arkitekt_next_qt_fakts_next(
44
28
  manifest: Manifest,
45
29
  no_cache: Optional[bool] = False,
46
30
  beacon_widget: Optional[QtWidgets.QWidget] = None,
@@ -53,34 +37,20 @@ def build_arkitekt_next_qt_fakts(
53
37
 
54
38
  return ArkitektNextFaktsQt(
55
39
  grant=ArkitektNextFaktsQtRemoteGrant(
56
- demander=AutoSaveDemander(
57
- store=QTSettingTokenStore(
58
- settings=settings,
59
- save_key="fakts_token",
60
- ),
61
- demander=DeviceCodeDemander(
40
+ demander=DeviceCodeDemander(
62
41
  manifest=manifest,
63
42
  redirect_uri="http://127.0.0.1:6767",
64
43
  open_browser=True,
65
44
  requested_client_kind="desktop",
66
45
  ),
67
46
  ),
68
- discovery=ArkitektNextFaktsAutoSaveDiscovery(
69
- store=QtSettingsEndpointStore(
70
- settings=settings,
71
- save_key="fakts_endpoint",
72
- ),
73
- decider=AutoSaveEndpointWidget(
74
- parent=parent,
75
- ),
76
- discovery=QtSelectableDiscovery(
47
+ discovery=QtSelectableDiscovery(
77
48
  widget=beacon_widget,
78
49
  settings=settings,
79
50
  allow_appending_slash=True,
80
51
  auto_protocols=["http", "https"],
81
52
  additional_beacons=["http://localhost"],
82
53
  ),
83
- ),
84
54
  claimer=ClaimEndpointClaimer(),
85
- )
55
+ cache=QtSettingsCache(settings=settings)
86
56
  )
@@ -1,8 +1,8 @@
1
- from herre.fakts.grant import FaktsGrant
2
- from herre.fakts.registry import GrantRegistry, GrantType
3
- from herre.grants.oauth2.authorization_code import AuthorizationCodeGrant
4
- from herre.grants.oauth2.redirecters.aiohttp_server import AioHttpServerRedirecter
5
- from herre.grants.oauth2.client_credentials import ClientCredentialsGrant
1
+ from herre_next.fakts.grant import FaktsGrant
2
+ from herre_next.fakts.registry import GrantRegistry, GrantType
3
+ from herre_next.grants.oauth2.authorization_code import AuthorizationCodeGrant
4
+ from herre_next.grants.oauth2.redirecters.aiohttp_server import AioHttpServerRedirecter
5
+ from herre_next.grants.oauth2.client_credentials import ClientCredentialsGrant
6
6
 
7
7
 
8
8
  ARKITEKT_GRANT_REGISTRY = GrantRegistry()
@@ -1,8 +1,8 @@
1
- from herre.herre import Herre
2
- from fakts import Fakts
3
- from herre.grants.oauth2.refresh import RefreshGrant
4
- from herre.fakts.fakts_endpoint_fetcher import FaktsUserFetcher
5
- from herre.fakts.grant import FaktsGrant
1
+ from herre_next.herre import Herre
2
+ from fakts_next import Fakts
3
+ from herre_next.grants.oauth2.refresh import RefreshGrant
4
+ from herre_next.fakts.fakts_endpoint_fetcher import FaktsUserFetcher
5
+ from herre_next.fakts.grant import FaktsGrant
6
6
  from arkitekt_next.base_models import User
7
7
  from arkitekt_next.apps.service.grant_registry import ARKITEKT_GRANT_REGISTRY
8
8
 
@@ -11,14 +11,14 @@ class ArkitektNextHerre(Herre):
11
11
  pass
12
12
 
13
13
 
14
- def build_arkitekt_next_herre(fakts: Fakts) -> ArkitektNextHerre:
14
+ def build_arkitekt_next_herre_next(fakts_next: Fakts) -> ArkitektNextHerre:
15
15
  return ArkitektNextHerre(
16
16
  grant=RefreshGrant(
17
17
  grant=FaktsGrant(
18
- fakts=fakts, fakts_group="lok", grant_registry=ARKITEKT_GRANT_REGISTRY
18
+ fakts=fakts_next, fakts_group="lok", grant_registry=ARKITEKT_GRANT_REGISTRY
19
19
  ),
20
20
  ),
21
21
  fetcher=FaktsUserFetcher(
22
- fakts=fakts, fakts_key="lok.userinfo_url", userModel=User
22
+ fakts=fakts_next, fakts_key="lok.userinfo_url", userModel=User
23
23
  ),
24
24
  )
@@ -1,12 +1,12 @@
1
- from herre.herre import Herre
2
- from fakts import Fakts
3
- from herre.grants.oauth2.refresh import RefreshGrant
4
- from herre.fakts.grant import FaktsGrant
5
- from herre.fakts.fakts_qt_store import FaktsQtStore
6
-
7
- from herre.grants.auto_login import AutoLoginGrant
8
- from herre.grants.qt.auto_login import AutoLoginWidget
9
- from herre.fakts.fakts_endpoint_fetcher import FaktsUserFetcher
1
+ from herre_next.herre import Herre
2
+ from fakts_next import Fakts
3
+ from herre_next.grants.oauth2.refresh import RefreshGrant
4
+ from herre_next.fakts.grant import FaktsGrant
5
+ from herre_next.fakts.fakts_qt_store import FaktsQtStore
6
+
7
+ from herre_next.grants.auto_login import AutoLoginGrant
8
+ from herre_next.grants.qt.auto_login import AutoLoginWidget
9
+ from herre_next.fakts.fakts_endpoint_fetcher import FaktsUserFetcher
10
10
  from arkitekt_next.base_models import Manifest, User
11
11
  from arkitekt_next.apps.service.grant_registry import ARKITEKT_GRANT_REGISTRY
12
12
 
@@ -25,7 +25,7 @@ class ArkitektNextHerreQt(Herre):
25
25
  grant: ArkitektNextRefreshGrant
26
26
 
27
27
 
28
- def build_arkitekt_next_qt_herre(
28
+ def build_arkitekt_next_qt_herre_next(
29
29
  manifest: Manifest,
30
30
  fakts: Fakts,
31
31
  login_widget=None,
@@ -14,8 +14,8 @@ import logging
14
14
  from typing import TYPE_CHECKING, Any, Dict
15
15
  from arkitekt_next.base_models import Manifest
16
16
  from koil.composition import Composition
17
- from fakts import Fakts
18
- from herre import Herre
17
+ from fakts_next import Fakts
18
+ from herre_next import Herre
19
19
 
20
20
  logger = logging.getLogger(__name__)
21
21
 
@@ -1,7 +1,7 @@
1
1
  """Models for ArkitektNext. Thiese include extensiosn for the Fakts Manifest and the User model."""
2
2
 
3
3
  from hashlib import sha256
4
- from pydantic import BaseModel, Field
4
+ from pydantic import BaseModel, Field, field_validator
5
5
  from typing import List, Optional
6
6
 
7
7
 
@@ -94,15 +94,23 @@ class Manifest(BaseModel):
94
94
  def hash(self):
95
95
  """Hash the manifest"""
96
96
  return sha256(self.model_dump_json().encode()).hexdigest()
97
+
98
+
99
+ @field_validator("identifier")
100
+ def check_identifier(cls, v):
101
+ assert "/" not in v, "The identifier should not contain a /"
102
+ assert len(v) > 0, "The identifier should not be empty"
103
+ assert len(v) < 256, "The identifier should not be longer than 256 characters"
104
+ return v
97
105
 
98
106
 
99
107
  class User(BaseModel):
100
108
  """A user of ArkitektNext
101
109
 
102
- This model represents a user on ArkitektNext. As herre is acgnostic to the
110
+ This model represents a user on ArkitektNext. As herre_next is acgnostic to the
103
111
  user model, we need to provide a model that can be used to represent
104
112
  the ArkitektNext user. This model is used by the
105
- :class:`herre.fakts.fakts_endpoint_fetcher.FaktsUserFetcher` to
113
+ :class:`herre_next.fakts.fakts_endpoint_fetcher.FaktsUserFetcher` to
106
114
  fetch the user from the associated ArkitektNext Lok instance. This model
107
115
  is closely mimicking the OIDC user model, and is therefore compatible
108
116
  to represent OIDC users.
@@ -71,7 +71,7 @@ class LocalLiveKitBlok:
71
71
  )
72
72
  with_skip = Option(
73
73
  subcommand="skip",
74
- help="The fakts url for connection",
74
+ help="The fakts_next url for connection",
75
75
  default=False,
76
76
  type=bool,
77
77
  )
@@ -202,7 +202,7 @@ class LokBlok:
202
202
  depends_on.append(self.postgress_access.dependency)
203
203
 
204
204
  db_service = {
205
- "labels": ["fakts.service=live.arkitekt.lok", "fakts.builder=arkitekt.lok"],
205
+ "labels": ["fakts_next.service=live.arkitekt.lok", "fakts_next.builder=arkitekt.lok"],
206
206
  "depends_on": depends_on,
207
207
  "volumes": [
208
208
  "/var/run/docker.sock:/var/run/docker.sock",
@@ -155,17 +155,17 @@ class MinioBlok:
155
155
  def get_options(self):
156
156
  with_host = Option(
157
157
  subcommand="host",
158
- help="The fakts url for connection",
158
+ help="The fakts_next url for connection",
159
159
  default=self.host,
160
160
  )
161
161
  with_username = Option(
162
162
  subcommand="username",
163
- help="The fakts url for connection",
163
+ help="The fakts_next url for connection",
164
164
  default=self.username,
165
165
  )
166
166
  with_password = Option(
167
167
  subcommand="password",
168
- help="The fakts url for connection",
168
+ help="The fakts_next url for connection",
169
169
  default=self.password,
170
170
  )
171
171
 
arkitekt_next/builders.py CHANGED
@@ -5,9 +5,9 @@ import os
5
5
  from arkitekt_next.apps.service.fakts_next import (
6
6
  build_arkitekt_next_fakts_next,
7
7
  build_arkitekt_next_redeem_fakts_next,
8
- build_arkitekt_next_token_fakts,
8
+ build_arkitekt_next_token_fakts_next,
9
9
  )
10
- from arkitekt_next.apps.service.herre import build_arkitekt_next_herre
10
+ from arkitekt_next.apps.service.herre import build_arkitekt_next_herre_next
11
11
  from .utils import create_arkitekt_next_folder
12
12
  from .base_models import Manifest
13
13
  from .apps.types import App
@@ -16,7 +16,7 @@ from arkitekt_next.constants import DEFAULT_ARKITEKT_URL
16
16
 
17
17
 
18
18
  def easy(
19
- identifier: str,
19
+ identifier: str = None,
20
20
  version: str = "0.0.1",
21
21
  logo: Optional[str] = None,
22
22
  scopes: Optional[List[str]] = None,
@@ -48,7 +48,7 @@ def easy(
48
48
  which means that they will be authenticated with the ArkitektNext server on
49
49
  a per user basis. If you want to create a "desktop" app, which multiple users
50
50
  can use, you should set the `app_kind` to "desktop" TODO: Currently not implemented (use next app for this)
51
- - The Next builder can also be used in plugin apps, and when provided with a fakts token
51
+ - The Next builder can also be used in plugin apps, and when provided with a fakts_next token
52
52
  will be able to connect to the ArkitektNext server without any user interaction.
53
53
 
54
54
 
@@ -63,7 +63,7 @@ def easy(
63
63
  scopes : List[str], optional
64
64
  The scopes, that this apps requires, will default to standard scopes, by default None
65
65
  url : str, optional
66
- The fakts server that will be used to configure this app, in a default ArkitektNext deployment this
66
+ The fakts_next server that will be used to configure this app, in a default ArkitektNext deployment this
67
67
  is the address of the "Lok Service" (which provides the Fakts API), by default DEFAULT_ARKITEKT_URL
68
68
  Will be overwritten by the FAKTS_URL environment variable
69
69
  headless : bool, optional
@@ -72,7 +72,7 @@ def easy(
72
72
  log_level : str, optional
73
73
  The log-level to use, by default "ERROR"
74
74
  token : str, optional
75
- A fakts token to use, by default None
75
+ A fakts_next token to use, by default None
76
76
  Will be overwritten by the FAKTS_TOKEN environment variable
77
77
  no_cache : bool, optional
78
78
  Should we skip caching token, acess-token, by default False
@@ -98,6 +98,10 @@ def easy(
98
98
  """
99
99
  registry = registry or check_and_import_services()
100
100
 
101
+
102
+ if identifier is None:
103
+ identifier = __file__.split("/")[-1].replace(".py", "")
104
+
101
105
  url = os.getenv("FAKTS_URL", url)
102
106
  token = os.getenv("FAKTS_TOKEN", token)
103
107
 
@@ -109,14 +113,14 @@ def easy(
109
113
  requirements=registry.get_requirements(),
110
114
  )
111
115
  if token:
112
- fakts = build_arkitekt_next_token_fakts(
116
+ fakts_next = build_arkitekt_next_token_fakts_next(
113
117
  manifest=manifest,
114
118
  token=token,
115
119
  url=url,
116
120
  )
117
121
 
118
122
  elif redeem_token:
119
- fakts = build_arkitekt_next_redeem_fakts_next(
123
+ fakts_next = build_arkitekt_next_redeem_fakts_next(
120
124
  manifest=manifest,
121
125
  redeem_token=redeem_token,
122
126
  url=url,
@@ -124,7 +128,7 @@ def easy(
124
128
  headless=headless,
125
129
  )
126
130
  else:
127
- fakts = build_arkitekt_next_fakts_next(
131
+ fakts_next = build_arkitekt_next_fakts_next(
128
132
  manifest=manifest,
129
133
  url=url,
130
134
  no_cache=no_cache,
@@ -132,7 +136,7 @@ def easy(
132
136
  client_kind=app_kind,
133
137
  )
134
138
 
135
- herre = build_arkitekt_next_herre(fakts=fakts)
139
+ herre_next = build_arkitekt_next_herre_next(fakts_next=fakts_next)
136
140
 
137
141
  params = kwargs
138
142
 
@@ -146,11 +150,11 @@ def easy(
146
150
  logging.basicConfig(level=log_level)
147
151
 
148
152
  app = App(
149
- fakts=fakts,
150
- herre=herre,
153
+ fakts=fakts_next,
154
+ herre=herre_next,
151
155
  manifest=manifest,
152
156
  services=registry.build_service_map(
153
- fakts=fakts, herre=herre, params=params, manifest=manifest
157
+ fakts=fakts_next, herre=herre_next, params=params, manifest=manifest
154
158
  ),
155
159
  )
156
160
 
@@ -23,7 +23,7 @@ async def call_app(
23
23
  @click.command("prod")
24
24
  @click.option(
25
25
  "--url",
26
- help="The fakts url for connection",
26
+ help="The fakts_next url for connection",
27
27
  default=DEFAULT_ARKITEKT_URL,
28
28
  envvar="FAKTS_URL",
29
29
  )
@@ -24,7 +24,7 @@ async def call_app(
24
24
  @click.command("prod")
25
25
  @click.option(
26
26
  "--url",
27
- help="The fakts url for connection",
27
+ help="The fakts_next url for connection",
28
28
  default=DEFAULT_ARKITEKT_URL,
29
29
  envvar="FAKTS_URL",
30
30
  )
@@ -12,7 +12,7 @@ from arkitekt_next.constants import DEFAULT_ARKITEKT_URL
12
12
  @click.option(
13
13
  "--url",
14
14
  "-u",
15
- help="The fakts server to use",
15
+ help="The fakts_next server to use",
16
16
  type=str,
17
17
  default=DEFAULT_ARKITEKT_URL,
18
18
  )
@@ -18,7 +18,7 @@ from arkitekt_next.apps.types import App
18
18
  import rich_click as click
19
19
  import os
20
20
  from arkitekt_next.cli.options import (
21
- with_fakts_url,
21
+ with_fakts_next_url,
22
22
  with_builder,
23
23
  with_token,
24
24
  with_instance_id,
@@ -327,7 +327,7 @@ async def run_dev(
327
327
 
328
328
 
329
329
  @click.command()
330
- @with_fakts_url
330
+ @with_fakts_next_url
331
331
  @with_builder
332
332
  @with_token
333
333
  @with_instance_id
@@ -6,10 +6,10 @@ from .types import *
6
6
  from .vars import *
7
7
  from .ui import *
8
8
 
9
- with_fakts_url = click.option(
9
+ with_fakts_next_url = click.option(
10
10
  "--url",
11
11
  "-u",
12
- help="The fakts url for connection",
12
+ help="The fakts_next url for connection",
13
13
  default=DEFAULT_ARKITEKT_URL,
14
14
  envvar="FAKTS_URL",
15
15
  )
@@ -17,14 +17,14 @@ with_fakts_url = click.option(
17
17
  with_token = click.option(
18
18
  "--token",
19
19
  "-t",
20
- help="The token for the fakts instance",
20
+ help="The token for the fakts_next instance",
21
21
  envvar="FAKTS_TOKEN",
22
22
  required=False,
23
23
  )
24
24
  with_redeem_token = click.option(
25
25
  "--redeem-token",
26
26
  "-r",
27
- help="The token for the fakts instance",
27
+ help="The token for the fakts_next instance",
28
28
  envvar="FAKTS_REDEEM_TOKEN",
29
29
  required=False,
30
30
  )
@@ -57,7 +57,7 @@ with_instance_id = click.option(
57
57
  "--instance-id",
58
58
  "-i",
59
59
  default="main",
60
- help="The token for the fakts instance",
60
+ help="The token for the fakts_next instance",
61
61
  envvar="REKUEST_INSTANCE",
62
62
  )
63
63
 
@@ -65,7 +65,7 @@ with_log_level = click.option(
65
65
  "--log-level",
66
66
  "-l",
67
67
  default="ERROR",
68
- help="The token for the fakts instance",
68
+ help="The token for the fakts_next instance",
69
69
  envvar="ARKITEKT_LOG_LEVEL",
70
70
  )
71
71
 
@@ -163,7 +163,7 @@ class Build(BaseModel):
163
163
 
164
164
  return base_command
165
165
 
166
- def build_arkitekt_next_command(self, fakts_url: str):
166
+ def build_arkitekt_next_command(self, fakts_next_url: str):
167
167
  """Builds the arkitekt_next command for this build"""
168
168
 
169
169
  base_command = self.base_arkitekt_next_command
@@ -171,7 +171,7 @@ class Build(BaseModel):
171
171
  for selector in self.selectors:
172
172
  base_command = base_command + selector.build_arkitekt_next_params()
173
173
 
174
- base_command = base_command + ["--url", fakts_url]
174
+ base_command = base_command + ["--url", fakts_next_url]
175
175
 
176
176
  return base_command
177
177
 
@@ -1,8 +1,8 @@
1
1
  from arkitekt_next.apps.service.fakts_next import (
2
2
  build_arkitekt_next_redeem_fakts_next,
3
3
  )
4
- from arkitekt_next.apps.service.fakts_qt import build_arkitekt_next_qt_fakts
5
- from arkitekt_next.apps.service.herre_qt import build_arkitekt_next_qt_herre
4
+ from arkitekt_next.apps.service.fakts_qt import build_arkitekt_next_qt_fakts_next
5
+ from arkitekt_next.apps.service.herre_qt import build_arkitekt_next_qt_herre_next
6
6
  from arkitekt_next.utils import create_arkitekt_next_folder
7
7
  from arkitekt_next.base_models import Manifest
8
8
  from arkitekt_next.apps.types import App
@@ -22,9 +22,9 @@ from arkitekt_next.qt.types import QtApp
22
22
  from arkitekt_next.apps.service.fakts_next import (
23
23
  build_arkitekt_next_fakts_next,
24
24
  build_arkitekt_next_redeem_fakts_next,
25
- build_arkitekt_next_token_fakts,
25
+ build_arkitekt_next_token_fakts_next,
26
26
  )
27
- from arkitekt_next.apps.service.herre import build_arkitekt_next_herre
27
+ from arkitekt_next.apps.service.herre import build_arkitekt_next_herre_next
28
28
  from arkitekt_next.utils import create_arkitekt_next_folder
29
29
  from arkitekt_next.base_models import Manifest
30
30
  from arkitekt_next.apps.types import App
@@ -69,7 +69,7 @@ def devqt(
69
69
  which means that they will be authenticated with the ArkitektNext server on
70
70
  a per user basis. If you want to create a "desktop" app, which multiple users
71
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
72
+ - The Next builder can also be used in plugin apps, and when provided with a fakts_next token
73
73
  will be able to connect to the ArkitektNext server without any user interaction.
74
74
 
75
75
 
@@ -84,7 +84,7 @@ def devqt(
84
84
  scopes : List[str], optional
85
85
  The scopes, that this apps requires, will default to standard scopes, by default None
86
86
  url : str, optional
87
- The fakts server that will be used to configure this app, in a default ArkitektNext deployment this
87
+ The fakts_next server that will be used to configure this app, in a default ArkitektNext deployment this
88
88
  is the address of the "Lok Service" (which provides the Fakts API), by default DEFAULT_ARKITEKT_URL
89
89
  Will be overwritten by the FAKTS_URL environment variable
90
90
  headless : bool, optional
@@ -93,7 +93,7 @@ def devqt(
93
93
  log_level : str, optional
94
94
  The log-level to use, by default "ERROR"
95
95
  token : str, optional
96
- A fakts token to use, by default None
96
+ A fakts_next token to use, by default None
97
97
  Will be overwritten by the FAKTS_TOKEN environment variable
98
98
  no_cache : bool, optional
99
99
  Should we skip caching token, acess-token, by default False
@@ -130,14 +130,14 @@ def devqt(
130
130
  requirements=registry.get_requirements(),
131
131
  )
132
132
  if token:
133
- fakts = build_arkitekt_next_token_fakts(
133
+ fakts_next = build_arkitekt_next_token_fakts_next(
134
134
  manifest=manifest,
135
135
  token=token,
136
136
  url=url,
137
137
  )
138
138
 
139
139
  elif redeem_token:
140
- fakts = build_arkitekt_next_redeem_fakts_next(
140
+ fakts_next = build_arkitekt_next_redeem_fakts_next(
141
141
  manifest=manifest,
142
142
  redeem_token=redeem_token,
143
143
  url=url,
@@ -145,7 +145,7 @@ def devqt(
145
145
  headless=headless,
146
146
  )
147
147
  else:
148
- fakts = build_arkitekt_next_fakts_next(
148
+ fakts_next = build_arkitekt_next_fakts_next(
149
149
  manifest=manifest,
150
150
  url=url,
151
151
  no_cache=no_cache,
@@ -153,7 +153,7 @@ def devqt(
153
153
  client_kind=app_kind,
154
154
  )
155
155
 
156
- herre = build_arkitekt_next_herre(fakts=fakts)
156
+ herre_next = build_arkitekt_next_herre_next(fakts_next=fakts_next)
157
157
 
158
158
  params = kwargs
159
159
 
@@ -167,11 +167,11 @@ def devqt(
167
167
  logging.basicConfig(level=log_level)
168
168
 
169
169
  app = QtApp(
170
- fakts=fakts,
171
- herre=herre,
170
+ fakts=fakts_next,
171
+ herre=herre_next,
172
172
  manifest=manifest,
173
173
  services=registry.build_service_map(
174
- fakts=fakts, herre=herre, params=params, manifest=manifest
174
+ fakts=fakts_next, herre=herre_next, params=params, manifest=manifest
175
175
  ),
176
176
  )
177
177
 
@@ -220,16 +220,16 @@ def publicqt(
220
220
  requirements=registry.get_requirements(),
221
221
  )
222
222
 
223
- fakts = build_arkitekt_next_qt_fakts(
223
+ fakts_next = build_arkitekt_next_qt_fakts_next(
224
224
  manifest=manifest,
225
225
  beacon_widget=beacon_widget,
226
226
  parent=parent,
227
227
  settings=settings,
228
228
  )
229
229
 
230
- herre = build_arkitekt_next_qt_herre(
230
+ herre_next = build_arkitekt_next_qt_herre_next(
231
231
  manifest,
232
- fakts=fakts,
232
+ fakts=fakts_next,
233
233
  login_widget=login_widget,
234
234
  parent=parent,
235
235
  settings=settings,
@@ -245,11 +245,11 @@ def publicqt(
245
245
  logging.basicConfig(level=log_level)
246
246
 
247
247
  app = QtApp(
248
- fakts=fakts,
249
- herre=herre,
248
+ fakts=fakts_next,
249
+ herre=herre_next,
250
250
  manifest=manifest,
251
251
  services=registry.build_service_map(
252
- fakts=fakts, herre=herre, params=params, manifest=manifest
252
+ fakts=fakts_next, herre=herre_next, params=params, manifest=manifest
253
253
  ),
254
254
  )
255
255
 
@@ -213,28 +213,15 @@ class Profile(QtWidgets.QDialog):
213
213
  self.infobar.addWidget(QtWidgets.QLabel(self.app.manifest.identifier))
214
214
  self.infobar.addWidget(QtWidgets.QLabel(self.app.manifest.version))
215
215
 
216
- self.logout_button = QtWidgets.QPushButton("Change User")
217
- self.logout_button.clicked.connect(
218
- lambda: self.bar.refresh_token_task.run(
219
- allow_cache=False,
220
- allow_refresh=False,
221
- allow_auto_login=False,
222
- delete_active=True,
223
- )
224
- )
225
216
 
226
- self.unkonfigure_button = QtWidgets.QPushButton("Change Server")
217
+ self.unkonfigure_button = QtWidgets.QPushButton("Reconnect")
227
218
  self.unkonfigure_button.clicked.connect(
228
219
  lambda: self.bar.refresh_task.run(
229
- allow_auto_demand=False,
230
- allow_auto_discover=False,
231
- delete_active=True,
232
220
  )
233
221
  )
234
222
 
235
223
  button_bar = QtWidgets.QHBoxLayout()
236
224
  self.infobar.addLayout(button_bar)
237
- button_bar.addWidget(self.logout_button)
238
225
  button_bar.addWidget(self.unkonfigure_button)
239
226
 
240
227
  self.logs = ArkitektNextLogs(self.settings, parent=self)
@@ -464,7 +451,6 @@ class MagicBar(QtWidgets.QWidget):
464
451
  self.app_state_changed.emit()
465
452
  self.set_button_movie("pink pulse.gif")
466
453
  self.profile.unkonfigure_button.setDisabled(True)
467
- self.profile.logout_button.setDisabled(True)
468
454
  self.magicb.setDisabled(False)
469
455
  self.magicb.setText("Konfigure App")
470
456
 
@@ -476,7 +462,6 @@ class MagicBar(QtWidgets.QWidget):
476
462
  self.app_state_changed.emit()
477
463
  self.set_button_movie("orange pulse.gif")
478
464
  self.profile.unkonfigure_button.setDisabled(False)
479
- self.profile.logout_button.setDisabled(True)
480
465
  self.magicb.setDisabled(False)
481
466
  self.magicb.setText("Login")
482
467
 
@@ -488,7 +473,6 @@ class MagicBar(QtWidgets.QWidget):
488
473
  self.app_state_changed.emit()
489
474
  self.set_button_movie("green pulse.gif")
490
475
  self.profile.unkonfigure_button.setDisabled(False)
491
- self.profile.logout_button.setDisabled(False)
492
476
  self.magicb.setDisabled(False)
493
477
  self.magicb.setText("Provide")
494
478
 
@@ -500,7 +484,6 @@ class MagicBar(QtWidgets.QWidget):
500
484
  self.app_state_changed.emit()
501
485
  self.set_button_movie("red pulse.gif")
502
486
  self.profile.unkonfigure_button.setDisabled(False)
503
- self.profile.logout_button.setDisabled(False)
504
487
  self.magicb.setDisabled(False)
505
488
  self.magicb.setText("Cancel Provide..")
506
489
 
arkitekt_next/qt/types.py CHANGED
@@ -4,11 +4,6 @@ from typing import List, Callable, Dict, Any
4
4
 
5
5
  class QtApp(App):
6
6
  """An app that is built with the easy builder"""
7
-
8
- fakts: Fakts
9
- herre: Herre
10
- manifest: Manifest
11
- services: Dict[str, Any]
12
7
  hooks: Dict[str, List[Callable]] = {
13
8
  "on_start": [],
14
9
  "on_stop": [],
@@ -1,6 +1,6 @@
1
1
  from pydantic import BaseModel, Field
2
- from herre import Herre
3
- from fakts import Fakts
2
+ from herre_next import Herre
3
+ from fakts_next import Fakts
4
4
  from .base_models import Manifest, Requirement
5
5
  from typing import Callable, Dict
6
6
  import importlib
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: arkitekt-next
3
- Version: 0.8.19
3
+ Version: 0.8.20
4
4
  Summary: client for the arkitekt_next platform
5
5
  License: MIT
6
6
  Author: jhnnsrs
@@ -19,21 +19,21 @@ Provides-Extra: cli
19
19
  Requires-Dist: blok (>=0.0.19) ; (python_version >= "3.9" and python_version < "4.0") and (extra == "blok")
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 (>=1.0.0)
22
- Requires-Dist: fakts (>=1.0.0)
23
- Requires-Dist: fluss-next (>=0.1.87) ; extra == "all"
24
- Requires-Dist: herre (>=1.0.0)
25
- Requires-Dist: kabinet (>=0.1.30) ; (python_version >= "3.9" and python_version < "4.0") and (extra == "all")
22
+ Requires-Dist: fakts-next (>=1.0.0)
23
+ Requires-Dist: fluss-next (>=0.1.88) ; extra == "all"
24
+ Requires-Dist: herre-next (>=1.0.0)
25
+ Requires-Dist: kabinet (>=0.1.31) ; (python_version >= "3.9" and python_version < "4.0") and (extra == "all")
26
26
  Requires-Dist: koil (>=1.0.0)
27
- Requires-Dist: lovekit (>=0.1.13) ; (python_version >= "3.10" and python_version < "4.0") and (extra == "all")
28
- Requires-Dist: mikro-next (>=0.1.43) ; (python_version >= "3.10" and python_version < "4.0") and (extra == "all")
27
+ Requires-Dist: lovekit (>=0.1.14) ; (python_version >= "3.10" and python_version < "4.0") and (extra == "all")
28
+ Requires-Dist: mikro-next (>=0.1.44) ; (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.77) ; (python_version >= "3.8" and python_version < "4.0") and (extra == "all")
32
- Requires-Dist: rekuest-next (>=0.2.35) ; (python_version >= "3.8" and python_version < "4.0") and (extra == "cli" or extra == "all")
31
+ Requires-Dist: reaktion-next (>=0.1.78) ; (python_version >= "3.8" and python_version < "4.0") and (extra == "all")
32
+ Requires-Dist: rekuest-next (>=0.2.36) ; (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.6.0) ; (python_version >= "3.9" and python_version < "4.0") and (extra == "cli" or extra == "all")
36
- Requires-Dist: unlok-next (>=0.1.81) ; python_version >= "3.8" and python_version < "4.0"
36
+ Requires-Dist: unlok-next (>=0.1.82) ; 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
 
@@ -2,13 +2,13 @@ arkitekt_next/__blok__.py,sha256=gQqlPrUPSeB-b3XkvXRwDoRWMfG-vYN-3a2pWHNjz_E,156
2
2
  arkitekt_next/__init__.py,sha256=ovVo9gHr15RHJW3NS82p8vs6NWJ4CGNTPCog16bhmU4,1694
3
3
  arkitekt_next/apps/__init__.py,sha256=cx_5Y-RkJFkSQJH-hUEC_L3eW1jU2E426c4e6_csIyM,42
4
4
  arkitekt_next/apps/service/__init__.py,sha256=p4iRwiFBKRq2lfbjDBzUR_GMhPWjkjWTa01ohuKz_L4,157
5
- arkitekt_next/apps/service/fakts_next.py,sha256=Y-h4XCx6zdFo4rBCzUZcdchK4u-9zv6r5ryRsGTgH1w,2797
6
- arkitekt_next/apps/service/fakts_qt.py,sha256=hGYoFgnjLK1N3oJ5u3k0-pTUra_VuPlT4uNLeAlhyqY,3095
7
- arkitekt_next/apps/service/grant_registry.py,sha256=3om8YoVf_HFWEJbpjQCin1Zvm8Sz3yw-mGvLKDDgbrc,851
8
- arkitekt_next/apps/service/herre.py,sha256=IS3L2daljVBMqJAV0KEq3dWS7-OnmhWXYxtthgGGGMs,766
9
- arkitekt_next/apps/service/herre_qt.py,sha256=f24DmAc7z4UfRaShXmmtt8psSnKlS7yCJODilX_gof4,1634
10
- arkitekt_next/apps/types.py,sha256=jgqRDUHc34up_4hGUwlg_1yDH6A5pG6QRLaKQfmj-no,1276
11
- arkitekt_next/base_models.py,sha256=cSkQH5kxebQPDCxytz9GS5kT660VhcP9-e5Y_GB64Rk,4588
5
+ arkitekt_next/apps/service/fakts_next.py,sha256=FEmxRoc3z3gAO_bqwOlZgzc3rEAXZKv5hxXigXIqEXY,2924
6
+ arkitekt_next/apps/service/fakts_qt.py,sha256=6g6KNwhBHeM0jhDmb9djOjoEe8xUyyz-2e9QEfiptAI,1989
7
+ arkitekt_next/apps/service/grant_registry.py,sha256=h0jRKBd9EAXiVV6aHVtzNAlm1yiWPigg0qka68y6yKM,876
8
+ arkitekt_next/apps/service/herre.py,sha256=jtHugrkKr8Yo26GYVm9qNZkK2hAD3_v_rMimaV3GrC4,811
9
+ arkitekt_next/apps/service/herre_qt.py,sha256=42APOZl0SnX0FWl6K-TC9CcZUO-BSXMXyH6B31A0y3U,1679
10
+ arkitekt_next/apps/types.py,sha256=zr3x75txS3b8orpCYYnnYAaO2mFxGgS8EZfbwh_wDfg,1286
11
+ arkitekt_next/base_models.py,sha256=Kx8tOkdxrU2ojJw69EeCrrjk0dJUECopXB-4nM6SCRQ,4927
12
12
  arkitekt_next/bloks/__init__.py,sha256=_4EeR63d6avQUWLG4mK2n_FvogTPQ_Jx6f2_RvNbWeA,29
13
13
  arkitekt_next/bloks/admin.py,sha256=mRTfjIR1vsfY1ghgjWLjKYFAOh1pGCmQ_IEt2QOR3og,1353
14
14
  arkitekt_next/bloks/arkitekt.py,sha256=ZyyHocaoPPCBZnbpBCkDzB2woXb1-ZbENr51UFERn2Q,1546
@@ -18,10 +18,10 @@ arkitekt_next/bloks/fluss.py,sha256=dwBantNQfS2zhcQ1_nJp6327_6JDW-0nJog0os1wGzk,
18
18
  arkitekt_next/bloks/gateway.py,sha256=n3qhAcLj5LOxq6Tua2z0B7yvYh4hL9rG4sKNUD4F9iU,6757
19
19
  arkitekt_next/bloks/internal_docker.py,sha256=MLPS6rvcOPjkHF447gFXQu1AJvanp-zfb2F6Ekhf4Hk,2960
20
20
  arkitekt_next/bloks/kabinet.py,sha256=bPeVt-3grDm93pWU2bXoJN1SG1ULRtCNchuPjCYFwcs,1486
21
- arkitekt_next/bloks/livekit.py,sha256=0eN23bfXACzmwULFGQu7l4DzOSK9rfyF8bOYWSO3MzE,2605
22
- arkitekt_next/bloks/lok.py,sha256=o77vwQ3PeoSwF7Ztp4M5vTea5NHlNfm7eMMoF0fIoWM,11510
21
+ arkitekt_next/bloks/livekit.py,sha256=S7Si7djl1s2hUckxxoawf6zUU93z_V3Mxl13PAy_4KI,2610
22
+ arkitekt_next/bloks/lok.py,sha256=GiRpFdgw6ucSdZL3tawrbFjKKtkQpy-JF0bPZ39WyEU,11520
23
23
  arkitekt_next/bloks/mikro.py,sha256=lJZVg6LiH9bGbrnWWNZ3AWRm9OI0fo_XXztByGDzyMc,1283
24
- arkitekt_next/bloks/minio.py,sha256=vl1RPpleT2THyecChRgWsaRIrzhhJwG4lBbt9YVtMgE,5578
24
+ arkitekt_next/bloks/minio.py,sha256=n7DP_O49fBsMw4IWmHIspyNmc52l52q8fujcbAOgN7Q,5593
25
25
  arkitekt_next/bloks/mount.py,sha256=IEod6LDuV5NNKvvRJ3Xgo8l2caVZnNmJYDgGGBUB3Cg,1088
26
26
  arkitekt_next/bloks/namegen.py,sha256=W9xco2d3eJLdL2NYpTFmqw2d4s3vCpBREIFNm38gMYY,1087
27
27
  arkitekt_next/bloks/orkestrator.py,sha256=TJfMr6VCEU0EP_0TPpNdJsLVydGlmaDfYK1EQp2ArW8,2447
@@ -44,12 +44,12 @@ arkitekt_next/bloks/services/secret.py,sha256=cnZsH09gN9YRXBbmalZaFD2LcmWLlfm52m
44
44
  arkitekt_next/bloks/services/socket.py,sha256=3MbENiJrwQbFKrpWxax56F24elnSD7S-olgycfuOX7s,423
45
45
  arkitekt_next/bloks/socket.py,sha256=IW4954Hgms_oZsDIk9SgLoVGz07gW3sHi7-WuhN074Q,1067
46
46
  arkitekt_next/bloks/tailscale.py,sha256=87cJv9m7N_I3y2ZRvv5WVepRhvIZk4ftUpwa0yUdwj4,2961
47
- arkitekt_next/builders.py,sha256=8P96ozmS7f4lTCeKu0UYnSQytgo4i7iiwylcDkeiuaA,7279
47
+ arkitekt_next/builders.py,sha256=6SEVMOUohV0elOXPfTeeusF2yZ64x0LYYr6AB2y1h8Y,7464
48
48
  arkitekt_next/cli/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
49
49
  arkitekt_next/cli/commands/call/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
50
- arkitekt_next/cli/commands/call/local.py,sha256=8nuX5WCGPJD8QPobeEaSw5qVKIw9DhRCMRp8f20ncS0,2054
50
+ arkitekt_next/cli/commands/call/local.py,sha256=OAeC2r9ujBFclaCfKEmUpt0Mt3NAKw3sVPTDvs2w_8E,2059
51
51
  arkitekt_next/cli/commands/call/main.py,sha256=SdxlvSgA17-M_gwItiFU_srbh-CNdHpCTv_DkpOLojE,500
52
- arkitekt_next/cli/commands/call/remote.py,sha256=KNOBAg61kaapAgTl0dnv6LVD4d2p0GSuohK4r3OFxXQ,2092
52
+ arkitekt_next/cli/commands/call/remote.py,sha256=Id6t1nUdXmERx9wbutEhvryUMAM80_G4HVHkhYZosTE,2097
53
53
  arkitekt_next/cli/commands/gen/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
54
54
  arkitekt_next/cli/commands/gen/compile.py,sha256=lygqut1fIiopa4MbBXkv1X-45g6UBxDxpGP7R6h-b7U,1445
55
55
  arkitekt_next/cli/commands/gen/init.py,sha256=JV9x27Iy80QlmigXd7TSG2YIBHPGJBdEQ_HPenQaYZU,4092
@@ -67,7 +67,7 @@ arkitekt_next/cli/commands/kabinet/build.py,sha256=S6FF_tpS1Vu-1I2dvyMUa_pV1LWXn
67
67
  arkitekt_next/cli/commands/kabinet/init.py,sha256=YcxXlMick7Xd2XUjmA9vyku0QDGACw1PEWpfJum42E8,3600
68
68
  arkitekt_next/cli/commands/kabinet/main.py,sha256=U5EWekRTsMZZ34abWFfwilhzrd-zZtpZbl8RsLN_bC8,1008
69
69
  arkitekt_next/cli/commands/kabinet/publish.py,sha256=pbQ3QNNwSnyq06EPWfcJc_LoP9VhKo2wGBuUtNPPlV0,3572
70
- arkitekt_next/cli/commands/kabinet/stage.py,sha256=bXpC8fDmG6qFQVuLhqTCieOJnvFafj3Flg1BdIeciEw,2025
70
+ arkitekt_next/cli/commands/kabinet/stage.py,sha256=waYUynP_WeD5j69BaComZIcwQn-AE_JN7jdpYBPlA98,2030
71
71
  arkitekt_next/cli/commands/kabinet/utils.py,sha256=a1lGmGwhiVxsxFDt19GddNwXmAwUAfclgTMe3ErA43c,1666
72
72
  arkitekt_next/cli/commands/kabinet/validate.py,sha256=MSSuwjdJKDtXB6rkjRmG-PPK6cVwTcOuCRpgPDQ0uVg,2490
73
73
  arkitekt_next/cli/commands/kabinet/wizard.py,sha256=vbW-EAitypCl1HRjsgHRuwc18hQgOzAU8C__6SWuAzQ,9148
@@ -78,7 +78,7 @@ arkitekt_next/cli/commands/manifest/scopes.py,sha256=sw0HRy8GliEcmx3Sh6cPRpBkf1v
78
78
  arkitekt_next/cli/commands/manifest/version.py,sha256=3JdcXqiFeCvIaEpsMfeSKWU_uQehDkEawEpdSxWaKSA,4822
79
79
  arkitekt_next/cli/commands/manifest/wizard.py,sha256=a8rIHgtmKuw-L4E3eO3kXwXv0TM2pN4Lq75y2QKXmcA,2498
80
80
  arkitekt_next/cli/commands/run/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
81
- arkitekt_next/cli/commands/run/dev.py,sha256=3px8ZulJU7rLonED0ZW2Ec1yFyXAK--b0jrB2yoVj50,10046
81
+ arkitekt_next/cli/commands/run/dev.py,sha256=_UY1VdYS7Kx2FifFHk4gqtz51vI8JWWpesmwUd1pMnY,10056
82
82
  arkitekt_next/cli/commands/run/main.py,sha256=0bNO3DqwbZ4ddMsDWbCGmlPD6Cs3Jlg4yh2-zilsEbY,552
83
83
  arkitekt_next/cli/commands/run/prod.py,sha256=EqDMa_eYNaffHZOBHGQEGNJVKdq8NHCgfoqK8yH63B4,1637
84
84
  arkitekt_next/cli/commands/run/utils.py,sha256=zH-MNNEfKgyOYQvwP6Ph8KUHVqH48fw3ZI6tiQ9unwQ,325
@@ -89,7 +89,7 @@ arkitekt_next/cli/errors.py,sha256=zLTjaCbun6qM2nTldjyZd-DvykqKn5A3Gn80uYdx7Vc,9
89
89
  arkitekt_next/cli/inspect.py,sha256=AbpHGcgLb-kRsJGnwFEktk7uzpZOCcBY74-YBdrKVGs,1
90
90
  arkitekt_next/cli/io.py,sha256=QSnyIjPKZZ_pWp-b_hbM4XGwarCf4IYTgcXtNXBawH8,7143
91
91
  arkitekt_next/cli/main.py,sha256=Ua7sq_OfC491F6r6zNs_oEiR4jVOsZwxLpX0ZXR0Jk0,2227
92
- arkitekt_next/cli/options.py,sha256=hSKdSYabK1MuioBRUsADjQIPSp9H2YeczmcyAsFUprI,3791
92
+ arkitekt_next/cli/options.py,sha256=ojOJ2oAUmPeSaITcwdtbBJcz8kGb1dp4vFw7KYQfZis,3821
93
93
  arkitekt_next/cli/schemas/fluss.schema.graphql,sha256=MqrSpOxtWO9kWFCoUn9ySBPhIH3XozFiqrQl2zjEbiQ,35803
94
94
  arkitekt_next/cli/schemas/gucker.schema.graphql,sha256=r_KL-MoFRCGUobbtcBLCnpmFcali2A12TguynqQgmN4,152947
95
95
  arkitekt_next/cli/schemas/kabinet.schema.graphql,sha256=-N7igrfzFphjA2qV-abW59k8jtdJh1py4008W0MkqrM,9915
@@ -107,7 +107,7 @@ arkitekt_next/cli/schemas/unlok.schema.graphql,sha256=fXR846snIBIqkuQ-PlYnSkQjkF
107
107
  arkitekt_next/cli/templates/filter.py,sha256=mD2jdNEXrZNagC_8WtuTisGJrGIbJDSylCvh19cF49I,650
108
108
  arkitekt_next/cli/templates/simple.py,sha256=IbcThJ5LryXVFQUdzxfHQCtzSNxEQWTxbD__Ygxsp4M,1171
109
109
  arkitekt_next/cli/texts.py,sha256=6qK9amHXXHRnXPOgto9QVyl3lwwmWOebL673xFfrUUk,680
110
- arkitekt_next/cli/types.py,sha256=ryxQ7QMd8854-v4zNHq3wipRvKp20ccZyejuyUMZojk,5154
110
+ arkitekt_next/cli/types.py,sha256=93TQxj7S25pV5nmxD_OI64qG9qccETJcLRWj_Cxo0I0,5164
111
111
  arkitekt_next/cli/ui.py,sha256=BR_AOsBIIHwojI5otBzT_560-ep5Dw1xAHKsO2zOOJQ,3493
112
112
  arkitekt_next/cli/utils.py,sha256=rl1hfQIVzepLHPN_ZWuvfVH-IIVqcSfiFGyfNtL1XCo,445
113
113
  arkitekt_next/cli/validators.py,sha256=XkLrOrDzBJwcG1keTawa_NJPt3QIBhb5KjepeH4N1KA,719
@@ -125,15 +125,15 @@ arkitekt_next/qt/assets/light/green pulse.gif,sha256=cUd2F3Qlvjb7SnsU-LjGgeLTa8K
125
125
  arkitekt_next/qt/assets/light/orange pulse.gif,sha256=0gDvrRed0mzZZPHB4tP6vptx7myUCAa_hEVGdjRhNy8,94769
126
126
  arkitekt_next/qt/assets/light/pink pulse.gif,sha256=rxd6ZTHSIG9JZuuHhi3jiSB_JYFBZpy7OWUeZETlhQ4,107513
127
127
  arkitekt_next/qt/assets/light/red pulse.gif,sha256=U7WLbZvSl5e-Ob5RmawtlC0Rh9VVHxkjDbGjj7NYVUo,108749
128
- arkitekt_next/qt/builders.py,sha256=9YnKuC2z4xOV_BmW3_rPZmI-77dfBuT1UhaaQBC07ds,8989
129
- arkitekt_next/qt/magic_bar.py,sha256=pC6vLG7ttsRw-MkPIL2HacGOWD1jzhg4jQG5qnGmvcg,18354
130
- arkitekt_next/qt/types.py,sha256=nzTHjzzb8iIlYRBWUYiMqPWYqkhSSnbZ2Wps32iEjbs,4129
128
+ arkitekt_next/qt/builders.py,sha256=zQLn-mJJnfLHSDjfAJ7gfzv66cnQz_yNX9yKTEdapi4,9129
129
+ arkitekt_next/qt/magic_bar.py,sha256=_H74_s5Nqj20FpvzLSCxRwZMuZxqobkmn_sdwhpqzCg,17632
130
+ arkitekt_next/qt/types.py,sha256=RzliCycvB_i7SZcXgahfXCJ9ft8QNsJKkrzpNbXF9qQ,4042
131
131
  arkitekt_next/qt/utils.py,sha256=MgBPtPmCSBkIuATov3UgREESwxAHh77lWNNxyE7Qs48,773
132
- arkitekt_next/service_registry.py,sha256=x3pzr3dJSI2hjMGNZa3F7boW-6N7K53acjdLTkg4kc8,3588
132
+ arkitekt_next/service_registry.py,sha256=cxQ1J4zLIW06pHFMn7s2s2NGyptayHyXS9zKPohzgCE,3598
133
133
  arkitekt_next/tqdm.py,sha256=lQcJI5Q6Py7Gy88hOCiJujjPEEGd8G2k1mOVJJ6oYe8,1531
134
134
  arkitekt_next/utils.py,sha256=QETdzn_GIMSw6LdaXL89bqvqp9MGwEBK8Lj54MpnMwc,2396
135
- arkitekt_next-0.8.19.dist-info/LICENSE,sha256=YZ2oRjC248t-GpoEyw7J13vwKYNG6zhYMaEAix6EzF0,1089
136
- arkitekt_next-0.8.19.dist-info/METADATA,sha256=AEqCOhPJ409QZ_QCpsPupg2Z-G0t1W6sPYmI3UWyeHo,6062
137
- arkitekt_next-0.8.19.dist-info/WHEEL,sha256=sP946D7jFCHeNz5Iq4fL4Lu-PrWrFsgfLXbbkciIZwg,88
138
- arkitekt_next-0.8.19.dist-info/entry_points.txt,sha256=-hxikQx4xZ6TiOnWVDOlTN_kcAISgGFvTHXIchsCHSc,60
139
- arkitekt_next-0.8.19.dist-info/RECORD,,
135
+ arkitekt_next-0.8.20.dist-info/LICENSE,sha256=YZ2oRjC248t-GpoEyw7J13vwKYNG6zhYMaEAix6EzF0,1089
136
+ arkitekt_next-0.8.20.dist-info/METADATA,sha256=SR9FgRvDUMkVMnt3nvowX2lQ9kjFp8ALrpOEy0RK7PE,6072
137
+ arkitekt_next-0.8.20.dist-info/WHEEL,sha256=sP946D7jFCHeNz5Iq4fL4Lu-PrWrFsgfLXbbkciIZwg,88
138
+ arkitekt_next-0.8.20.dist-info/entry_points.txt,sha256=-hxikQx4xZ6TiOnWVDOlTN_kcAISgGFvTHXIchsCHSc,60
139
+ arkitekt_next-0.8.20.dist-info/RECORD,,