|
14 | 14 |
|
15 | 15 | # progressive-automations-python |
16 | 16 |
|
17 | | -> Python package for programmatically controlling progressive automations tools (e.g., LG-07 modular lifting column via FLTCON). |
| 17 | +> Python package for programmatically controlling Progressive Automations desk lifters (e.g., LG-07 modular lifting column via FLTCON) with Prefect workflow orchestration. |
18 | 18 |
|
19 | | -A longer description of your project goes here... |
| 19 | +Control your desk lifter remotely via Prefect Cloud deployments with asynchronous execution and position polling. Perfect for laboratory automation where the desk position needs to be coordinated with other equipment. |
20 | 20 |
|
21 | | -## Setup |
| 21 | +## Quick Start |
22 | 22 |
|
23 | | -For Raspberry Pi 5 setup instructions, see [docs/raspberry-pi-setup.md](docs/raspberry-pi-setup.md). |
| 23 | +```bash |
| 24 | +# 1. Install |
| 25 | +pip install progressive-automations-python |
24 | 26 |
|
25 | | -For bill of materials, see [docs/bill_of_materials.md](docs/bill_of_materials.md). |
| 27 | +# 2. Configure Prefect Cloud |
| 28 | +prefect cloud login -k <your-api-key> |
| 29 | +prefect work-pool create desk-lifter-pool --type process |
| 30 | + |
| 31 | +# 3. Deploy flows |
| 32 | +python -c "from progressive_automations_python.deployment import create_deployments; create_deployments()" |
| 33 | + |
| 34 | +# 4. Start worker on Raspberry Pi |
| 35 | +prefect worker start --pool desk-lifter-pool |
| 36 | +``` |
| 37 | + |
| 38 | +## Usage |
| 39 | + |
| 40 | +Trigger movements asynchronously from any Python environment: |
| 41 | + |
| 42 | +```python |
| 43 | +from prefect.deployments import run_deployment |
| 44 | + |
| 45 | +# Trigger movement (returns immediately) |
| 46 | +flow_run = run_deployment( |
| 47 | + name="simple-movement-flow/move-to-position", |
| 48 | + parameters={"target_height": 35.5}, |
| 49 | + timeout=0 # Don't wait, return immediately |
| 50 | +) |
| 51 | + |
| 52 | +# Poll status later |
| 53 | +# ... (see documentation for polling examples) |
| 54 | +``` |
| 55 | + |
| 56 | +## Documentation |
| 57 | + |
| 58 | +- [Installation and Usage Guide](docs/installation-and-usage.md) - Complete setup and API reference |
| 59 | +- [Raspberry Pi Setup](docs/raspberry-pi-setup.md) - Hardware configuration |
| 60 | +- [Bill of Materials](docs/bill_of_materials.md) - Required components |
26 | 61 |
|
27 | 62 |
|
28 | 63 | <!-- pyscaffold-notes --> |
|
0 commit comments