arkitekt-next 0.7.37__py3-none-any.whl → 0.7.39__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.

Potentially problematic release.


This version of arkitekt-next might be problematic. Click here for more details.

@@ -1,10 +1,9 @@
1
-
2
-
3
1
  from typing import Dict, Any, Protocol
4
2
  from blok import blok, InitContext, Option
5
3
  from blok import service
6
4
  from dataclasses import dataclass
7
5
 
6
+
8
7
  @dataclass
9
8
  class LokCredentials:
10
9
  issuer: str
@@ -14,14 +13,8 @@ class LokCredentials:
14
13
 
15
14
  @service("live.arkitekt.lok")
16
15
  class LokService(Protocol):
16
+ def retrieve_credentials(self) -> LokCredentials: ...
17
17
 
18
- def retrieve_credentials(self) -> LokCredentials:
19
- ...
20
-
21
- def retrieve_labels(self, service_name: str) -> list[str]:
22
- ...
23
-
24
- def register_scopes(self, scopes_dict: Dict[str, str]):
25
- ...
26
-
18
+ def retrieve_labels(self, service_name: str, builder_name: str) -> list[str]: ...
27
19
 
20
+ def register_scopes(self, scopes_dict: Dict[str, str]): ...
@@ -0,0 +1,12 @@
1
+ from typing import Dict, Any, Protocol
2
+ from blok import blok, InitContext, Option
3
+ from blok import service
4
+ from dataclasses import dataclass
5
+
6
+
7
+
8
+ @service("live.arkitekt.names")
9
+ class NameService(Protocol):
10
+
11
+ def retrieve_name(self) -> str:
12
+ pass
@@ -6,6 +6,7 @@ from typing import Dict, Any, Protocol, Optional
6
6
  from blok import blok, InitContext, service
7
7
  from dataclasses import dataclass
8
8
 
9
+
9
10
  @dataclass
10
11
  class RedisConnection:
11
12
  host: str
@@ -13,16 +14,6 @@ class RedisConnection:
13
14
  dependency: Optional[str] = None
14
15
 
15
16
 
16
-
17
17
  @blok("live.arkitekt.redis")
18
18
  class RedisService(Protocol):
19
-
20
-
21
- def register(self) -> RedisConnection:
22
- return RedisConnection(
23
- host=self.host,
24
- port=self.port,
25
- dependency=self.host if not self.skip else None,
26
- )
27
-
28
-
19
+ def register(self) -> RedisConnection: ...
@@ -1,12 +1,12 @@
1
-
2
-
3
1
  from typing import Dict, Any, List, Protocol, Optional
4
2
  from blok import blok, InitContext, Option
5
3
  from blok import service
6
4
  from dataclasses import dataclass
7
5
 
6
+
8
7
  @dataclass
9
8
  class S3Credentials:
9
+ name: str
10
10
  access_key: str
11
11
  buckets: Dict[str, str]
12
12
  host: str
@@ -18,9 +18,4 @@ class S3Credentials:
18
18
 
19
19
  @service("live.arkitekt.s3")
20
20
  class S3Service(Protocol):
21
-
22
- def create_buckets(self, buckets: List[str]) -> S3Credentials:
23
- ...
24
-
25
-
26
-
21
+ def create_buckets(self, buckets: List[str]) -> S3Credentials: ...
@@ -0,0 +1,17 @@
1
+ from typing import Dict, Any, Protocol
2
+ from blok import blok, InitContext, Option
3
+ from blok import service
4
+ from dataclasses import dataclass
5
+
6
+ @dataclass
7
+ class AdminCredentials:
8
+ password: str
9
+ username: str
10
+ email: str
11
+
12
+
13
+ @service("live.arkitekt.secrets")
14
+ class SecretService(Protocol):
15
+
16
+ def retrieve_secret() -> str:
17
+ pass
@@ -0,0 +1,68 @@
1
+ from pydantic import BaseModel
2
+ from typing import Dict, Any
3
+ from arkitekt_next.bloks.services.mount import MountService
4
+ from blok import blok, InitContext, Option, ExecutionContext
5
+ from arkitekt_next.bloks.services.gateway import GatewayService
6
+ from blok.bloks.services.dns import DnsService
7
+ from blok.tree import YamlFile
8
+
9
+
10
+ @blok("live.arkitekt.tailscale")
11
+ class TailscaleBlok:
12
+
13
+ def __init__(self, name: str = "arkitekt") -> None:
14
+ self.name = name
15
+
16
+ def preflight(self, gateway: GatewayService, mount_service: MountService, dns: DnsService, net_name: str, auth_key: str, host_name: str):
17
+ assert auth_key, "You need to provide an auth_key"
18
+
19
+ self.caddy_service = gateway.get_internal_host()
20
+ self.caddy_port = gateway.get_http_port()
21
+ self.mount = mount_service.register_mount("tailscale_state", {})
22
+ self.tailnet_name = net_name
23
+ self.auth_key = auth_key
24
+ self.dns_service = dns.get_dns_result()
25
+ self.host_name = host_name
26
+
27
+ def build(self, ex: ExecutionContext):
28
+
29
+ if not self.tailnet_name:
30
+ # Trying to automatically find the hostname
31
+ for i in self.dns_service.hostnames:
32
+ if i.endswith(".ts.net"):
33
+ self.tailnet_name = i.split(".")[1]
34
+ break
35
+
36
+ service = {
37
+ "image": "jhnnsrs/tailproxy:latest",
38
+ "volumes": [
39
+ f"{self.mount}:/var/lib/tailscale" # Persist the tailscale state directory
40
+ ],
41
+ "environment": [
42
+ "TS_STATE_DIR=/var/lib/tailscale",
43
+ f"TS_AUTH_KEY={self.auth_key}",
44
+ f"TS_HOSTNAME={self.host_name}",
45
+ f"TS_TAILNET={self.tailnet_name}",
46
+ f"CADDY_TARGET={self.caddy_service}:{self.caddy_port}",
47
+ ],
48
+
49
+
50
+ }
51
+
52
+ ex.docker_compose.set_nested("services", "tailscale_proxy", service)
53
+
54
+ def get_options(self):
55
+ return [Option(
56
+ subcommand="net_name",
57
+ help="The name of your tailnet",
58
+ type=str,
59
+ ), Option(
60
+ subcommand="auth_key",
61
+ help="The auth_key of your tailnet",
62
+ type=str,
63
+ ),Option(
64
+ subcommand="host_name",
65
+ help="The hostname of your tailnet",
66
+ default=self.name,
67
+ type=str,
68
+ )]
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: arkitekt-next
3
- Version: 0.7.37
3
+ Version: 0.7.39
4
4
  Summary: client for the arkitekt_next platform
5
5
  License: MIT
6
6
  Author: jhnnsrs
@@ -14,25 +14,25 @@ Classifier: Programming Language :: Python :: 3.10
14
14
  Classifier: Programming Language :: Python :: 3.11
15
15
  Classifier: Programming Language :: Python :: 3.12
16
16
  Provides-Extra: all
17
+ Provides-Extra: blok
17
18
  Provides-Extra: cli
18
- Provides-Extra: server
19
- Requires-Dist: blok (>=0.0.8) ; (python_version >= "3.8" and python_version < "4.0") and (extra == "all" or extra == "server")
20
- Requires-Dist: cryptography (>=40.0.8) ; (python_version >= "3.8" and python_version < "4.0") and (extra == "all" or extra == "server")
19
+ Requires-Dist: blok (>=0.0.9) ; (python_version >= "3.8" and python_version < "4.0") and (extra == "all" or extra == "blok")
20
+ Requires-Dist: cryptography (>=40.0.8) ; (python_version >= "3.8" and python_version < "4.0") and (extra == "all" or extra == "blok")
21
21
  Requires-Dist: dokker (>=0.1.21)
22
22
  Requires-Dist: fakts (>=0.5.0)
23
- Requires-Dist: fluss-next (>=0.1.69) ; extra == "all"
23
+ Requires-Dist: fluss-next (>=0.1.70) ; extra == "all"
24
24
  Requires-Dist: herre (>=0.4.3)
25
- Requires-Dist: kabinet (>=0.1.7) ; (python_version >= "3.9" and python_version < "4.0") and (extra == "all")
25
+ Requires-Dist: kabinet (>=0.1.8) ; (python_version >= "3.9" and python_version < "4.0") and (extra == "all")
26
26
  Requires-Dist: koil (>=0.3.6)
27
- Requires-Dist: mikro-next (>=0.1.24) ; (python_version >= "3.10" and python_version < "4.0") and (extra == "all")
28
- Requires-Dist: namegenerator (>=1.0.6) ; (python_version >= "3.8" and python_version < "4.0") and (extra == "all" or extra == "server")
29
- Requires-Dist: netifaces (>=0.11.0) ; (python_version >= "3.8" and python_version < "4.0") and (extra == "all" or extra == "server")
27
+ Requires-Dist: mikro-next (>=0.1.25) ; (python_version >= "3.10" and python_version < "4.0") and (extra == "all")
28
+ Requires-Dist: namegenerator (>=1.0.6) ; (python_version >= "3.8" and python_version < "4.0") and (extra == "all" or extra == "blok")
29
+ Requires-Dist: netifaces (>=0.11.0) ; (python_version >= "3.8" and python_version < "4.0") and (extra == "all" or extra == "blok")
30
30
  Requires-Dist: reaktion-next (>=0.1.59) ; (python_version >= "3.8" and python_version < "4.0") and (extra == "all")
31
- Requires-Dist: rekuest-next (>=0.2.13) ; (python_version >= "3.8" and python_version < "4.0") and (extra == "cli" or extra == "all")
31
+ Requires-Dist: rekuest-next (>=0.2.14) ; (python_version >= "3.8" and python_version < "4.0") and (extra == "cli" or extra == "all")
32
32
  Requires-Dist: rich-click (>=1.6.1) ; extra == "cli" or extra == "all"
33
33
  Requires-Dist: semver (>=3.0.1) ; extra == "cli" or extra == "all"
34
34
  Requires-Dist: turms (>=0.5.0) ; (python_version >= "3.9" and python_version < "4.0") and (extra == "cli" or extra == "all")
35
- Requires-Dist: unlok-next (>=0.1.64) ; python_version >= "3.8" and python_version < "4.0"
35
+ Requires-Dist: unlok-next (>=0.1.65) ; python_version >= "3.8" and python_version < "4.0"
36
36
  Requires-Dist: watchfiles (>=0.18.1) ; extra == "cli" or extra == "all"
37
37
  Description-Content-Type: text/markdown
38
38
 
@@ -1,4 +1,4 @@
1
- arkitekt_next/__blok__.py,sha256=k4ZLfVMDgdkGXHrG3ilX7G-siKG3g0wSzat-c6eMciw,1234
1
+ arkitekt_next/__blok__.py,sha256=MednehD5TP0rhi4Y3JGOinwTVfja-0F-YliY2p83hkU,1476
2
2
  arkitekt_next/__init__.py,sha256=KFM_HlnIQWX7hXSZnYba3rdmZrsBE69K58rwh8ewxoM,970
3
3
  arkitekt_next/apps/__init__.py,sha256=cx_5Y-RkJFkSQJH-hUEC_L3eW1jU2E426c4e6_csIyM,42
4
4
  arkitekt_next/apps/easy.py,sha256=8eu-0DCWit2Ok4SPw_QCyriBZHPnLc1oK9qxPUxnElg,3135
@@ -14,33 +14,38 @@ arkitekt_next/apps/service/herre_qt.py,sha256=GntkKHmwcQqEFab02SWwdd3xONo0fLVGEP
14
14
  arkitekt_next/apps/types.py,sha256=cKRqHyKlNcGamPUxzvY0wyz0sEI4sBPa4CnvFnT1sTo,1140
15
15
  arkitekt_next/bloks/__init__.py,sha256=gXny6-WJ3alV1__xveI_0wcvgDuglR1WB7v7-8h1Olo,30
16
16
  arkitekt_next/bloks/admin.py,sha256=MlUQUYCHxCWtSD75mVHgs3DcDa0s8_D6_AIBslnYjZw,1300
17
- arkitekt_next/bloks/arkitekt.py,sha256=-ZITnWpkzpniUZQ7ZPjCH_RVqyCNPBtYnXWNTHd4eYw,1185
17
+ arkitekt_next/bloks/arkitekt.py,sha256=1h2fyJK-TcuiOVFyE7iO2S1jwLv52APsQpfxddmHWjk,1263
18
18
  arkitekt_next/bloks/config.py,sha256=SqJg9kB0AQ62b_WpIKgJ8Jpcqpc-AKN7gdEj87O-UGY,1268
19
- arkitekt_next/bloks/fluss.py,sha256=0It4jxafGH-ehzXvd1eC9Tq9ZP4Kjra24eaHBCIaHJM,2820
20
- arkitekt_next/bloks/funcs.py,sha256=6QImH3eOSd6KXd8XfaulexAzy16A_J8GJi58Q18MQms,2641
21
- arkitekt_next/bloks/gateway.py,sha256=pym9pw8ycGgTzeskirkUZ19akvCitLabgQlU1r-wZdM,5021
22
- arkitekt_next/bloks/internal_docker.py,sha256=HWGgt4Jjr1ftEFwkYiw7m02eTiNAK5vaRYVtn0Jskd8,2255
23
- arkitekt_next/bloks/kabinet.py,sha256=ELGAkBQWarS5A-leTE2tXLgwrcXQBPz_FgLbMkYdJcU,3002
24
- arkitekt_next/bloks/livekit.py,sha256=Es0CJcQJJjyYD4OBa3_6K8bHmQRsikrECgnPflFCO4E,2694
25
- arkitekt_next/bloks/lok.py,sha256=7Fxk8U-hX7MgnIj1C1vGTA7yPBDTnqRLL31vPzAbEVE,11996
26
- arkitekt_next/bloks/mikro.py,sha256=A0Q3SkVpZYYp1nhQFiW6gCzv5D0h8fKm_p8KdoJauXI,2817
27
- arkitekt_next/bloks/minio.py,sha256=XkhApIyM7wwI1NPFBZWi5ES0grzDXPbe_RwEHCCxZcs,5823
19
+ arkitekt_next/bloks/fluss.py,sha256=07l8mdS35JyuEthv4xH9qpCCNepMkJGm02PxEakQBD0,2671
20
+ arkitekt_next/bloks/funcs.py,sha256=z1b58hENZfTfXYEqg_pP_2hm3ogDyu9_Ek8wk1P5XkA,3633
21
+ arkitekt_next/bloks/gateway.py,sha256=a1suHpSbdvu-KnkExYtRAxizwHhQXQhvoil8g24sLG4,6234
22
+ arkitekt_next/bloks/internal_docker.py,sha256=q9gPPtU1m0-0eeqF4zxtCELp4lF8TVZSJi1qVwnSWus,2421
23
+ arkitekt_next/bloks/kabinet.py,sha256=RMetXRKFRO9z_eGPXyzGCHTo9HJlcPaew2lfCltGoMg,2937
24
+ arkitekt_next/bloks/livekit.py,sha256=yhre3PkIQwKGdGPFC-DhTID3rIbRQMts_UsAX9tw6-A,2561
25
+ arkitekt_next/bloks/lok.py,sha256=xf7RZYJ6QsfFTM6a9eNm-RcCmo9y3C_W8Eh7d_57uNg,12857
26
+ arkitekt_next/bloks/mikro.py,sha256=vNM9K7I3AK2G0WooaMQl7U8-_TN96P2YUfblqAMsvdI,2772
27
+ arkitekt_next/bloks/minio.py,sha256=k7t1J46lO3eaBO9KdP7iYF--Go-m25dEmOwisbbOoVQ,5496
28
28
  arkitekt_next/bloks/mount.py,sha256=d14w7bMiaWbl5wgvanh4PwfIqEYsDEsw91360xfX0fU,1031
29
+ arkitekt_next/bloks/namegen.py,sha256=0k4PYya5J4EQyt3XZ3UKhDlO_k29pmUEQSaklZGN8MA,1035
29
30
  arkitekt_next/bloks/postgres.py,sha256=FRUF2fobUlU6OmK1VC7aN_WuX1NctLmZhzJJA1uOOeY,2773
30
- arkitekt_next/bloks/redis.py,sha256=XKuujfu1j85IZEab9ZG2m0G09g7Jba8o28q2PIBg_0I,2134
31
- arkitekt_next/bloks/rekuest.py,sha256=NfYbobDzlpTfPf88_-YwEDTwgOCg-OTLwiaWw5vssNU,3007
32
- arkitekt_next/bloks/services/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
31
+ arkitekt_next/bloks/redis.py,sha256=_ddmcD3WwX7VA7zzzQ7-yjSM7f4reV0C8Pl70s7R2k8,2130
32
+ arkitekt_next/bloks/rekuest.py,sha256=OgX_OeVeGVK-pSL3S8cocUWsYX929Yv5o9NuEvkwJr0,2975
33
+ arkitekt_next/bloks/secret.py,sha256=P4Z56FhcgVD0KbokhcMNAXwDjo_86rI99nWh3gUGXSQ,1014
34
+ arkitekt_next/bloks/services/__init__.py,sha256=i9vGNd1lFBem3O2PblTouRzFVQkdwOYoUmqqU43dIWQ,592
33
35
  arkitekt_next/bloks/services/admin.py,sha256=OXMAHph5lABNPFsXm8aboWffJ7CzSSNvke7xpmj9raI,463
34
36
  arkitekt_next/bloks/services/config.py,sha256=BLtbKXRRWmuZxvaaksuxt9EiDcazYwKL_IUIRhXBin8,393
35
37
  arkitekt_next/bloks/services/db.py,sha256=jMO751KJYjNmvHD0tOTWgkkemwTXc6mLHAge_i68JSA,600
36
- arkitekt_next/bloks/services/gateway.py,sha256=3tA1pS2vniVC3LhJ4O6chGRG6wUA44EPLAML4aiHm3k,530
38
+ arkitekt_next/bloks/services/gateway.py,sha256=9dDv2aWCErkZ9JreqHdKax63_Imbc2EnWhpeScLnI7Q,799
37
39
  arkitekt_next/bloks/services/livekit.py,sha256=5u-GThgKsgXiiobEL4arm3JJOgNTZae15Q-75i-4D8g,366
38
- arkitekt_next/bloks/services/lok.py,sha256=OYC5BVr3MxeP8AuARO56UFL4490Yygcscdm5DQq-fVs,517
40
+ arkitekt_next/bloks/services/lok.py,sha256=fzOGum0VmcVaONUhTv4jHYky4WrFq2ygDAYJjBv2vAI,500
39
41
  arkitekt_next/bloks/services/mount.py,sha256=MDlwHl5cTfBO8IgkofuFjQBbfIMKDm_R9suWkiyVG48,289
40
- arkitekt_next/bloks/services/redis.py,sha256=d5cSk2v6A6CvYULocwd2Cnx9RkHKYHmZT1mZmZQNKgs,633
41
- arkitekt_next/bloks/services/s3.py,sha256=njXlLzUssj46w90bMdqO-7HSAVQtZHH2r1yVNlR-mfU,492
42
+ arkitekt_next/bloks/services/name.py,sha256=ZMDlZwnSaoIUj7STlpFo32nHKMuOibKzetYWSjh-t-c,254
43
+ arkitekt_next/bloks/services/redis.py,sha256=hC8cKXkGzwrY183fI-8wjUY8Ge58lNhcX7r4zAPfq_k,469
44
+ arkitekt_next/bloks/services/s3.py,sha256=_mk_9NdaeHRVZ__1M9CL1Ec1gSQKkzlOiQXse7MSx94,485
45
+ arkitekt_next/bloks/services/secret.py,sha256=iUG1ZH_dR0tL48rueNOK2ILjEnyqNJjQCY-4KKrB_Zg,342
42
46
  arkitekt_next/bloks/services/socket.py,sha256=eXACQPldS9I1xGVDcbF6LrVkHHsBcjvG1VtlvHnM-14,427
43
47
  arkitekt_next/bloks/socket.py,sha256=YIrSKfQezrsKwRKDPdT1aXhlQzjgnx_UaNaQ9LiEfGY,1008
48
+ arkitekt_next/bloks/tailscale.py,sha256=YXsiIxjqJV5WeQTO81yIa2Ajj40K-95X0cxH46Sq66c,2356
44
49
  arkitekt_next/builders.py,sha256=8HeQsNqyxpbFsnTrA9AAm0_BqxGjU1_ylS1Z-hbjAFw,6074
45
50
  arkitekt_next/cli/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
46
51
  arkitekt_next/cli/commands/call/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
@@ -140,8 +145,8 @@ arkitekt_next/qt/utils.py,sha256=MgBPtPmCSBkIuATov3UgREESwxAHh77lWNNxyE7Qs48,773
140
145
  arkitekt_next/service_registry.py,sha256=pczUuP_Nve7OYwB7-oDBLIw6bkjZPnzL3xFca5TF1io,3405
141
146
  arkitekt_next/tqdm.py,sha256=DlrxPluHao7TvW-Cqgt0UokRS-fM2_ZNiWiddqvCqCc,1488
142
147
  arkitekt_next/utils.py,sha256=gmKWy9M51vimohmmaoIpAJ0CaB22TFP0w3JszRrwiak,2379
143
- arkitekt_next-0.7.37.dist-info/LICENSE,sha256=YZ2oRjC248t-GpoEyw7J13vwKYNG6zhYMaEAix6EzF0,1089
144
- arkitekt_next-0.7.37.dist-info/METADATA,sha256=JlgMZxKF27Jz9ISd5p7r4X9imLi9jo1cBrav4LFYPH4,6055
145
- arkitekt_next-0.7.37.dist-info/WHEEL,sha256=sP946D7jFCHeNz5Iq4fL4Lu-PrWrFsgfLXbbkciIZwg,88
146
- arkitekt_next-0.7.37.dist-info/entry_points.txt,sha256=-hxikQx4xZ6TiOnWVDOlTN_kcAISgGFvTHXIchsCHSc,60
147
- arkitekt_next-0.7.37.dist-info/RECORD,,
148
+ arkitekt_next-0.7.39.dist-info/LICENSE,sha256=YZ2oRjC248t-GpoEyw7J13vwKYNG6zhYMaEAix6EzF0,1089
149
+ arkitekt_next-0.7.39.dist-info/METADATA,sha256=gXziwIUKyXIwy__Mhs0Uy_GARlY72VjbFF-6ZFVjDyM,6045
150
+ arkitekt_next-0.7.39.dist-info/WHEEL,sha256=sP946D7jFCHeNz5Iq4fL4Lu-PrWrFsgfLXbbkciIZwg,88
151
+ arkitekt_next-0.7.39.dist-info/entry_points.txt,sha256=-hxikQx4xZ6TiOnWVDOlTN_kcAISgGFvTHXIchsCHSc,60
152
+ arkitekt_next-0.7.39.dist-info/RECORD,,