arkitekt-next 0.12.1__tar.gz → 0.13.0__tar.gz

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 (153) hide show
  1. {arkitekt_next-0.12.1 → arkitekt_next-0.13.0}/PKG-INFO +5 -5
  2. {arkitekt_next-0.12.1 → arkitekt_next-0.13.0}/arkitekt_next/__blok__.py +0 -2
  3. {arkitekt_next-0.12.1 → arkitekt_next-0.13.0}/arkitekt_next/__init__.py +3 -0
  4. arkitekt_next-0.13.0/arkitekt_next/bloks/alpaka.py +104 -0
  5. {arkitekt_next-0.12.1 → arkitekt_next-0.13.0}/arkitekt_next/bloks/arkitekt.py +4 -7
  6. {arkitekt_next-0.12.1 → arkitekt_next-0.13.0}/arkitekt_next/bloks/base.py +1 -8
  7. {arkitekt_next-0.12.1 → arkitekt_next-0.13.0}/arkitekt_next/bloks/gateway.py +0 -12
  8. {arkitekt_next-0.12.1 → arkitekt_next-0.13.0}/arkitekt_next/bloks/lok.py +2 -18
  9. {arkitekt_next-0.12.1 → arkitekt_next-0.13.0}/arkitekt_next/builders.py +5 -6
  10. arkitekt_next-0.13.0/arkitekt_next/inspect.py +29 -0
  11. {arkitekt_next-0.12.1 → arkitekt_next-0.13.0}/arkitekt_next/protocols.py +6 -12
  12. {arkitekt_next-0.12.1 → arkitekt_next-0.13.0}/pyproject.toml +5 -5
  13. arkitekt_next-0.12.1/arkitekt_next/bloks/alpaka.py +0 -45
  14. arkitekt_next-0.12.1/arkitekt_next/bloks/local_sign.py +0 -261
  15. {arkitekt_next-0.12.1 → arkitekt_next-0.13.0}/.gitignore +0 -0
  16. {arkitekt_next-0.12.1 → arkitekt_next-0.13.0}/LICENSE +0 -0
  17. {arkitekt_next-0.12.1 → arkitekt_next-0.13.0}/README.md +0 -0
  18. {arkitekt_next-0.12.1 → arkitekt_next-0.13.0}/arkitekt_next/apps/__init__.py +0 -0
  19. {arkitekt_next-0.12.1 → arkitekt_next-0.13.0}/arkitekt_next/apps/protocols.py +0 -0
  20. {arkitekt_next-0.12.1 → arkitekt_next-0.13.0}/arkitekt_next/apps/service/__init__.py +0 -0
  21. {arkitekt_next-0.12.1 → arkitekt_next-0.13.0}/arkitekt_next/apps/service/fakts_next.py +0 -0
  22. {arkitekt_next-0.12.1 → arkitekt_next-0.13.0}/arkitekt_next/apps/service/fakts_qt.py +0 -0
  23. {arkitekt_next-0.12.1 → arkitekt_next-0.13.0}/arkitekt_next/apps/service/grant_registry.py +0 -0
  24. {arkitekt_next-0.12.1 → arkitekt_next-0.13.0}/arkitekt_next/apps/service/herre.py +0 -0
  25. {arkitekt_next-0.12.1 → arkitekt_next-0.13.0}/arkitekt_next/apps/service/herre_qt.py +0 -0
  26. {arkitekt_next-0.12.1 → arkitekt_next-0.13.0}/arkitekt_next/apps/service/local_fakts.py +0 -0
  27. {arkitekt_next-0.12.1 → arkitekt_next-0.13.0}/arkitekt_next/base_models.py +0 -0
  28. {arkitekt_next-0.12.1 → arkitekt_next-0.13.0}/arkitekt_next/bloks/__init__.py +0 -0
  29. {arkitekt_next-0.12.1 → arkitekt_next-0.13.0}/arkitekt_next/bloks/admin.py +0 -0
  30. {arkitekt_next-0.12.1 → arkitekt_next-0.13.0}/arkitekt_next/bloks/channel.py +0 -0
  31. {arkitekt_next-0.12.1 → arkitekt_next-0.13.0}/arkitekt_next/bloks/config.py +0 -0
  32. {arkitekt_next-0.12.1 → arkitekt_next-0.13.0}/arkitekt_next/bloks/elektro.py +0 -0
  33. {arkitekt_next-0.12.1 → arkitekt_next-0.13.0}/arkitekt_next/bloks/fluss.py +0 -0
  34. {arkitekt_next-0.12.1 → arkitekt_next-0.13.0}/arkitekt_next/bloks/internal_docker.py +0 -0
  35. {arkitekt_next-0.12.1 → arkitekt_next-0.13.0}/arkitekt_next/bloks/kabinet.py +0 -0
  36. {arkitekt_next-0.12.1 → arkitekt_next-0.13.0}/arkitekt_next/bloks/kraph.py +0 -0
  37. {arkitekt_next-0.12.1 → arkitekt_next-0.13.0}/arkitekt_next/bloks/livekit.py +0 -0
  38. {arkitekt_next-0.12.1 → arkitekt_next-0.13.0}/arkitekt_next/bloks/mikro.py +0 -0
  39. {arkitekt_next-0.12.1 → arkitekt_next-0.13.0}/arkitekt_next/bloks/minio.py +0 -0
  40. {arkitekt_next-0.12.1 → arkitekt_next-0.13.0}/arkitekt_next/bloks/mount.py +0 -0
  41. {arkitekt_next-0.12.1 → arkitekt_next-0.13.0}/arkitekt_next/bloks/namegen.py +0 -0
  42. {arkitekt_next-0.12.1 → arkitekt_next-0.13.0}/arkitekt_next/bloks/ollama.py +0 -0
  43. {arkitekt_next-0.12.1 → arkitekt_next-0.13.0}/arkitekt_next/bloks/orkestrator.py +0 -0
  44. {arkitekt_next-0.12.1 → arkitekt_next-0.13.0}/arkitekt_next/bloks/postgres.py +0 -0
  45. {arkitekt_next-0.12.1 → arkitekt_next-0.13.0}/arkitekt_next/bloks/redis.py +0 -0
  46. {arkitekt_next-0.12.1 → arkitekt_next-0.13.0}/arkitekt_next/bloks/rekuest.py +0 -0
  47. {arkitekt_next-0.12.1 → arkitekt_next-0.13.0}/arkitekt_next/bloks/secret.py +0 -0
  48. {arkitekt_next-0.12.1 → arkitekt_next-0.13.0}/arkitekt_next/bloks/self_signed.py +0 -0
  49. {arkitekt_next-0.12.1 → arkitekt_next-0.13.0}/arkitekt_next/bloks/services/__init__.py +0 -0
  50. {arkitekt_next-0.12.1 → arkitekt_next-0.13.0}/arkitekt_next/bloks/services/admin.py +0 -0
  51. {arkitekt_next-0.12.1 → arkitekt_next-0.13.0}/arkitekt_next/bloks/services/certer.py +0 -0
  52. {arkitekt_next-0.12.1 → arkitekt_next-0.13.0}/arkitekt_next/bloks/services/channel.py +0 -0
  53. {arkitekt_next-0.12.1 → arkitekt_next-0.13.0}/arkitekt_next/bloks/services/config.py +0 -0
  54. {arkitekt_next-0.12.1 → arkitekt_next-0.13.0}/arkitekt_next/bloks/services/db.py +0 -0
  55. {arkitekt_next-0.12.1 → arkitekt_next-0.13.0}/arkitekt_next/bloks/services/gateway.py +0 -0
  56. {arkitekt_next-0.12.1 → arkitekt_next-0.13.0}/arkitekt_next/bloks/services/livekit.py +0 -0
  57. {arkitekt_next-0.12.1 → arkitekt_next-0.13.0}/arkitekt_next/bloks/services/lok.py +0 -0
  58. {arkitekt_next-0.12.1 → arkitekt_next-0.13.0}/arkitekt_next/bloks/services/mount.py +0 -0
  59. {arkitekt_next-0.12.1 → arkitekt_next-0.13.0}/arkitekt_next/bloks/services/name.py +0 -0
  60. {arkitekt_next-0.12.1 → arkitekt_next-0.13.0}/arkitekt_next/bloks/services/ollama.py +0 -0
  61. {arkitekt_next-0.12.1 → arkitekt_next-0.13.0}/arkitekt_next/bloks/services/redis.py +0 -0
  62. {arkitekt_next-0.12.1 → arkitekt_next-0.13.0}/arkitekt_next/bloks/services/s3.py +0 -0
  63. {arkitekt_next-0.12.1 → arkitekt_next-0.13.0}/arkitekt_next/bloks/services/secret.py +0 -0
  64. {arkitekt_next-0.12.1 → arkitekt_next-0.13.0}/arkitekt_next/bloks/services/socket.py +0 -0
  65. {arkitekt_next-0.12.1 → arkitekt_next-0.13.0}/arkitekt_next/bloks/socket.py +0 -0
  66. {arkitekt_next-0.12.1 → arkitekt_next-0.13.0}/arkitekt_next/bloks/tailscale.py +0 -0
  67. {arkitekt_next-0.12.1 → arkitekt_next-0.13.0}/arkitekt_next/cli/__init__.py +0 -0
  68. {arkitekt_next-0.12.1 → arkitekt_next-0.13.0}/arkitekt_next/cli/commands/call/__init__.py +0 -0
  69. {arkitekt_next-0.12.1 → arkitekt_next-0.13.0}/arkitekt_next/cli/commands/call/local.py +0 -0
  70. {arkitekt_next-0.12.1 → arkitekt_next-0.13.0}/arkitekt_next/cli/commands/call/main.py +0 -0
  71. {arkitekt_next-0.12.1 → arkitekt_next-0.13.0}/arkitekt_next/cli/commands/call/remote.py +0 -0
  72. {arkitekt_next-0.12.1 → arkitekt_next-0.13.0}/arkitekt_next/cli/commands/gen/__init__.py +0 -0
  73. {arkitekt_next-0.12.1 → arkitekt_next-0.13.0}/arkitekt_next/cli/commands/gen/compile.py +0 -0
  74. {arkitekt_next-0.12.1 → arkitekt_next-0.13.0}/arkitekt_next/cli/commands/gen/init.py +0 -0
  75. {arkitekt_next-0.12.1 → arkitekt_next-0.13.0}/arkitekt_next/cli/commands/gen/main.py +0 -0
  76. {arkitekt_next-0.12.1 → arkitekt_next-0.13.0}/arkitekt_next/cli/commands/gen/watch.py +0 -0
  77. {arkitekt_next-0.12.1 → arkitekt_next-0.13.0}/arkitekt_next/cli/commands/init/__init__.py +0 -0
  78. {arkitekt_next-0.12.1 → arkitekt_next-0.13.0}/arkitekt_next/cli/commands/init/main.py +0 -0
  79. {arkitekt_next-0.12.1 → arkitekt_next-0.13.0}/arkitekt_next/cli/commands/inspect/__init__.py +0 -0
  80. {arkitekt_next-0.12.1 → arkitekt_next-0.13.0}/arkitekt_next/cli/commands/inspect/implementations.py +0 -0
  81. {arkitekt_next-0.12.1 → arkitekt_next-0.13.0}/arkitekt_next/cli/commands/inspect/main.py +0 -0
  82. {arkitekt_next-0.12.1 → arkitekt_next-0.13.0}/arkitekt_next/cli/commands/inspect/requirements.py +0 -0
  83. {arkitekt_next-0.12.1 → arkitekt_next-0.13.0}/arkitekt_next/cli/commands/inspect/variables.py +0 -0
  84. {arkitekt_next-0.12.1 → arkitekt_next-0.13.0}/arkitekt_next/cli/commands/kabinet/__init__.py +0 -0
  85. {arkitekt_next-0.12.1 → arkitekt_next-0.13.0}/arkitekt_next/cli/commands/kabinet/build.py +0 -0
  86. {arkitekt_next-0.12.1 → arkitekt_next-0.13.0}/arkitekt_next/cli/commands/kabinet/init.py +0 -0
  87. {arkitekt_next-0.12.1 → arkitekt_next-0.13.0}/arkitekt_next/cli/commands/kabinet/io.py +0 -0
  88. {arkitekt_next-0.12.1 → arkitekt_next-0.13.0}/arkitekt_next/cli/commands/kabinet/main.py +0 -0
  89. {arkitekt_next-0.12.1 → arkitekt_next-0.13.0}/arkitekt_next/cli/commands/kabinet/publish.py +0 -0
  90. {arkitekt_next-0.12.1 → arkitekt_next-0.13.0}/arkitekt_next/cli/commands/kabinet/stage.py +0 -0
  91. {arkitekt_next-0.12.1 → arkitekt_next-0.13.0}/arkitekt_next/cli/commands/kabinet/types.py +0 -0
  92. {arkitekt_next-0.12.1 → arkitekt_next-0.13.0}/arkitekt_next/cli/commands/kabinet/utils.py +0 -0
  93. {arkitekt_next-0.12.1 → arkitekt_next-0.13.0}/arkitekt_next/cli/commands/kabinet/validate.py +0 -0
  94. {arkitekt_next-0.12.1 → arkitekt_next-0.13.0}/arkitekt_next/cli/commands/manifest/__init__.py +0 -0
  95. {arkitekt_next-0.12.1 → arkitekt_next-0.13.0}/arkitekt_next/cli/commands/manifest/inspect.py +0 -0
  96. {arkitekt_next-0.12.1 → arkitekt_next-0.13.0}/arkitekt_next/cli/commands/manifest/main.py +0 -0
  97. {arkitekt_next-0.12.1 → arkitekt_next-0.13.0}/arkitekt_next/cli/commands/manifest/scopes.py +0 -0
  98. {arkitekt_next-0.12.1 → arkitekt_next-0.13.0}/arkitekt_next/cli/commands/manifest/version.py +0 -0
  99. {arkitekt_next-0.12.1 → arkitekt_next-0.13.0}/arkitekt_next/cli/commands/run/__init__.py +0 -0
  100. {arkitekt_next-0.12.1 → arkitekt_next-0.13.0}/arkitekt_next/cli/commands/run/dev.py +0 -0
  101. {arkitekt_next-0.12.1 → arkitekt_next-0.13.0}/arkitekt_next/cli/commands/run/main.py +0 -0
  102. {arkitekt_next-0.12.1 → arkitekt_next-0.13.0}/arkitekt_next/cli/commands/run/prod.py +0 -0
  103. {arkitekt_next-0.12.1 → arkitekt_next-0.13.0}/arkitekt_next/cli/commands/run/utils.py +0 -0
  104. {arkitekt_next-0.12.1 → arkitekt_next-0.13.0}/arkitekt_next/cli/constants.py +0 -0
  105. {arkitekt_next-0.12.1 → arkitekt_next-0.13.0}/arkitekt_next/cli/dockerfiles/vanilla.dockerfile +0 -0
  106. {arkitekt_next-0.12.1 → arkitekt_next-0.13.0}/arkitekt_next/cli/errors.py +0 -0
  107. {arkitekt_next-0.12.1 → arkitekt_next-0.13.0}/arkitekt_next/cli/inspect.py +0 -0
  108. {arkitekt_next-0.12.1 → arkitekt_next-0.13.0}/arkitekt_next/cli/io.py +0 -0
  109. {arkitekt_next-0.12.1 → arkitekt_next-0.13.0}/arkitekt_next/cli/main.py +0 -0
  110. {arkitekt_next-0.12.1 → arkitekt_next-0.13.0}/arkitekt_next/cli/options.py +0 -0
  111. {arkitekt_next-0.12.1 → arkitekt_next-0.13.0}/arkitekt_next/cli/schemas/fluss.schema.graphql +0 -0
  112. {arkitekt_next-0.12.1 → arkitekt_next-0.13.0}/arkitekt_next/cli/schemas/gucker.schema.graphql +0 -0
  113. {arkitekt_next-0.12.1 → arkitekt_next-0.13.0}/arkitekt_next/cli/schemas/kabinet.schema.graphql +0 -0
  114. {arkitekt_next-0.12.1 → arkitekt_next-0.13.0}/arkitekt_next/cli/schemas/kluster.schema.graphql +0 -0
  115. {arkitekt_next-0.12.1 → arkitekt_next-0.13.0}/arkitekt_next/cli/schemas/konviktion.schema.graphql +0 -0
  116. {arkitekt_next-0.12.1 → arkitekt_next-0.13.0}/arkitekt_next/cli/schemas/kuay.schema.graphql +0 -0
  117. {arkitekt_next-0.12.1 → arkitekt_next-0.13.0}/arkitekt_next/cli/schemas/mikro.schema.graphql +0 -0
  118. {arkitekt_next-0.12.1 → arkitekt_next-0.13.0}/arkitekt_next/cli/schemas/mikro_next.schema.graphql +0 -0
  119. {arkitekt_next-0.12.1 → arkitekt_next-0.13.0}/arkitekt_next/cli/schemas/napari.schema.graphql +0 -0
  120. {arkitekt_next-0.12.1 → arkitekt_next-0.13.0}/arkitekt_next/cli/schemas/omero_ark.schema.graphql +0 -0
  121. {arkitekt_next-0.12.1 → arkitekt_next-0.13.0}/arkitekt_next/cli/schemas/port.schema.graphql +0 -0
  122. {arkitekt_next-0.12.1 → arkitekt_next-0.13.0}/arkitekt_next/cli/schemas/rekuest.schema.graphql +0 -0
  123. {arkitekt_next-0.12.1 → arkitekt_next-0.13.0}/arkitekt_next/cli/schemas/rekuest_next.schema.graphql +0 -0
  124. {arkitekt_next-0.12.1 → arkitekt_next-0.13.0}/arkitekt_next/cli/schemas/unlok.schema.graphql +0 -0
  125. {arkitekt_next-0.12.1 → arkitekt_next-0.13.0}/arkitekt_next/cli/templates/filter.py +0 -0
  126. {arkitekt_next-0.12.1 → arkitekt_next-0.13.0}/arkitekt_next/cli/templates/simple.py +0 -0
  127. {arkitekt_next-0.12.1 → arkitekt_next-0.13.0}/arkitekt_next/cli/texts.py +0 -0
  128. {arkitekt_next-0.12.1 → arkitekt_next-0.13.0}/arkitekt_next/cli/types.py +0 -0
  129. {arkitekt_next-0.12.1 → arkitekt_next-0.13.0}/arkitekt_next/cli/ui.py +0 -0
  130. {arkitekt_next-0.12.1 → arkitekt_next-0.13.0}/arkitekt_next/cli/utils.py +0 -0
  131. {arkitekt_next-0.12.1 → arkitekt_next-0.13.0}/arkitekt_next/cli/validators.py +0 -0
  132. {arkitekt_next-0.12.1 → arkitekt_next-0.13.0}/arkitekt_next/cli/vars.py +0 -0
  133. {arkitekt_next-0.12.1 → arkitekt_next-0.13.0}/arkitekt_next/cli/versions/v1.yaml +0 -0
  134. {arkitekt_next-0.12.1 → arkitekt_next-0.13.0}/arkitekt_next/constants.py +0 -0
  135. {arkitekt_next-0.12.1 → arkitekt_next-0.13.0}/arkitekt_next/init_registry.py +0 -0
  136. {arkitekt_next-0.12.1 → arkitekt_next-0.13.0}/arkitekt_next/qt/__init__.py +0 -0
  137. {arkitekt_next-0.12.1 → arkitekt_next-0.13.0}/arkitekt_next/qt/assets/dark/gear.png +0 -0
  138. {arkitekt_next-0.12.1 → arkitekt_next-0.13.0}/arkitekt_next/qt/assets/dark/green pulse.gif +0 -0
  139. {arkitekt_next-0.12.1 → arkitekt_next-0.13.0}/arkitekt_next/qt/assets/dark/orange pulse.gif +0 -0
  140. {arkitekt_next-0.12.1 → arkitekt_next-0.13.0}/arkitekt_next/qt/assets/dark/pink pulse.gif +0 -0
  141. {arkitekt_next-0.12.1 → arkitekt_next-0.13.0}/arkitekt_next/qt/assets/dark/red pulse.gif +0 -0
  142. {arkitekt_next-0.12.1 → arkitekt_next-0.13.0}/arkitekt_next/qt/assets/light/gear.png +0 -0
  143. {arkitekt_next-0.12.1 → arkitekt_next-0.13.0}/arkitekt_next/qt/assets/light/green pulse.gif +0 -0
  144. {arkitekt_next-0.12.1 → arkitekt_next-0.13.0}/arkitekt_next/qt/assets/light/orange pulse.gif +0 -0
  145. {arkitekt_next-0.12.1 → arkitekt_next-0.13.0}/arkitekt_next/qt/assets/light/pink pulse.gif +0 -0
  146. {arkitekt_next-0.12.1 → arkitekt_next-0.13.0}/arkitekt_next/qt/assets/light/red pulse.gif +0 -0
  147. {arkitekt_next-0.12.1 → arkitekt_next-0.13.0}/arkitekt_next/qt/builders.py +0 -0
  148. {arkitekt_next-0.12.1 → arkitekt_next-0.13.0}/arkitekt_next/qt/magic_bar.py +0 -0
  149. {arkitekt_next-0.12.1 → arkitekt_next-0.13.0}/arkitekt_next/qt/types.py +0 -0
  150. {arkitekt_next-0.12.1 → arkitekt_next-0.13.0}/arkitekt_next/qt/utils.py +0 -0
  151. {arkitekt_next-0.12.1 → arkitekt_next-0.13.0}/arkitekt_next/service_registry.py +0 -0
  152. {arkitekt_next-0.12.1 → arkitekt_next-0.13.0}/arkitekt_next/tqdm.py +0 -0
  153. {arkitekt_next-0.12.1 → arkitekt_next-0.13.0}/arkitekt_next/utils.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: arkitekt-next
3
- Version: 0.12.1
3
+ Version: 0.13.0
4
4
  Summary: client for the arkitekt_next platform
5
5
  Author-email: jhnnsrs <jhnnsrs@gmail.com>
6
6
  License-Expression: MIT
@@ -20,12 +20,12 @@ Requires-Dist: watchfiles>=1.0.5
20
20
  Provides-Extra: all
21
21
  Requires-Dist: fluss-next>=0.2.0; extra == 'all'
22
22
  Requires-Dist: kabinet>=0.2.0; extra == 'all'
23
- Requires-Dist: mikro-next>=0.3.1; extra == 'all'
23
+ Requires-Dist: mikro-next>=0.4; extra == 'all'
24
24
  Requires-Dist: reaktion-next>=0.2.0; extra == 'all'
25
25
  Requires-Dist: rekuest-next>=0.7; extra == 'all'
26
26
  Requires-Dist: rich-click>=1.6.1; extra == 'all'
27
27
  Requires-Dist: semver>=3.0.1; extra == 'all'
28
- Requires-Dist: turms>=0.8.2; extra == 'all'
28
+ Requires-Dist: turms>=0.9; extra == 'all'
29
29
  Requires-Dist: unlok-next>=0.2.0; extra == 'all'
30
30
  Requires-Dist: watchfiles>=0.18.1; extra == 'all'
31
31
  Provides-Extra: alpaka
@@ -33,7 +33,7 @@ Requires-Dist: alpaka>=0.2.0; extra == 'alpaka'
33
33
  Provides-Extra: blok
34
34
  Requires-Dist: blok>=0.1.0; extra == 'blok'
35
35
  Provides-Extra: cli
36
- Requires-Dist: turms>=0.8.2; extra == 'cli'
36
+ Requires-Dist: turms>=0.9.0; extra == 'cli'
37
37
  Provides-Extra: elektro
38
38
  Requires-Dist: elektro>=0.5.0; extra == 'elektro'
39
39
  Provides-Extra: extended
@@ -48,7 +48,7 @@ Requires-Dist: kraph>=0.2.0; extra == 'kraph'
48
48
  Provides-Extra: lovekit
49
49
  Requires-Dist: lovekit>=0.2.0; extra == 'lovekit'
50
50
  Provides-Extra: mikro
51
- Requires-Dist: mikro-next>=0.3.1; extra == 'mikro'
51
+ Requires-Dist: mikro-next>=0.4.0; extra == 'mikro'
52
52
  Provides-Extra: reaktion
53
53
  Requires-Dist: reaktion-next>=0.2.0; extra == 'reaktion'
54
54
  Provides-Extra: unlok
@@ -21,7 +21,6 @@ from arkitekt_next.bloks.namegen import PreformedNamesBlok
21
21
  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
- from arkitekt_next.bloks.local_sign import LocalSignBlok
25
24
  from arkitekt_next.bloks.elektro import ElektroBlok
26
25
  from blok.blok import Blok
27
26
 
@@ -51,6 +50,5 @@ def get_bloks() -> list[Blok]:
51
50
  SecretBlok(),
52
51
  PreformedNamesBlok(),
53
52
  OrkestratorBlok(),
54
- LocalSignBlok(),
55
53
  ElektroBlok(),
56
54
  ]
@@ -38,8 +38,10 @@ try:
38
38
  aiterate_raw,
39
39
  find,
40
40
  )
41
+ from .inspect import inspect
41
42
  except ImportError as e:
42
43
  raise e
44
+ inspect = missing_install("rekuest_next", e)
43
45
  publish = missing_install("rekuest_next", e)
44
46
  apublish = missing_install("rekuest_next", e)
45
47
  structure = missing_install("rekuest_next", e)
@@ -86,6 +88,7 @@ __all__ = [
86
88
  "breakpoint",
87
89
  "abreakpoint",
88
90
  "aiterate",
91
+ "inspect",
89
92
  "iterate",
90
93
  "aiterate_raw",
91
94
  "call",
@@ -0,0 +1,104 @@
1
+ from typing import Dict, Any
2
+ import secrets
3
+
4
+
5
+ from arkitekt_next.bloks.services.admin import AdminService
6
+ from arkitekt_next.bloks.services.channel import ChannelService
7
+ from arkitekt_next.bloks.services.config import ConfigService
8
+ from arkitekt_next.bloks.services.db import DBService
9
+ from arkitekt_next.bloks.services.gateway import GatewayService
10
+ from arkitekt_next.bloks.services.lok import LokService
11
+ from arkitekt_next.bloks.services.mount import MountService
12
+ from arkitekt_next.bloks.services.redis import RedisService
13
+ from arkitekt_next.bloks.services.s3 import S3Service
14
+ from arkitekt_next.bloks.services.secret import SecretService
15
+ from blok import blok, InitContext, ExecutionContext, Option
16
+ from blok.bloks.services.dns import DnsService
17
+ from blok.tree import Repo, YamlFile
18
+ from arkitekt_next.bloks.base import BaseArkitektService
19
+
20
+
21
+ @blok("live.arkitekt.alpaka", description="a container and app management service")
22
+ class AlpakaBlok(BaseArkitektService):
23
+ def __init__(self) -> None:
24
+ self.dev = False
25
+ self.host = "alpaka"
26
+ self.command = "bash run-debug.sh"
27
+ self.repo = "https://github.com/arkitektio/alpaka-server"
28
+ self.scopes = {
29
+ "alpaka_pull": "Pull new Models",
30
+ "alpaka_chat": "Add repositories to the database",
31
+ }
32
+ self.mount_repo = False
33
+ self.build_repo = False
34
+ self.buckets = ["media"]
35
+ self.secret_key = secrets.token_hex(16)
36
+ self.image = "jhnnsrs/alpaka:nightly"
37
+
38
+ def get_additional_config(self):
39
+ return {"ensured_repos": self.ensured_repos}
40
+
41
+ def preflight(
42
+ self,
43
+ init: InitContext,
44
+ lok: LokService,
45
+ db: DBService,
46
+ redis: RedisService,
47
+ s3: S3Service,
48
+ config: ConfigService,
49
+ channel: ChannelService,
50
+ mount: MountService,
51
+ admin: AdminService,
52
+ secret: SecretService,
53
+ gateway: GatewayService | None = None,
54
+ dns: DnsService = None,
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
+ return super().preflight(
66
+ init,
67
+ lok,
68
+ db,
69
+ redis,
70
+ s3,
71
+ config,
72
+ channel,
73
+ mount,
74
+ admin,
75
+ secret,
76
+ gateway,
77
+ dns,
78
+ mount_repo,
79
+ host,
80
+ image,
81
+ secret_key,
82
+ build_repo,
83
+ command,
84
+ repo,
85
+ disable,
86
+ dev,
87
+ )
88
+
89
+ def get_builder(self):
90
+ return "arkitekt.generic"
91
+
92
+ def build(self, context: ExecutionContext):
93
+ context.docker_compose.set_nested("services", self.host, self.service)
94
+
95
+ def get_additional_options(self):
96
+ with_repos = Option(
97
+ subcommand="repos",
98
+ help="The default repos to enable for the service",
99
+ default=self.secret_key,
100
+ )
101
+
102
+ return [
103
+ with_repos,
104
+ ]
@@ -3,6 +3,7 @@ from typing import Any, Dict, Optional
3
3
  from pydantic import BaseModel
4
4
 
5
5
  from arkitekt_next.bloks.kraph import KraphBlok
6
+ from arkitekt_next.bloks.lok import LokBlok
6
7
  from arkitekt_next.bloks.tailscale import TailscaleBlok
7
8
  from blok import InitContext, Panel, Renderer, blok
8
9
 
@@ -26,21 +27,17 @@ class AdminCredentials(BaseModel):
26
27
  @blok(
27
28
  "live.arkitekt",
28
29
  dependencies=[
30
+ LokBlok.as_dependency(True, True),
29
31
  MikroBlok.as_dependency(True, True),
30
32
  KabinetBlok.as_dependency(True, True),
31
33
  RekuestBlok.as_dependency(True, True),
32
34
  FlussBlok.as_dependency(True, True),
33
35
  InternalDockerBlok.as_dependency(True, True),
34
- LocalLiveKitBlok.as_dependency(True, True),
35
- OrkestratorBlok.as_dependency(True, False),
36
- KraphBlok.as_dependency(True, False),
37
- TailscaleBlok.as_dependency(True, False),
38
- OllamaBlok.as_dependency(True, False),
39
- ElektroBlok.as_dependency(True, False),
36
+ KraphBlok.as_dependency(True, True),
37
+ ElektroBlok.as_dependency(True, True),
40
38
  ],
41
39
  )
42
40
  class ArkitektBlok:
43
-
44
41
  def entry(self, renderer: Renderer):
45
42
  renderer.render(
46
43
  Panel(
@@ -63,12 +63,10 @@ class BaseArkitektService:
63
63
  redis: RedisService,
64
64
  s3: S3Service,
65
65
  config: ConfigService,
66
- channel: ChannelService,
67
66
  mount: MountService,
68
67
  admin: AdminService,
69
68
  secret: SecretService,
70
- gateway: Optional[GatewayService] = None,
71
- dns: DnsService = None,
69
+ gateway: GatewayService,
72
70
  mount_repo: bool = False,
73
71
  host: str = "",
74
72
  image: str = "",
@@ -100,12 +98,7 @@ class BaseArkitektService:
100
98
 
101
99
  django_secret = secret.retrieve_secret()
102
100
 
103
- dns_result = dns.get_dns_result()
104
-
105
101
  csrf_trusted_origins = []
106
- for hostname in dns_result.hostnames:
107
- csrf_trusted_origins.append(f"http://{hostname}")
108
- csrf_trusted_origins.append(f"https://{hostname}")
109
102
 
110
103
  configuration = YamlFile(
111
104
  **{
@@ -67,20 +67,13 @@ class CaddyBlok:
67
67
  def preflight(
68
68
  self,
69
69
  init: InitContext,
70
- dns: DnsService,
71
70
  name: NameService,
72
- certer: CerterService,
73
71
  ):
74
72
  for key, value in init.kwargs.items():
75
73
  setattr(self, key, value)
76
74
 
77
- self.public_ips = dns.get_dns_result().ip_addresses
78
- self.public_hosts = dns.get_dns_result().hostnames
79
75
  self.gateway_network = name.retrieve_name().replace("-", "_")
80
76
 
81
- self.cert_mount = certer.retrieve_certs_mount()
82
- self.depends_on = certer.retrieve_depends_on()
83
-
84
77
  def build(
85
78
  self,
86
79
  context: ExecutionContext,
@@ -95,7 +88,6 @@ class CaddyBlok:
95
88
  if port.tls:
96
89
  caddyfile += f"""
97
90
  :{port.port} {{
98
- tls /certs/caddy.crt /certs/caddy.key
99
91
  reverse_proxy {port.host}:{port.to}
100
92
  }}
101
93
  """
@@ -112,7 +104,6 @@ class CaddyBlok:
112
104
  """
113
105
  caddyfile += (
114
106
  """
115
- tls /certs/caddy.crt /certs/caddy.key
116
107
  """
117
108
  if protocol == "https" and self.cert_mount
118
109
  else ""
@@ -173,8 +164,6 @@ class CaddyBlok:
173
164
  ]
174
165
 
175
166
  volumes = ["./configs/Caddyfile:/etc/caddy/Caddyfile"]
176
- if self.cert_mount:
177
- volumes.append(f"{self.cert_mount}:/certs")
178
167
 
179
168
  caddy_container = {
180
169
  "image": "caddy:latest",
@@ -184,7 +173,6 @@ class CaddyBlok:
184
173
  ]
185
174
  + exposed_ports_strings,
186
175
  "volumes": volumes,
187
- "depends_on": caddy_depends_on,
188
176
  "networks": [self.gateway_network, "default"],
189
177
  }
190
178
 
@@ -35,7 +35,7 @@ class UserParamType(click.ParamType):
35
35
  return value
36
36
  try:
37
37
  name, password = value.split(":")
38
- return {"name": name, "password": password}
38
+ return {"username": name, "password": password}
39
39
  except ValueError:
40
40
  self.fail(
41
41
  f"User '{value}' is not in the correct format. It should be 'name:password'.",
@@ -176,8 +176,6 @@ class LokBlok:
176
176
  admin: AdminService,
177
177
  secrets: SecretBlok,
178
178
  s3: S3Service,
179
- dns: DnsService,
180
- livekit: Optional[LivekitService] = None,
181
179
  ):
182
180
  for key, value in init.kwargs.items():
183
181
  setattr(self, key, value)
@@ -193,9 +191,6 @@ class LokBlok:
193
191
  self.redis_access = redis.register()
194
192
  self.admin_access = admin.retrieve()
195
193
  self.s3_access = s3.create_buckets(self.buckets)
196
- if livekit:
197
- self.local_access = livekit.retrieve_access()
198
- self.dns_result = dns.get_dns_result()
199
194
  self.initialized = True
200
195
 
201
196
  def build(self, context: ExecutionContext):
@@ -206,7 +201,7 @@ class LokBlok:
206
201
 
207
202
  if self.postgress_access.dependency:
208
203
  depends_on.append(self.postgress_access.dependency)
209
-
204
+
210
205
  if self.s3_access.dependency:
211
206
  depends_on.append(self.s3_access.dependency)
212
207
 
@@ -219,7 +214,6 @@ class LokBlok:
219
214
  "volumes": [
220
215
  "/var/run/docker.sock:/var/run/docker.sock",
221
216
  "./configs/lok.yaml:/workspace/config.yaml",
222
- "./certs:/certs",
223
217
  ],
224
218
  }
225
219
 
@@ -237,10 +231,6 @@ class LokBlok:
237
231
 
238
232
  trusted_origins = []
239
233
 
240
- for i in self.dns_result.hostnames:
241
- trusted_origins.append(f"http://{i}")
242
- trusted_origins.append(f"https://{i}")
243
-
244
234
  configuration = YamlFile(
245
235
  **{
246
236
  "db": asdict(self.postgress_access),
@@ -262,14 +252,8 @@ class LokBlok:
262
252
  ],
263
253
  "groups": [group for group in self.groups],
264
254
  "deployment": {"name": self.deployment_name},
265
- "livekit": (
266
- asdict(self.local_access)
267
- if self.local_access
268
- else {"api_key": "dev", "api_secret": "secret", "api_url": None}
269
- ),
270
255
  "s3": asdict(self.s3_access),
271
256
  "token_expire_seconds": self.token_expiry_seconds,
272
- "apps": [],
273
257
  "force_script_name": "lok",
274
258
  "csrf_trusted_origins": trusted_origins,
275
259
  }
@@ -100,7 +100,6 @@ def easy(
100
100
  service_registry = service_registry or get_default_service_registry()
101
101
  init_hook_registry = init_hook_registry or get_default_init_hook_registry()
102
102
 
103
-
104
103
  if identifier is None:
105
104
  identifier = __file__.split("/")[-1].replace(".py", "")
106
105
 
@@ -115,7 +114,6 @@ def easy(
115
114
  requirements=service_registry.get_requirements(),
116
115
  )
117
116
 
118
-
119
117
  if token:
120
118
  fakts_next = build_arkitekt_next_token_fakts_next(
121
119
  manifest=manifest,
@@ -140,7 +138,8 @@ def easy(
140
138
  herre_next = build_arkitekt_next_herre_next(fakts_next=fakts_next)
141
139
 
142
140
  params = {
143
- "instance_id": instance_id,}
141
+ "instance_id": instance_id,
142
+ }
144
143
 
145
144
  create_arkitekt_next_folder(with_cache=True)
146
145
 
@@ -176,7 +175,6 @@ def interactive(
176
175
  token: Optional[str] = None,
177
176
  no_cache: bool = False,
178
177
  redeem_token: Optional[str] = None,
179
- app_kind: str = "development",
180
178
  registry: Optional[ServiceBuilderRegistry] = None,
181
179
  sync_mode: bool = True,
182
180
  ) -> App:
@@ -193,7 +191,7 @@ def interactive(
193
191
  token=token,
194
192
  no_cache=no_cache,
195
193
  redeem_token=redeem_token,
196
-
194
+ service_registry=registry,
197
195
  )
198
196
 
199
197
  if sync_mode:
@@ -202,7 +200,8 @@ def interactive(
202
200
  # to avoid having to use await for every call. This is the default
203
201
  # behaviour for the app, but can be overwritten by setting
204
202
  # app.koil.sync_in_async = False
205
- app._koil.sync_in_async = True
203
+ if app.__koil:
204
+ app.__koil.sync_in_async = True
206
205
  app.enter()
207
206
 
208
207
  return app
@@ -0,0 +1,29 @@
1
+ import typing
2
+ from rekuest_next.structures.default import get_default_structure_registry
3
+ import subprocess
4
+ import sys
5
+ import webbrowser
6
+ import os
7
+ from rath.scalars import ID
8
+
9
+
10
+ def open_orkestrator_link(link: str):
11
+ webbrowser.open(link)
12
+
13
+
14
+ class IDBearer(typing.Protocol):
15
+ id: ID
16
+
17
+
18
+ def inspect(x: IDBearer) -> None:
19
+ """
20
+ Inspects the given object by opening it in the orkestrator.
21
+
22
+
23
+
24
+ """
25
+ structure_reg = get_default_structure_registry()
26
+
27
+ identifier = structure_reg.get_identifier_for_cls(type(x))
28
+
29
+ open_orkestrator_link(f"orkestrator://{identifier}/{x.id}")
@@ -1,4 +1,3 @@
1
- from typing import Any, Protocol
2
1
  """
3
2
  This module contains the types for the apps
4
3
  depending on the builder used.
@@ -10,12 +9,14 @@ an import exception to the app.
10
9
 
11
10
  """
12
11
 
12
+ from typing import Any, Protocol, cast
13
13
  import logging
14
- from typing import Any, Dict, TYPE_CHECKING
14
+ from typing import Dict, TYPE_CHECKING
15
15
  from koil import unkoil
16
16
  from koil.composition import KoiledModel
17
17
  from arkitekt_next.base_models import Manifest
18
18
  from fakts_next import Fakts
19
+ from herre_next import Herre
19
20
 
20
21
 
21
22
  if TYPE_CHECKING:
@@ -25,15 +26,9 @@ if TYPE_CHECKING:
25
26
  logger = logging.getLogger(__name__)
26
27
 
27
28
 
28
-
29
-
30
-
31
-
32
-
33
-
34
-
35
29
  class App(Protocol):
36
30
  """An app that is built with the easy builder"""
31
+
37
32
  fakts: Fakts
38
33
  herre: Herre
39
34
  manifest: Manifest
@@ -44,7 +39,7 @@ class App(Protocol):
44
39
  """Get the rekuest service"""
45
40
  if "rekuest" not in self.services:
46
41
  raise ValueError("Rekuest service is not available")
47
- return self.services["rekuest"]
42
+ return cast("RekuestNext", self.services["rekuest"])
48
43
 
49
44
  def run(self):
50
45
  return unkoil(self.rekuest.arun)
@@ -79,5 +74,4 @@ class Builder(Protocol):
79
74
  This protocol defines the methods that a builder class must implement.
80
75
  """
81
76
 
82
- def __call__(self, *args: Any, **kwds: Any) -> Any:
83
- return super().__call__(*args, **kwds)
77
+ def __call__(self, *args: Any, **kwds: Any) -> Any: ...
@@ -1,6 +1,6 @@
1
1
  [project]
2
2
  name = "arkitekt-next"
3
- version = "0.12.1"
3
+ version = "0.13.0"
4
4
  description = "client for the arkitekt_next platform"
5
5
  authors = [{ name = "jhnnsrs", email = "jhnnsrs@gmail.com" }]
6
6
  requires-python = ">=3.11,<4"
@@ -22,11 +22,11 @@ dependencies = [
22
22
 
23
23
  [project.optional-dependencies]
24
24
  cli = [
25
- "turms>=0.8.2",
25
+ "turms>=0.9.0",
26
26
  ]
27
27
  alpaka = ["alpaka>=0.2.0"]
28
28
  kraph = ["kraph>=0.2.0"]
29
- mikro = ["mikro-next>=0.3.1"]
29
+ mikro = ["mikro-next>=0.4.0"]
30
30
  kabinet = ["kabinet>=0.4.0"]
31
31
  elektro = ["elektro>=0.5.0"]
32
32
  fluss = ["fluss-next>=0.2.0"]
@@ -36,11 +36,11 @@ unlok = ["unlok-next>=0.2.0"]
36
36
  all = [
37
37
  "rich-click>=1.6.1",
38
38
  "watchfiles>=0.18.1",
39
- "turms>=0.8.2",
39
+ "turms>=0.9",
40
40
  "semver>=3.0.1",
41
41
  "reaktion-next>=0.2.0",
42
42
  "rekuest-next>=0.7",
43
- "mikro-next>=0.3.1",
43
+ "mikro-next>=0.4",
44
44
  "kabinet>=0.2.0",
45
45
  "fluss-next>=0.2.0",
46
46
  "unlok-next>=0.2.0",
@@ -1,45 +0,0 @@
1
- from typing import Dict, Any
2
- import secrets
3
-
4
-
5
- from blok import blok, InitContext, ExecutionContext, Option
6
- from blok.tree import Repo, YamlFile
7
- from arkitekt_next.bloks.base import BaseArkitektService
8
-
9
-
10
- @blok("live.arkitekt.alpaka", description="a container and app management service")
11
- class AlpakaBlok(BaseArkitektService):
12
- def __init__(self) -> None:
13
- self.dev = False
14
- self.host = "alpaka"
15
- self.command = "bash run-debug.sh"
16
- self.repo = "https://github.com/jhnnsrs/alpaka-server"
17
- self.scopes = {
18
- "alpaka_pull": "Pull new Models",
19
- "alpaka_chat": "Add repositories to the database",
20
- }
21
- self.mount_repo = False
22
- self.build_repo = False
23
- self.buckets = ["media"]
24
- self.secret_key = secrets.token_hex(16)
25
- self.image = "jhnnsrs/alpaka:next"
26
-
27
- def get_additional_config(self):
28
- return {"ensured_repos": self.ensured_repos}
29
-
30
- def get_builder(self):
31
- return "arkitekt.generic"
32
-
33
- def build(self, context: ExecutionContext):
34
- context.docker_compose.set_nested("services", self.host, self.service)
35
-
36
- def get_additional_options(self):
37
- with_repos = Option(
38
- subcommand="repos",
39
- help="The default repos to enable for the service",
40
- default=self.secret_key,
41
- )
42
-
43
- return [
44
- with_repos,
45
- ]