Channel Access server library
Project description
This library contains a low-level binding to the cas library in EPICS base and a thread-safe high level interface to create channel access servers.
For the client implementation see channel_access.client.
Installation
Before installing the library, the environment variables EPICS_BASE and EPICS_HOST_ARCH must be set.
Then the library can be installed with pip:
pip install channel_access.server
If numpy can be imported at install time, numpy support is automatically activated. This can be explicitly controlled with the environment variable CA_WITH_NUMPY:
CA_WITH_NUMPY=0 pip install channel_access.server CA_WITH_NUMPY=1 pip install channel_access.server
If the package is compiled with numpy support, numpy arrays are used by default. If numpy arrays should not be used, the parameter use_numpy can be set to False.
Example
This example shows a simple server with a PV counting up:
import time
import channel_access.common as ca
import channel_access.server as cas
with cas.Server() as server:
pv = server.createPV('CAS:Test', ca.Type.LONG)
while True:
pv.value += 1
time.sleep(1.0)
Documentation
The documentation is available online or it can be generated from the source code with sphinx:
cd /path/to/repository pip install -e .[doc] python setup.py build_sphinx
Then open build/sphinx/html/index.html.
Get the source
The source code is available in a Github repository:
git clone https://github.com/delta-accelerator/channel_access.server
Tests
Tests are run with pytest:
cd /path/to/repository pip install -e .[dev] pytest -v
To run the tests for all supported version use tox:
cd /path/to/repository tox
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
File details
Details for the file channel_access.server-0.2.2.tar.gz
.
File metadata
- Download URL: channel_access.server-0.2.2.tar.gz
- Upload date:
- Size: 33.9 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.3.0 pkginfo/1.7.0 requests/2.25.1 setuptools/53.1.0 requests-toolbelt/0.9.1 tqdm/4.59.0 CPython/3.9.2
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 1958670d0cd9bf1ea24dbd32a2d457c5ff1b16bdbf0c2e5c87a566ba0367118d |
|
MD5 | 73857a4e81024302a594ff307258cec3 |
|
BLAKE2b-256 | 695d6b737c0768cde092b3ae021a439dd97e45529a7ba18b2fa4d4bafe522513 |