lablink-cli 0.1.0__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.
@@ -0,0 +1,76 @@
1
+ Metadata-Version: 2.4
2
+ Name: lablink-cli
3
+ Version: 0.1.0
4
+ Summary: CLI tool for deploying and managing LabLink infrastructure
5
+ Author-email: Elizabeth Berrigan <eberrigan@salk.edu>, Talmo Pereira <talmo@salk.edu>, Andrew Park <hep003@ucsd.edu>
6
+ Project-URL: Homepage, https://github.com/talmolab/lablink
7
+ Project-URL: Issues, https://github.com/talmolab/lablink/issues
8
+ Requires-Python: >=3.10
9
+ Description-Content-Type: text/markdown
10
+ Requires-Dist: lablink-allocator-service[config]>=0.2.0
11
+ Requires-Dist: typer>=0.15
12
+ Requires-Dist: textual>=3.0
13
+ Requires-Dist: rich>=13.0
14
+ Requires-Dist: pyyaml>=6.0
15
+ Requires-Dist: boto3>=1.35
16
+ Requires-Dist: psutil>=5.9
17
+ Provides-Extra: dev
18
+ Requires-Dist: pytest; extra == "dev"
19
+ Requires-Dist: pytest-cov; extra == "dev"
20
+ Requires-Dist: ruff; extra == "dev"
21
+
22
+ # LabLink CLI
23
+
24
+ Command-line tool for deploying and managing LabLink teaching lab infrastructure —
25
+ on AWS (EC2 via Terraform) or on a machine you already have (`provider: manual`,
26
+ deployed with docker-compose).
27
+
28
+ ## Installation
29
+
30
+ This package is not yet published to PyPI. Install it from source — the repo is a
31
+ `uv` workspace, so sync all three packages into the shared root venv:
32
+
33
+ ```bash
34
+ git clone https://github.com/talmolab/lablink.git
35
+ cd lablink
36
+ uv sync --all-packages
37
+ ```
38
+
39
+ ## Usage
40
+
41
+ ```bash
42
+ lablink --help
43
+ lablink --version # or -v
44
+ ```
45
+
46
+ ### Commands
47
+
48
+ | Command | Description |
49
+ | ---------------- | ---------------------------------------------------------------------------------------- |
50
+ | `configure` | Create or edit LabLink configuration (interactive TUI) |
51
+ | `setup` | Provision provider-specific bootstrap resources (AWS: S3 + DynamoDB for Terraform state) |
52
+ | `doctor` | Check prerequisites and configuration |
53
+ | `deploy` | Deploy LabLink infrastructure (AWS Terraform or docker-compose) |
54
+ | `destroy` | Tear down LabLink infrastructure |
55
+ | `status` | Show deployment health and inventory |
56
+ | `logs` | View allocator and client logs |
57
+ | `export-metrics` | Export deployment metrics to CSV or JSON |
58
+ | `stats` | Show a cohort session-metrics summary in the terminal |
59
+ | `cleanup` | Remove deployment resources and local state |
60
+ | `show-config` | View the current LabLink configuration |
61
+ | `cache-clear` | Clear LabLink caches (Terraform templates, deployment metrics) |
62
+
63
+ ### Client fleet commands
64
+
65
+ | Command | Description |
66
+ | ---------------------- | -------------------------------------------------------------------------------- |
67
+ | `client launch` | Launch client VMs via the allocator service (AWS provider) |
68
+ | `client register` | Register this bring-your-own box as a manual client and run the client container |
69
+ | `client unregister` | Tear down a registered BYO box |
70
+ | `client reset-overlay` | Discard this box's persisted mesh-overlay node identity |
71
+
72
+ Run `lablink <command> --help` for details on any command.
73
+
74
+ ## Documentation
75
+
76
+ Full CLI documentation: https://talmolab.github.io/lablink/cli/
@@ -0,0 +1,35 @@
1
+ lablink_cli/__init__.py,sha256=GPotHQCnezcbAREx-2Lk5viagZwTH_NNygroKCOf7wk,376
2
+ lablink_cli/api.py,sha256=lAQNsQMdZWDxlfh1mVO73cncxrs7W3JFfCXKtZq2vBs,15219
3
+ lablink_cli/app.py,sha256=U2N5b9yUW5hEvzgG6n1HFDTlqTE9zvheSOMCb2TVKa8,30679
4
+ lablink_cli/byo_detect.py,sha256=U28rFQMmC2iSuqUc26omELkWUdvYp7RO2dDDgKuR9Og,3585
5
+ lablink_cli/deployment_metrics.py,sha256=8EoCVzFCnVngQWTluL01rYMQmv5eGFfESGbslQZW3hA,3565
6
+ lablink_cli/docker.py,sha256=_ju-ta5FPCQrnQeS1q-LiYnM1pvNVgUAwGzW8dED-Zc,14410
7
+ lablink_cli/log_shipper.py,sha256=LDd0jq5nxA_3O5Odl8bqTjdcPa7AgKa5EgCTnV064ig,15235
8
+ lablink_cli/tofu_source.py,sha256=9DoDbpi64xAFJdkfW0708JJyCPUsdc40IiAwH5z5CvM,5273
9
+ lablink_cli/commands/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
10
+ lablink_cli/commands/cleanup.py,sha256=ZTMt3ZQCLXNnx_uXvaQwRj05pdbE3kyUm00Bqgu8I3Y,20145
11
+ lablink_cli/commands/deploy.py,sha256=gV2zgzmQuMwsjUXCKipSK8lHMWkja4yrSP0iKm-5nEI,27498
12
+ lablink_cli/commands/deploy_compose.py,sha256=RzRIHn7ZlMBTM-9ydy8Bcb2kLUISfRVWYcm9vmJ-uRg,56076
13
+ lablink_cli/commands/doctor.py,sha256=3aDCvDqvW2IiZGZIf6l9BvLpfUWW0xRS4qXm-p4Nm9s,17394
14
+ lablink_cli/commands/export_metrics.py,sha256=yyQsKMbcAHwF3FGk1LNU0yLsiam-i0ThgShSJbiuiAI,8675
15
+ lablink_cli/commands/launch.py,sha256=c9U21XY7DiC2PFuyL3XlDhWnH1xidXxa5DaNx3v36qw,7734
16
+ lablink_cli/commands/logs.py,sha256=TWMSjkChRexllqLZG3NJXAScpnPG2wCEN-z6LBfw4rE,12743
17
+ lablink_cli/commands/register.py,sha256=5vZpA7lkmcieNc4wOTYE3X4OYgq6yEB1N0145MtaYr4,34966
18
+ lablink_cli/commands/reset_overlay.py,sha256=7WkpQEnU6kvprEy8W5gycAps_vkKnTV0RYainw6fioE,4501
19
+ lablink_cli/commands/setup.py,sha256=kUBajKEwpvnZ_J8ONy66sSw13Gn7VIUOTCFIMhxf6j0,10677
20
+ lablink_cli/commands/stats.py,sha256=7x7O3meGACrmV13ieCf3ObOii5dW96QGE0ioU9iaxO8,4104
21
+ lablink_cli/commands/status.py,sha256=8B3Z6zV4ZB5t3oH6oVAy9nlGcMPnYM7J3M3Y91W_IB0,30060
22
+ lablink_cli/commands/unregister.py,sha256=FqWMD4YIYovxgjmZ2foh4KSHDSQhvqNDKYnhi2IZthc,6057
23
+ lablink_cli/commands/utils.py,sha256=c7wAvhMHN0VwDot7WG8aK1kz69eAlNmzbeklaIEbncU,18926
24
+ lablink_cli/config/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
25
+ lablink_cli/config/schema.py,sha256=Ol1ExvfWRGhEKHgn89CqbdKVx5SLiCBkbHL8KuvbruU,5740
26
+ lablink_cli/templates/docker-compose.tailscale-override.yml,sha256=YlxzBBy487yXe7483MKBsf75C52W9NAjNage_NUWDrI,2552
27
+ lablink_cli/templates/docker-compose.yml,sha256=oP8Bqai9RTetacAt9qMn82m7gOofdHcWyeOO9W-sNRw,3737
28
+ lablink_cli/tui/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
29
+ lablink_cli/tui/logs_viewer.py,sha256=M8OP2Jx2VYYVlIAr5MLeP5aS55kwAkrZBfs_VeBVKpE,13786
30
+ lablink_cli/tui/wizard.py,sha256=h99QRS7klqBdqpy3mjmD_73xLro1jiS5j2-bPh-QXLs,65876
31
+ lablink_cli-0.1.0.dist-info/METADATA,sha256=916LTw-3HrVJo7fMUC6dh5eV5IscstQ53mLaUztZTFc,3743
32
+ lablink_cli-0.1.0.dist-info/WHEEL,sha256=YVMoNqKzERt-wjUZwJ33xBGAwnFl-4cqbYkTtWa4itE,91
33
+ lablink_cli-0.1.0.dist-info/entry_points.txt,sha256=OIx3kBCMQmyHHDbOBCIAHL7C_nhzmCyh5NIiAnCQF7Y,49
34
+ lablink_cli-0.1.0.dist-info/top_level.txt,sha256=FJGUi8ALnRudnpC2iugwk_AXT3kwOcdAYl5NJf69QhY,12
35
+ lablink_cli-0.1.0.dist-info/RECORD,,
@@ -0,0 +1,5 @@
1
+ Wheel-Version: 1.0
2
+ Generator: setuptools (84.0.0)
3
+ Root-Is-Purelib: true
4
+ Tag: py3-none-any
5
+
@@ -0,0 +1,2 @@
1
+ [console_scripts]
2
+ lablink = lablink_cli.app:main
@@ -0,0 +1 @@
1
+ lablink_cli