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

Files changed (58) hide show
  1. arkitekt_next/app/fakts.py +27 -1
  2. arkitekt_next/cli/commands/call/local.py +1 -1
  3. arkitekt_next/cli/commands/call/main.py +14 -7
  4. arkitekt_next/cli/templates/filter.py +7 -7
  5. arkitekt_next/cli/templates/simple.py +4 -1
  6. arkitekt_next/py.typed +0 -0
  7. {arkitekt_next-0.15.0.dist-info → arkitekt_next-0.17.0.dist-info}/METADATA +3 -3
  8. {arkitekt_next-0.15.0.dist-info → arkitekt_next-0.17.0.dist-info}/RECORD +11 -57
  9. arkitekt_next/__blok__.py +0 -58
  10. arkitekt_next/bloks/__init__.py +0 -1
  11. arkitekt_next/bloks/admin.py +0 -43
  12. arkitekt_next/bloks/alpaka.py +0 -136
  13. arkitekt_next/bloks/arkitekt.py +0 -55
  14. arkitekt_next/bloks/base.py +0 -215
  15. arkitekt_next/bloks/channel.py +0 -27
  16. arkitekt_next/bloks/config.py +0 -43
  17. arkitekt_next/bloks/elektro.py +0 -42
  18. arkitekt_next/bloks/fluss.py +0 -33
  19. arkitekt_next/bloks/gateway.py +0 -230
  20. arkitekt_next/bloks/internal_docker.py +0 -95
  21. arkitekt_next/bloks/kabinet.py +0 -46
  22. arkitekt_next/bloks/kraph.py +0 -45
  23. arkitekt_next/bloks/l.py +0 -136
  24. arkitekt_next/bloks/livekit.py +0 -89
  25. arkitekt_next/bloks/lok.py +0 -354
  26. arkitekt_next/bloks/lovekit.py +0 -199
  27. arkitekt_next/bloks/mikro.py +0 -42
  28. arkitekt_next/bloks/minio.py +0 -176
  29. arkitekt_next/bloks/mount.py +0 -34
  30. arkitekt_next/bloks/namegen.py +0 -34
  31. arkitekt_next/bloks/ollama.py +0 -94
  32. arkitekt_next/bloks/orkestrator.py +0 -122
  33. arkitekt_next/bloks/postgres.py +0 -136
  34. arkitekt_next/bloks/redis.py +0 -79
  35. arkitekt_next/bloks/rekuest.py +0 -30
  36. arkitekt_next/bloks/secret.py +0 -32
  37. arkitekt_next/bloks/self_signed.py +0 -91
  38. arkitekt_next/bloks/services/__init__.py +0 -27
  39. arkitekt_next/bloks/services/admin.py +0 -21
  40. arkitekt_next/bloks/services/certer.py +0 -14
  41. arkitekt_next/bloks/services/channel.py +0 -12
  42. arkitekt_next/bloks/services/config.py +0 -13
  43. arkitekt_next/bloks/services/db.py +0 -23
  44. arkitekt_next/bloks/services/gateway.py +0 -29
  45. arkitekt_next/bloks/services/livekit.py +0 -20
  46. arkitekt_next/bloks/services/lok.py +0 -20
  47. arkitekt_next/bloks/services/mount.py +0 -9
  48. arkitekt_next/bloks/services/name.py +0 -11
  49. arkitekt_next/bloks/services/ollama.py +0 -21
  50. arkitekt_next/bloks/services/redis.py +0 -19
  51. arkitekt_next/bloks/services/s3.py +0 -21
  52. arkitekt_next/bloks/services/secret.py +0 -16
  53. arkitekt_next/bloks/services/socket.py +0 -13
  54. arkitekt_next/bloks/socket.py +0 -40
  55. arkitekt_next/bloks/tailscale.py +0 -90
  56. {arkitekt_next-0.15.0.dist-info → arkitekt_next-0.17.0.dist-info}/WHEEL +0 -0
  57. {arkitekt_next-0.15.0.dist-info → arkitekt_next-0.17.0.dist-info}/entry_points.txt +0 -0
  58. {arkitekt_next-0.15.0.dist-info → arkitekt_next-0.17.0.dist-info}/licenses/LICENSE +0 -0
@@ -20,6 +20,15 @@ def build_device_code_fakts(
20
20
  no_cache: bool = False,
21
21
  headless: bool = False,
22
22
  ) -> Fakts:
23
+ """ Builds a Fakts instance for device code authentication.
24
+
25
+ This is used when the user wants to authenticate an application
26
+ using a device code. The user will be prompted to open a browser
27
+ and enter a code to authenticate the application.
28
+
29
+
30
+
31
+ """
23
32
  identifier = manifest.identifier
24
33
  version = manifest.version
25
34
  if url is None:
@@ -46,6 +55,15 @@ def build_device_code_fakts(
46
55
 
47
56
 
48
57
  def build_redeem_fakts(manifest: Manifest, redeem_token: str, url: str) -> Fakts:
58
+ """ Builds a Fakts instance for redeeming a token.
59
+
60
+ A redeem token is used to register an application with the
61
+ fakts server, and to claim the configuration for the application.
62
+
63
+ Instead of using a device code, the user can redeem an application
64
+ without user interaction.
65
+
66
+ """
49
67
  identifier = manifest.identifier
50
68
  version = manifest.version
51
69
 
@@ -67,7 +85,15 @@ def build_token_fakts(
67
85
  manifest: Manifest,
68
86
  token: str,
69
87
  url: str,
70
- ):
88
+ ) -> Fakts:
89
+ """ Builds a Fakts instance for token-based authentication.
90
+
91
+ This is used when an appllication was previously authenticated
92
+ and the user has a (claim) token to use for authentication.
93
+
94
+ E.g. when deploying an application through the kabinet deployer
95
+
96
+ """
71
97
  identifier = manifest.identifier
72
98
  version = manifest.version
73
99
 
@@ -1,4 +1,4 @@
1
-
1
+ """ Calls a function in a local app, without needing to use rekuest or fakts."""
2
2
  from click import Context
3
3
  import rich_click as click
4
4
  from arkitekt_next.cli.options import *
@@ -1,20 +1,27 @@
1
+ """ Calling functions in your arkitekt_next app"""
2
+
1
3
  from click import Context
2
4
  import rich_click as click
3
5
 
4
6
 
5
- import rich_click as click
6
7
  from .remote import remote
7
8
 
8
9
 
9
10
  @click.group()
10
11
  @click.pass_context
11
12
  def call(ctx: Context) -> None:
12
- """Inspects your arkitekt_next app
13
-
14
- Inspects various parts of your arkitekt_next app. This is useful for debugging
15
- and development. It also represents methods that are called by the arkitekt_next
16
- server when you run your app in production mode.
17
-
13
+ """Call functions in your arkitekt_next app.
14
+
15
+ This command allows you to call functions in your app
16
+ either locally or remotely.
17
+
18
+ Locally, you can call functions that are defined in your app
19
+ without needing to use rekuest or fakts. (No Server for assignment needed)
20
+
21
+ Remotely, you can call functions that are defined in your app
22
+ using rekuest or fakts. This goes through a rekuest server to
23
+ remote call the function.
24
+
18
25
  """
19
26
 
20
27
 
@@ -1,9 +1,9 @@
1
1
  from arkitekt_next import register
2
- from mikro.api.schema import RepresentationFragment, from_xarray
2
+ from mikro_next.api.schema import Image, from_array_like, PartialDerivedViewInput
3
3
 
4
4
 
5
5
  @register
6
- def max_intensity_projection(image: RepresentationFragment) -> RepresentationFragment:
6
+ def max_intensity_projection(image: Image) -> Image:
7
7
  """Z-Project the Maximum Intensity
8
8
 
9
9
  This function projects the maximum intensity of the input image
@@ -11,16 +11,16 @@ def max_intensity_projection(image: RepresentationFragment) -> RepresentationFra
11
11
 
12
12
  Parameters
13
13
  ----------
14
- image : RepresentationFragment
14
+ image : Image
15
15
  The input image
16
16
 
17
17
  Returns
18
18
  -------
19
- RepresentationFragment
19
+ Image
20
20
  The projected image
21
21
 
22
22
  """
23
- image = image.data.max(dim="z")
24
- return from_xarray(
25
- image, name="Max Intensity Projection" + image.name, origins=[image]
23
+ image_data = image.data.max(dim="z")
24
+ return from_array_like(
25
+ image_data, name="Max Intensity Projection" + image.name, derived_views=[PartialDerivedViewInput(originImage=image)]
26
26
  )
@@ -1,9 +1,12 @@
1
+ """ An example of a simple template for Arkitekt Next"""
2
+
1
3
  from arkitekt_next import register
2
4
  import time
5
+ from typing import Generator
3
6
 
4
7
 
5
8
  @register
6
- def generate_n_string(n: int = 10, timeout: int = 2) -> str:
9
+ def generate_n_string(n: int = 10, timeout: int = 2) -> Generator[str, None, None]:
7
10
  """Generate N Strings
8
11
 
9
12
  This function generates {{n}} strings with a {{timeout}} ms timeout between each string
arkitekt_next/py.typed ADDED
File without changes
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: arkitekt-next
3
- Version: 0.15.0
3
+ Version: 0.17.0
4
4
  Summary: client for the arkitekt_next platform
5
5
  Author-email: jhnnsrs <jhnnsrs@gmail.com>
6
6
  License-Expression: MIT
@@ -19,7 +19,7 @@ Requires-Dist: watchfiles>=1.0.5
19
19
  Provides-Extra: all
20
20
  Requires-Dist: fluss-next>=0.2.0; extra == 'all'
21
21
  Requires-Dist: kabinet>=0.2.0; extra == 'all'
22
- Requires-Dist: mikro-next>=0.4; extra == 'all'
22
+ Requires-Dist: mikro-next>=0.6; extra == 'all'
23
23
  Requires-Dist: reaktion-next>=0.2.0; extra == 'all'
24
24
  Requires-Dist: rekuest-next>=0.7; extra == 'all'
25
25
  Requires-Dist: rich-click>=1.6.1; extra == 'all'
@@ -47,7 +47,7 @@ Requires-Dist: kraph>=0.2.0; extra == 'kraph'
47
47
  Provides-Extra: lovekit
48
48
  Requires-Dist: lovekit>=0.2.0; extra == 'lovekit'
49
49
  Provides-Extra: mikro
50
- Requires-Dist: mikro-next>=0.4.0; extra == 'mikro'
50
+ Requires-Dist: mikro-next>=0.6.0; extra == 'mikro'
51
51
  Provides-Extra: reaktion
52
52
  Requires-Dist: reaktion-next>=0.2.0; extra == 'reaktion'
53
53
  Provides-Extra: unlok
@@ -1,62 +1,16 @@
1
- arkitekt_next/__blok__.py,sha256=kQi4Itj11iIkU7Z66W_mUriY1BXUj6bI27Ho0d5bu5Y,2048
2
1
  arkitekt_next/__init__.py,sha256=mIXB8TLD16DjXjEjVqTsn-CmN-1rUctmxDkpH6D7y6A,3198
3
2
  arkitekt_next/builders.py,sha256=1E9iM398QPRP8HEVEuzcU24WW2GNOQMZ0n6G9FiIJCc,7276
4
3
  arkitekt_next/constants.py,sha256=N_tP85BDHPiOG663wwaEyMWYiUGtL2T_h4wBVPgsSUU,87
5
4
  arkitekt_next/init_registry.py,sha256=ePt5fYZ11ra30jXdOlhMQUDMyqquodXbMR8f8y8ngwg,3470
6
5
  arkitekt_next/inspect.py,sha256=iJKyN_9jlrsoEEgl_kMriEZ46uKDNV-vz6PwzqDRE3g,587
7
6
  arkitekt_next/protocols.py,sha256=pv8txCroig4imMWfchvrI6IDU2JbTyOKTR29yyIuijE,1369
7
+ arkitekt_next/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
8
8
  arkitekt_next/service_registry.py,sha256=Fuk5Ba1jZUIINR_0fiJvrF29AltAi5CqiXFgSSxJ4Zc,6921
9
9
  arkitekt_next/tqdm.py,sha256=KLGeviRa8iEx89OENMXOuoz8hRDKxDktwG3L8oPlR7I,3415
10
10
  arkitekt_next/utils.py,sha256=a1tZp8KEjdBJg-Dler60xeNmxcsMSiMYQpof2DqUEwI,2446
11
11
  arkitekt_next/app/__init__.py,sha256=ZekdO9ekv7UFF94yJljHwg6yMnH1PUiwtWNuh1eWX_I,40
12
12
  arkitekt_next/app/app.py,sha256=zj8RWXtB9d_C7mfeFxQSOO_flC9hDddmmCRwbIzHeSE,1945
13
- arkitekt_next/app/fakts.py,sha256=M6UcECwx-Hc0nXjyQ8qDmYyrg4pNV_26G8eZgqLuFMw,2659
14
- arkitekt_next/bloks/__init__.py,sha256=_4EeR63d6avQUWLG4mK2n_FvogTPQ_Jx6f2_RvNbWeA,29
15
- arkitekt_next/bloks/admin.py,sha256=BP2Wh3Q4BkLabX5lV8CkyyreJYH7jGIvYkzOlnhRdjM,1293
16
- arkitekt_next/bloks/alpaka.py,sha256=37pyi0K6sW2cYurLBH1-lfPLkV0ahfbe9CTsEEXgjvA,4546
17
- arkitekt_next/bloks/arkitekt.py,sha256=mY4NJ067Tqh-_zRU-Ylwhn-4WfWGMJgjkdu56BGsgpg,1699
18
- arkitekt_next/bloks/base.py,sha256=n3cfEF-7OFJFUDMA5UDEfH118Mg-9aKBxFEFtm8Vb5E,6271
19
- arkitekt_next/bloks/channel.py,sha256=PsFlb1qjL9ULtbVt8g1dsuaa9bd60zJCT059LztUkGA,739
20
- arkitekt_next/bloks/config.py,sha256=YMQChT4SCdc_vvvbkAj_qGyA--6JVEHds7MalqUp3lw,1269
21
- arkitekt_next/bloks/elektro.py,sha256=7UlSZ6EjwCV3SEN7Wn0En2pDZwZcLF_wa5nQvZmKvGI,1288
22
- arkitekt_next/bloks/fluss.py,sha256=8nf5Z2k-tA3CNRQeIqh7-aaFe5my_NN2lAhbyYbwKEs,1074
23
- arkitekt_next/bloks/gateway.py,sha256=8eQxIk7hlrmSlsOocqV0mGHVyRYCR6zdinPav4jxm-o,6431
24
- arkitekt_next/bloks/internal_docker.py,sha256=4onnegXts8zOaXEgg4kw8zaqlACRNwvdknJeFHipGtQ,2829
25
- arkitekt_next/bloks/kabinet.py,sha256=NKP6tpr8XcVvvFifX-lxgBPkP0P810kJ4URv25jf2z8,1489
26
- arkitekt_next/bloks/kraph.py,sha256=vbDkLNC5X644pwM_rpUpTNl4uwGpswFm0iNsyMPWY6c,1292
27
- arkitekt_next/bloks/l.py,sha256=37pyi0K6sW2cYurLBH1-lfPLkV0ahfbe9CTsEEXgjvA,4546
28
- arkitekt_next/bloks/livekit.py,sha256=HmAkmHgriGLhjOAlmX1g2v6Saal3eME6kooeferih6U,2653
29
- arkitekt_next/bloks/lok.py,sha256=LL5yoFwIXO4INGKHEha5k2VmkWyHgQIHmy1roDxEae0,11500
30
- arkitekt_next/bloks/lovekit.py,sha256=7_6eL7UiV1QCi8-3tsySmL8N1iOO50LED_BRyoJwYY0,6823
31
- arkitekt_next/bloks/mikro.py,sha256=bnI9lWd6FXyOViog0Xko3_yhKOt7AAdB_PA4N0XkXAU,1291
32
- arkitekt_next/bloks/minio.py,sha256=gVFVoq5Po7yWO-CeTxQQecK4b3bBr_vdnEodF991WR4,5595
33
- arkitekt_next/bloks/mount.py,sha256=IEod6LDuV5NNKvvRJ3Xgo8l2caVZnNmJYDgGGBUB3Cg,1088
34
- arkitekt_next/bloks/namegen.py,sha256=W9xco2d3eJLdL2NYpTFmqw2d4s3vCpBREIFNm38gMYY,1087
35
- arkitekt_next/bloks/ollama.py,sha256=UtJ-ghtkDb-wHbQt2h6I1-xZHUSVT3Kv6FRjJB4BBT0,2679
36
- arkitekt_next/bloks/orkestrator.py,sha256=pjLvcvQ11XF94BORi8uaGMGMBvLu4BiE-WnCi59MH6k,3537
37
- arkitekt_next/bloks/postgres.py,sha256=UbQnbedEUf_VKAfavz1sCGvAa-ZweDwrUeEj76lo_L8,4276
38
- arkitekt_next/bloks/redis.py,sha256=A9scMZohACsk-k1LQZo-rTFTB_eq12dqL4zVZkKdKLQ,2274
39
- arkitekt_next/bloks/rekuest.py,sha256=mfBjFKNGDMd9t1Wqkxeu2ZxAvYyMpAvHRS30PdchYCQ,1056
40
- arkitekt_next/bloks/secret.py,sha256=06J9f6-o1NCE0ReakVOyA0KbmQ-xr2fCYQWKOc_z1QQ,1067
41
- arkitekt_next/bloks/self_signed.py,sha256=UIJEXRVHluC-QnrOXJGrjfwXQ7ozQwQkGQMZ6Gq-nBg,2459
42
- arkitekt_next/bloks/socket.py,sha256=IW4954Hgms_oZsDIk9SgLoVGz07gW3sHi7-WuhN074Q,1067
43
- arkitekt_next/bloks/tailscale.py,sha256=87cJv9m7N_I3y2ZRvv5WVepRhvIZk4ftUpwa0yUdwj4,2961
44
- arkitekt_next/bloks/services/__init__.py,sha256=i9vGNd1lFBem3O2PblTouRzFVQkdwOYoUmqqU43dIWQ,592
45
- arkitekt_next/bloks/services/admin.py,sha256=xjhZnpJHtdBbrytYMssEPTUFEv0tWziXeYIjKKycxZM,485
46
- arkitekt_next/bloks/services/certer.py,sha256=5KuWf6h7-8t2M3yvNJUfatR3J40Rnb7sIhLQC_ty9rw,439
47
- arkitekt_next/bloks/services/channel.py,sha256=OQm_qI748o60V2wbFz3kuCO8rQoIAqqYbfohor-ziOQ,269
48
- arkitekt_next/bloks/services/config.py,sha256=E0X-AweMxbbVQihqPuUEUzt9Y5J2DKY5sFX2efORtS0,378
49
- arkitekt_next/bloks/services/db.py,sha256=Lc8uL8xibz99-16YPxtB_ls6CP3dN_jCaOzJ9uZ8b_0,588
50
- arkitekt_next/bloks/services/gateway.py,sha256=X7ghhLXZ9hDQIMXMTkfBMcS9o9oc16y0C-b_3r3uwCo,847
51
- arkitekt_next/bloks/services/livekit.py,sha256=Z8iwVgpJhyJOqb6y5lGR0kFReU5RDFAtC6-aH02gckY,428
52
- arkitekt_next/bloks/services/lok.py,sha256=fzOGum0VmcVaONUhTv4jHYky4WrFq2ygDAYJjBv2vAI,500
53
- arkitekt_next/bloks/services/mount.py,sha256=UAp7IzUNGYtqrh8ACAVgRtc5jYVGvzsKjKdegBdK_i0,273
54
- arkitekt_next/bloks/services/name.py,sha256=ysr7b8Hn9yIeuBlqv9Zz-ngWKdQtwl3V1I1TeDvhLlA,254
55
- arkitekt_next/bloks/services/ollama.py,sha256=ZQ963XvQeFufTL1NEWkf7Wn6QLRWjIXutmKsU8Xdmbc,507
56
- arkitekt_next/bloks/services/redis.py,sha256=W9CraIZJztFE1vQVCfxCxY4T_gBPRTM84VwFR8Hwtp8,472
57
- arkitekt_next/bloks/services/s3.py,sha256=_mk_9NdaeHRVZ__1M9CL1Ec1gSQKkzlOiQXse7MSx94,485
58
- arkitekt_next/bloks/services/secret.py,sha256=7DIELrrK19GTJdYVvxCehyTc0VAaYig_s1Bf6q5936w,338
59
- arkitekt_next/bloks/services/socket.py,sha256=3MbENiJrwQbFKrpWxax56F24elnSD7S-olgycfuOX7s,423
13
+ arkitekt_next/app/fakts.py,sha256=YLYcRutJ2TzkJghqp4tCM7RwrHHDGh9BwiRqwxILRqw,3549
60
14
  arkitekt_next/cli/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
61
15
  arkitekt_next/cli/constants.py,sha256=ONXKA8LRxXQkOQ56ZElVMZSTiaIH1LE_ikmUUKem98g,1410
62
16
  arkitekt_next/cli/errors.py,sha256=zLTjaCbun6qM2nTldjyZd-DvykqKn5A3Gn80uYdx7Vc,93
@@ -71,8 +25,8 @@ arkitekt_next/cli/utils.py,sha256=SKJy5fQ_c5TF7QdskpHP64J_SzV93o76dEOKbj6Dw6I,44
71
25
  arkitekt_next/cli/validators.py,sha256=XkLrOrDzBJwcG1keTawa_NJPt3QIBhb5KjepeH4N1KA,719
72
26
  arkitekt_next/cli/vars.py,sha256=ev7cKDSPoik8hU9A_ohNpjRZX4FT1GYJaBoGLnxCKjU,982
73
27
  arkitekt_next/cli/commands/call/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
74
- arkitekt_next/cli/commands/call/local.py,sha256=FOuqU9vaep9bholIJQWWuPTQKZbAZVRjHLaIxy88wSg,2416
75
- arkitekt_next/cli/commands/call/main.py,sha256=asVl-geP4jwVm1cBByUH4aSrOeimo1NaZSV6QkPRkPE,485
28
+ arkitekt_next/cli/commands/call/local.py,sha256=7IN1ukk3YPkyi-AFbYp5eJdtnOhJYyr2RpBXBkSPevI,2496
29
+ arkitekt_next/cli/commands/call/main.py,sha256=cWEkPmgNw8PP_rrTt6zDErVXhb3lFaYe3pUht9FiXjs,714
76
30
  arkitekt_next/cli/commands/call/remote.py,sha256=h-gKzNyAsvjbovcUVyeKRgFObvFksq5Hmb_1o6mQ3Eg,2138
77
31
  arkitekt_next/cli/commands/gen/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
78
32
  arkitekt_next/cli/commands/gen/compile.py,sha256=RlajAgrbJ5FfoNnoef3B0a4HfJx12-xPT2SxwjqpvPA,1457
@@ -121,8 +75,8 @@ arkitekt_next/cli/schemas/port.schema.graphql,sha256=GqXwoiEhe-F-38OSs0RlEbtHQxA
121
75
  arkitekt_next/cli/schemas/rekuest.schema.graphql,sha256=9STewo6BBz0feHm0WYFWjn7jexYDD1CK3ZAJUoTFjyo,64225
122
76
  arkitekt_next/cli/schemas/rekuest_next.schema.graphql,sha256=LcYtS9AjTRlSBPllSImPN9hN-Pcr3Z2F3IJRn00eT5c,20177
123
77
  arkitekt_next/cli/schemas/unlok.schema.graphql,sha256=fXR846snIBIqkuQ-PlYnSkQjkFVmM6NVZLlcMKgbr8E,18216
124
- arkitekt_next/cli/templates/filter.py,sha256=mD2jdNEXrZNagC_8WtuTisGJrGIbJDSylCvh19cF49I,650
125
- arkitekt_next/cli/templates/simple.py,sha256=IbcThJ5LryXVFQUdzxfHQCtzSNxEQWTxbD__Ygxsp4M,1171
78
+ arkitekt_next/cli/templates/filter.py,sha256=xHlQGNASvIK9F4tM2ROHruwKreu_45wdQ1Wz2oKU8y0,656
79
+ arkitekt_next/cli/templates/simple.py,sha256=rWaprO7Ue9AUq10oI5c3G8MxF5rsAz_FsYo-4rfuZCA,1281
126
80
  arkitekt_next/cli/versions/v1.yaml,sha256=rv2-F6FQbTZi_H6pSE_csdICdtKBObDdoo_asOFi43Y,12
127
81
  arkitekt_next/qt/__init__.py,sha256=MeKBI1aYsHt6yDFfYyppj-LM8Nn5URNl2pJlXrdzjzc,443
128
82
  arkitekt_next/qt/builders.py,sha256=GaSG4rWfBAoz3kEghtWMOAKqYUp9tDyNy12O6wAjMKU,5801
@@ -139,8 +93,8 @@ arkitekt_next/qt/assets/light/green pulse.gif,sha256=cUd2F3Qlvjb7SnsU-LjGgeLTa8K
139
93
  arkitekt_next/qt/assets/light/orange pulse.gif,sha256=0gDvrRed0mzZZPHB4tP6vptx7myUCAa_hEVGdjRhNy8,94769
140
94
  arkitekt_next/qt/assets/light/pink pulse.gif,sha256=rxd6ZTHSIG9JZuuHhi3jiSB_JYFBZpy7OWUeZETlhQ4,107513
141
95
  arkitekt_next/qt/assets/light/red pulse.gif,sha256=U7WLbZvSl5e-Ob5RmawtlC0Rh9VVHxkjDbGjj7NYVUo,108749
142
- arkitekt_next-0.15.0.dist-info/METADATA,sha256=2VqKHO9SmtAH8LVcLOiNNQdAl1f4enmZbMKfu2JReV0,5744
143
- arkitekt_next-0.15.0.dist-info/WHEEL,sha256=qtCwoSJWgHk21S1Kb4ihdzI2rlJ1ZKaIurTj_ngOhyQ,87
144
- arkitekt_next-0.15.0.dist-info/entry_points.txt,sha256=IY-mUEDBU6QncqnYw-Ufw5bvNNXjqSlLf1uexZZCJhc,61
145
- arkitekt_next-0.15.0.dist-info/licenses/LICENSE,sha256=YZ2oRjC248t-GpoEyw7J13vwKYNG6zhYMaEAix6EzF0,1089
146
- arkitekt_next-0.15.0.dist-info/RECORD,,
96
+ arkitekt_next-0.17.0.dist-info/METADATA,sha256=z2of9kJD3ExzZVT2DTJ3pPUnnUPvLi0F-KjLltEWcjY,5744
97
+ arkitekt_next-0.17.0.dist-info/WHEEL,sha256=qtCwoSJWgHk21S1Kb4ihdzI2rlJ1ZKaIurTj_ngOhyQ,87
98
+ arkitekt_next-0.17.0.dist-info/entry_points.txt,sha256=IY-mUEDBU6QncqnYw-Ufw5bvNNXjqSlLf1uexZZCJhc,61
99
+ arkitekt_next-0.17.0.dist-info/licenses/LICENSE,sha256=YZ2oRjC248t-GpoEyw7J13vwKYNG6zhYMaEAix6EzF0,1089
100
+ arkitekt_next-0.17.0.dist-info/RECORD,,
arkitekt_next/__blok__.py DELETED
@@ -1,58 +0,0 @@
1
- from arkitekt_next.bloks.admin import AdminBlok
2
- from arkitekt_next.bloks.arkitekt import ArkitektBlok
3
- from arkitekt_next.bloks.mikro import MikroBlok
4
- from arkitekt_next.bloks.fluss import FlussBlok
5
- from arkitekt_next.bloks.orkestrator import OrkestratorBlok
6
- from arkitekt_next.bloks.redis import RedisBlok
7
- from arkitekt_next.bloks.gateway import CaddyBlok
8
- from arkitekt_next.bloks.livekit import LocalLiveKitBlok
9
- from arkitekt_next.bloks.postgres import PostgresBlok
10
- from arkitekt_next.bloks.minio import MinioBlok
11
- from arkitekt_next.bloks.kabinet import KabinetBlok
12
- from arkitekt_next.bloks.lok import LokBlok
13
- from arkitekt_next.bloks.alpaka import AlpakaBlok
14
- from arkitekt_next.bloks.lovekit import LovekitBlok
15
- from arkitekt_next.bloks.config import ConfigBlok
16
- from arkitekt_next.bloks.mount import MountBlok
17
- from arkitekt_next.bloks.internal_docker import InternalDockerBlok
18
- from arkitekt_next.bloks.socket import DockerSocketBlok
19
- from arkitekt_next.bloks.rekuest import RekuestBlok
20
- from arkitekt_next.bloks.tailscale import TailscaleBlok
21
- from arkitekt_next.bloks.secret import SecretBlok
22
- from arkitekt_next.bloks.namegen import PreformedNamesBlok
23
- from arkitekt_next.bloks.ollama import OllamaBlok
24
- from arkitekt_next.bloks.self_signed import SelfSignedBlok
25
- from arkitekt_next.bloks.kraph import KraphBlok
26
- from arkitekt_next.bloks.elektro import ElektroBlok
27
- from blok.blok import Blok
28
-
29
-
30
- def get_bloks() -> list[Blok]:
31
- return [
32
- AdminBlok(),
33
- ArkitektBlok(),
34
- MikroBlok(),
35
- FlussBlok(),
36
- RedisBlok(),
37
- CaddyBlok(),
38
- AlpakaBlok(),
39
- LovekitBlok(),
40
- LocalLiveKitBlok(),
41
- PostgresBlok(),
42
- MinioBlok(),
43
- OllamaBlok(),
44
- LokBlok(),
45
- SelfSignedBlok(),
46
- KabinetBlok(),
47
- MountBlok(),
48
- ConfigBlok(),
49
- KraphBlok(),
50
- InternalDockerBlok(),
51
- DockerSocketBlok(),
52
- RekuestBlok(),
53
- TailscaleBlok(),
54
- SecretBlok(),
55
- PreformedNamesBlok(),
56
- OrkestratorBlok(),
57
- ElektroBlok(),
58
- ]
@@ -1 +0,0 @@
1
- from .admin import AdminBlok
@@ -1,43 +0,0 @@
1
- from blok import blok, InitContext, Option
2
- from arkitekt_next.bloks.services.admin import AdminService, AdminCredentials
3
-
4
-
5
- @blok(AdminService, description="Admin credentials for the application")
6
- class AdminBlok:
7
- def __init__(self) -> None:
8
- self.password = "admin"
9
- self.username = "admin"
10
- self.email = "admin@admin.com"
11
-
12
- def preflight(self, init: InitContext):
13
- for key, value in init.kwargs.items():
14
- setattr(self, key, value)
15
-
16
- def retrieve(self):
17
- return AdminCredentials(
18
- password=self.password,
19
- username=self.username,
20
- email=self.email,
21
- )
22
-
23
- def get_options(self):
24
- with_username = Option(
25
- subcommand="username",
26
- help="Which admin username to use",
27
- default=self.username,
28
- show_default=True,
29
- )
30
- with_username = Option(
31
- subcommand="password",
32
- help="Which password to use",
33
- default=self.password,
34
- show_default=True,
35
- )
36
- with_email = Option(
37
- subcommand="password",
38
- help="Which password to use",
39
- default=self.password,
40
- show_default=True,
41
- )
42
-
43
- return [with_username, with_username, with_email]
@@ -1,136 +0,0 @@
1
- from dataclasses import asdict
2
- from typing import Dict, Any
3
- import secrets
4
-
5
-
6
- from arkitekt_next.bloks.services.admin import AdminService
7
- from arkitekt_next.bloks.services.channel import ChannelService
8
- from arkitekt_next.bloks.services.config import ConfigService
9
- from arkitekt_next.bloks.services.db import DBService
10
- from arkitekt_next.bloks.services.gateway import GatewayService
11
- from arkitekt_next.bloks.services.lok import LokService
12
- from arkitekt_next.bloks.services.mount import MountService
13
- from arkitekt_next.bloks.services.ollama import OllamaService
14
- from arkitekt_next.bloks.services.redis import RedisService
15
- from arkitekt_next.bloks.services.s3 import S3Service
16
- from arkitekt_next.bloks.services.secret import SecretService
17
- from blok import blok, InitContext, ExecutionContext, Option
18
- from blok.bloks.services.dns import DnsService
19
- from blok.tree import Repo, YamlFile
20
- from arkitekt_next.bloks.base import BaseArkitektService
21
-
22
-
23
- @blok("live.arkitekt.alpaka", description="a container and app management service")
24
- class AlpakaBlok(BaseArkitektService):
25
- def get_builder(self):
26
- return "arkitekt.generic"
27
-
28
- def __init__(self) -> None:
29
- self.dev = False
30
- self.host = "alpaka"
31
- self.command = "bash run-debug.sh"
32
- self.repo = "https://github.com/arkitektio/alpaka-server"
33
- self.scopes = {
34
- "alpaka_pull": "Pull new Models",
35
- "alpaka_chat": "Add repositories to the database",
36
- }
37
- self.mount_repo = False
38
- self.build_repo = False
39
- self.buckets = ["media"]
40
- self.secret_key = secrets.token_hex(16)
41
- self.image = "jhnnsrs/alpaka:nightly"
42
-
43
- def preflight(
44
- self,
45
- lok: LokService,
46
- db: DBService,
47
- redis: RedisService,
48
- s3: S3Service,
49
- config: ConfigService,
50
- ollama: OllamaService,
51
- mount: MountService,
52
- admin: AdminService,
53
- secret: SecretService,
54
- gateway: GatewayService,
55
- mount_repo: bool = False,
56
- host: str = "",
57
- image: str = "",
58
- secret_key: str = "",
59
- build_repo: bool = False,
60
- command: str = "",
61
- repo: str = "",
62
- disable: bool = False,
63
- dev: bool = False,
64
- ):
65
- lok.register_scopes(self.scopes)
66
-
67
- path_name = self.host
68
-
69
- gateway.expose(path_name, 80, self.host)
70
-
71
- postgress_access = db.register_db(self.host)
72
- redis_access = redis.register()
73
- lok_access = lok.retrieve_credentials()
74
- admin_access = admin.retrieve()
75
- minio_access = s3.create_buckets(self.buckets)
76
- lok_labels = lok.retrieve_labels("live.arkitekt.alpaka", self.get_builder())
77
- ollama_access = ollama.get_access()
78
-
79
- django_secret = secret.retrieve_secret()
80
-
81
- csrf_trusted_origins = []
82
-
83
- configuration = YamlFile(
84
- **{
85
- "db": asdict(postgress_access),
86
- "django": {
87
- "admin": asdict(admin_access),
88
- "debug": True,
89
- "hosts": ["*"],
90
- "secret_key": django_secret,
91
- },
92
- "redis": asdict(redis_access),
93
- "lok": asdict(lok_access),
94
- "s3": asdict(minio_access),
95
- "scopes": self.scopes,
96
- "force_script_name": path_name,
97
- "csrf_trusted_origins": csrf_trusted_origins,
98
- **self.get_additional_config(),
99
- }
100
- )
101
-
102
- config_mount = config.register_config(f"{self.host}.yaml", configuration)
103
-
104
- depends_on = []
105
-
106
- if redis_access.dependency:
107
- depends_on.append(redis_access.dependency)
108
-
109
- if postgress_access.dependency:
110
- depends_on.append(postgress_access.dependency)
111
-
112
- if minio_access.dependency:
113
- depends_on.append(minio_access.dependency)
114
-
115
- if ollama_access.dependency:
116
- depends_on.append(ollama_access.dependency)
117
-
118
- service = {
119
- "labels": lok_labels,
120
- "volumes": [f"{config_mount}:/workspace/config.yaml"],
121
- "depends_on": depends_on,
122
- }
123
-
124
- if mount_repo or dev:
125
- mount = mount.register_mount(self.host, Repo(repo))
126
- service["volumes"].extend([f"{mount}:/workspace"])
127
-
128
- if build_repo or dev:
129
- mount = mount.register_mount(self.host, Repo(repo))
130
- service["build"] = mount
131
- else:
132
- service["image"] = image
133
-
134
- service["command"] = command
135
-
136
- self.service = service
@@ -1,55 +0,0 @@
1
- from typing import Any, Dict, Optional
2
-
3
- from pydantic import BaseModel
4
-
5
- from arkitekt_next.bloks.kraph import KraphBlok
6
- from arkitekt_next.bloks.lok import LokBlok
7
- from arkitekt_next.bloks.tailscale import TailscaleBlok
8
- from blok import InitContext, Panel, Renderer, blok
9
-
10
- from .fluss import FlussBlok
11
- from .internal_docker import InternalDockerBlok
12
- from .kabinet import KabinetBlok
13
- from .mikro import MikroBlok
14
- from .orkestrator import OrkestratorBlok
15
- from .rekuest import RekuestBlok
16
- from .ollama import OllamaBlok
17
- from .elektro import ElektroBlok
18
- from .alpaka import AlpakaBlok
19
- from .lovekit import LovekitBlok
20
-
21
-
22
- class AdminCredentials(BaseModel):
23
- password: str
24
- username: str
25
- email: str
26
-
27
-
28
- @blok(
29
- "live.arkitekt",
30
- dependencies=[
31
- LokBlok.as_dependency(True, True),
32
- MikroBlok.as_dependency(True, True),
33
- KabinetBlok.as_dependency(True, True),
34
- RekuestBlok.as_dependency(True, True),
35
- FlussBlok.as_dependency(True, True),
36
- InternalDockerBlok.as_dependency(True, True),
37
- KraphBlok.as_dependency(True, True),
38
- AlpakaBlok.as_dependency(True, True),
39
- ElektroBlok.as_dependency(True, True),
40
- LovekitBlok.as_dependency(True, True),
41
- ],
42
- )
43
- class ArkitektBlok:
44
- def entry(self, renderer: Renderer):
45
- renderer.render(
46
- Panel(
47
- f"""This is the arkitekt build that allows you to setup a full stack arkitekt application. You can use this to setup a full stack application with the following services""",
48
- expand=False,
49
- title="Welcome to Arkitekt!",
50
- style="bold magenta",
51
- )
52
- )
53
-
54
- def build(self, cwd):
55
- pass