Metadata-Version: 2.4
Name: lablink-client-service
Version: 0.0.3
Summary: Lablink Client Service that will be installed in the lablink-client-base-image
Author-email: Amitha Attapu <amithaattapu0509@gmail.com>, Andrew Park <hep003@ucsd.edu>
Project-URL: Homepage, https://github.com/talmolab/lablink
Project-URL: Issues, https://github.com/talmolab/lablink/issues
Keywords: vm,docker,postgres,tutorial
Description-Content-Type: text/markdown
Requires-Dist: psycopg2-binary>=2.9
Requires-Dist: requests<3.0.0,>=2.31.0
Requires-Dist: urllib3<2.0,>=1.26
Requires-Dist: certifi<2025.0.0,>=2023.7.22
Requires-Dist: charset-normalizer<4.0,>=3.1
Requires-Dist: idna<4.0,>=3.4
Requires-Dist: packaging<24.0,>=23.1
Requires-Dist: sphinx<7.0,>=6.1.3
Requires-Dist: sphinx-better-theme<0.2.0,>=0.1.5
Requires-Dist: sphinxcontrib-applehelp<2.0,>=1.0.4
Requires-Dist: sphinxcontrib-devhelp<2.0,>=1.0.2
Requires-Dist: sphinxcontrib-htmlhelp<3.0,>=2.0.1
Requires-Dist: sphinxcontrib-jsmath<2.0,>=1.0.1
Requires-Dist: sphinxcontrib-qthelp<2.0,>=1.0.3
Requires-Dist: sphinxcontrib-serializinghtml<2.0,>=1.1.5
Requires-Dist: snowballstemmer<3.0,>=2.2.0
Requires-Dist: pygments<3.0,>=2.15.0
Requires-Dist: jinja2<4.0,>=3.1.2
Requires-Dist: markupsafe<3.0,>=2.1.2
Requires-Dist: imagesize<2.0,>=1.4.1
Requires-Dist: babel<3.0,>=2.12.1
Requires-Dist: docutils<0.22,>=0.19
Requires-Dist: alabaster<0.8,>=0.7.13
Requires-Dist: hydra-core<2.0,>=1.3
Requires-Dist: omegaconf<3.0,>=2.3
Provides-Extra: dev
Requires-Dist: toml; extra == "dev"
Requires-Dist: twine; extra == "dev"
Requires-Dist: build; extra == "dev"
Requires-Dist: pytest; extra == "dev"
Requires-Dist: black; extra == "dev"
Requires-Dist: python-dotenv; extra == "dev"

# lablink-client-service

## Description
This folder contains the Python Package installed in the VM instance. The service is designed to run on a Ubuntu system with NVIDIA GPU support, specifically for use with Chrome Remote Desktop. This is the client side (VM instance) of the LabLink infrastructure. The `subscribe.py` will run as a startup script in the VM.

## Depdenencies
While the VMs will just install these dependencies globally, developers should use a venv. For developers:

1. Open terminal in project root directory
2. Create a virtual environment

```bash
python3 -m venv venv
```

3. Activate the virtual environment

```bash
source venv/bin/activate
```

4. Install the dependencies

```bash
pip install -e ".[dev]"
```

5. Deactivate the virtual environment when done

```bash
deactivate
```

6. To remove the virtual environment, delete the `venv` directory

## Usage

Run the `subscribe.py` script to start the service. This script will subscribe to the LabLink server and listen for incoming messages.

```bash
python -m lablink_client_service.subscribe
```

> This script will run with the default configuration. To change the configuration, you can modify the `config.yaml` file in the `lablink_client_service` directory. The script will automatically load the configuration from this file.

## Configuration
The configuration can be overridden by passing a different config file path as an argument to the script. For example:

```bash
python -m lablink_client_service.subscribe allocator.host=<your_allocator_host> allocator.port=<your_allocator_port>
```

- `allocator.host`: The hostname of the allocator server.
- `allocator.port`: The port of the allocator server.

You can also fix the configuration by modifying the `config.yaml` file in the `lablink_client_service` directory. The script will automatically load the configuration from this file.
