Metadata-Version: 2.4
Name: pvua
Version: 1.0.1
Summary: A light wrapper around p4p and pyepics.
Author-email: Laura Lewis <lxlewis@slac.stanford.edu>, Jeremy Lorelli <lorelli@slac.stanford.edu>
License-Expression: BSD-3-Clause
Project-URL: Homepage, https://github.com/slac-epics/pvua
Project-URL: Issues, https://github.com/slac-epics/pvua/issues
Classifier: Programming Language :: Python :: 3
Classifier: Operating System :: OS Independent
Requires-Python: >=3.9
Description-Content-Type: text/markdown
License-File: LICENSE
Requires-Dist: p4p
Requires-Dist: pyepics
Provides-Extra: docs
Requires-Dist: sphinx; extra == "docs"
Provides-Extra: test
Requires-Dist: caproto[standard]; extra == "test"
Requires-Dist: pytest; extra == "test"
Dynamic: license-file

# PV Unified Access

[DOE Code](https://www.osti.gov/doecode/biblio/192186)

A light wrapper around p4p and pyepics.

## Installation

A package on PyPI will be provided shortly. In the meantime, install with pip using the following command:

```
python -m pip install git+https://github.com/slac-epics/pvua.git
```

## CLI

When the package is installed, new commands will be added that call into it.

- `pvuaget <PV name> [ca/pva]`
- `pvuainfo <PV name> [ca/pva]`
  - Currently only Channel Access is supported for the info command.
- `pvuaput <PV name> <PV value> [ca/pva]`

If no provider is specified, both CA and PVA will be tried, with PVA tried first.

The following command will run the "universal" interface that the installed commands hook into:

```
python -m pvua.cli <get/info/put> <ca/pva/unknown> <PV name> <value (if put specified)>
```

## Development

### Guidelines

Contributors should note the primary focus of the library is supporting PyEPICS functionality relying on both PyEPICS and p4p,
although features outside this scope will be considered.

### Installation

Clone this repository locally, then install an editable copy of the library with test dependencies.

```
python -m pip install -e .[test]
```

### Testing

The following command will start a test IOC that serves three commands, which the CLI and library
can interact with. This requires the test dependencies to be installed.

```
python -m pvua.test.server
```

## Copyright Notice
            
COPYRIGHT © SLAC National Accelerator Laboratory. All rights reserved. 
This work is supported [in part] by the U.S. Department of Energy, Office of Basic Energy Sciences under contract DE-AC02-76SF00515.

## Usage Restrictions

Neither the name of the Leland Stanford Junior University, SLAC National Accelerator Laboratory, U.S. Department of Energy 
nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission.
