Ophyd Device definitions for LCLS Beamline components
Project description
PCDS Devices
Motivation
Ophyd presents a uniform set of abstractions for EPICS devices. Many devices at
the LCLS are covered by ophyd-provided classes such as EpicsMotor
and
AreaDetector
, but there are also many more custom and unique devices.
This repository:
- Defines unique device classes required by the LCLS, referenced by happi and our device_config database.
- Offers LCLS-tailored solutions for functionality not provided by ophyd
- Provides essential tools to aid in the creation of new devices for specific applications
- Acts as a proving ground for features that may eventually be destined for ophyd
- ... and more!
Much of the core re-used functionality can be found in
pcdsdevices.device
, pcdsdevices.interface
, pcdsdevices.pseudopos
,
and pcdsdevices.signal
.
Installation
Install the most recent tagged build:
$ conda install -c conda-forge pcdsdevices
Install the most recent development build:
$ conda install pcdsdevices -c pcds-dev -c lightsource2-tag -c conda-forge
Or alternatively:
# Install the tagged version for the dependencies
$ conda install -c conda-forge pcdsdevices
# Clone the master branch:
$ git clone https://github.com/pcdshub/pcdsdevices
$ cd pcdsdevices
# And perform a development install:
$ python -m pip install -e .
Testing
Testing from psbuild-rhel7
Use the pcds conda environment:
$ source /cds/group/pcds/pyps/conda/pcds_conda
Testing without PCDS servers
Ensure you have all of the development requirements available:
$ pip install -r dev-requirements.txt
General testing steps
$ git clone https://github.com/pcdshub/pcdsdevices
$ cd pcdsdevices
# Switch to a branch that reflects what you're working on:
$ git checkout -b my_feature_branch_name
# Make your changes to files
# Install pre-commit to allow for style checks before committing
$ pre-commit install
# Run the test suite
$ python run_tests.py -v
If all is well, commit and push your changes.
If pre-commit complains about an issue, you will need to resolve it and try again.
$ git commit -a -m "ENH: my new feature"
$ git remote add my_remote git@github.com:my_username/pcdsdevices
$ git push -u my_remote my_feature_branch_name
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Hashes for pcdsdevices-8.6.0-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | a12a7ba9172341cade9559c49152f3d3c70044c9b2f194d42acc6d05e4f1a657 |
|
MD5 | 13220ef1a4368feaa935cb8f5cc31742 |
|
BLAKE2b-256 | e2489abcb85f451c53581297a33c62f122a60665e865a500c94e45fc2835affa |