arkitekt-next 0.24.0__tar.gz → 0.25.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 (102) hide show
  1. {arkitekt_next-0.24.0 → arkitekt_next-0.25.0}/PKG-INFO +1 -1
  2. arkitekt_next-0.25.0/arkitekt_next/pytest/__init__.py +1 -0
  3. arkitekt_next-0.25.0/arkitekt_next/pytest/fixtures.py +86 -0
  4. {arkitekt_next-0.24.0 → arkitekt_next-0.25.0}/pyproject.toml +4 -1
  5. {arkitekt_next-0.24.0 → arkitekt_next-0.25.0}/.gitignore +0 -0
  6. {arkitekt_next-0.24.0 → arkitekt_next-0.25.0}/LICENSE +0 -0
  7. {arkitekt_next-0.24.0 → arkitekt_next-0.25.0}/README.md +0 -0
  8. {arkitekt_next-0.24.0 → arkitekt_next-0.25.0}/arkitekt_next/__init__.py +0 -0
  9. {arkitekt_next-0.24.0 → arkitekt_next-0.25.0}/arkitekt_next/app/__init__.py +0 -0
  10. {arkitekt_next-0.24.0 → arkitekt_next-0.25.0}/arkitekt_next/app/app.py +0 -0
  11. {arkitekt_next-0.24.0 → arkitekt_next-0.25.0}/arkitekt_next/app/fakts.py +0 -0
  12. {arkitekt_next-0.24.0 → arkitekt_next-0.25.0}/arkitekt_next/builders.py +0 -0
  13. {arkitekt_next-0.24.0 → arkitekt_next-0.25.0}/arkitekt_next/cli/__init__.py +0 -0
  14. {arkitekt_next-0.24.0 → arkitekt_next-0.25.0}/arkitekt_next/cli/commands/call/__init__.py +0 -0
  15. {arkitekt_next-0.24.0 → arkitekt_next-0.25.0}/arkitekt_next/cli/commands/call/local.py +0 -0
  16. {arkitekt_next-0.24.0 → arkitekt_next-0.25.0}/arkitekt_next/cli/commands/call/main.py +0 -0
  17. {arkitekt_next-0.24.0 → arkitekt_next-0.25.0}/arkitekt_next/cli/commands/call/remote.py +0 -0
  18. {arkitekt_next-0.24.0 → arkitekt_next-0.25.0}/arkitekt_next/cli/commands/gen/__init__.py +0 -0
  19. {arkitekt_next-0.24.0 → arkitekt_next-0.25.0}/arkitekt_next/cli/commands/gen/compile.py +0 -0
  20. {arkitekt_next-0.24.0 → arkitekt_next-0.25.0}/arkitekt_next/cli/commands/gen/init.py +0 -0
  21. {arkitekt_next-0.24.0 → arkitekt_next-0.25.0}/arkitekt_next/cli/commands/gen/main.py +0 -0
  22. {arkitekt_next-0.24.0 → arkitekt_next-0.25.0}/arkitekt_next/cli/commands/gen/watch.py +0 -0
  23. {arkitekt_next-0.24.0 → arkitekt_next-0.25.0}/arkitekt_next/cli/commands/init/__init__.py +0 -0
  24. {arkitekt_next-0.24.0 → arkitekt_next-0.25.0}/arkitekt_next/cli/commands/init/main.py +0 -0
  25. {arkitekt_next-0.24.0 → arkitekt_next-0.25.0}/arkitekt_next/cli/commands/inspect/__init__.py +0 -0
  26. {arkitekt_next-0.24.0 → arkitekt_next-0.25.0}/arkitekt_next/cli/commands/inspect/implementations.py +0 -0
  27. {arkitekt_next-0.24.0 → arkitekt_next-0.25.0}/arkitekt_next/cli/commands/inspect/main.py +0 -0
  28. {arkitekt_next-0.24.0 → arkitekt_next-0.25.0}/arkitekt_next/cli/commands/inspect/requirements.py +0 -0
  29. {arkitekt_next-0.24.0 → arkitekt_next-0.25.0}/arkitekt_next/cli/commands/inspect/variables.py +0 -0
  30. {arkitekt_next-0.24.0 → arkitekt_next-0.25.0}/arkitekt_next/cli/commands/kabinet/__init__.py +0 -0
  31. {arkitekt_next-0.24.0 → arkitekt_next-0.25.0}/arkitekt_next/cli/commands/kabinet/build.py +0 -0
  32. {arkitekt_next-0.24.0 → arkitekt_next-0.25.0}/arkitekt_next/cli/commands/kabinet/init.py +0 -0
  33. {arkitekt_next-0.24.0 → arkitekt_next-0.25.0}/arkitekt_next/cli/commands/kabinet/io.py +0 -0
  34. {arkitekt_next-0.24.0 → arkitekt_next-0.25.0}/arkitekt_next/cli/commands/kabinet/main.py +0 -0
  35. {arkitekt_next-0.24.0 → arkitekt_next-0.25.0}/arkitekt_next/cli/commands/kabinet/publish.py +0 -0
  36. {arkitekt_next-0.24.0 → arkitekt_next-0.25.0}/arkitekt_next/cli/commands/kabinet/stage.py +0 -0
  37. {arkitekt_next-0.24.0 → arkitekt_next-0.25.0}/arkitekt_next/cli/commands/kabinet/types.py +0 -0
  38. {arkitekt_next-0.24.0 → arkitekt_next-0.25.0}/arkitekt_next/cli/commands/kabinet/utils.py +0 -0
  39. {arkitekt_next-0.24.0 → arkitekt_next-0.25.0}/arkitekt_next/cli/commands/kabinet/validate.py +0 -0
  40. {arkitekt_next-0.24.0 → arkitekt_next-0.25.0}/arkitekt_next/cli/commands/manifest/__init__.py +0 -0
  41. {arkitekt_next-0.24.0 → arkitekt_next-0.25.0}/arkitekt_next/cli/commands/manifest/inspect.py +0 -0
  42. {arkitekt_next-0.24.0 → arkitekt_next-0.25.0}/arkitekt_next/cli/commands/manifest/main.py +0 -0
  43. {arkitekt_next-0.24.0 → arkitekt_next-0.25.0}/arkitekt_next/cli/commands/manifest/scopes.py +0 -0
  44. {arkitekt_next-0.24.0 → arkitekt_next-0.25.0}/arkitekt_next/cli/commands/manifest/version.py +0 -0
  45. {arkitekt_next-0.24.0 → arkitekt_next-0.25.0}/arkitekt_next/cli/commands/run/__init__.py +0 -0
  46. {arkitekt_next-0.24.0 → arkitekt_next-0.25.0}/arkitekt_next/cli/commands/run/dev.py +0 -0
  47. {arkitekt_next-0.24.0 → arkitekt_next-0.25.0}/arkitekt_next/cli/commands/run/main.py +0 -0
  48. {arkitekt_next-0.24.0 → arkitekt_next-0.25.0}/arkitekt_next/cli/commands/run/prod.py +0 -0
  49. {arkitekt_next-0.24.0 → arkitekt_next-0.25.0}/arkitekt_next/cli/commands/run/utils.py +0 -0
  50. {arkitekt_next-0.24.0 → arkitekt_next-0.25.0}/arkitekt_next/cli/constants.py +0 -0
  51. {arkitekt_next-0.24.0 → arkitekt_next-0.25.0}/arkitekt_next/cli/dockerfiles/vanilla.dockerfile +0 -0
  52. {arkitekt_next-0.24.0 → arkitekt_next-0.25.0}/arkitekt_next/cli/errors.py +0 -0
  53. {arkitekt_next-0.24.0 → arkitekt_next-0.25.0}/arkitekt_next/cli/inspect.py +0 -0
  54. {arkitekt_next-0.24.0 → arkitekt_next-0.25.0}/arkitekt_next/cli/io.py +0 -0
  55. {arkitekt_next-0.24.0 → arkitekt_next-0.25.0}/arkitekt_next/cli/main.py +0 -0
  56. {arkitekt_next-0.24.0 → arkitekt_next-0.25.0}/arkitekt_next/cli/options.py +0 -0
  57. {arkitekt_next-0.24.0 → arkitekt_next-0.25.0}/arkitekt_next/cli/schemas/fluss.schema.graphql +0 -0
  58. {arkitekt_next-0.24.0 → arkitekt_next-0.25.0}/arkitekt_next/cli/schemas/gucker.schema.graphql +0 -0
  59. {arkitekt_next-0.24.0 → arkitekt_next-0.25.0}/arkitekt_next/cli/schemas/kabinet.schema.graphql +0 -0
  60. {arkitekt_next-0.24.0 → arkitekt_next-0.25.0}/arkitekt_next/cli/schemas/kluster.schema.graphql +0 -0
  61. {arkitekt_next-0.24.0 → arkitekt_next-0.25.0}/arkitekt_next/cli/schemas/konviktion.schema.graphql +0 -0
  62. {arkitekt_next-0.24.0 → arkitekt_next-0.25.0}/arkitekt_next/cli/schemas/kuay.schema.graphql +0 -0
  63. {arkitekt_next-0.24.0 → arkitekt_next-0.25.0}/arkitekt_next/cli/schemas/mikro.schema.graphql +0 -0
  64. {arkitekt_next-0.24.0 → arkitekt_next-0.25.0}/arkitekt_next/cli/schemas/mikro_next.schema.graphql +0 -0
  65. {arkitekt_next-0.24.0 → arkitekt_next-0.25.0}/arkitekt_next/cli/schemas/napari.schema.graphql +0 -0
  66. {arkitekt_next-0.24.0 → arkitekt_next-0.25.0}/arkitekt_next/cli/schemas/omero_ark.schema.graphql +0 -0
  67. {arkitekt_next-0.24.0 → arkitekt_next-0.25.0}/arkitekt_next/cli/schemas/port.schema.graphql +0 -0
  68. {arkitekt_next-0.24.0 → arkitekt_next-0.25.0}/arkitekt_next/cli/schemas/rekuest.schema.graphql +0 -0
  69. {arkitekt_next-0.24.0 → arkitekt_next-0.25.0}/arkitekt_next/cli/schemas/rekuest_next.schema.graphql +0 -0
  70. {arkitekt_next-0.24.0 → arkitekt_next-0.25.0}/arkitekt_next/cli/schemas/unlok.schema.graphql +0 -0
  71. {arkitekt_next-0.24.0 → arkitekt_next-0.25.0}/arkitekt_next/cli/templates/filter.py +0 -0
  72. {arkitekt_next-0.24.0 → arkitekt_next-0.25.0}/arkitekt_next/cli/templates/simple.py +0 -0
  73. {arkitekt_next-0.24.0 → arkitekt_next-0.25.0}/arkitekt_next/cli/texts.py +0 -0
  74. {arkitekt_next-0.24.0 → arkitekt_next-0.25.0}/arkitekt_next/cli/types.py +0 -0
  75. {arkitekt_next-0.24.0 → arkitekt_next-0.25.0}/arkitekt_next/cli/ui.py +0 -0
  76. {arkitekt_next-0.24.0 → arkitekt_next-0.25.0}/arkitekt_next/cli/utils.py +0 -0
  77. {arkitekt_next-0.24.0 → arkitekt_next-0.25.0}/arkitekt_next/cli/validators.py +0 -0
  78. {arkitekt_next-0.24.0 → arkitekt_next-0.25.0}/arkitekt_next/cli/vars.py +0 -0
  79. {arkitekt_next-0.24.0 → arkitekt_next-0.25.0}/arkitekt_next/cli/versions/v1.yaml +0 -0
  80. {arkitekt_next-0.24.0 → arkitekt_next-0.25.0}/arkitekt_next/constants.py +0 -0
  81. {arkitekt_next-0.24.0 → arkitekt_next-0.25.0}/arkitekt_next/init_registry.py +0 -0
  82. {arkitekt_next-0.24.0 → arkitekt_next-0.25.0}/arkitekt_next/inspect.py +0 -0
  83. {arkitekt_next-0.24.0 → arkitekt_next-0.25.0}/arkitekt_next/protocols.py +0 -0
  84. {arkitekt_next-0.24.0 → arkitekt_next-0.25.0}/arkitekt_next/py.typed +0 -0
  85. {arkitekt_next-0.24.0 → arkitekt_next-0.25.0}/arkitekt_next/qt/__init__.py +0 -0
  86. {arkitekt_next-0.24.0 → arkitekt_next-0.25.0}/arkitekt_next/qt/assets/dark/gear.png +0 -0
  87. {arkitekt_next-0.24.0 → arkitekt_next-0.25.0}/arkitekt_next/qt/assets/dark/green pulse.gif +0 -0
  88. {arkitekt_next-0.24.0 → arkitekt_next-0.25.0}/arkitekt_next/qt/assets/dark/orange pulse.gif +0 -0
  89. {arkitekt_next-0.24.0 → arkitekt_next-0.25.0}/arkitekt_next/qt/assets/dark/pink pulse.gif +0 -0
  90. {arkitekt_next-0.24.0 → arkitekt_next-0.25.0}/arkitekt_next/qt/assets/dark/red pulse.gif +0 -0
  91. {arkitekt_next-0.24.0 → arkitekt_next-0.25.0}/arkitekt_next/qt/assets/light/gear.png +0 -0
  92. {arkitekt_next-0.24.0 → arkitekt_next-0.25.0}/arkitekt_next/qt/assets/light/green pulse.gif +0 -0
  93. {arkitekt_next-0.24.0 → arkitekt_next-0.25.0}/arkitekt_next/qt/assets/light/orange pulse.gif +0 -0
  94. {arkitekt_next-0.24.0 → arkitekt_next-0.25.0}/arkitekt_next/qt/assets/light/pink pulse.gif +0 -0
  95. {arkitekt_next-0.24.0 → arkitekt_next-0.25.0}/arkitekt_next/qt/assets/light/red pulse.gif +0 -0
  96. {arkitekt_next-0.24.0 → arkitekt_next-0.25.0}/arkitekt_next/qt/builders.py +0 -0
  97. {arkitekt_next-0.24.0 → arkitekt_next-0.25.0}/arkitekt_next/qt/magic_bar.py +0 -0
  98. {arkitekt_next-0.24.0 → arkitekt_next-0.25.0}/arkitekt_next/qt/types.py +0 -0
  99. {arkitekt_next-0.24.0 → arkitekt_next-0.25.0}/arkitekt_next/qt/utils.py +0 -0
  100. {arkitekt_next-0.24.0 → arkitekt_next-0.25.0}/arkitekt_next/service_registry.py +0 -0
  101. {arkitekt_next-0.24.0 → arkitekt_next-0.25.0}/arkitekt_next/tqdm.py +0 -0
  102. {arkitekt_next-0.24.0 → arkitekt_next-0.25.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.24.0
3
+ Version: 0.25.0
4
4
  Summary: client for the arkitekt_next platform
5
5
  Author-email: jhnnsrs <jhnnsrs@gmail.com>
6
6
  License-Expression: MIT
@@ -0,0 +1 @@
1
+ from .fixtures import *
@@ -0,0 +1,86 @@
1
+ from typing import Generator
2
+ import pytest
3
+ from arkitekt_next.cli.main import cli
4
+ from click.testing import CliRunner
5
+ from arkitekt_server.create import temp_server, ArkitektServerConfig
6
+ from dokker import Deployment
7
+ from dataclasses import dataclass
8
+ from arkitekt_next.app import App
9
+ from fakts_next.grants.remote import FaktsEndpoint
10
+ from arkitekt_next import easy
11
+ from dokker import local
12
+
13
+ from arkitekt_next.service_registry import get_default_service_registry
14
+ import pytest
15
+
16
+ def pytest_addoption(parser: pytest.Parser) -> None:
17
+ """Register custom command line options for pytest."""
18
+ parser.addoption(
19
+ "--test-against",
20
+ action="store",
21
+ default="temp",
22
+ help="Base URL of the Arkitekt server to use in tests",
23
+ )
24
+
25
+
26
+ @pytest.fixture(scope="session")
27
+ def running_server(request: pytest.FixtureRequest) -> Generator[Deployment, None, None]:
28
+ """ Generates a local Arkitekt server deployment for testing purposes. """
29
+
30
+ if not request.config.getoption("--test-against") == "temp":
31
+ raise ValueError("Invalid test environment specified. Currently only 'temp' is supported.")
32
+
33
+ config = ArkitektServerConfig()
34
+
35
+ with temp_server() as temp_path:
36
+
37
+ setup = local(temp_path / "docker-compose.yaml")
38
+
39
+ setup.add_health_check(
40
+ url=lambda spec: f"http://localhost:{spec.find_service('gateway').get_port_for_internal(80).published}/lok/ht",
41
+ service="lok",
42
+ timeout=5,
43
+ max_retries=10,
44
+ )
45
+ with setup as setup:
46
+ setup.down()
47
+
48
+
49
+ setup.up()
50
+
51
+ setup.check_health()
52
+ yield setup
53
+ setup.down()
54
+
55
+
56
+
57
+ @dataclass
58
+ class EasyApp:
59
+ """Dataclass to hold the Arkitekt server deployment."""
60
+ deployment: Deployment
61
+ app: App
62
+
63
+
64
+ @pytest.fixture(scope="session")
65
+ def test_app(running_server: Deployment) -> Generator[EasyApp, None, None]:
66
+ """Fixture to ensure the Arkitekt server is running."""
67
+
68
+ async def device_code_hook(endpoint: FaktsEndpoint, device_code: str):
69
+
70
+ await running_server.arun(
71
+ "lok", f"uv run python manage.py validatecode {device_code} --user demo --org arkitektio"
72
+ )
73
+
74
+
75
+ registry = get_default_service_registry()
76
+
77
+ assert registry, "Service registry must be initialized"
78
+
79
+
80
+
81
+ with easy(url=f"http://localhost:{running_server.spec.find_service('gateway').get_port_for_internal(80).published}", device_code_hook=device_code_hook) as app:
82
+
83
+ yield EasyApp(
84
+ deployment=running_server,
85
+ app=app
86
+ )
@@ -1,6 +1,6 @@
1
1
  [project]
2
2
  name = "arkitekt-next"
3
- version = "0.24.0"
3
+ version = "0.25.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"
@@ -56,6 +56,9 @@ blok = [
56
56
  [project.scripts]
57
57
  arkitekt-next = "arkitekt_next.cli.main:cli"
58
58
 
59
+ [project.entry-points.pytest11]
60
+ arkitekt_next = "arkitekt_next.pytest"
61
+
59
62
  [tool.uv]
60
63
  dev-dependencies = [
61
64
  "autoflake>=1.7.7,<2",
File without changes
File without changes