arkitekt-next 0.8.47__tar.gz → 0.8.48__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.
- {arkitekt_next-0.8.47 → arkitekt_next-0.8.48}/PKG-INFO +5 -5
- {arkitekt_next-0.8.47 → arkitekt_next-0.8.48}/arkitekt_next/__init__.py +4 -0
- {arkitekt_next-0.8.47 → arkitekt_next-0.8.48}/arkitekt_next/apps/service/fakts_next.py +10 -12
- {arkitekt_next-0.8.47 → arkitekt_next-0.8.48}/arkitekt_next/apps/service/fakts_qt.py +14 -13
- {arkitekt_next-0.8.47 → arkitekt_next-0.8.48}/arkitekt_next/apps/service/herre.py +3 -1
- {arkitekt_next-0.8.47 → arkitekt_next-0.8.48}/arkitekt_next/apps/types.py +0 -1
- {arkitekt_next-0.8.47 → arkitekt_next-0.8.48}/arkitekt_next/base_models.py +3 -8
- {arkitekt_next-0.8.47 → arkitekt_next-0.8.48}/arkitekt_next/bloks/lok.py +4 -1
- {arkitekt_next-0.8.47 → arkitekt_next-0.8.48}/arkitekt_next/builders.py +0 -1
- {arkitekt_next-0.8.47 → arkitekt_next-0.8.48}/arkitekt_next/cli/commands/delegate/script.py +0 -4
- {arkitekt_next-0.8.47 → arkitekt_next-0.8.48}/arkitekt_next/cli/commands/gen/compile.py +0 -8
- {arkitekt_next-0.8.47 → arkitekt_next-0.8.48}/arkitekt_next/cli/commands/gen/init.py +7 -14
- {arkitekt_next-0.8.47 → arkitekt_next-0.8.48}/arkitekt_next/cli/commands/inspect/requirements.py +1 -4
- {arkitekt_next-0.8.47 → arkitekt_next-0.8.48}/arkitekt_next/cli/commands/inspect/templates.py +1 -1
- {arkitekt_next-0.8.47 → arkitekt_next-0.8.48}/arkitekt_next/cli/io.py +9 -10
- {arkitekt_next-0.8.47 → arkitekt_next-0.8.48}/arkitekt_next/cli/texts.py +3 -1
- {arkitekt_next-0.8.47 → arkitekt_next-0.8.48}/arkitekt_next/cli/types.py +9 -3
- {arkitekt_next-0.8.47 → arkitekt_next-0.8.48}/arkitekt_next/qt/magic_bar.py +1 -5
- {arkitekt_next-0.8.47 → arkitekt_next-0.8.48}/arkitekt_next/qt/types.py +1 -0
- {arkitekt_next-0.8.47 → arkitekt_next-0.8.48}/arkitekt_next/service_registry.py +35 -39
- {arkitekt_next-0.8.47 → arkitekt_next-0.8.48}/arkitekt_next/utils.py +3 -2
- {arkitekt_next-0.8.47 → arkitekt_next-0.8.48}/pyproject.toml +5 -5
- {arkitekt_next-0.8.47 → arkitekt_next-0.8.48}/LICENSE +0 -0
- {arkitekt_next-0.8.47 → arkitekt_next-0.8.48}/README.md +0 -0
- {arkitekt_next-0.8.47 → arkitekt_next-0.8.48}/arkitekt_next/__blok__.py +0 -0
- {arkitekt_next-0.8.47 → arkitekt_next-0.8.48}/arkitekt_next/apps/__init__.py +0 -0
- {arkitekt_next-0.8.47 → arkitekt_next-0.8.48}/arkitekt_next/apps/service/__init__.py +0 -0
- {arkitekt_next-0.8.47 → arkitekt_next-0.8.48}/arkitekt_next/apps/service/grant_registry.py +0 -0
- {arkitekt_next-0.8.47 → arkitekt_next-0.8.48}/arkitekt_next/apps/service/herre_qt.py +0 -0
- {arkitekt_next-0.8.47 → arkitekt_next-0.8.48}/arkitekt_next/bloks/__init__.py +0 -0
- {arkitekt_next-0.8.47 → arkitekt_next-0.8.48}/arkitekt_next/bloks/admin.py +0 -0
- {arkitekt_next-0.8.47 → arkitekt_next-0.8.48}/arkitekt_next/bloks/arkitekt.py +0 -0
- {arkitekt_next-0.8.47 → arkitekt_next-0.8.48}/arkitekt_next/bloks/base.py +0 -0
- {arkitekt_next-0.8.47 → arkitekt_next-0.8.48}/arkitekt_next/bloks/config.py +0 -0
- {arkitekt_next-0.8.47 → arkitekt_next-0.8.48}/arkitekt_next/bloks/fluss.py +0 -0
- {arkitekt_next-0.8.47 → arkitekt_next-0.8.48}/arkitekt_next/bloks/gateway.py +0 -0
- {arkitekt_next-0.8.47 → arkitekt_next-0.8.48}/arkitekt_next/bloks/internal_docker.py +0 -0
- {arkitekt_next-0.8.47 → arkitekt_next-0.8.48}/arkitekt_next/bloks/kabinet.py +0 -0
- {arkitekt_next-0.8.47 → arkitekt_next-0.8.48}/arkitekt_next/bloks/livekit.py +0 -0
- {arkitekt_next-0.8.47 → arkitekt_next-0.8.48}/arkitekt_next/bloks/mikro.py +0 -0
- {arkitekt_next-0.8.47 → arkitekt_next-0.8.48}/arkitekt_next/bloks/minio.py +0 -0
- {arkitekt_next-0.8.47 → arkitekt_next-0.8.48}/arkitekt_next/bloks/mount.py +0 -0
- {arkitekt_next-0.8.47 → arkitekt_next-0.8.48}/arkitekt_next/bloks/namegen.py +0 -0
- {arkitekt_next-0.8.47 → arkitekt_next-0.8.48}/arkitekt_next/bloks/orkestrator.py +0 -0
- {arkitekt_next-0.8.47 → arkitekt_next-0.8.48}/arkitekt_next/bloks/postgres.py +0 -0
- {arkitekt_next-0.8.47 → arkitekt_next-0.8.48}/arkitekt_next/bloks/redis.py +0 -0
- {arkitekt_next-0.8.47 → arkitekt_next-0.8.48}/arkitekt_next/bloks/rekuest.py +0 -0
- {arkitekt_next-0.8.47 → arkitekt_next-0.8.48}/arkitekt_next/bloks/secret.py +0 -0
- {arkitekt_next-0.8.47 → arkitekt_next-0.8.48}/arkitekt_next/bloks/services/__init__.py +0 -0
- {arkitekt_next-0.8.47 → arkitekt_next-0.8.48}/arkitekt_next/bloks/services/admin.py +0 -0
- {arkitekt_next-0.8.47 → arkitekt_next-0.8.48}/arkitekt_next/bloks/services/config.py +0 -0
- {arkitekt_next-0.8.47 → arkitekt_next-0.8.48}/arkitekt_next/bloks/services/db.py +0 -0
- {arkitekt_next-0.8.47 → arkitekt_next-0.8.48}/arkitekt_next/bloks/services/gateway.py +0 -0
- {arkitekt_next-0.8.47 → arkitekt_next-0.8.48}/arkitekt_next/bloks/services/livekit.py +0 -0
- {arkitekt_next-0.8.47 → arkitekt_next-0.8.48}/arkitekt_next/bloks/services/lok.py +0 -0
- {arkitekt_next-0.8.47 → arkitekt_next-0.8.48}/arkitekt_next/bloks/services/mount.py +0 -0
- {arkitekt_next-0.8.47 → arkitekt_next-0.8.48}/arkitekt_next/bloks/services/name.py +0 -0
- {arkitekt_next-0.8.47 → arkitekt_next-0.8.48}/arkitekt_next/bloks/services/redis.py +0 -0
- {arkitekt_next-0.8.47 → arkitekt_next-0.8.48}/arkitekt_next/bloks/services/s3.py +0 -0
- {arkitekt_next-0.8.47 → arkitekt_next-0.8.48}/arkitekt_next/bloks/services/secret.py +0 -0
- {arkitekt_next-0.8.47 → arkitekt_next-0.8.48}/arkitekt_next/bloks/services/socket.py +0 -0
- {arkitekt_next-0.8.47 → arkitekt_next-0.8.48}/arkitekt_next/bloks/socket.py +0 -0
- {arkitekt_next-0.8.47 → arkitekt_next-0.8.48}/arkitekt_next/bloks/tailscale.py +0 -0
- {arkitekt_next-0.8.47 → arkitekt_next-0.8.48}/arkitekt_next/cli/__init__.py +0 -0
- {arkitekt_next-0.8.47 → arkitekt_next-0.8.48}/arkitekt_next/cli/commands/call/__init__.py +0 -0
- {arkitekt_next-0.8.47 → arkitekt_next-0.8.48}/arkitekt_next/cli/commands/call/local.py +0 -0
- {arkitekt_next-0.8.47 → arkitekt_next-0.8.48}/arkitekt_next/cli/commands/call/main.py +0 -0
- {arkitekt_next-0.8.47 → arkitekt_next-0.8.48}/arkitekt_next/cli/commands/call/remote.py +0 -0
- {arkitekt_next-0.8.47 → arkitekt_next-0.8.48}/arkitekt_next/cli/commands/delegate/__init__.py +0 -0
- {arkitekt_next-0.8.47 → arkitekt_next-0.8.48}/arkitekt_next/cli/commands/delegate/main.py +0 -0
- {arkitekt_next-0.8.47 → arkitekt_next-0.8.48}/arkitekt_next/cli/commands/gen/__init__.py +0 -0
- {arkitekt_next-0.8.47 → arkitekt_next-0.8.48}/arkitekt_next/cli/commands/gen/main.py +0 -0
- {arkitekt_next-0.8.47 → arkitekt_next-0.8.48}/arkitekt_next/cli/commands/gen/watch.py +0 -0
- {arkitekt_next-0.8.47 → arkitekt_next-0.8.48}/arkitekt_next/cli/commands/init/__init__.py +0 -0
- {arkitekt_next-0.8.47 → arkitekt_next-0.8.48}/arkitekt_next/cli/commands/init/main.py +0 -0
- {arkitekt_next-0.8.47 → arkitekt_next-0.8.48}/arkitekt_next/cli/commands/inspect/__init__.py +0 -0
- {arkitekt_next-0.8.47 → arkitekt_next-0.8.48}/arkitekt_next/cli/commands/inspect/main.py +0 -0
- {arkitekt_next-0.8.47 → arkitekt_next-0.8.48}/arkitekt_next/cli/commands/inspect/variables.py +0 -0
- {arkitekt_next-0.8.47 → arkitekt_next-0.8.48}/arkitekt_next/cli/commands/kabinet/__init__.py +0 -0
- {arkitekt_next-0.8.47 → arkitekt_next-0.8.48}/arkitekt_next/cli/commands/kabinet/build.py +0 -0
- {arkitekt_next-0.8.47 → arkitekt_next-0.8.48}/arkitekt_next/cli/commands/kabinet/init.py +0 -0
- {arkitekt_next-0.8.47 → arkitekt_next-0.8.48}/arkitekt_next/cli/commands/kabinet/main.py +0 -0
- {arkitekt_next-0.8.47 → arkitekt_next-0.8.48}/arkitekt_next/cli/commands/kabinet/publish.py +0 -0
- {arkitekt_next-0.8.47 → arkitekt_next-0.8.48}/arkitekt_next/cli/commands/kabinet/stage.py +0 -0
- {arkitekt_next-0.8.47 → arkitekt_next-0.8.48}/arkitekt_next/cli/commands/kabinet/utils.py +0 -0
- {arkitekt_next-0.8.47 → arkitekt_next-0.8.48}/arkitekt_next/cli/commands/kabinet/validate.py +0 -0
- {arkitekt_next-0.8.47 → arkitekt_next-0.8.48}/arkitekt_next/cli/commands/kabinet/wizard.py +0 -0
- {arkitekt_next-0.8.47 → arkitekt_next-0.8.48}/arkitekt_next/cli/commands/manifest/__init__.py +0 -0
- {arkitekt_next-0.8.47 → arkitekt_next-0.8.48}/arkitekt_next/cli/commands/manifest/inspect.py +0 -0
- {arkitekt_next-0.8.47 → arkitekt_next-0.8.48}/arkitekt_next/cli/commands/manifest/main.py +0 -0
- {arkitekt_next-0.8.47 → arkitekt_next-0.8.48}/arkitekt_next/cli/commands/manifest/scopes.py +0 -0
- {arkitekt_next-0.8.47 → arkitekt_next-0.8.48}/arkitekt_next/cli/commands/manifest/version.py +0 -0
- {arkitekt_next-0.8.47 → arkitekt_next-0.8.48}/arkitekt_next/cli/commands/manifest/wizard.py +0 -0
- {arkitekt_next-0.8.47 → arkitekt_next-0.8.48}/arkitekt_next/cli/commands/run/__init__.py +0 -0
- {arkitekt_next-0.8.47 → arkitekt_next-0.8.48}/arkitekt_next/cli/commands/run/dev.py +0 -0
- {arkitekt_next-0.8.47 → arkitekt_next-0.8.48}/arkitekt_next/cli/commands/run/main.py +0 -0
- {arkitekt_next-0.8.47 → arkitekt_next-0.8.48}/arkitekt_next/cli/commands/run/prod.py +0 -0
- {arkitekt_next-0.8.47 → arkitekt_next-0.8.48}/arkitekt_next/cli/commands/run/utils.py +0 -0
- {arkitekt_next-0.8.47 → arkitekt_next-0.8.48}/arkitekt_next/cli/configs/base.yaml +0 -0
- {arkitekt_next-0.8.47 → arkitekt_next-0.8.48}/arkitekt_next/cli/constants.py +0 -0
- {arkitekt_next-0.8.47 → arkitekt_next-0.8.48}/arkitekt_next/cli/dockerfiles/vanilla.dockerfile +0 -0
- {arkitekt_next-0.8.47 → arkitekt_next-0.8.48}/arkitekt_next/cli/errors.py +0 -0
- {arkitekt_next-0.8.47 → arkitekt_next-0.8.48}/arkitekt_next/cli/inspect.py +0 -0
- {arkitekt_next-0.8.47 → arkitekt_next-0.8.48}/arkitekt_next/cli/main.py +0 -0
- {arkitekt_next-0.8.47 → arkitekt_next-0.8.48}/arkitekt_next/cli/options.py +0 -0
- {arkitekt_next-0.8.47 → arkitekt_next-0.8.48}/arkitekt_next/cli/schemas/fluss.schema.graphql +0 -0
- {arkitekt_next-0.8.47 → arkitekt_next-0.8.48}/arkitekt_next/cli/schemas/gucker.schema.graphql +0 -0
- {arkitekt_next-0.8.47 → arkitekt_next-0.8.48}/arkitekt_next/cli/schemas/kabinet.schema.graphql +0 -0
- {arkitekt_next-0.8.47 → arkitekt_next-0.8.48}/arkitekt_next/cli/schemas/kluster.schema.graphql +0 -0
- {arkitekt_next-0.8.47 → arkitekt_next-0.8.48}/arkitekt_next/cli/schemas/konviktion.schema.graphql +0 -0
- {arkitekt_next-0.8.47 → arkitekt_next-0.8.48}/arkitekt_next/cli/schemas/kuay.schema.graphql +0 -0
- {arkitekt_next-0.8.47 → arkitekt_next-0.8.48}/arkitekt_next/cli/schemas/mikro.schema.graphql +0 -0
- {arkitekt_next-0.8.47 → arkitekt_next-0.8.48}/arkitekt_next/cli/schemas/mikro_next.schema.graphql +0 -0
- {arkitekt_next-0.8.47 → arkitekt_next-0.8.48}/arkitekt_next/cli/schemas/napari.schema.graphql +0 -0
- {arkitekt_next-0.8.47 → arkitekt_next-0.8.48}/arkitekt_next/cli/schemas/omero_ark.schema.graphql +0 -0
- {arkitekt_next-0.8.47 → arkitekt_next-0.8.48}/arkitekt_next/cli/schemas/port.schema.graphql +0 -0
- {arkitekt_next-0.8.47 → arkitekt_next-0.8.48}/arkitekt_next/cli/schemas/rekuest.schema.graphql +0 -0
- {arkitekt_next-0.8.47 → arkitekt_next-0.8.48}/arkitekt_next/cli/schemas/rekuest_next.schema.graphql +0 -0
- {arkitekt_next-0.8.47 → arkitekt_next-0.8.48}/arkitekt_next/cli/schemas/unlok.schema.graphql +0 -0
- {arkitekt_next-0.8.47 → arkitekt_next-0.8.48}/arkitekt_next/cli/templates/filter.py +0 -0
- {arkitekt_next-0.8.47 → arkitekt_next-0.8.48}/arkitekt_next/cli/templates/simple.py +0 -0
- {arkitekt_next-0.8.47 → arkitekt_next-0.8.48}/arkitekt_next/cli/ui.py +0 -0
- {arkitekt_next-0.8.47 → arkitekt_next-0.8.48}/arkitekt_next/cli/utils.py +0 -0
- {arkitekt_next-0.8.47 → arkitekt_next-0.8.48}/arkitekt_next/cli/validators.py +0 -0
- {arkitekt_next-0.8.47 → arkitekt_next-0.8.48}/arkitekt_next/cli/vars.py +0 -0
- {arkitekt_next-0.8.47 → arkitekt_next-0.8.48}/arkitekt_next/cli/versions/v1.yaml +0 -0
- {arkitekt_next-0.8.47 → arkitekt_next-0.8.48}/arkitekt_next/constants.py +0 -0
- {arkitekt_next-0.8.47 → arkitekt_next-0.8.48}/arkitekt_next/qt/__init__.py +0 -0
- {arkitekt_next-0.8.47 → arkitekt_next-0.8.48}/arkitekt_next/qt/assets/dark/gear.png +0 -0
- {arkitekt_next-0.8.47 → arkitekt_next-0.8.48}/arkitekt_next/qt/assets/dark/green pulse.gif +0 -0
- {arkitekt_next-0.8.47 → arkitekt_next-0.8.48}/arkitekt_next/qt/assets/dark/orange pulse.gif +0 -0
- {arkitekt_next-0.8.47 → arkitekt_next-0.8.48}/arkitekt_next/qt/assets/dark/pink pulse.gif +0 -0
- {arkitekt_next-0.8.47 → arkitekt_next-0.8.48}/arkitekt_next/qt/assets/dark/red pulse.gif +0 -0
- {arkitekt_next-0.8.47 → arkitekt_next-0.8.48}/arkitekt_next/qt/assets/light/gear.png +0 -0
- {arkitekt_next-0.8.47 → arkitekt_next-0.8.48}/arkitekt_next/qt/assets/light/green pulse.gif +0 -0
- {arkitekt_next-0.8.47 → arkitekt_next-0.8.48}/arkitekt_next/qt/assets/light/orange pulse.gif +0 -0
- {arkitekt_next-0.8.47 → arkitekt_next-0.8.48}/arkitekt_next/qt/assets/light/pink pulse.gif +0 -0
- {arkitekt_next-0.8.47 → arkitekt_next-0.8.48}/arkitekt_next/qt/assets/light/red pulse.gif +0 -0
- {arkitekt_next-0.8.47 → arkitekt_next-0.8.48}/arkitekt_next/qt/builders.py +0 -0
- {arkitekt_next-0.8.47 → arkitekt_next-0.8.48}/arkitekt_next/qt/utils.py +0 -0
- {arkitekt_next-0.8.47 → arkitekt_next-0.8.48}/arkitekt_next/tqdm.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.1
|
|
2
2
|
Name: arkitekt-next
|
|
3
|
-
Version: 0.8.
|
|
3
|
+
Version: 0.8.48
|
|
4
4
|
Summary: client for the arkitekt_next platform
|
|
5
5
|
License: MIT
|
|
6
6
|
Author: jhnnsrs
|
|
@@ -21,18 +21,18 @@ Provides-Extra: stream
|
|
|
21
21
|
Requires-Dist: blok (>=0.0.19) ; (python_version >= "3.9" and python_version < "4.0") and (extra == "blok")
|
|
22
22
|
Requires-Dist: cryptography (>=40.0.8) ; (python_version >= "3.8" and python_version < "4.0") and (extra == "blok")
|
|
23
23
|
Requires-Dist: dokker (>=1.0.0)
|
|
24
|
-
Requires-Dist: fakts-next (>=1.0.
|
|
24
|
+
Requires-Dist: fakts-next (>=1.0.3)
|
|
25
25
|
Requires-Dist: fluss-next (>=0.1.95) ; extra == "all"
|
|
26
26
|
Requires-Dist: herre-next (>=1.0.2)
|
|
27
27
|
Requires-Dist: kabinet (>=0.1.45) ; (python_version >= "3.9" and python_version < "4.0") and (extra == "all")
|
|
28
28
|
Requires-Dist: koil (>=1.0.3)
|
|
29
29
|
Requires-Dist: kraph (>=0.1.100) ; (python_version >= "3.8" and python_version < "4.0") and (extra == "extended")
|
|
30
|
-
Requires-Dist: lovekit (>=0.1.
|
|
30
|
+
Requires-Dist: lovekit (>=0.1.18) ; (python_version >= "3.10" and python_version < "4.0") and (extra == "stream")
|
|
31
31
|
Requires-Dist: mikro-next (>=0.1.50) ; (python_version >= "3.10" and python_version < "4.0") and (extra == "all")
|
|
32
32
|
Requires-Dist: namegenerator (>=1.0.6) ; (python_version >= "3.8" and python_version < "4.0") and (extra == "blok")
|
|
33
33
|
Requires-Dist: netifaces (>=0.11.0) ; (python_version >= "3.8" and python_version < "4.0") and (extra == "blok")
|
|
34
|
-
Requires-Dist: reaktion-next (>=0.1.
|
|
35
|
-
Requires-Dist: rekuest-next (>=0.2.
|
|
34
|
+
Requires-Dist: reaktion-next (>=0.1.86) ; (python_version >= "3.8" and python_version < "4.0") and (extra == "all")
|
|
35
|
+
Requires-Dist: rekuest-next (>=0.2.54) ; (python_version >= "3.8" and python_version < "4.0") and (extra == "cli" or extra == "all")
|
|
36
36
|
Requires-Dist: rich-click (>=1.6.1) ; extra == "cli" or extra == "all"
|
|
37
37
|
Requires-Dist: semver (>=3.0.1) ; extra == "cli" or extra == "all"
|
|
38
38
|
Requires-Dist: turms (>=0.8.2) ; (python_version >= "3.9" and python_version < "4.0") and (extra == "cli" or extra == "all")
|
|
@@ -32,6 +32,8 @@ except ImportError as e:
|
|
|
32
32
|
|
|
33
33
|
from .builders import easy, interactive
|
|
34
34
|
from .apps.types import App
|
|
35
|
+
from fakts_next.helpers import afakt, fakt
|
|
36
|
+
|
|
35
37
|
|
|
36
38
|
__all__ = [
|
|
37
39
|
"App",
|
|
@@ -42,6 +44,8 @@ __all__ = [
|
|
|
42
44
|
"jupy",
|
|
43
45
|
"log",
|
|
44
46
|
"alog",
|
|
47
|
+
"afakt",
|
|
48
|
+
"fakt",
|
|
45
49
|
"progress",
|
|
46
50
|
"aprogress",
|
|
47
51
|
"scheduler",
|
|
@@ -37,7 +37,6 @@ def build_arkitekt_next_fakts_next(
|
|
|
37
37
|
requested_client_kind=client_kind,
|
|
38
38
|
)
|
|
39
39
|
|
|
40
|
-
|
|
41
40
|
return ArkitektNextFaktsNext(
|
|
42
41
|
grant=RemoteGrant(
|
|
43
42
|
demander=demander,
|
|
@@ -45,10 +44,10 @@ def build_arkitekt_next_fakts_next(
|
|
|
45
44
|
claimer=ClaimEndpointClaimer(),
|
|
46
45
|
),
|
|
47
46
|
cache=FileCache(
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
47
|
+
cache_file=f".arkitekt_next/cache/{identifier}-{version}_fakts_cache.json",
|
|
48
|
+
hash=manifest.hash() + url,
|
|
49
|
+
skip_cache=no_cache,
|
|
50
|
+
),
|
|
52
51
|
)
|
|
53
52
|
|
|
54
53
|
|
|
@@ -62,7 +61,6 @@ def build_arkitekt_next_redeem_fakts_next(
|
|
|
62
61
|
identifier = manifest.identifier
|
|
63
62
|
version = manifest.version
|
|
64
63
|
|
|
65
|
-
|
|
66
64
|
return ArkitektNextFaktsNext(
|
|
67
65
|
grant=RemoteGrant(
|
|
68
66
|
demander=RedeemDemander(token=redeem_token, manifest=manifest),
|
|
@@ -70,9 +68,9 @@ def build_arkitekt_next_redeem_fakts_next(
|
|
|
70
68
|
claimer=ClaimEndpointClaimer(),
|
|
71
69
|
),
|
|
72
70
|
cache=FileCache(
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
71
|
+
cache_file=f".arkitekt_next/cache/{identifier}-{version}_fakts_cache.json",
|
|
72
|
+
hash=manifest.hash() + url,
|
|
73
|
+
),
|
|
76
74
|
)
|
|
77
75
|
|
|
78
76
|
|
|
@@ -91,7 +89,7 @@ def build_arkitekt_next_token_fakts_next(
|
|
|
91
89
|
claimer=ClaimEndpointClaimer(),
|
|
92
90
|
),
|
|
93
91
|
cache=FileCache(
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
92
|
+
cache_file=f".arkitekt_next/cache/{identifier}-{version}_fakts_cache.json",
|
|
93
|
+
hash=manifest.hash() + url,
|
|
94
|
+
),
|
|
97
95
|
)
|
|
@@ -12,6 +12,7 @@ from arkitekt_next.base_models import Manifest
|
|
|
12
12
|
from qtpy import QtCore, QtWidgets
|
|
13
13
|
from fakts_next.cache.qt.settings import QtSettingsCache
|
|
14
14
|
|
|
15
|
+
|
|
15
16
|
class ArkitektNextFaktsQtRemoteGrant(RemoteGrant):
|
|
16
17
|
"""An ArkitektNext Fakts grant that uses Qt widgets for token and endpoint storage"""
|
|
17
18
|
|
|
@@ -38,19 +39,19 @@ def build_arkitekt_next_qt_fakts_next(
|
|
|
38
39
|
return ArkitektNextFaktsQt(
|
|
39
40
|
grant=ArkitektNextFaktsQtRemoteGrant(
|
|
40
41
|
demander=DeviceCodeDemander(
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
42
|
+
manifest=manifest,
|
|
43
|
+
redirect_uri="http://127.0.0.1:6767",
|
|
44
|
+
open_browser=True,
|
|
45
|
+
requested_client_kind="desktop",
|
|
46
|
+
),
|
|
46
47
|
discovery=QtSelectableDiscovery(
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
claimer=ClaimEndpointClaimer()
|
|
48
|
+
widget=beacon_widget,
|
|
49
|
+
settings=settings,
|
|
50
|
+
allow_appending_slash=True,
|
|
51
|
+
auto_protocols=["http", "https"],
|
|
52
|
+
additional_beacons=["http://localhost"],
|
|
53
|
+
),
|
|
54
|
+
claimer=ClaimEndpointClaimer(),
|
|
54
55
|
),
|
|
55
|
-
cache=QtSettingsCache(settings=settings)
|
|
56
|
+
cache=QtSettingsCache(settings=settings),
|
|
56
57
|
)
|
|
@@ -15,7 +15,9 @@ def build_arkitekt_next_herre_next(fakts_next: Fakts) -> ArkitektNextHerre:
|
|
|
15
15
|
return ArkitektNextHerre(
|
|
16
16
|
grant=RefreshGrant(
|
|
17
17
|
grant=FaktsGrant(
|
|
18
|
-
fakts=fakts_next,
|
|
18
|
+
fakts=fakts_next,
|
|
19
|
+
fakts_group="lok",
|
|
20
|
+
grant_registry=ARKITEKT_GRANT_REGISTRY,
|
|
19
21
|
),
|
|
20
22
|
),
|
|
21
23
|
fetcher=FaktsUserFetcher(
|
|
@@ -17,8 +17,6 @@ class Requirement(BaseModel):
|
|
|
17
17
|
""" The description is a human readable description of the requirement. Will be show to the user when asking for the requirement."""
|
|
18
18
|
|
|
19
19
|
|
|
20
|
-
|
|
21
|
-
|
|
22
20
|
class Manifest(BaseModel):
|
|
23
21
|
"""A manifest for an app that can be installed in ArkitektNext
|
|
24
22
|
|
|
@@ -42,9 +40,7 @@ class Manifest(BaseModel):
|
|
|
42
40
|
""" Scopes that this app should request from the user """
|
|
43
41
|
logo: Optional[str]
|
|
44
42
|
""" A URL to the logo of the app TODO: We should enforce this to be a http URL as local paths won't work """
|
|
45
|
-
requirements: Optional[List[Requirement]] = Field(
|
|
46
|
-
default_factory=list
|
|
47
|
-
)
|
|
43
|
+
requirements: Optional[List[Requirement]] = Field(default_factory=list)
|
|
48
44
|
""" Requirements that this app has TODO: What are the requirements? """
|
|
49
45
|
|
|
50
46
|
class Config:
|
|
@@ -52,7 +48,7 @@ class Manifest(BaseModel):
|
|
|
52
48
|
|
|
53
49
|
def hash(self):
|
|
54
50
|
"""Hash the manifest
|
|
55
|
-
|
|
51
|
+
|
|
56
52
|
A manifest describes all the metadata of an app. This method
|
|
57
53
|
hashes the manifest to create a unique hash for the current configuration of the app.
|
|
58
54
|
This hash can be used to check if the app has changed since the last time it was run,
|
|
@@ -60,7 +56,7 @@ class Manifest(BaseModel):
|
|
|
60
56
|
|
|
61
57
|
Returns:
|
|
62
58
|
str: The hash of the manifest
|
|
63
|
-
|
|
59
|
+
|
|
64
60
|
"""
|
|
65
61
|
|
|
66
62
|
unsorted_dict = self.model_dump()
|
|
@@ -76,7 +72,6 @@ class Manifest(BaseModel):
|
|
|
76
72
|
json_dd = json.dumps(unsorted_dict, sort_keys=True)
|
|
77
73
|
# Hash the JSON encoded dictionary
|
|
78
74
|
return sha256(json_dd.encode()).hexdigest()
|
|
79
|
-
|
|
80
75
|
|
|
81
76
|
@field_validator("identifier")
|
|
82
77
|
def check_identifier(cls, v):
|
|
@@ -202,7 +202,10 @@ class LokBlok:
|
|
|
202
202
|
depends_on.append(self.postgress_access.dependency)
|
|
203
203
|
|
|
204
204
|
db_service = {
|
|
205
|
-
"labels": [
|
|
205
|
+
"labels": [
|
|
206
|
+
"fakts_next.service=live.arkitekt.lok",
|
|
207
|
+
"fakts_next.builder=arkitekt.lok",
|
|
208
|
+
],
|
|
206
209
|
"depends_on": depends_on,
|
|
207
210
|
"volumes": [
|
|
208
211
|
"/var/run/docker.sock:/var/run/docker.sock",
|
|
@@ -77,19 +77,15 @@ def script(
|
|
|
77
77
|
|
|
78
78
|
builder = import_builder(builder)
|
|
79
79
|
|
|
80
|
-
|
|
81
|
-
|
|
82
80
|
app = builder(
|
|
83
81
|
**manifest.to_builder_dict(),
|
|
84
82
|
**builder_kwargs,
|
|
85
83
|
)
|
|
86
84
|
|
|
87
|
-
|
|
88
85
|
rekuest: RekuestNext = app.services.get("rekuest")
|
|
89
86
|
|
|
90
87
|
rekuest.agent.register_extension("cli", CLIExtension(" ".join(script_name)))
|
|
91
88
|
|
|
92
|
-
|
|
93
89
|
panel = construct_run_panel(app)
|
|
94
90
|
console.print(panel)
|
|
95
91
|
|
|
@@ -55,7 +55,6 @@ def init(ctx, boring, services, config, documents, schemas, path, seperate_doc_d
|
|
|
55
55
|
|
|
56
56
|
chosen_services = registry.service_builders
|
|
57
57
|
|
|
58
|
-
|
|
59
58
|
if services:
|
|
60
59
|
chosen_services = {
|
|
61
60
|
key: service
|
|
@@ -70,21 +69,18 @@ def init(ctx, boring, services, config, documents, schemas, path, seperate_doc_d
|
|
|
70
69
|
|
|
71
70
|
chosen_services = {service: chosen_services[service]}
|
|
72
71
|
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
72
|
if os.path.exists(config):
|
|
77
73
|
if click.confirm(
|
|
78
74
|
f"GraphQL Config file already exists. Do you want to merge your choices?"
|
|
79
75
|
):
|
|
80
76
|
file = yaml.load(open(config, "r"), Loader=yaml.FullLoader)
|
|
81
77
|
projects = file.get("projects", {})
|
|
82
|
-
click.echo(
|
|
83
|
-
|
|
78
|
+
click.echo(
|
|
79
|
+
f"Merging {','.join(chosen_services.keys())} in {','.join(projects.keys())}..."
|
|
80
|
+
)
|
|
84
81
|
|
|
85
82
|
has_done_something = False
|
|
86
83
|
|
|
87
|
-
|
|
88
84
|
for key, service in chosen_services.items():
|
|
89
85
|
try:
|
|
90
86
|
|
|
@@ -118,8 +114,6 @@ def init(ctx, boring, services, config, documents, schemas, path, seperate_doc_d
|
|
|
118
114
|
out_path = os.path.join(app_schemas, key + ".schema.graphql")
|
|
119
115
|
with open(out_path, "w") as f:
|
|
120
116
|
f.write(schema)
|
|
121
|
-
|
|
122
|
-
|
|
123
117
|
|
|
124
118
|
if schemas:
|
|
125
119
|
project["schema"] = os.path.join(app_schemas, key + ".schema.graphql")
|
|
@@ -128,18 +122,17 @@ def init(ctx, boring, services, config, documents, schemas, path, seperate_doc_d
|
|
|
128
122
|
os.path.join(app_documents, key) + "/**/*.graphql"
|
|
129
123
|
)
|
|
130
124
|
|
|
131
|
-
|
|
132
|
-
|
|
133
125
|
project["extensions"]["turms"]["out_dir"] = path
|
|
134
126
|
project["extensions"]["turms"]["generated_name"] = f"{key}.py"
|
|
135
|
-
del project["extensions"]["turms"]["documents"]
|
|
127
|
+
del project["extensions"]["turms"]["documents"]
|
|
136
128
|
del project["schema_url"]
|
|
137
129
|
|
|
138
130
|
projects[key] = project
|
|
139
131
|
|
|
140
132
|
except Exception as e:
|
|
141
|
-
raise ClickException(
|
|
142
|
-
|
|
133
|
+
raise ClickException(
|
|
134
|
+
f"Failed to initialize project for {key}. Error: {e}"
|
|
135
|
+
) from e
|
|
143
136
|
|
|
144
137
|
if has_done_something:
|
|
145
138
|
graph_config_path = os.path.join(app_directory, config)
|
{arkitekt_next-0.8.47 → arkitekt_next-0.8.48}/arkitekt_next/cli/commands/inspect/requirements.py
RENAMED
|
@@ -66,10 +66,7 @@ def requirements(
|
|
|
66
66
|
logo=manifest.logo,
|
|
67
67
|
)
|
|
68
68
|
|
|
69
|
-
x = [
|
|
70
|
-
item.model_dump(by_alias=True)
|
|
71
|
-
for item in app.manifest.requirements
|
|
72
|
-
]
|
|
69
|
+
x = [item.model_dump(by_alias=True) for item in app.manifest.requirements]
|
|
73
70
|
if machine_readable:
|
|
74
71
|
print("--START_REQUIREMENTS--" + json.dumps(x) + "--END_REQUIREMENTS--")
|
|
75
72
|
|
|
@@ -10,7 +10,12 @@ from arkitekt_next.cli.types import (
|
|
|
10
10
|
Flavour,
|
|
11
11
|
DeploymentsConfigFile,
|
|
12
12
|
)
|
|
13
|
-
from kabinet.api.schema import
|
|
13
|
+
from kabinet.api.schema import (
|
|
14
|
+
InspectionInput,
|
|
15
|
+
AppImageInput,
|
|
16
|
+
DockerImageInput,
|
|
17
|
+
ManifestInput,
|
|
18
|
+
)
|
|
14
19
|
|
|
15
20
|
import yaml
|
|
16
21
|
import json
|
|
@@ -116,18 +121,11 @@ def get_builds(selected_run: Optional[str] = None) -> Dict[str, Build]:
|
|
|
116
121
|
)
|
|
117
122
|
|
|
118
123
|
|
|
119
|
-
|
|
120
|
-
|
|
121
124
|
def manifest_to_input(manifest: Manifest) -> ManifestInput:
|
|
122
125
|
|
|
123
126
|
return ManifestInput(**manifest.model_dump(by_alias=True))
|
|
124
127
|
|
|
125
128
|
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
129
|
def generate_build(
|
|
132
130
|
build_run: str,
|
|
133
131
|
build_id: str,
|
|
@@ -246,7 +244,6 @@ def generate_deployment(
|
|
|
246
244
|
selectors=build.selectors,
|
|
247
245
|
inspection=build.inspection,
|
|
248
246
|
image=DockerImageInput(imageString=image, buildAt=datetime.datetime.now()),
|
|
249
|
-
|
|
250
247
|
)
|
|
251
248
|
|
|
252
249
|
if os.path.exists(config_file):
|
|
@@ -255,7 +252,9 @@ def generate_deployment(
|
|
|
255
252
|
config.app_images.append(app_image)
|
|
256
253
|
config.latest_app_image = app_image.app_image_id
|
|
257
254
|
else:
|
|
258
|
-
config = DeploymentsConfigFile(
|
|
255
|
+
config = DeploymentsConfigFile(
|
|
256
|
+
app_images=[app_image], latest_app_image=app_image.app_image_id
|
|
257
|
+
)
|
|
259
258
|
|
|
260
259
|
with open(config_file, "w") as file:
|
|
261
260
|
yaml.safe_dump(
|
|
@@ -9,7 +9,12 @@ from arkitekt_next.base_models import Requirement
|
|
|
9
9
|
from string import Formatter
|
|
10
10
|
import os
|
|
11
11
|
|
|
12
|
-
from kabinet.api.schema import
|
|
12
|
+
from kabinet.api.schema import (
|
|
13
|
+
AppImageInput,
|
|
14
|
+
InspectionInput,
|
|
15
|
+
SelectorInput,
|
|
16
|
+
ManifestInput,
|
|
17
|
+
)
|
|
13
18
|
from rekuest_next.api.schema import TemplateInput
|
|
14
19
|
|
|
15
20
|
ALLOWED_BUILDER_KEYS = [
|
|
@@ -94,7 +99,9 @@ class Flavour(BaseModel):
|
|
|
94
99
|
"""Checks that the build_command templates are valid"""
|
|
95
100
|
|
|
96
101
|
for v in value:
|
|
97
|
-
for literal_text, field_name, format_spec, conversion in Formatter().parse(
|
|
102
|
+
for literal_text, field_name, format_spec, conversion in Formatter().parse(
|
|
103
|
+
v
|
|
104
|
+
):
|
|
98
105
|
if field_name is not None:
|
|
99
106
|
assert (
|
|
100
107
|
field_name in ALLOWED_BUILDER_KEYS
|
|
@@ -120,7 +127,6 @@ class Flavour(BaseModel):
|
|
|
120
127
|
)
|
|
121
128
|
|
|
122
129
|
|
|
123
|
-
|
|
124
130
|
class DeploymentsConfigFile(BaseModel):
|
|
125
131
|
"""The ConfigFile is a pydantic model that represents the deployments.yaml file
|
|
126
132
|
|
|
@@ -213,12 +213,8 @@ class Profile(QtWidgets.QDialog):
|
|
|
213
213
|
self.infobar.addWidget(QtWidgets.QLabel(self.app.manifest.identifier))
|
|
214
214
|
self.infobar.addWidget(QtWidgets.QLabel(self.app.manifest.version))
|
|
215
215
|
|
|
216
|
-
|
|
217
216
|
self.unkonfigure_button = QtWidgets.QPushButton("Reconnect")
|
|
218
|
-
self.unkonfigure_button.clicked.connect(
|
|
219
|
-
lambda: self.bar.refresh_task.run(
|
|
220
|
-
)
|
|
221
|
-
)
|
|
217
|
+
self.unkonfigure_button.clicked.connect(lambda: self.bar.refresh_task.run())
|
|
222
218
|
|
|
223
219
|
button_bar = QtWidgets.QHBoxLayout()
|
|
224
220
|
self.infobar.addLayout(button_bar)
|
|
@@ -14,10 +14,6 @@ from typing import runtime_checkable
|
|
|
14
14
|
Params = Dict[str, str]
|
|
15
15
|
|
|
16
16
|
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
17
|
class Registration(BaseModel):
|
|
22
18
|
name: str
|
|
23
19
|
requirement: Requirement
|
|
@@ -28,19 +24,17 @@ class Registration(BaseModel):
|
|
|
28
24
|
@runtime_checkable
|
|
29
25
|
class ArkitektService(Protocol):
|
|
30
26
|
|
|
31
|
-
|
|
32
27
|
def get_service_name(self):
|
|
33
28
|
pass
|
|
34
29
|
|
|
35
|
-
|
|
36
|
-
|
|
30
|
+
def build_service(
|
|
31
|
+
self, fakts: Fakts, herre: Herre, params: Params, manifest: Manifest
|
|
32
|
+
):
|
|
37
33
|
pass
|
|
38
34
|
|
|
39
|
-
|
|
40
35
|
def get_requirements(self):
|
|
41
36
|
pass
|
|
42
37
|
|
|
43
|
-
|
|
44
38
|
def get_graphql_schema(self):
|
|
45
39
|
pass
|
|
46
40
|
|
|
@@ -48,32 +42,33 @@ class ArkitektService(Protocol):
|
|
|
48
42
|
pass
|
|
49
43
|
|
|
50
44
|
|
|
51
|
-
|
|
52
45
|
class BaseArkitektService:
|
|
53
46
|
|
|
54
|
-
|
|
55
47
|
def get_service_name(self):
|
|
56
48
|
raise NotImplementedError("get_service_name not implemented")
|
|
57
|
-
|
|
58
|
-
def build_service(
|
|
49
|
+
|
|
50
|
+
def build_service(
|
|
51
|
+
self, fakts: Fakts, herre: Herre, params: Params, manifest: Manifest
|
|
52
|
+
):
|
|
59
53
|
raise NotImplementedError("build_service not implemented")
|
|
60
|
-
|
|
54
|
+
|
|
61
55
|
def get_requirements(self):
|
|
62
56
|
raise NotImplementedError("get_requirements not implemented")
|
|
63
|
-
|
|
57
|
+
|
|
64
58
|
def get_graphql_schema(self):
|
|
65
59
|
return None
|
|
66
|
-
|
|
60
|
+
|
|
67
61
|
def get_turms_project(self):
|
|
68
62
|
return None
|
|
69
|
-
|
|
70
63
|
|
|
71
64
|
|
|
72
|
-
basic_requirements =
|
|
65
|
+
basic_requirements = [
|
|
66
|
+
Requirement(
|
|
73
67
|
key="lok",
|
|
74
68
|
service="live.arkitekt.lok",
|
|
75
69
|
description="An instance of ArkitektNext Lok to authenticate the user",
|
|
76
|
-
)
|
|
70
|
+
)
|
|
71
|
+
]
|
|
77
72
|
|
|
78
73
|
|
|
79
74
|
class ServiceBuilderRegistry:
|
|
@@ -84,14 +79,13 @@ class ServiceBuilderRegistry:
|
|
|
84
79
|
self,
|
|
85
80
|
service: ArkitektService,
|
|
86
81
|
):
|
|
87
|
-
|
|
82
|
+
|
|
88
83
|
name = service.get_service_name()
|
|
89
84
|
|
|
90
85
|
if name not in self.service_builders:
|
|
91
86
|
self.service_builders[name] = service
|
|
92
87
|
else:
|
|
93
88
|
raise ValueError(f"Service {name} already registered")
|
|
94
|
-
|
|
95
89
|
|
|
96
90
|
def get(self, name):
|
|
97
91
|
return self.services.get(name)
|
|
@@ -101,35 +95,32 @@ class ServiceBuilderRegistry:
|
|
|
101
95
|
):
|
|
102
96
|
potentially_needed_services = {
|
|
103
97
|
name: service.build_service(fakts, herre, params, manifest)
|
|
104
|
-
for name, service in self.service_builders.items()
|
|
98
|
+
for name, service in self.service_builders.items()
|
|
105
99
|
}
|
|
106
100
|
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
101
|
+
return {
|
|
102
|
+
key: value
|
|
103
|
+
for key, value in potentially_needed_services.items()
|
|
104
|
+
if value is not None
|
|
105
|
+
}
|
|
112
106
|
|
|
113
107
|
def get_requirements(self):
|
|
114
108
|
|
|
115
|
-
requirements = [
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
109
|
+
requirements = [
|
|
110
|
+
Requirement(
|
|
111
|
+
key="lok",
|
|
112
|
+
service="live.arkitekt.lok",
|
|
113
|
+
description="An instance of ArkitektNext Lok to authenticate the user",
|
|
114
|
+
)
|
|
115
|
+
]
|
|
120
116
|
taken_requirements = set()
|
|
121
117
|
|
|
122
|
-
|
|
123
118
|
for service in self.service_builders.values():
|
|
124
119
|
for requirement in service.get_requirements():
|
|
125
120
|
if requirement.key not in taken_requirements:
|
|
126
121
|
taken_requirements.add(requirement.key)
|
|
127
122
|
requirements.append(requirement)
|
|
128
123
|
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
124
|
sorted_requirements = sorted(requirements, key=lambda x: x.key)
|
|
134
125
|
|
|
135
126
|
return sorted_requirements
|
|
@@ -145,6 +136,7 @@ import pkgutil
|
|
|
145
136
|
import traceback
|
|
146
137
|
import logging
|
|
147
138
|
|
|
139
|
+
|
|
148
140
|
def check_and_import_services() -> ServiceBuilderRegistry:
|
|
149
141
|
service_builder_registry = ServiceBuilderRegistry()
|
|
150
142
|
processed_modules = set() # Track modules that have already been processed
|
|
@@ -164,10 +156,14 @@ def check_and_import_services() -> ServiceBuilderRegistry:
|
|
|
164
156
|
try:
|
|
165
157
|
service_builder_registry.register(service)
|
|
166
158
|
except ValueError as e:
|
|
167
|
-
print(
|
|
159
|
+
print(
|
|
160
|
+
f"Failed to register service {service}: Another service with the same name is already registered {service_builder_registry.service_builders}"
|
|
161
|
+
)
|
|
168
162
|
logging.info(f"Called build_services function from {module_name}")
|
|
169
163
|
else:
|
|
170
|
-
print(
|
|
164
|
+
print(
|
|
165
|
+
f"Discovered Arkitekt-like module (containing __arkitekt__) that doesn't conform with the __arkitekt__ spec. No build_services function in {module_name}.__arkitekt__"
|
|
166
|
+
)
|
|
171
167
|
processed_modules.add(module_name) # Mark this module as processed
|
|
172
168
|
except Exception as e:
|
|
173
169
|
print(f"Failed to call init_services for {module_name}: {e}")
|
|
@@ -57,14 +57,15 @@ def create_devcontainer_file(
|
|
|
57
57
|
os.makedirs(devcontainer_path, exist_ok=True)
|
|
58
58
|
|
|
59
59
|
flavour_container = os.path.join(devcontainer_path, flavour)
|
|
60
|
-
os.makedirs(
|
|
60
|
+
os.makedirs(flavour_container, exist_ok=True)
|
|
61
61
|
|
|
62
62
|
devcontainer_file = os.path.join(flavour_container, "devcontainer.json")
|
|
63
63
|
|
|
64
|
+
|
|
64
65
|
devcontainer_content = {}
|
|
65
66
|
devcontainer_content["name"] = f"{manifest.identifier} {flavour} Devcontainer"
|
|
66
67
|
devcontainer_content["build"] = {}
|
|
67
|
-
devcontainer_content["build"]["dockerfile"] = os.path.
|
|
68
|
+
devcontainer_content["build"]["dockerfile"] = os.path.relpath(docker_file_path, flavour_container)
|
|
68
69
|
devcontainer_content["build"][
|
|
69
70
|
"context"
|
|
70
71
|
] = "../.." # This is the root of the project
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
[tool.poetry]
|
|
2
2
|
name = "arkitekt-next"
|
|
3
|
-
version = "0.8.
|
|
3
|
+
version = "0.8.48"
|
|
4
4
|
description = "client for the arkitekt_next platform"
|
|
5
5
|
authors = ["jhnnsrs <jhnnsrs@gmail.com>"]
|
|
6
6
|
license = "MIT"
|
|
@@ -10,15 +10,15 @@ readme = "README.md"
|
|
|
10
10
|
[tool.poetry.dependencies]
|
|
11
11
|
python = "^3.8"
|
|
12
12
|
herre-next = ">=1.0.2"
|
|
13
|
-
fakts-next = ">=1.0.
|
|
13
|
+
fakts-next = ">=1.0.3"
|
|
14
14
|
kraph = { version = ">=0.1.100", python = "^3.8", optional = true }
|
|
15
15
|
mikro-next = { version = ">=0.1.50", python = "^3.10", optional = true }
|
|
16
16
|
kabinet = { version = ">=0.1.45", optional = true, python = "^3.9" }
|
|
17
17
|
fluss-next = { version = ">=0.1.95", optional = true }
|
|
18
|
-
reaktion-next= { version = ">=0.1.
|
|
19
|
-
rekuest-next= { version = ">=0.2.
|
|
18
|
+
reaktion-next= { version = ">=0.1.86", python = "^3.8", optional = true }
|
|
19
|
+
rekuest-next= { version = ">=0.2.54", python = "^3.8", optional = true }
|
|
20
20
|
unlok-next= { version = ">=0.1.87", python = "^3.8", optional = true }
|
|
21
|
-
lovekit = { version = ">=0.1.
|
|
21
|
+
lovekit = { version = ">=0.1.18", python = "^3.10", optional = true }
|
|
22
22
|
rich-click = { version = ">=1.6.1", optional = true }
|
|
23
23
|
watchfiles = { version = ">=0.18.1", optional = true }
|
|
24
24
|
turms = { version = ">=0.8.2", python = "^3.9", optional = true }
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{arkitekt_next-0.8.47 → arkitekt_next-0.8.48}/arkitekt_next/cli/commands/delegate/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{arkitekt_next-0.8.47 → arkitekt_next-0.8.48}/arkitekt_next/cli/commands/inspect/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
{arkitekt_next-0.8.47 → arkitekt_next-0.8.48}/arkitekt_next/cli/commands/inspect/variables.py
RENAMED
|
File without changes
|
{arkitekt_next-0.8.47 → arkitekt_next-0.8.48}/arkitekt_next/cli/commands/kabinet/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{arkitekt_next-0.8.47 → arkitekt_next-0.8.48}/arkitekt_next/cli/commands/kabinet/validate.py
RENAMED
|
File without changes
|
|
File without changes
|
{arkitekt_next-0.8.47 → arkitekt_next-0.8.48}/arkitekt_next/cli/commands/manifest/__init__.py
RENAMED
|
File without changes
|
{arkitekt_next-0.8.47 → arkitekt_next-0.8.48}/arkitekt_next/cli/commands/manifest/inspect.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{arkitekt_next-0.8.47 → arkitekt_next-0.8.48}/arkitekt_next/cli/commands/manifest/version.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{arkitekt_next-0.8.47 → arkitekt_next-0.8.48}/arkitekt_next/cli/dockerfiles/vanilla.dockerfile
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{arkitekt_next-0.8.47 → arkitekt_next-0.8.48}/arkitekt_next/cli/schemas/fluss.schema.graphql
RENAMED
|
File without changes
|
{arkitekt_next-0.8.47 → arkitekt_next-0.8.48}/arkitekt_next/cli/schemas/gucker.schema.graphql
RENAMED
|
File without changes
|
{arkitekt_next-0.8.47 → arkitekt_next-0.8.48}/arkitekt_next/cli/schemas/kabinet.schema.graphql
RENAMED
|
File without changes
|
{arkitekt_next-0.8.47 → arkitekt_next-0.8.48}/arkitekt_next/cli/schemas/kluster.schema.graphql
RENAMED
|
File without changes
|
{arkitekt_next-0.8.47 → arkitekt_next-0.8.48}/arkitekt_next/cli/schemas/konviktion.schema.graphql
RENAMED
|
File without changes
|
|
File without changes
|
{arkitekt_next-0.8.47 → arkitekt_next-0.8.48}/arkitekt_next/cli/schemas/mikro.schema.graphql
RENAMED
|
File without changes
|
{arkitekt_next-0.8.47 → arkitekt_next-0.8.48}/arkitekt_next/cli/schemas/mikro_next.schema.graphql
RENAMED
|
File without changes
|
{arkitekt_next-0.8.47 → arkitekt_next-0.8.48}/arkitekt_next/cli/schemas/napari.schema.graphql
RENAMED
|
File without changes
|
{arkitekt_next-0.8.47 → arkitekt_next-0.8.48}/arkitekt_next/cli/schemas/omero_ark.schema.graphql
RENAMED
|
File without changes
|
|
File without changes
|
{arkitekt_next-0.8.47 → arkitekt_next-0.8.48}/arkitekt_next/cli/schemas/rekuest.schema.graphql
RENAMED
|
File without changes
|
{arkitekt_next-0.8.47 → arkitekt_next-0.8.48}/arkitekt_next/cli/schemas/rekuest_next.schema.graphql
RENAMED
|
File without changes
|
{arkitekt_next-0.8.47 → arkitekt_next-0.8.48}/arkitekt_next/cli/schemas/unlok.schema.graphql
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{arkitekt_next-0.8.47 → arkitekt_next-0.8.48}/arkitekt_next/qt/assets/light/orange pulse.gif
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|