beam-client 0.2.0__tar.gz → 0.2.2__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.
@@ -0,0 +1,14 @@
1
+ Metadata-Version: 2.1
2
+ Name: beam-client
3
+ Version: 0.2.2
4
+ Summary:
5
+ Author: beam.cloud
6
+ Author-email: support@beam.cloud
7
+ Requires-Python: >=3.8,<4.0
8
+ Classifier: Programming Language :: Python :: 3
9
+ Classifier: Programming Language :: Python :: 3.8
10
+ Classifier: Programming Language :: Python :: 3.9
11
+ Classifier: Programming Language :: Python :: 3.10
12
+ Classifier: Programming Language :: Python :: 3.11
13
+ Classifier: Programming Language :: Python :: 3.12
14
+ Requires-Dist: beta9 (>=0.1.12,<0.2.0)
@@ -0,0 +1,37 @@
1
+ [tool.poetry]
2
+ name = "beam-client"
3
+ version = "0.2.2"
4
+ description = ""
5
+ authors = ["beam.cloud <support@beam.cloud>"]
6
+ packages = [
7
+ { include = "beam/**/*.py", from = "src" },
8
+ { include = "beam", from = "src" },
9
+ ]
10
+
11
+ [tool.poetry.dependencies]
12
+ python = "^3.8"
13
+ beta9 = "^0.1.12"
14
+
15
+ [tool.poetry.group.dev.dependencies]
16
+ pytest = "^8.1.1"
17
+ pytest-env = "^1.1.3"
18
+ ruff = "^0.4.2"
19
+
20
+ [tool.poetry.scripts]
21
+ beam = "beam.cli.main:cli"
22
+
23
+ [build-system]
24
+ requires = ["poetry-core>=1.0.0"]
25
+ build-backend = "poetry.core.masonry.api"
26
+
27
+ [tool.pytest.ini_options]
28
+ pythonpath = ["src"]
29
+
30
+ [tool.ruff]
31
+ line-length = 100
32
+ ignore-init-module-imports = true
33
+ exclude = []
34
+ src = ["src", "test", "bin"]
35
+
36
+ [tool.ruff.per-file-ignores]
37
+ "src/beam/__init__.py" = ["F403"]
@@ -0,0 +1,21 @@
1
+ from beta9.abstractions.container import Container
2
+ from beta9.abstractions.endpoint import Endpoint as endpoint
3
+ from beta9.abstractions.function import Function as function
4
+ from beta9.abstractions.image import Image
5
+ from beta9.abstractions.map import Map
6
+ from beta9.abstractions.queue import SimpleQueue as Queue
7
+ from beta9.abstractions.taskqueue import TaskQueue as task_queue
8
+ from beta9.abstractions.volume import Volume
9
+
10
+ __version__ = "0.2.0"
11
+ __all__ = [
12
+ "__version__",
13
+ "Map",
14
+ "Image",
15
+ "Queue",
16
+ "Volume",
17
+ "task_queue",
18
+ "function",
19
+ "endpoint",
20
+ "Container",
21
+ ]
@@ -0,0 +1,23 @@
1
+ import click
2
+ from beta9 import terminal
3
+ from beta9.channel import ServiceClient
4
+ from beta9.cli.extraclick import ClickCommonGroup, pass_service_client
5
+
6
+
7
+ @click.group(
8
+ name="logs",
9
+ help="View logs.",
10
+ cls=ClickCommonGroup,
11
+ )
12
+ @pass_service_client
13
+ def common(**_):
14
+ pass
15
+
16
+
17
+ @common.command(
18
+ name="tail",
19
+ help="Tail logs from a container.",
20
+ )
21
+ @click.pass_obj
22
+ def tail(_: ServiceClient):
23
+ terminal.warn("some logs...")
@@ -0,0 +1,18 @@
1
+ import os
2
+ from pathlib import Path
3
+
4
+ from beta9.cli.main import load_cli
5
+ from beta9.config import CLISettings
6
+
7
+ from . import logs
8
+
9
+ settings = CLISettings(
10
+ name="Beam",
11
+ gateway_host=os.getenv("GATEWAY_HOST", "gateway.stage.beam.cloud"),
12
+ gateway_port=int(os.getenv("GATEWAY_PORT", 443)),
13
+ config_path=Path("~/.beam/config.ini").expanduser(),
14
+ )
15
+
16
+
17
+ cli = load_cli(settings=settings)
18
+ cli.register(logs)
@@ -1,32 +0,0 @@
1
- Metadata-Version: 2.1
2
- Name: beam-client
3
- Version: 0.2.0
4
- Summary:
5
- Author: beam.cloud
6
- Author-email: support@beam.cloud
7
- Requires-Python: >=3.8,<4.0
8
- Classifier: Programming Language :: Python :: 3
9
- Classifier: Programming Language :: Python :: 3.8
10
- Classifier: Programming Language :: Python :: 3.9
11
- Classifier: Programming Language :: Python :: 3.10
12
- Classifier: Programming Language :: Python :: 3.11
13
- Classifier: Programming Language :: Python :: 3.12
14
- Requires-Dist: Jinja2 (>=3.1.2,<4.0.0)
15
- Requires-Dist: asgiref (>=3.7.2,<4.0.0)
16
- Requires-Dist: astor (>=0.8.1,<0.9.0)
17
- Requires-Dist: betterproto[compiler] (>=1.2.5,<2.0.0)
18
- Requires-Dist: click (>=8.1.7,<9.0.0)
19
- Requires-Dist: cloudpickle (>=3.0.0,<4.0.0)
20
- Requires-Dist: croniter (>=1.3.7,<2.0.0)
21
- Requires-Dist: fastapi (>=0.109.0,<0.110.0)
22
- Requires-Dist: grpcio (>=1.60.0,<2.0.0)
23
- Requires-Dist: grpclib (>=0.4.7,<0.5.0)
24
- Requires-Dist: importlib-metadata (==5.2.0)
25
- Requires-Dist: marshmallow (==3.18.0)
26
- Requires-Dist: marshmallow-dataclass (>=8.5.9,<9.0.0)
27
- Requires-Dist: protobuf (>=4.25.1,<5.0.0)
28
- Requires-Dist: rich (>=13.7.0,<14.0.0)
29
- Requires-Dist: typeguard (>=2.13.3,<3.0.0)
30
- Requires-Dist: typing-extensions (>=4.7.1,<5.0.0)
31
- Requires-Dist: uvicorn (>=0.27.0.post1,<0.28.0)
32
- Requires-Dist: validators (>=0.20.0,<0.21.0)
@@ -1,58 +0,0 @@
1
- [tool.poetry]
2
- name = "beam-client"
3
- version = "0.2.0"
4
- description = ""
5
- authors = ["beam.cloud <support@beam.cloud>"]
6
- packages = [
7
- { include = "beam/**/*.py", from = "src" },
8
- { include = "beam", from = "src" },
9
- ]
10
-
11
- [tool.poetry.dependencies]
12
- python = "^3.8"
13
- marshmallow = "3.18.0"
14
- marshmallow-dataclass = "^8.5.9"
15
- typeguard = "^2.13.3"
16
- croniter = "^1.3.7"
17
- Jinja2 = "^3.1.2"
18
- validators = "^0.20.0"
19
- importlib-metadata = "5.2.0"
20
- typing-extensions = "^4.7.1"
21
- astor = "^0.8.1"
22
- grpclib = "^0.4.7"
23
- grpcio = "^1.60.0"
24
- asgiref = "^3.7.2"
25
- cloudpickle = "^3.0.0"
26
- rich = "^13.7.0"
27
- click = "^8.1.7"
28
- betterproto = {version = "^1.2.5", extras = ["compiler"]}
29
- protobuf = "^4.25.1"
30
- fastapi = "^0.109.0"
31
- uvicorn = "^0.27.0.post1"
32
-
33
- [tool.poetry.group.dev.dependencies]
34
- pytest = "^7.4.4"
35
- pytest-env = "^1.1.3"
36
- attrs = "^22.1.0"
37
- docstring-parser = "^0.15"
38
- ruff = "^0.1.11"
39
- pydantic = "^2.5.3"
40
-
41
- [tool.poetry.scripts]
42
- beta9 = "beta9.cli.main:cli"
43
-
44
- [build-system]
45
- requires = ["poetry-core>=1.0.0"]
46
- build-backend = "poetry.core.masonry.api"
47
-
48
- [tool.pytest.ini_options]
49
- pythonpath = ["src"]
50
-
51
- [tool.ruff]
52
- line-length = 100
53
- ignore-init-module-imports = true
54
- exclude = ["src/beta9/clients"]
55
- src = ["src", "test", "bin"]
56
-
57
- [tool.ruff.per-file-ignores]
58
- "src/beta9/__init__.py" = ["F403"]