arkitekt-next 0.7.42__tar.gz → 0.7.43__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 (141) hide show
  1. {arkitekt_next-0.7.42 → arkitekt_next-0.7.43}/PKG-INFO +1 -1
  2. {arkitekt_next-0.7.42 → arkitekt_next-0.7.43}/arkitekt_next/bloks/gateway.py +2 -0
  3. {arkitekt_next-0.7.42 → arkitekt_next-0.7.43}/arkitekt_next/bloks/internal_docker.py +20 -8
  4. {arkitekt_next-0.7.42 → arkitekt_next-0.7.43}/arkitekt_next/cli/commands/run/prod.py +6 -1
  5. {arkitekt_next-0.7.42 → arkitekt_next-0.7.43}/pyproject.toml +1 -1
  6. {arkitekt_next-0.7.42 → arkitekt_next-0.7.43}/LICENSE +0 -0
  7. {arkitekt_next-0.7.42 → arkitekt_next-0.7.43}/README.md +0 -0
  8. {arkitekt_next-0.7.42 → arkitekt_next-0.7.43}/arkitekt_next/__blok__.py +0 -0
  9. {arkitekt_next-0.7.42 → arkitekt_next-0.7.43}/arkitekt_next/__init__.py +0 -0
  10. {arkitekt_next-0.7.42 → arkitekt_next-0.7.43}/arkitekt_next/apps/__init__.py +0 -0
  11. {arkitekt_next-0.7.42 → arkitekt_next-0.7.43}/arkitekt_next/apps/easy.py +0 -0
  12. {arkitekt_next-0.7.42 → arkitekt_next-0.7.43}/arkitekt_next/apps/next.py +0 -0
  13. {arkitekt_next-0.7.42 → arkitekt_next-0.7.43}/arkitekt_next/apps/qt.py +0 -0
  14. {arkitekt_next-0.7.42 → arkitekt_next-0.7.43}/arkitekt_next/apps/service/__init__.py +0 -0
  15. {arkitekt_next-0.7.42 → arkitekt_next-0.7.43}/arkitekt_next/apps/service/fakts.py +0 -0
  16. {arkitekt_next-0.7.42 → arkitekt_next-0.7.43}/arkitekt_next/apps/service/fakts_next.py +0 -0
  17. {arkitekt_next-0.7.42 → arkitekt_next-0.7.43}/arkitekt_next/apps/service/fakts_qt.py +0 -0
  18. {arkitekt_next-0.7.42 → arkitekt_next-0.7.43}/arkitekt_next/apps/service/grant_registry.py +0 -0
  19. {arkitekt_next-0.7.42 → arkitekt_next-0.7.43}/arkitekt_next/apps/service/herre.py +0 -0
  20. {arkitekt_next-0.7.42 → arkitekt_next-0.7.43}/arkitekt_next/apps/service/herre_qt.py +0 -0
  21. {arkitekt_next-0.7.42 → arkitekt_next-0.7.43}/arkitekt_next/apps/types.py +0 -0
  22. {arkitekt_next-0.7.42 → arkitekt_next-0.7.43}/arkitekt_next/bloks/__init__.py +0 -0
  23. {arkitekt_next-0.7.42 → arkitekt_next-0.7.43}/arkitekt_next/bloks/admin.py +0 -0
  24. {arkitekt_next-0.7.42 → arkitekt_next-0.7.43}/arkitekt_next/bloks/arkitekt.py +0 -0
  25. {arkitekt_next-0.7.42 → arkitekt_next-0.7.43}/arkitekt_next/bloks/config.py +0 -0
  26. {arkitekt_next-0.7.42 → arkitekt_next-0.7.43}/arkitekt_next/bloks/fluss.py +0 -0
  27. {arkitekt_next-0.7.42 → arkitekt_next-0.7.43}/arkitekt_next/bloks/funcs.py +0 -0
  28. {arkitekt_next-0.7.42 → arkitekt_next-0.7.43}/arkitekt_next/bloks/kabinet.py +0 -0
  29. {arkitekt_next-0.7.42 → arkitekt_next-0.7.43}/arkitekt_next/bloks/livekit.py +0 -0
  30. {arkitekt_next-0.7.42 → arkitekt_next-0.7.43}/arkitekt_next/bloks/lok.py +0 -0
  31. {arkitekt_next-0.7.42 → arkitekt_next-0.7.43}/arkitekt_next/bloks/mikro.py +0 -0
  32. {arkitekt_next-0.7.42 → arkitekt_next-0.7.43}/arkitekt_next/bloks/minio.py +0 -0
  33. {arkitekt_next-0.7.42 → arkitekt_next-0.7.43}/arkitekt_next/bloks/mount.py +0 -0
  34. {arkitekt_next-0.7.42 → arkitekt_next-0.7.43}/arkitekt_next/bloks/namegen.py +0 -0
  35. {arkitekt_next-0.7.42 → arkitekt_next-0.7.43}/arkitekt_next/bloks/postgres.py +0 -0
  36. {arkitekt_next-0.7.42 → arkitekt_next-0.7.43}/arkitekt_next/bloks/redis.py +0 -0
  37. {arkitekt_next-0.7.42 → arkitekt_next-0.7.43}/arkitekt_next/bloks/rekuest.py +0 -0
  38. {arkitekt_next-0.7.42 → arkitekt_next-0.7.43}/arkitekt_next/bloks/secret.py +0 -0
  39. {arkitekt_next-0.7.42 → arkitekt_next-0.7.43}/arkitekt_next/bloks/services/__init__.py +0 -0
  40. {arkitekt_next-0.7.42 → arkitekt_next-0.7.43}/arkitekt_next/bloks/services/admin.py +0 -0
  41. {arkitekt_next-0.7.42 → arkitekt_next-0.7.43}/arkitekt_next/bloks/services/config.py +0 -0
  42. {arkitekt_next-0.7.42 → arkitekt_next-0.7.43}/arkitekt_next/bloks/services/db.py +0 -0
  43. {arkitekt_next-0.7.42 → arkitekt_next-0.7.43}/arkitekt_next/bloks/services/gateway.py +0 -0
  44. {arkitekt_next-0.7.42 → arkitekt_next-0.7.43}/arkitekt_next/bloks/services/livekit.py +0 -0
  45. {arkitekt_next-0.7.42 → arkitekt_next-0.7.43}/arkitekt_next/bloks/services/lok.py +0 -0
  46. {arkitekt_next-0.7.42 → arkitekt_next-0.7.43}/arkitekt_next/bloks/services/mount.py +0 -0
  47. {arkitekt_next-0.7.42 → arkitekt_next-0.7.43}/arkitekt_next/bloks/services/name.py +0 -0
  48. {arkitekt_next-0.7.42 → arkitekt_next-0.7.43}/arkitekt_next/bloks/services/redis.py +0 -0
  49. {arkitekt_next-0.7.42 → arkitekt_next-0.7.43}/arkitekt_next/bloks/services/s3.py +0 -0
  50. {arkitekt_next-0.7.42 → arkitekt_next-0.7.43}/arkitekt_next/bloks/services/secret.py +0 -0
  51. {arkitekt_next-0.7.42 → arkitekt_next-0.7.43}/arkitekt_next/bloks/services/socket.py +0 -0
  52. {arkitekt_next-0.7.42 → arkitekt_next-0.7.43}/arkitekt_next/bloks/socket.py +0 -0
  53. {arkitekt_next-0.7.42 → arkitekt_next-0.7.43}/arkitekt_next/bloks/tailscale.py +0 -0
  54. {arkitekt_next-0.7.42 → arkitekt_next-0.7.43}/arkitekt_next/builders.py +0 -0
  55. {arkitekt_next-0.7.42 → arkitekt_next-0.7.43}/arkitekt_next/cli/__init__.py +0 -0
  56. {arkitekt_next-0.7.42 → arkitekt_next-0.7.43}/arkitekt_next/cli/commands/call/__init__.py +0 -0
  57. {arkitekt_next-0.7.42 → arkitekt_next-0.7.43}/arkitekt_next/cli/commands/call/local.py +0 -0
  58. {arkitekt_next-0.7.42 → arkitekt_next-0.7.43}/arkitekt_next/cli/commands/call/main.py +0 -0
  59. {arkitekt_next-0.7.42 → arkitekt_next-0.7.43}/arkitekt_next/cli/commands/call/remote.py +0 -0
  60. {arkitekt_next-0.7.42 → arkitekt_next-0.7.43}/arkitekt_next/cli/commands/gen/__init__.py +0 -0
  61. {arkitekt_next-0.7.42 → arkitekt_next-0.7.43}/arkitekt_next/cli/commands/gen/compile.py +0 -0
  62. {arkitekt_next-0.7.42 → arkitekt_next-0.7.43}/arkitekt_next/cli/commands/gen/init.py +0 -0
  63. {arkitekt_next-0.7.42 → arkitekt_next-0.7.43}/arkitekt_next/cli/commands/gen/main.py +0 -0
  64. {arkitekt_next-0.7.42 → arkitekt_next-0.7.43}/arkitekt_next/cli/commands/gen/watch.py +0 -0
  65. {arkitekt_next-0.7.42 → arkitekt_next-0.7.43}/arkitekt_next/cli/commands/init/__init__.py +0 -0
  66. {arkitekt_next-0.7.42 → arkitekt_next-0.7.43}/arkitekt_next/cli/commands/init/main.py +0 -0
  67. {arkitekt_next-0.7.42 → arkitekt_next-0.7.43}/arkitekt_next/cli/commands/inspect/__init__.py +0 -0
  68. {arkitekt_next-0.7.42 → arkitekt_next-0.7.43}/arkitekt_next/cli/commands/inspect/main.py +0 -0
  69. {arkitekt_next-0.7.42 → arkitekt_next-0.7.43}/arkitekt_next/cli/commands/inspect/requirements.py +0 -0
  70. {arkitekt_next-0.7.42 → arkitekt_next-0.7.43}/arkitekt_next/cli/commands/inspect/templates.py +0 -0
  71. {arkitekt_next-0.7.42 → arkitekt_next-0.7.43}/arkitekt_next/cli/commands/inspect/variables.py +0 -0
  72. {arkitekt_next-0.7.42 → arkitekt_next-0.7.43}/arkitekt_next/cli/commands/kabinet/__init__.py +0 -0
  73. {arkitekt_next-0.7.42 → arkitekt_next-0.7.43}/arkitekt_next/cli/commands/kabinet/build.py +0 -0
  74. {arkitekt_next-0.7.42 → arkitekt_next-0.7.43}/arkitekt_next/cli/commands/kabinet/init.py +0 -0
  75. {arkitekt_next-0.7.42 → arkitekt_next-0.7.43}/arkitekt_next/cli/commands/kabinet/main.py +0 -0
  76. {arkitekt_next-0.7.42 → arkitekt_next-0.7.43}/arkitekt_next/cli/commands/kabinet/publish.py +0 -0
  77. {arkitekt_next-0.7.42 → arkitekt_next-0.7.43}/arkitekt_next/cli/commands/kabinet/stage.py +0 -0
  78. {arkitekt_next-0.7.42 → arkitekt_next-0.7.43}/arkitekt_next/cli/commands/kabinet/utils.py +0 -0
  79. {arkitekt_next-0.7.42 → arkitekt_next-0.7.43}/arkitekt_next/cli/commands/kabinet/validate.py +0 -0
  80. {arkitekt_next-0.7.42 → arkitekt_next-0.7.43}/arkitekt_next/cli/commands/kabinet/wizard.py +0 -0
  81. {arkitekt_next-0.7.42 → arkitekt_next-0.7.43}/arkitekt_next/cli/commands/manifest/__init__.py +0 -0
  82. {arkitekt_next-0.7.42 → arkitekt_next-0.7.43}/arkitekt_next/cli/commands/manifest/inspect.py +0 -0
  83. {arkitekt_next-0.7.42 → arkitekt_next-0.7.43}/arkitekt_next/cli/commands/manifest/main.py +0 -0
  84. {arkitekt_next-0.7.42 → arkitekt_next-0.7.43}/arkitekt_next/cli/commands/manifest/scopes.py +0 -0
  85. {arkitekt_next-0.7.42 → arkitekt_next-0.7.43}/arkitekt_next/cli/commands/manifest/version.py +0 -0
  86. {arkitekt_next-0.7.42 → arkitekt_next-0.7.43}/arkitekt_next/cli/commands/manifest/wizard.py +0 -0
  87. {arkitekt_next-0.7.42 → arkitekt_next-0.7.43}/arkitekt_next/cli/commands/run/__init__.py +0 -0
  88. {arkitekt_next-0.7.42 → arkitekt_next-0.7.43}/arkitekt_next/cli/commands/run/dev.py +0 -0
  89. {arkitekt_next-0.7.42 → arkitekt_next-0.7.43}/arkitekt_next/cli/commands/run/main.py +0 -0
  90. {arkitekt_next-0.7.42 → arkitekt_next-0.7.43}/arkitekt_next/cli/commands/run/utils.py +0 -0
  91. {arkitekt_next-0.7.42 → arkitekt_next-0.7.43}/arkitekt_next/cli/configs/base.yaml +0 -0
  92. {arkitekt_next-0.7.42 → arkitekt_next-0.7.43}/arkitekt_next/cli/constants.py +0 -0
  93. {arkitekt_next-0.7.42 → arkitekt_next-0.7.43}/arkitekt_next/cli/dockerfiles/vanilla.dockerfile +0 -0
  94. {arkitekt_next-0.7.42 → arkitekt_next-0.7.43}/arkitekt_next/cli/errors.py +0 -0
  95. {arkitekt_next-0.7.42 → arkitekt_next-0.7.43}/arkitekt_next/cli/inspect.py +0 -0
  96. {arkitekt_next-0.7.42 → arkitekt_next-0.7.43}/arkitekt_next/cli/io.py +0 -0
  97. {arkitekt_next-0.7.42 → arkitekt_next-0.7.43}/arkitekt_next/cli/main.py +0 -0
  98. {arkitekt_next-0.7.42 → arkitekt_next-0.7.43}/arkitekt_next/cli/options.py +0 -0
  99. {arkitekt_next-0.7.42 → arkitekt_next-0.7.43}/arkitekt_next/cli/schemas/fluss.schema.graphql +0 -0
  100. {arkitekt_next-0.7.42 → arkitekt_next-0.7.43}/arkitekt_next/cli/schemas/gucker.schema.graphql +0 -0
  101. {arkitekt_next-0.7.42 → arkitekt_next-0.7.43}/arkitekt_next/cli/schemas/kabinet.schema.graphql +0 -0
  102. {arkitekt_next-0.7.42 → arkitekt_next-0.7.43}/arkitekt_next/cli/schemas/kluster.schema.graphql +0 -0
  103. {arkitekt_next-0.7.42 → arkitekt_next-0.7.43}/arkitekt_next/cli/schemas/konviktion.schema.graphql +0 -0
  104. {arkitekt_next-0.7.42 → arkitekt_next-0.7.43}/arkitekt_next/cli/schemas/kuay.schema.graphql +0 -0
  105. {arkitekt_next-0.7.42 → arkitekt_next-0.7.43}/arkitekt_next/cli/schemas/mikro.schema.graphql +0 -0
  106. {arkitekt_next-0.7.42 → arkitekt_next-0.7.43}/arkitekt_next/cli/schemas/mikro_next.schema.graphql +0 -0
  107. {arkitekt_next-0.7.42 → arkitekt_next-0.7.43}/arkitekt_next/cli/schemas/napari.schema.graphql +0 -0
  108. {arkitekt_next-0.7.42 → arkitekt_next-0.7.43}/arkitekt_next/cli/schemas/omero_ark.schema.graphql +0 -0
  109. {arkitekt_next-0.7.42 → arkitekt_next-0.7.43}/arkitekt_next/cli/schemas/port.schema.graphql +0 -0
  110. {arkitekt_next-0.7.42 → arkitekt_next-0.7.43}/arkitekt_next/cli/schemas/rekuest.schema.graphql +0 -0
  111. {arkitekt_next-0.7.42 → arkitekt_next-0.7.43}/arkitekt_next/cli/schemas/rekuest_next.schema.graphql +0 -0
  112. {arkitekt_next-0.7.42 → arkitekt_next-0.7.43}/arkitekt_next/cli/schemas/unlok.schema.graphql +0 -0
  113. {arkitekt_next-0.7.42 → arkitekt_next-0.7.43}/arkitekt_next/cli/templates/filter.py +0 -0
  114. {arkitekt_next-0.7.42 → arkitekt_next-0.7.43}/arkitekt_next/cli/templates/simple.py +0 -0
  115. {arkitekt_next-0.7.42 → arkitekt_next-0.7.43}/arkitekt_next/cli/texts.py +0 -0
  116. {arkitekt_next-0.7.42 → arkitekt_next-0.7.43}/arkitekt_next/cli/types.py +0 -0
  117. {arkitekt_next-0.7.42 → arkitekt_next-0.7.43}/arkitekt_next/cli/ui.py +0 -0
  118. {arkitekt_next-0.7.42 → arkitekt_next-0.7.43}/arkitekt_next/cli/utils.py +0 -0
  119. {arkitekt_next-0.7.42 → arkitekt_next-0.7.43}/arkitekt_next/cli/validators.py +0 -0
  120. {arkitekt_next-0.7.42 → arkitekt_next-0.7.43}/arkitekt_next/cli/vars.py +0 -0
  121. {arkitekt_next-0.7.42 → arkitekt_next-0.7.43}/arkitekt_next/cli/versions/v1.yaml +0 -0
  122. {arkitekt_next-0.7.42 → arkitekt_next-0.7.43}/arkitekt_next/constants.py +0 -0
  123. {arkitekt_next-0.7.42 → arkitekt_next-0.7.43}/arkitekt_next/model.py +0 -0
  124. {arkitekt_next-0.7.42 → arkitekt_next-0.7.43}/arkitekt_next/qt/__init__.py +0 -0
  125. {arkitekt_next-0.7.42 → arkitekt_next-0.7.43}/arkitekt_next/qt/assets/dark/gear.png +0 -0
  126. {arkitekt_next-0.7.42 → arkitekt_next-0.7.43}/arkitekt_next/qt/assets/dark/green pulse.gif +0 -0
  127. {arkitekt_next-0.7.42 → arkitekt_next-0.7.43}/arkitekt_next/qt/assets/dark/orange pulse.gif +0 -0
  128. {arkitekt_next-0.7.42 → arkitekt_next-0.7.43}/arkitekt_next/qt/assets/dark/pink pulse.gif +0 -0
  129. {arkitekt_next-0.7.42 → arkitekt_next-0.7.43}/arkitekt_next/qt/assets/dark/red pulse.gif +0 -0
  130. {arkitekt_next-0.7.42 → arkitekt_next-0.7.43}/arkitekt_next/qt/assets/light/gear.png +0 -0
  131. {arkitekt_next-0.7.42 → arkitekt_next-0.7.43}/arkitekt_next/qt/assets/light/green pulse.gif +0 -0
  132. {arkitekt_next-0.7.42 → arkitekt_next-0.7.43}/arkitekt_next/qt/assets/light/orange pulse.gif +0 -0
  133. {arkitekt_next-0.7.42 → arkitekt_next-0.7.43}/arkitekt_next/qt/assets/light/pink pulse.gif +0 -0
  134. {arkitekt_next-0.7.42 → arkitekt_next-0.7.43}/arkitekt_next/qt/assets/light/red pulse.gif +0 -0
  135. {arkitekt_next-0.7.42 → arkitekt_next-0.7.43}/arkitekt_next/qt/builders.py +0 -0
  136. {arkitekt_next-0.7.42 → arkitekt_next-0.7.43}/arkitekt_next/qt/magic_bar.py +0 -0
  137. {arkitekt_next-0.7.42 → arkitekt_next-0.7.43}/arkitekt_next/qt/types.py +0 -0
  138. {arkitekt_next-0.7.42 → arkitekt_next-0.7.43}/arkitekt_next/qt/utils.py +0 -0
  139. {arkitekt_next-0.7.42 → arkitekt_next-0.7.43}/arkitekt_next/service_registry.py +0 -0
  140. {arkitekt_next-0.7.42 → arkitekt_next-0.7.43}/arkitekt_next/tqdm.py +0 -0
  141. {arkitekt_next-0.7.42 → arkitekt_next-0.7.43}/arkitekt_next/utils.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: arkitekt-next
3
- Version: 0.7.42
3
+ Version: 0.7.43
4
4
  Summary: client for the arkitekt_next platform
5
5
  License: MIT
6
6
  Author: jhnnsrs
@@ -163,6 +163,7 @@ class GatewayBlok:
163
163
  ]
164
164
  + exposed_ports_strings,
165
165
  "depends_on": caddy_depends_on,
166
+ "networks": ["gateway", "default"],
166
167
  }
167
168
 
168
169
  context.docker_compose.set_nested("services", "caddy", caddy_container)
@@ -178,6 +179,7 @@ class GatewayBlok:
178
179
  }
179
180
 
180
181
  context.docker_compose.set_nested("services", "certer", certer_container)
182
+ context.docker_compose.set_nested("networks", "gateway", {"driver": "bridge"})
181
183
 
182
184
  def expose(self, path_name: str, port: int, host: str, strip_prefix: bool = False):
183
185
  self.exposed_hosts[path_name] = ExposedHost(
@@ -13,12 +13,17 @@ from blok.tree import YamlFile, Repo
13
13
  class InternalDockerBlok:
14
14
  def __init__(self) -> None:
15
15
  self.host = "internal_docker"
16
-
17
- self.image = "jhnnsrs/deployer:0.0.1-vanilla"
18
- self.instance_id = "INTERNAL_DOCKER"
19
16
 
17
+ self.image = "jhnnsrs/deployer:0.0.2-vanilla"
18
+ self.instance_id = "INTERNAL_DOCKER"
20
19
 
21
- def preflight(self, init: InitContext, gateway: GatewayService, lok: LokBlok, socket: DockerSocketBlok):
20
+ def preflight(
21
+ self,
22
+ init: InitContext,
23
+ gateway: GatewayService,
24
+ lok: LokBlok,
25
+ socket: DockerSocketBlok,
26
+ ):
22
27
  for key, value in init.kwargs.items():
23
28
  setattr(self, key, value)
24
29
 
@@ -33,9 +38,7 @@ class InternalDockerBlok:
33
38
 
34
39
  self.token = lok.retrieve_token()
35
40
 
36
- self.command = (
37
- f"arkitekt-next run prod --redeem-token={self.token} --url http://{self.gateway_host}:{self.gateway_port}"
38
- )
41
+ self.command = f"arkitekt-next run prod --redeem-token={self.token} --url http://{self.gateway_host}:{self.gateway_port}"
39
42
 
40
43
  self.initialized = True
41
44
 
@@ -52,6 +55,16 @@ class InternalDockerBlok:
52
55
  "volumes": [f"{self._socket}:/var/run/docker.sock"],
53
56
  "environment": {
54
57
  "INSTANCE_ID": self.instance_id,
58
+ "ARKITEKT_GATEWAY": f"http://{self.gateway_host}:{self.gateway_port}",
59
+ "ARKITEKT_NETWORK": "gateway",
60
+ },
61
+ "deploy": {
62
+ "restart_policy": {
63
+ "condition": "on-failure",
64
+ "delay": "10s",
65
+ "max_attempts": 3,
66
+ "window": "120s",
67
+ },
55
68
  },
56
69
  }
57
70
 
@@ -68,7 +81,6 @@ class InternalDockerBlok:
68
81
  help="Should we skip creating this service?",
69
82
  default=False,
70
83
  type=bool,
71
-
72
84
  )
73
85
 
74
86
  return [
@@ -5,6 +5,7 @@ from arkitekt_next.cli.ui import construct_run_panel
5
5
  from importlib import import_module
6
6
  from .utils import import_builder
7
7
  from arkitekt_next.constants import DEFAULT_ARKITEKT_URL
8
+ import sys
8
9
 
9
10
 
10
11
  async def run_app(app):
@@ -58,4 +59,8 @@ def prod(ctx, entrypoint=None, builder=None, **builder_kwargs):
58
59
  panel = construct_run_panel(app)
59
60
  console.print(panel)
60
61
 
61
- asyncio.run(run_app(app))
62
+ try:
63
+ asyncio.run(run_app(app))
64
+ except Exception as e:
65
+ console.print_exception()
66
+ sys.exit(1)
@@ -1,6 +1,6 @@
1
1
  [tool.poetry]
2
2
  name = "arkitekt-next"
3
- version = "0.7.42"
3
+ version = "0.7.43"
4
4
  description = "client for the arkitekt_next platform"
5
5
  authors = ["jhnnsrs <jhnnsrs@gmail.com>"]
6
6
  license = "MIT"
File without changes
File without changes