Skip to main content

Embed an EPICS IOC in a Python process

Project description

Code CI Docs CI Test Coverage Latest PyPI version Apache License

This module allows an EPICS IOC with Python Device Support to be run from within the Python interpreter. Records can be programmatically created and arbitrary Python code run to update them and respond to caputs. It supports cothread and asyncio for concurrency. PVs are served over Channel Access and PVAccess.

PyPI

pip install softioc

Source code

https://github.com/dls-controls/pythonSoftIOC

Documentation

https://dls-controls.github.io/pythonSoftIOC

Changelog

https://github.com/dls-controls/pythonSoftIOC/blob/master/CHANGELOG.rst

A simple example of the use of this library:

# Import the basic framework components.
from softioc import softioc, builder
import cothread

# Set the record prefix
builder.SetDeviceName("MY-DEVICE-PREFIX")

# Create some records
ai = builder.aIn('AI', initial_value=5)
ao = builder.aOut('AO', initial_value=12.45, on_update=lambda v: ai.set(v))

# Boilerplate get the IOC started
builder.LoadDatabase()
softioc.iocInit()

# Start processes required to be run after iocInit
def update():
    while True:
        ai.set(ai.get() + 1)
        cothread.Sleep(1)


cothread.Spawn(update)

# Finally leave the IOC running with an interactive shell.
softioc.interactive_ioc(globals())

See https://dls-controls.github.io/pythonSoftIOC for more detailed documentation.

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

softioc-4.5.0.tar.gz (82.6 kB view details)

Uploaded Source

Built Distributions

softioc-4.5.0-cp310-cp310-win_amd64.whl (108.5 kB view details)

Uploaded CPython 3.10 Windows x86-64

softioc-4.5.0-cp310-cp310-manylinux2014_x86_64.whl (114.8 kB view details)

Uploaded CPython 3.10

softioc-4.5.0-cp310-cp310-macosx_10_9_x86_64.whl (110.8 kB view details)

Uploaded CPython 3.10 macOS 10.9+ x86-64

softioc-4.5.0-cp39-cp39-win_amd64.whl (108.6 kB view details)

Uploaded CPython 3.9 Windows x86-64

softioc-4.5.0-cp39-cp39-manylinux2014_x86_64.whl (114.9 kB view details)

Uploaded CPython 3.9

softioc-4.5.0-cp39-cp39-macosx_10_9_x86_64.whl (110.8 kB view details)

Uploaded CPython 3.9 macOS 10.9+ x86-64

softioc-4.5.0-cp38-cp38-win_amd64.whl (108.5 kB view details)

Uploaded CPython 3.8 Windows x86-64

softioc-4.5.0-cp38-cp38-manylinux2014_x86_64.whl (114.9 kB view details)

Uploaded CPython 3.8

softioc-4.5.0-cp38-cp38-macosx_10_9_x86_64.whl (110.8 kB view details)

Uploaded CPython 3.8 macOS 10.9+ x86-64

softioc-4.5.0-cp37-cp37m-win_amd64.whl (108.5 kB view details)

Uploaded CPython 3.7m Windows x86-64

softioc-4.5.0-cp37-cp37m-manylinux2014_x86_64.whl (114.7 kB view details)

Uploaded CPython 3.7m

softioc-4.5.0-cp37-cp37m-macosx_10_9_x86_64.whl (110.7 kB view details)

Uploaded CPython 3.7m macOS 10.9+ x86-64

softioc-4.5.0-cp36-cp36m-win_amd64.whl (110.1 kB view details)

Uploaded CPython 3.6m Windows x86-64

softioc-4.5.0-cp36-cp36m-manylinux2014_x86_64.whl (114.7 kB view details)

Uploaded CPython 3.6m

softioc-4.5.0-cp36-cp36m-macosx_10_9_x86_64.whl (110.7 kB view details)

Uploaded CPython 3.6m macOS 10.9+ x86-64

File details

Details for the file softioc-4.5.0.tar.gz.

File metadata

  • Download URL: softioc-4.5.0.tar.gz
  • Upload date:
  • Size: 82.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.10.12

File hashes

Hashes for softioc-4.5.0.tar.gz
Algorithm Hash digest
SHA256 e1a96d42367c601b6682d466f2451c052bd1b3d9e8608da9894009d043cddb51
MD5 249b36fabef0cb92d8e6e76021cd6397
BLAKE2b-256 ee7cabddda450b3d459e91228a5aa7483b938f4409463f00eb1846ab0f72d7f9

See more details on using hashes here.

File details

Details for the file softioc-4.5.0-cp310-cp310-win_amd64.whl.

File metadata

  • Download URL: softioc-4.5.0-cp310-cp310-win_amd64.whl
  • Upload date:
  • Size: 108.5 kB
  • Tags: CPython 3.10, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.10.12

File hashes

Hashes for softioc-4.5.0-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 cfe65904d99f96163341da199350ecb3b22fe63477f8200d5b526b34c1a52943
MD5 a3586ed819f7a37a8563fc6993b81641
BLAKE2b-256 c10649b398129440b715f3236d5f502945fa58b7a549a26591922979e38d5be3

See more details on using hashes here.

File details

Details for the file softioc-4.5.0-cp310-cp310-manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for softioc-4.5.0-cp310-cp310-manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 133e09835eb11de4e2c072774653ea8b243932ae589bd71c3341f7874a3217f5
MD5 cee49d89f28103fa65f108253e8a1c8a
BLAKE2b-256 b972e77aa0f36cb3482d6c35981c2a1c9429535d1f4e464bfeaffb316c3e02d5

See more details on using hashes here.

File details

Details for the file softioc-4.5.0-cp310-cp310-macosx_10_9_x86_64.whl.

File metadata

File hashes

Hashes for softioc-4.5.0-cp310-cp310-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 47fdf6d9599b517ca21e7c186b39eaad76029803908dfddc3ebb210b1a15ab20
MD5 57f082db50c9fcfd6822edda957e3d51
BLAKE2b-256 579de2064b51159b1fad218e7189c2d37d7e761f46f65e65bb281a488e33d639

See more details on using hashes here.

File details

Details for the file softioc-4.5.0-cp39-cp39-win_amd64.whl.

File metadata

  • Download URL: softioc-4.5.0-cp39-cp39-win_amd64.whl
  • Upload date:
  • Size: 108.6 kB
  • Tags: CPython 3.9, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.10.12

File hashes

Hashes for softioc-4.5.0-cp39-cp39-win_amd64.whl
Algorithm Hash digest
SHA256 a7ac7cb0fbff51f4d3b590f8ed4cb1745abc706347d13c25a54862eb5655a707
MD5 f88218d324a3fb651237817bc97dd57e
BLAKE2b-256 b3eedd13e4a08604f49bed40d09533aa426b06004cf442d3e514db6213aa1ff1

See more details on using hashes here.

File details

Details for the file softioc-4.5.0-cp39-cp39-manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for softioc-4.5.0-cp39-cp39-manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 4437ed6d05a1c089945741d193861a360738d224985553a94ca0b86a52748299
MD5 4b097929896c004a0edc3189c2b1cf4b
BLAKE2b-256 e56e54af537b051ed7f8e739896591e5441963e68593d126a445e8cd03079884

See more details on using hashes here.

File details

Details for the file softioc-4.5.0-cp39-cp39-macosx_10_9_x86_64.whl.

File metadata

File hashes

Hashes for softioc-4.5.0-cp39-cp39-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 c88fc91cb365dd9b10c7fc760f5d274635e66a316c1c5616ea734ae32ec87136
MD5 0788879c640f6774218ea9b947d0daeb
BLAKE2b-256 a9199b7c39efd574b3cc1cd3a00ac1d6e04186f4df4d048b1ed11f52eab62d47

See more details on using hashes here.

File details

Details for the file softioc-4.5.0-cp38-cp38-win_amd64.whl.

File metadata

  • Download URL: softioc-4.5.0-cp38-cp38-win_amd64.whl
  • Upload date:
  • Size: 108.5 kB
  • Tags: CPython 3.8, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.10.12

File hashes

Hashes for softioc-4.5.0-cp38-cp38-win_amd64.whl
Algorithm Hash digest
SHA256 210126a358059bf954d1eb820cbda2d8f92ee1aa536a11cc337450e855edf345
MD5 f7ad7566c3cf2dc6c28f95ef30775c8e
BLAKE2b-256 ee30cf4a5ab7d552a8a99e957bf60eea83b59317552dc7961c1cfe82e2625b08

See more details on using hashes here.

File details

Details for the file softioc-4.5.0-cp38-cp38-manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for softioc-4.5.0-cp38-cp38-manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 2d55b91782784bd01d3761a4257ceca88591e54b45547734e7ba275917761430
MD5 623ef588adf48435dc1c31f3969a88f8
BLAKE2b-256 4ec4c0074bfd94e67b9963fd45bc1cb386c76564dc11d9439104e7b803d62ed8

See more details on using hashes here.

File details

Details for the file softioc-4.5.0-cp38-cp38-macosx_10_9_x86_64.whl.

File metadata

File hashes

Hashes for softioc-4.5.0-cp38-cp38-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 b02ab84cfff77a9ff7d507374e394fa9dcc2914c852430e148d8e57a2a89c30e
MD5 5d3c38cbc277de7788722160b17d4ee2
BLAKE2b-256 fab4fe7736cb2da6ac404328d7622d24296cf5d69b2ce19cfd19f32f1d46a6c1

See more details on using hashes here.

File details

Details for the file softioc-4.5.0-cp37-cp37m-win_amd64.whl.

File metadata

  • Download URL: softioc-4.5.0-cp37-cp37m-win_amd64.whl
  • Upload date:
  • Size: 108.5 kB
  • Tags: CPython 3.7m, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.10.12

File hashes

Hashes for softioc-4.5.0-cp37-cp37m-win_amd64.whl
Algorithm Hash digest
SHA256 627b86ad661f4ade45f3ed880050ede82a5bf45f05562363bac973f3e1cf2af2
MD5 bf320ec2d562622c10a2b16a071f1756
BLAKE2b-256 f101ded28abc76680b1374bb392fdb99cc8a0a7c5176b8c8744bf8ac328b3670

See more details on using hashes here.

File details

Details for the file softioc-4.5.0-cp37-cp37m-manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for softioc-4.5.0-cp37-cp37m-manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 b1258966b99bb0850ed61e873f4c6a0340cff467340b3095310b41fa7a9b4852
MD5 fe05073efb97e1cc9351eaaa316bddc1
BLAKE2b-256 6766035c60917afc6889ad9076ac865bc17e350724e5af2c49bacfacc1a8d30a

See more details on using hashes here.

File details

Details for the file softioc-4.5.0-cp37-cp37m-macosx_10_9_x86_64.whl.

File metadata

File hashes

Hashes for softioc-4.5.0-cp37-cp37m-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 382ed4f41cd911b67a1de8fdaa23b5d57eb7b6427c8a3879c707dca4c1829534
MD5 554758872a582af8055c8f6105a9d9a9
BLAKE2b-256 f3dffeccae5a99f93a01f786ee2a077bc3a0b380310bd31f79ed78a39376c877

See more details on using hashes here.

File details

Details for the file softioc-4.5.0-cp36-cp36m-win_amd64.whl.

File metadata

  • Download URL: softioc-4.5.0-cp36-cp36m-win_amd64.whl
  • Upload date:
  • Size: 110.1 kB
  • Tags: CPython 3.6m, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.10.12

File hashes

Hashes for softioc-4.5.0-cp36-cp36m-win_amd64.whl
Algorithm Hash digest
SHA256 ee4000778a4d71264676a84344d1fa372997a0800cdecf3fd1c0f089fcd15082
MD5 987b1faa064b9b45ac14cacfb01eed69
BLAKE2b-256 a3f0c179d11ac38076e554298d0a3520dcee47364fb4af425cedcb07684b173d

See more details on using hashes here.

File details

Details for the file softioc-4.5.0-cp36-cp36m-manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for softioc-4.5.0-cp36-cp36m-manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 edea6cd0b13d504154574b573edbe8cf322114844508a8dc979104d0c5200822
MD5 2de9dea0b69798f1c19e4cb4f37e45dc
BLAKE2b-256 c7c34b78132f89406eda9ea49940e8fbc0f375101adb0aec15d4529a06505a78

See more details on using hashes here.

File details

Details for the file softioc-4.5.0-cp36-cp36m-macosx_10_9_x86_64.whl.

File metadata

File hashes

Hashes for softioc-4.5.0-cp36-cp36m-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 9a9f0653e6239319a2be1fdae9d7eca2a5a7509179f6bd49b49d48e237f5335d
MD5 f727ef69db779649f331038e36ca0813
BLAKE2b-256 fae57fc8b0e2bbf7556495f4bf71ee4a8ff6294e9c67fa866212f6edb3d2b260

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