Skip to main content

PCDS Devices

Collection of Ophyd Device subclasses for IOCs unique to PCDS

MotivationInstallation

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

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

pcdsdevices-10.6.0.tar.gz (538.7 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

pcdsdevices-10.6.0-py3-none-any.whl (646.8 kB view details)

Uploaded Python 3

File details

Details for the file pcdsdevices-10.6.0.tar.gz.

File metadata

  • Download URL: pcdsdevices-10.6.0.tar.gz
  • Upload date:
  • Size: 538.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.13

File hashes

Hashes for pcdsdevices-10.6.0.tar.gz
Algorithm Hash digest
SHA256 f533222cb58172ae4a96924c89ec10e82b0864a4bdbe3f0c6458d59312c67a58
MD5 93ab65410083c07d4bb754b758ba5639
BLAKE2b-256 762c138e841c42046ceeb5f43ebe7fd8d71215945690b3e8dccffcb7fd341678

See more details on using hashes here.

File details

Details for the file pcdsdevices-10.6.0-py3-none-any.whl.

File metadata

  • Download URL: pcdsdevices-10.6.0-py3-none-any.whl
  • Upload date:
  • Size: 646.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.13

File hashes

Hashes for pcdsdevices-10.6.0-py3-none-any.whl
Algorithm Hash digest
SHA256 b91b8351d0744a9d39c74f89f0ebbef06b4cc00e2cc2a61070ff1cb3cd3edc4f
MD5 6a4e830ed4832339ec3e267589259848
BLAKE2b-256 a506e854bff930334e8790082f706c0167a81f5f481b31a4e38454020c9119d9

See more details on using hashes here.

Release history Release notifications | RSS feed

10.8.0

2 files

10.7.0

2 files

This release

10.6.0 This release

2 files

10.5.0

2 files

10.4.0

2 files

10.3.0

2 files

10.2.1

2 files

10.2.0

2 files

10.1.0

2 files

10.0.0

2 files

9.0.0

2 files

8.8.1

2 files

8.8.0

2 files

8.7.0

2 files

8.6.0

2 files

8.5.0

2 files

8.4.0

2 files

8.3.0

2 files

8.2.0

2 files

8.1.0

2 files

8.0.0

2 files

7.4.3

2 files

7.4.2

2 files

7.4.1

2 files

7.4.0

2 files

7.1.0

1 file

7.0.1

1 file

7.0.0

1 file

6.3.0

1 file

6.2.0

1 file

6.1.0

1 file

6.0.0

1 file

5.0.2

1 file

5.0.1

1 file

5.0.0

1 file

4.9.0

1 file

4.8.0

1 file

4.7.1

1 file

4.7.0

1 file

4.6.1

1 file

4.6.0

1 file

4.5.0

1 file

4.4.0

1 file

4.3.2

1 file

4.3.1

1 file

4.3.0

1 file

4.2.0

1 file

4.1.0

1 file

4.0.0

1 file

2.6.0

1 file

2.1.0

1 file

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page