Skip to main content

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

channel_access.server-0.2.1.tar.gz (33.4 kB view details)

Uploaded Source

File details

Details for the file channel_access.server-0.2.1.tar.gz.

File metadata

  • Download URL: channel_access.server-0.2.1.tar.gz
  • Upload date:
  • Size: 33.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.2.0 pkginfo/1.5.0.1 requests/2.24.0 setuptools/50.3.0 requests-toolbelt/0.9.1 tqdm/4.48.2 CPython/3.8.5

File hashes

Hashes for channel_access.server-0.2.1.tar.gz
Algorithm Hash digest
SHA256 1d5a0a739bdf07e4093ff19f5284780f587824c1e6472564ede80b49cafd3e98
MD5 6a7e3f23e3640f8b3b385d2ed29385d6
BLAKE2b-256 b223baf8b02aa302bb530d125616af9f5c0cfd472bc454e1b33f395b5fe34a50

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page