arkitekt-next 0.8.66__py3-none-any.whl → 0.8.68__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/__blok__.py CHANGED
@@ -22,6 +22,7 @@ from arkitekt_next.bloks.ollama import OllamaBlok
22
22
  from arkitekt_next.bloks.self_signed import SelfSignedBlok
23
23
  from arkitekt_next.bloks.kraph import KraphBlok
24
24
  from arkitekt_next.bloks.local_sign import LocalSignBlok
25
+ from arkitekt_next.bloks.elektro import ElektroBlok
25
26
 
26
27
 
27
28
  def get_bloks():
@@ -50,5 +51,6 @@ def get_bloks():
50
51
  PreformedNamesBlok(),
51
52
  OrkestratorBlok(),
52
53
  LocalSignBlok(),
54
+ ElektroBlok(),
53
55
  ]
54
56
 
@@ -1,6 +1,7 @@
1
1
  from typing import Optional
2
2
 
3
3
  from fakts_next.fakts import Fakts
4
+ from fakts_next.grants.hard import HardFakts
4
5
  from fakts_next.grants.remote import RemoteGrant
5
6
  from fakts_next.grants.remote.discovery.well_known import WellKnownDiscovery
6
7
  from fakts_next.grants.remote import RemoteGrant
@@ -93,3 +94,14 @@ def build_arkitekt_next_token_fakts_next(
93
94
  hash=manifest.hash() + url,
94
95
  ),
95
96
  )
97
+
98
+
99
+ def build_local_fakts(manifest, fakts):
100
+
101
+ identifier = manifest.identifier
102
+ version = manifest.version
103
+
104
+ return ArkitektNextFaktsNext(
105
+ grant=HardFakts(fakts=fakts),
106
+
107
+ )
@@ -0,0 +1,95 @@
1
+ from typing import Optional
2
+
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
12
+ from arkitekt_next.base_models import Manifest
13
+
14
+
15
+ class ArkitektNextFaktsQt(Fakts):
16
+ grant: RemoteGrant
17
+
18
+
19
+ class ArkitektNextFaktsNext(Fakts):
20
+ pass
21
+
22
+
23
+ def build_arkitekt_next_fakts_next(
24
+ manifest: Manifest,
25
+ url: Optional[str] = None,
26
+ no_cache: bool = False,
27
+ headless: bool = False,
28
+ client_kind: str = "development",
29
+ ) -> ArkitektNextFaktsNext:
30
+ identifier = manifest.identifier
31
+ version = manifest.version
32
+
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
+
40
+ return ArkitektNextFaktsNext(
41
+ grant=RemoteGrant(
42
+ demander=demander,
43
+ discovery=WellKnownDiscovery(url=url, auto_protocols=["https", "http"]),
44
+ claimer=ClaimEndpointClaimer(),
45
+ ),
46
+ cache=FileCache(
47
+ cache_file=f".arkitekt_next/cache/{identifier}-{version}_fakts_cache.json",
48
+ hash=manifest.hash() + url,
49
+ skip_cache=no_cache,
50
+ ),
51
+ )
52
+
53
+
54
+ def build_arkitekt_next_redeem_fakts_next(
55
+ manifest: Manifest,
56
+ redeem_token: str,
57
+ url,
58
+ no_cache: Optional[bool] = False,
59
+ headless=False,
60
+ ):
61
+ identifier = manifest.identifier
62
+ version = manifest.version
63
+
64
+ return ArkitektNextFaktsNext(
65
+ grant=RemoteGrant(
66
+ demander=RedeemDemander(token=redeem_token, manifest=manifest),
67
+ discovery=WellKnownDiscovery(url=url, auto_protocols=["https", "http"]),
68
+ claimer=ClaimEndpointClaimer(),
69
+ ),
70
+ cache=FileCache(
71
+ cache_file=f".arkitekt_next/cache/{identifier}-{version}_fakts_cache.json",
72
+ hash=manifest.hash() + url,
73
+ ),
74
+ )
75
+
76
+
77
+ def build_arkitekt_next_token_fakts_next(
78
+ manifest: Manifest,
79
+ token: str,
80
+ url,
81
+ ):
82
+ identifier = manifest.identifier
83
+ version = manifest.version
84
+
85
+ return ArkitektNextFaktsNext(
86
+ grant=RemoteGrant(
87
+ demander=StaticDemander(token=token),
88
+ discovery=WellKnownDiscovery(url=url, auto_protocols=["https", "http"]),
89
+ claimer=ClaimEndpointClaimer(),
90
+ ),
91
+ cache=FileCache(
92
+ cache_file=f".arkitekt_next/cache/{identifier}-{version}_fakts_cache.json",
93
+ hash=manifest.hash() + url,
94
+ ),
95
+ )
@@ -14,6 +14,7 @@ from .mikro import MikroBlok
14
14
  from .orkestrator import OrkestratorBlok
15
15
  from .rekuest import RekuestBlok
16
16
  from .ollama import OllamaBlok
17
+ from .elektro import ElektroBlok
17
18
 
18
19
 
19
20
  class AdminCredentials(BaseModel):
@@ -35,6 +36,7 @@ class AdminCredentials(BaseModel):
35
36
  KraphBlok.as_dependency(True, False),
36
37
  TailscaleBlok.as_dependency(True, False),
37
38
  OllamaBlok.as_dependency(True, False),
39
+ ElektroBlok.as_dependency(True, False),
38
40
  ],
39
41
  )
40
42
  class ArkitektBlok:
@@ -0,0 +1,42 @@
1
+ import click
2
+ from pydantic import BaseModel
3
+ from typing import Dict, Any
4
+ import yaml
5
+ import secrets
6
+ from blok import blok, InitContext
7
+
8
+ from blok import blok, InitContext, ExecutionContext, Option
9
+ from blok.tree import YamlFile, Repo
10
+ from arkitekt_next.bloks.base import BaseArkitektService
11
+
12
+
13
+ class AccessCredentials(BaseModel):
14
+ password: str
15
+ username: str
16
+ host: str
17
+ port: str
18
+ db_name: str
19
+
20
+
21
+ @blok("live.arkitekt.elektro", description="Mikro is the bio-image database for arkitekt")
22
+ class ElektroBlok(BaseArkitektService):
23
+ def __init__(self) -> None:
24
+ self.dev = False
25
+ self.host = "elektro"
26
+ self.command = "bash run-debug.sh"
27
+ self.repo = "https://github.com/jhnnsrs/elektro-server"
28
+ self.scopes = {
29
+ "mikro_read": "Read image from the database",
30
+ "mikro_write": "Write image to the database",
31
+ }
32
+ self.image = "jhnnsrs/elektro:nightly"
33
+ self.mount_repo = False
34
+ self.build_repo = False
35
+ self.buckets = ["media", "zarr", "parquet"]
36
+ self.secret_key = secrets.token_hex(16)
37
+
38
+ def get_builder(self):
39
+ return "arkitekt.generic"
40
+
41
+ def build(self, context: ExecutionContext):
42
+ context.docker_compose.set_nested("services", self.host, self.service)
@@ -85,5 +85,5 @@ class OllamaBlok:
85
85
 
86
86
  def __str__(self) -> str:
87
87
  return (
88
- f"LiveKitBlok(host={self.host}, command={self.command}, image={self.image})"
88
+ f"Ollama(host={self.host}, command={self.command}, image={self.image})"
89
89
  )
arkitekt_next/builders.py CHANGED
@@ -6,6 +6,7 @@ from arkitekt_next.apps.service.fakts_next import (
6
6
  build_arkitekt_next_fakts_next,
7
7
  build_arkitekt_next_redeem_fakts_next,
8
8
  build_arkitekt_next_token_fakts_next,
9
+ build_local_fakts,
9
10
  )
10
11
  from arkitekt_next.apps.service.herre import build_arkitekt_next_herre_next
11
12
  from .utils import create_arkitekt_next_folder
@@ -30,6 +31,7 @@ def easy(
30
31
  app_kind: str = "development",
31
32
  service_registry: Optional[ServiceBuilderRegistry] = None,
32
33
  init_hook_registry: Optional[InitHookRegisty] = None,
34
+ fakts: Optional[str] = None,
33
35
  **kwargs,
34
36
  ) -> App:
35
37
  """Creates a next app
@@ -115,7 +117,13 @@ def easy(
115
117
  requirements=service_registry.get_requirements(),
116
118
  )
117
119
 
118
- if token:
120
+ if fakts:
121
+ fakts_next = build_local_fakts(
122
+ manifest=manifest,
123
+ fakts=fakts,
124
+ )
125
+
126
+ elif token:
119
127
  fakts_next = build_arkitekt_next_token_fakts_next(
120
128
  manifest=manifest,
121
129
  token=token,
@@ -1,9 +1,12 @@
1
+ import json
1
2
  import rich_click as click
2
3
  from arkitekt_next.cli.options import *
3
4
  import asyncio
4
5
  from arkitekt_next.cli.ui import construct_run_panel
5
6
  from importlib import import_module
6
7
  from arkitekt_next.cli.utils import import_builder
8
+ from rekuest_next.messages import Provide
9
+ from rekuest_next.rekuest import RekuestNext
7
10
  from rekuest_next.api.schema import NodeKind, BindsInput
8
11
  from rich.table import Table
9
12
  from rich.console import Console
@@ -16,7 +19,27 @@ async def call_app(
16
19
  template_string: str,
17
20
  arg: Dict[str, Any],
18
21
  ):
22
+
23
+
24
+
19
25
  async with app:
26
+
27
+ rekuest: RekuestNext = app.services["rekuest"]
28
+
29
+ registry = await rekuest.agent.extension_registry.get("default").aretrieve_registry()
30
+
31
+ x = await rekuest.agent.aspawn_actor_from_provision(
32
+ provide_message=Provide(
33
+
34
+ )
35
+ )
36
+
37
+ the_builder = registry.get_builder_for_interface(template_string)
38
+
39
+ print(the_builder)
40
+
41
+ actor =
42
+
20
43
  raise NotImplementedError("Not implemented yet")
21
44
 
22
45
 
@@ -48,13 +71,16 @@ async def call_app(
48
71
  "template",
49
72
  help="The template to run",
50
73
  type=str,
74
+ required=True,
51
75
  )
76
+ @click.option("--fakts", "-f", "fakts", type=(str, str), multiple=True)
52
77
  def local(
53
78
  ctx,
54
79
  entrypoint=None,
55
80
  builder=None,
56
81
  args=None,
57
82
  template: str = None,
83
+ fakts: str = None,
58
84
  **builder_kwargs,
59
85
  ):
60
86
  """Runs the app in production mode
@@ -68,6 +94,8 @@ def local(
68
94
  console = get_console(ctx)
69
95
  entrypoint = entrypoint or manifest.entrypoint
70
96
 
97
+
98
+ fakts = dict(fakts) if fakts else None
71
99
  kwargs = dict(args or [])
72
100
 
73
101
  builder = import_builder(builder)
@@ -82,6 +110,7 @@ def local(
82
110
  app = builder(
83
111
  **manifest.to_builder_dict(),
84
112
  **builder_kwargs,
113
+ fakts=fakts,
85
114
  )
86
115
 
87
116
  panel = construct_run_panel(app)
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: arkitekt-next
3
- Version: 0.8.66
3
+ Version: 0.8.68
4
4
  Summary: client for the arkitekt_next platform
5
5
  License: MIT
6
6
  Author: jhnnsrs
@@ -27,23 +27,23 @@ Provides-Extra: reaktion
27
27
  Provides-Extra: rekuest
28
28
  Provides-Extra: stream
29
29
  Provides-Extra: unlok
30
- Requires-Dist: alpaka (>=0.1.20) ; (python_version >= "3.10" and python_version < "4.0") and (extra == "alpaka" or extra == "extended")
30
+ Requires-Dist: alpaka (>=0.1.21) ; (python_version >= "3.10" and python_version < "4.0") and (extra == "alpaka" or extra == "extended")
31
31
  Requires-Dist: blok (>=0.0.22) ; (python_version >= "3.9" and python_version < "4.0") and (extra == "blok")
32
32
  Requires-Dist: cryptography (>=40.0.8) ; (python_version >= "3.9") and (extra == "blok")
33
33
  Requires-Dist: dokker (>=1.0.0)
34
34
  Requires-Dist: elektro (>=0.4.1) ; (python_version >= "3.9") and (extra == "elektro")
35
- Requires-Dist: fakts-next (>=1.0.4)
35
+ Requires-Dist: fakts-next (>=1.0.5)
36
36
  Requires-Dist: fluss-next (>=0.1.96) ; (python_version >= "3.9") and (extra == "fluss" or extra == "all")
37
37
  Requires-Dist: herre-next (>=1.0.2)
38
38
  Requires-Dist: kabinet (>=0.1.46) ; (python_version >= "3.9" and python_version < "4.0") and (extra == "kabinet" or extra == "all")
39
39
  Requires-Dist: koil (>=1.0.3)
40
- Requires-Dist: kraph (>=0.1.103) ; (python_version >= "3.9") and (extra == "kraph" or extra == "extended")
40
+ Requires-Dist: kraph (>=0.1.104) ; (python_version >= "3.9") and (extra == "kraph" or extra == "extended")
41
41
  Requires-Dist: lovekit (>=0.1.19) ; (python_version >= "3.10") and (extra == "lovekit" or extra == "stream")
42
42
  Requires-Dist: mikro-next (>=0.1.60) ; (python_version >= "3.11" and python_version < "4.0") and (extra == "mikro" or extra == "all")
43
43
  Requires-Dist: namegenerator (>=1.0.6) ; (python_version >= "3.9") and (extra == "blok")
44
44
  Requires-Dist: netifaces (>=0.11.0) ; (python_version >= "3.9") and (extra == "blok")
45
45
  Requires-Dist: reaktion-next (>=0.1.87) ; (python_version >= "3.9") and (extra == "reaktion" or extra == "all")
46
- Requires-Dist: rekuest-next (>=0.2.68) ; (python_version >= "3.9") and (extra == "cli" or extra == "rekuest" or extra == "all")
46
+ Requires-Dist: rekuest-next (>=0.2.69) ; (python_version >= "3.9") and (extra == "cli" or extra == "rekuest" or extra == "all")
47
47
  Requires-Dist: rich-click (>=1.6.1) ; extra == "cli" or extra == "all" or extra == "blok"
48
48
  Requires-Dist: semver (>=3.0.1) ; extra == "cli" or extra == "all"
49
49
  Requires-Dist: turms (>=0.8.2) ; (python_version >= "3.9") and (extra == "cli" or extra == "all")
@@ -1,20 +1,22 @@
1
- arkitekt_next/__blok__.py,sha256=sYZ4tjur8C9oKEAMxofidL14k9w27UXp-EycM7CEwZI,1868
1
+ arkitekt_next/__blok__.py,sha256=OjHVGBrG06DLYtlW8_0uCxpkoG-mhHqNTThITtY5Fpw,1943
2
2
  arkitekt_next/__init__.py,sha256=rb6kMy7FhWNeyaKOfDSyP1kg6uuvEzBdq6B2vYPCBdg,2194
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=Wy37fjsEP2yjKZPtMlLilNlkO0olFX_7P5IIr6g3jkE,2900
5
+ arkitekt_next/apps/service/fakts_next.py,sha256=WkGOf_Exc-se4uZXxlVy58YuTiztnfxuqOIEaLTnBH0,3135
6
6
  arkitekt_next/apps/service/fakts_qt.py,sha256=k8DZU_aTBYDSuHQyj54BAUreh0R8zRApVhCBSsErlXc,1943
7
7
  arkitekt_next/apps/service/grant_registry.py,sha256=h0jRKBd9EAXiVV6aHVtzNAlm1yiWPigg0qka68y6yKM,876
8
8
  arkitekt_next/apps/service/herre.py,sha256=y3Urlja0A8ZbrnVNnU6UuVMUtlOzIeatj51d0hLZriM,844
9
9
  arkitekt_next/apps/service/herre_qt.py,sha256=42APOZl0SnX0FWl6K-TC9CcZUO-BSXMXyH6B31A0y3U,1679
10
+ arkitekt_next/apps/service/local_fakts.py,sha256=Wy37fjsEP2yjKZPtMlLilNlkO0olFX_7P5IIr6g3jkE,2900
10
11
  arkitekt_next/apps/types.py,sha256=Ri6-Cby8bh9JOvMsOLpDrbeVB9zp3L28D951vM2juT0,1459
11
12
  arkitekt_next/base_models.py,sha256=n5btMFibkfprKss4TPx94qIS4GDKJ49lUjZkUAMjThQ,4130
12
13
  arkitekt_next/bloks/__init__.py,sha256=_4EeR63d6avQUWLG4mK2n_FvogTPQ_Jx6f2_RvNbWeA,29
13
14
  arkitekt_next/bloks/admin.py,sha256=mRTfjIR1vsfY1ghgjWLjKYFAOh1pGCmQ_IEt2QOR3og,1353
14
15
  arkitekt_next/bloks/alpaka.py,sha256=d7m_qRJZUBdKmIQlWv51bhdvXtSXnRXwgAp1viLYVeM,1393
15
- arkitekt_next/bloks/arkitekt.py,sha256=RNDSSD-WKaCHO-ct4dKxwtX5J5eQD4167FOWhDH9DuM,1616
16
+ arkitekt_next/bloks/arkitekt.py,sha256=DYMj0aRaCIN256jgZMJSOK4oLVRXNIwDKkzz_F3bTDA,1697
16
17
  arkitekt_next/bloks/base.py,sha256=jEeaCFKwJS4EUmHHKDbLSk0YV4v19530UhXP7lRAFhg,6470
17
18
  arkitekt_next/bloks/config.py,sha256=YMQChT4SCdc_vvvbkAj_qGyA--6JVEHds7MalqUp3lw,1269
19
+ arkitekt_next/bloks/elektro.py,sha256=7UlSZ6EjwCV3SEN7Wn0En2pDZwZcLF_wa5nQvZmKvGI,1288
18
20
  arkitekt_next/bloks/fluss.py,sha256=8nf5Z2k-tA3CNRQeIqh7-aaFe5my_NN2lAhbyYbwKEs,1074
19
21
  arkitekt_next/bloks/gateway.py,sha256=WBnqw-tfqYWNRJtyvTKxKbicR-Foe_jreMYNPQOARjk,6706
20
22
  arkitekt_next/bloks/internal_docker.py,sha256=4onnegXts8zOaXEgg4kw8zaqlACRNwvdknJeFHipGtQ,2829
@@ -27,7 +29,7 @@ arkitekt_next/bloks/mikro.py,sha256=bnI9lWd6FXyOViog0Xko3_yhKOt7AAdB_PA4N0XkXAU,
27
29
  arkitekt_next/bloks/minio.py,sha256=n7DP_O49fBsMw4IWmHIspyNmc52l52q8fujcbAOgN7Q,5593
28
30
  arkitekt_next/bloks/mount.py,sha256=IEod6LDuV5NNKvvRJ3Xgo8l2caVZnNmJYDgGGBUB3Cg,1088
29
31
  arkitekt_next/bloks/namegen.py,sha256=W9xco2d3eJLdL2NYpTFmqw2d4s3vCpBREIFNm38gMYY,1087
30
- arkitekt_next/bloks/ollama.py,sha256=c19otqBm41c-unqlj9C6VDBPPid1w9AdPyTw1u2nhyw,2526
32
+ arkitekt_next/bloks/ollama.py,sha256=wjVYOK7e5kmQI2BzFpayyQr7FNBdWW8tb6xH0oX5hdw,2521
31
33
  arkitekt_next/bloks/orkestrator.py,sha256=pjLvcvQ11XF94BORi8uaGMGMBvLu4BiE-WnCi59MH6k,3537
32
34
  arkitekt_next/bloks/postgres.py,sha256=UbQnbedEUf_VKAfavz1sCGvAa-ZweDwrUeEj76lo_L8,4276
33
35
  arkitekt_next/bloks/redis.py,sha256=A9scMZohACsk-k1LQZo-rTFTB_eq12dqL4zVZkKdKLQ,2274
@@ -51,10 +53,10 @@ arkitekt_next/bloks/services/secret.py,sha256=cnZsH09gN9YRXBbmalZaFD2LcmWLlfm52m
51
53
  arkitekt_next/bloks/services/socket.py,sha256=3MbENiJrwQbFKrpWxax56F24elnSD7S-olgycfuOX7s,423
52
54
  arkitekt_next/bloks/socket.py,sha256=IW4954Hgms_oZsDIk9SgLoVGz07gW3sHi7-WuhN074Q,1067
53
55
  arkitekt_next/bloks/tailscale.py,sha256=87cJv9m7N_I3y2ZRvv5WVepRhvIZk4ftUpwa0yUdwj4,2961
54
- arkitekt_next/builders.py,sha256=OkjamGoowr33cUenu1_nBHhxwFVhqMKSFhFVwkgfIMI,7760
56
+ arkitekt_next/builders.py,sha256=di4zl2fU4Dw6_NSnszmBj32lhmGuz59DLRtP84rH0hs,7939
55
57
  arkitekt_next/cli/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
56
58
  arkitekt_next/cli/commands/call/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
57
- arkitekt_next/cli/commands/call/local.py,sha256=OAeC2r9ujBFclaCfKEmUpt0Mt3NAKw3sVPTDvs2w_8E,2059
59
+ arkitekt_next/cli/commands/call/local.py,sha256=Uer5jBHOCY7KGw2NDbwECMd7v0yrvxLzxvPvt90G4Ts,2765
58
60
  arkitekt_next/cli/commands/call/main.py,sha256=SdxlvSgA17-M_gwItiFU_srbh-CNdHpCTv_DkpOLojE,500
59
61
  arkitekt_next/cli/commands/call/remote.py,sha256=Id6t1nUdXmERx9wbutEhvryUMAM80_G4HVHkhYZosTE,2097
60
62
  arkitekt_next/cli/commands/gen/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
@@ -140,8 +142,8 @@ arkitekt_next/qt/utils.py,sha256=MgBPtPmCSBkIuATov3UgREESwxAHh77lWNNxyE7Qs48,773
140
142
  arkitekt_next/service_registry.py,sha256=gMXyFftwuSoda9V13QEiNqFuwSBB2ss62dOjnXOetK0,4973
141
143
  arkitekt_next/tqdm.py,sha256=lQcJI5Q6Py7Gy88hOCiJujjPEEGd8G2k1mOVJJ6oYe8,1531
142
144
  arkitekt_next/utils.py,sha256=Cf7B1-E7_NgBnV2vxIIfZRStiCYPopQqNJFjJwU3Uog,2403
143
- arkitekt_next-0.8.66.dist-info/LICENSE,sha256=YZ2oRjC248t-GpoEyw7J13vwKYNG6zhYMaEAix6EzF0,1089
144
- arkitekt_next-0.8.66.dist-info/METADATA,sha256=yKl2cclPXYvwgI7b2IY4z3p4T5zw6-Sh1fddIpeloL4,6621
145
- arkitekt_next-0.8.66.dist-info/WHEEL,sha256=sP946D7jFCHeNz5Iq4fL4Lu-PrWrFsgfLXbbkciIZwg,88
146
- arkitekt_next-0.8.66.dist-info/entry_points.txt,sha256=-hxikQx4xZ6TiOnWVDOlTN_kcAISgGFvTHXIchsCHSc,60
147
- arkitekt_next-0.8.66.dist-info/RECORD,,
145
+ arkitekt_next-0.8.68.dist-info/LICENSE,sha256=YZ2oRjC248t-GpoEyw7J13vwKYNG6zhYMaEAix6EzF0,1089
146
+ arkitekt_next-0.8.68.dist-info/METADATA,sha256=BxyT1yTSEU0JWEGcmJsAN0x8zfQkJDupph-MwfcjF5w,6621
147
+ arkitekt_next-0.8.68.dist-info/WHEEL,sha256=sP946D7jFCHeNz5Iq4fL4Lu-PrWrFsgfLXbbkciIZwg,88
148
+ arkitekt_next-0.8.68.dist-info/entry_points.txt,sha256=-hxikQx4xZ6TiOnWVDOlTN_kcAISgGFvTHXIchsCHSc,60
149
+ arkitekt_next-0.8.68.dist-info/RECORD,,