Skip to main content

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/DiamondLightSource/pythonSoftIOC

Documentation

https://DiamondLightSource.github.io/pythonSoftIOC

Changelog

https://github.com/DiamondLightSource/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://DiamondLightSource.github.io/pythonSoftIOC for more detailed documentation.

Release files for softioc 4.7.2

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for softioc 4.7.2
File Size Uploaded
softioc-4.7.2.tar.gz 94.3 kB Details

Built distributions (wheels)

Table of built distributions (wheels) for softioc 4.7.2
File
softioc-4.7.2-cp314-cp314-win_amd64.whl CPython 3.14 CPython 3.14 Windows x86-64 Details
softioc-4.7.2-cp314-cp314-manylinux2014_x86_64.whl CPython 3.14 CPython 3.14 Linux glibc 2.17+ x86-64 Details
softioc-4.7.2-cp314-cp314-macosx_10_15_x86_64.whl CPython 3.14 CPython 3.14 macOS 10.15+ x86-64 Details
softioc-4.7.2-cp313-cp313-win_amd64.whl CPython 3.13 CPython 3.13 Windows x86-64 Details
softioc-4.7.2-cp313-cp313-manylinux2014_x86_64.whl CPython 3.13 CPython 3.13 Linux glibc 2.17+ x86-64 Details
softioc-4.7.2-cp313-cp313-macosx_10_13_x86_64.whl CPython 3.13 CPython 3.13 macOS 10.13+ x86-64 Details
softioc-4.7.2-cp312-cp312-win_amd64.whl CPython 3.12 CPython 3.12 Windows x86-64 Details
softioc-4.7.2-cp312-cp312-manylinux2014_x86_64.whl CPython 3.12 CPython 3.12 Linux glibc 2.17+ x86-64 Details
softioc-4.7.2-cp312-cp312-macosx_10_13_x86_64.whl CPython 3.12 CPython 3.12 macOS 10.13+ x86-64 Details
softioc-4.7.2-cp311-cp311-win_amd64.whl CPython 3.11 CPython 3.11 Windows x86-64 Details
softioc-4.7.2-cp311-cp311-manylinux2014_x86_64.whl CPython 3.11 CPython 3.11 Linux glibc 2.17+ x86-64 Details
softioc-4.7.2-cp311-cp311-macosx_10_9_x86_64.whl CPython 3.11 CPython 3.11 macOS 10.9+ x86-64 Details
softioc-4.7.2-cp310-cp310-win_amd64.whl CPython 3.10 CPython 3.10 Windows x86-64 Details
softioc-4.7.2-cp310-cp310-manylinux2014_x86_64.whl CPython 3.10 CPython 3.10 Linux glibc 2.17+ x86-64 Details
softioc-4.7.2-cp310-cp310-macosx_10_9_x86_64.whl CPython 3.10 CPython 3.10 macOS 10.9+ x86-64 Details
softioc-4.7.2-cp39-cp39-manylinux2014_x86_64.whl CPython 3.9 CPython 3.9 Linux glibc 2.17+ x86-64 Details
softioc-4.7.2-cp39-cp39-macosx_10_9_x86_64.whl CPython 3.9 CPython 3.9 macOS 10.9+ x86-64 Details
softioc-4.7.2-cp38-cp38-win_amd64.whl CPython 3.8 CPython 3.8 Windows x86-64 Details
softioc-4.7.2-cp38-cp38-manylinux2014_x86_64.whl CPython 3.8 CPython 3.8 Linux glibc 2.17+ x86-64 Details
softioc-4.7.2-cp38-cp38-macosx_10_9_x86_64.whl CPython 3.8 CPython 3.8 macOS 10.9+ x86-64 Details
softioc-4.7.2-cp37-cp37m-win_amd64.whl CPython 3.7 CPython 3.7 pymalloc Windows x86-64 Details
softioc-4.7.2-cp37-cp37m-manylinux2014_x86_64.whl CPython 3.7 CPython 3.7 pymalloc Linux glibc 2.17+ x86-64 Details
softioc-4.7.2-cp37-cp37m-macosx_10_9_x86_64.whl CPython 3.7 CPython 3.7 pymalloc macOS 10.9+ x86-64 Details

Total release size: 2.9 MB

Release files / softioc-4.7.2.tar.gz

Download URL softioc-4.7.2.tar.gz
Size 94.3 kB
Tags Source
SHA-256 checksum
How to use checksums
993ef8f6b81f0908baa4403422068334757057f006a61f554c450755c9ebf0c6
BLAKE2b-256 checksum
How to use checksums
719815e812e8b6345a2fa305d5d08b7ec8f3545ef815b9e10d1d00e39175516f
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.12.3

Release files / softioc-4.7.2-cp314-cp314-win_amd64.whl

Download URL softioc-4.7.2-cp314-cp314-win_amd64.whl
Size 119.3 kB
Tags CPython 3.14 Windows x86-64
SHA-256 checksum
How to use checksums
9c6c3bc10642e1750ded116bc4fb077375d76083eef58f1cbbeb2b9f4e084dee
BLAKE2b-256 checksum
How to use checksums
f233f05bb6f363680b44374bdc10545130155a0603138a6c5d977c7717eaab74
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.12.3

Release files / softioc-4.7.2-cp314-cp314-manylinux2014_x86_64.whl

Download URL softioc-4.7.2-cp314-cp314-manylinux2014_x86_64.whl
Size 125.0 kB
Tags CPython 3.14 Linux glibc 2.17+ x86-64
SHA-256 checksum
How to use checksums
9dbee9ead4f25b9abc55545d1ba75fd0231b379afe4f594376cb3a91bdf510ea
BLAKE2b-256 checksum
How to use checksums
0ccb435623ee70aa9fee0353f0a4425eadb807bdefd4cef89d6cdc52675009a4
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.12.3

Release files / softioc-4.7.2-cp314-cp314-macosx_10_15_x86_64.whl

Download URL softioc-4.7.2-cp314-cp314-macosx_10_15_x86_64.whl
Size 119.4 kB
Tags CPython 3.14 macOS 10.15+ x86-64
SHA-256 checksum
How to use checksums
4090a25a1f43e91ffbfac433fd770343e587f660a1970f9aee10340341a496c5
BLAKE2b-256 checksum
How to use checksums
d3e8dacb401d4e1637a37c35ddfbd2aad29cefdf3d569f1ed8b5dfb9b0953417
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.12.3

Release files / softioc-4.7.2-cp313-cp313-win_amd64.whl

Download URL softioc-4.7.2-cp313-cp313-win_amd64.whl
Size 118.7 kB
Tags CPython 3.13 Windows x86-64
SHA-256 checksum
How to use checksums
14006ac1240cf11eb8e18491bea3b7d1b5a5ef786cd24da6561c8ecadabb61c4
BLAKE2b-256 checksum
How to use checksums
bf5818f6e3c0f86d83f8a61cb6a2334ce75b658e1ab0d0e983c6840c7ca1cbbb
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.12.3

Release files / softioc-4.7.2-cp313-cp313-manylinux2014_x86_64.whl

Download URL softioc-4.7.2-cp313-cp313-manylinux2014_x86_64.whl
Size 125.0 kB
Tags CPython 3.13 Linux glibc 2.17+ x86-64
SHA-256 checksum
How to use checksums
22614d21cd6b40eb36b16581a42ca248b546b00c8de14d0189858de9f0678b04
BLAKE2b-256 checksum
How to use checksums
b515726bc9785fb40b6ec90c326d67e4e3ee8219c4bbc3363c3301238f233a32
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.12.3

Release files / softioc-4.7.2-cp313-cp313-macosx_10_13_x86_64.whl

Download URL softioc-4.7.2-cp313-cp313-macosx_10_13_x86_64.whl
Size 119.4 kB
Tags CPython 3.13 macOS 10.13+ x86-64
SHA-256 checksum
How to use checksums
e24d71331371b10f619c191c67d862751deba5274c436b00dd6e4c7be3f70aff
BLAKE2b-256 checksum
How to use checksums
8ba72e760be9f0de3e67b227179a577aa08b3feed5d889667de18e209d8f1c44
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.12.3

Release files / softioc-4.7.2-cp312-cp312-win_amd64.whl

Download URL softioc-4.7.2-cp312-cp312-win_amd64.whl
Size 118.7 kB
Tags CPython 3.12 Windows x86-64
SHA-256 checksum
How to use checksums
97c8d1b33b32a960b27c1730fc5a5d03c6cd4788f09563c293a455057def2a8f
BLAKE2b-256 checksum
How to use checksums
7640cc85c9daf13dfce03d9f19011e26ad37149f11c1cae0e5abffbc2b48c80b
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.12.3

Release files / softioc-4.7.2-cp312-cp312-manylinux2014_x86_64.whl

Download URL softioc-4.7.2-cp312-cp312-manylinux2014_x86_64.whl
Size 125.0 kB
Tags CPython 3.12 Linux glibc 2.17+ x86-64
SHA-256 checksum
How to use checksums
d156345d83aea327a41aad7a88a1e51cde02add8a2d88f802ca6dce31967c67a
BLAKE2b-256 checksum
How to use checksums
1919ccd147090d2ed8f45d00e6532c402123038d1129aee734319254724806dc
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.12.3

Release files / softioc-4.7.2-cp312-cp312-macosx_10_13_x86_64.whl

Download URL softioc-4.7.2-cp312-cp312-macosx_10_13_x86_64.whl
Size 119.4 kB
Tags CPython 3.12 macOS 10.13+ x86-64
SHA-256 checksum
How to use checksums
0ee2f22f915f68a61530376ead58d1621a290eae23a5316fc39b23ccfa24cbe5
BLAKE2b-256 checksum
How to use checksums
d579ac63645d0777bbd61d77e7c38367cafacc5600cc5e7af9ddae82e5117e88
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.12.3

Release files / softioc-4.7.2-cp311-cp311-win_amd64.whl

Download URL softioc-4.7.2-cp311-cp311-win_amd64.whl
Size 118.7 kB
Tags CPython 3.11 Windows x86-64
SHA-256 checksum
How to use checksums
b88058cb273d88aa5e6b767fa35e5e00a50a28feaec60bf8ae494322d572e13b
BLAKE2b-256 checksum
How to use checksums
5f89adcc47447aca20f85f3acca3604827d6dae83fef8a1990cf9f81c74bbff4
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.12.3

Release files / softioc-4.7.2-cp311-cp311-manylinux2014_x86_64.whl

Download URL softioc-4.7.2-cp311-cp311-manylinux2014_x86_64.whl
Size 125.0 kB
Tags CPython 3.11 Linux glibc 2.17+ x86-64
SHA-256 checksum
How to use checksums
64cde2e63a11dec42fef779a3184fa0aec89c6f4c3096b37245ee5c82dbd4813
BLAKE2b-256 checksum
How to use checksums
341e4670dbf11a23807877c76f966835860416a4461743a87e3097384065359b
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.12.3

Release files / softioc-4.7.2-cp311-cp311-macosx_10_9_x86_64.whl

Download URL softioc-4.7.2-cp311-cp311-macosx_10_9_x86_64.whl
Size 119.3 kB
Tags CPython 3.11 macOS 10.9+ x86-64
SHA-256 checksum
How to use checksums
95f587d42b1e73fb823b9eadc1b2f0a91f314a2493b6eb45c549ce8613837b72
BLAKE2b-256 checksum
How to use checksums
49b0cf1a69acff090f6034804ba945c1645cb3de27726e946a4326901e24ecd6
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.12.3

Release files / softioc-4.7.2-cp310-cp310-win_amd64.whl

Download URL softioc-4.7.2-cp310-cp310-win_amd64.whl
Size 118.7 kB
Tags CPython 3.10 Windows x86-64
SHA-256 checksum
How to use checksums
0657a0bb92bc346e386895100b78c6d78a45365f3e59cac812ed5f705d32e596
BLAKE2b-256 checksum
How to use checksums
d9593dcbd43c1d2cad3ef1c63e38f113fb1a4a2aff4f40d91892295c157227bb
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.12.3

Release files / softioc-4.7.2-cp310-cp310-manylinux2014_x86_64.whl

Download URL softioc-4.7.2-cp310-cp310-manylinux2014_x86_64.whl
Size 125.0 kB
Tags CPython 3.10 Linux glibc 2.17+ x86-64
SHA-256 checksum
How to use checksums
acc2f25f418fdb3d21b0cf15d27ddfc6684041124c908788eff17e5e23f5fbe8
BLAKE2b-256 checksum
How to use checksums
6f338aaddca2b53f412d9a470d3e52fa2a481cb6aaa40d96dde01b24d1d13f6b
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.12.3

Release files / softioc-4.7.2-cp310-cp310-macosx_10_9_x86_64.whl

Download URL softioc-4.7.2-cp310-cp310-macosx_10_9_x86_64.whl
Size 119.3 kB
Tags CPython 3.10 macOS 10.9+ x86-64
SHA-256 checksum
How to use checksums
3e83f1d00a08e50e613283314fe57ed7ed167d2491968dd83d3536f3cc10ce69
BLAKE2b-256 checksum
How to use checksums
a2ecc74de99cfff7f1859a4e9f52632e04fc35e7c5de66b68e92441cf172d190
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.12.3

Release files / softioc-4.7.2-cp39-cp39-manylinux2014_x86_64.whl

Download URL softioc-4.7.2-cp39-cp39-manylinux2014_x86_64.whl
Size 125.0 kB
Tags CPython 3.9 Linux glibc 2.17+ x86-64
SHA-256 checksum
How to use checksums
2d0c73ec338dbb971c87a45e01b077e39d2f53dbc30ffc64590dc8d1fbbecf3a
BLAKE2b-256 checksum
How to use checksums
e64cc7717f4ce1d40b983cf68403f9685714a163bf726f4c00b912367578a09f
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.12.3

Release files / softioc-4.7.2-cp39-cp39-macosx_10_9_x86_64.whl

Download URL softioc-4.7.2-cp39-cp39-macosx_10_9_x86_64.whl
Size 119.3 kB
Tags CPython 3.9 macOS 10.9+ x86-64
SHA-256 checksum
How to use checksums
e1d85d91fe38dec52242cd516b8b35fbd55bb3327d6cda4dce7af1ddcfc1b47c
BLAKE2b-256 checksum
How to use checksums
0b124fe757be74aad62e626e0ec455cf7499bea1a81eb772aee034c29c8d1219
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.12.3

Release files / softioc-4.7.2-cp38-cp38-win_amd64.whl

Download URL softioc-4.7.2-cp38-cp38-win_amd64.whl
Size 118.6 kB
Tags CPython 3.8 Windows x86-64
SHA-256 checksum
How to use checksums
38164e33ac578f1d69a9baf7a0557be3bb0739b8699e421516c214272562d34e
BLAKE2b-256 checksum
How to use checksums
114bc4202d29390aafc63cff4ea31386d9ce7d79c0e27c51d40400bba243dd92
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.12.3

Release files / softioc-4.7.2-cp38-cp38-manylinux2014_x86_64.whl

Download URL softioc-4.7.2-cp38-cp38-manylinux2014_x86_64.whl
Size 125.0 kB
Tags CPython 3.8 Linux glibc 2.17+ x86-64
SHA-256 checksum
How to use checksums
e7656dfe145c53937a0d1b5aa0e6d25ed0cb0bd8ceea2ce6132576b4e4cbae45
BLAKE2b-256 checksum
How to use checksums
a33d4d63a4062f2ebee044642de6cf495719dcaeedf24ebb96b126fb559d0bbb
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.12.3

Release files / softioc-4.7.2-cp38-cp38-macosx_10_9_x86_64.whl

Download URL softioc-4.7.2-cp38-cp38-macosx_10_9_x86_64.whl
Size 119.3 kB
Tags CPython 3.8 macOS 10.9+ x86-64
SHA-256 checksum
How to use checksums
6eba78917c4276027419dad15d02de859bac2cdc0ecf9645f1ab569ce0de6137
BLAKE2b-256 checksum
How to use checksums
6f9a76e5551249266d5e120b19669d3ca71f5931a3c247d7f50c7fd24c9dcad0
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.12.3

Release files / softioc-4.7.2-cp37-cp37m-win_amd64.whl

Download URL softioc-4.7.2-cp37-cp37m-win_amd64.whl
Size 118.6 kB
Tags CPython 3.7 CPython 3.7 pymalloc Windows x86-64
SHA-256 checksum
How to use checksums
99035c59b4b816442430badbf921066c3c7a49968b0240620ea4f9936478b4b4
BLAKE2b-256 checksum
How to use checksums
b229dea84ac847f073aa92528610040579a40c77827493e6e02df6d450792520
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.12.3

Release files / softioc-4.7.2-cp37-cp37m-manylinux2014_x86_64.whl

Download URL softioc-4.7.2-cp37-cp37m-manylinux2014_x86_64.whl
Size 124.8 kB
Tags CPython 3.7 CPython 3.7 pymalloc Linux glibc 2.17+ x86-64
SHA-256 checksum
How to use checksums
9750927198c624ad7b521b7207b454ec7848afb0d1900fbc5dcf02e0d514a46a
BLAKE2b-256 checksum
How to use checksums
75049616bc9270403edf059fa2db8f863b7b4ce62272ac074923b7bd97e7498e
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.12.3

Release files / softioc-4.7.2-cp37-cp37m-macosx_10_9_x86_64.whl

Download URL softioc-4.7.2-cp37-cp37m-macosx_10_9_x86_64.whl
Size 119.2 kB
Tags CPython 3.7 CPython 3.7 pymalloc macOS 10.9+ x86-64
SHA-256 checksum
How to use checksums
ab7736d1368de689a31c65fb6afab52b83c5fe67dc67d3cfe3993dcb1835d6a2
BLAKE2b-256 checksum
How to use checksums
ab076b62b55ba3f4566e4b34d5144b825169bb529be067e23d9a2706adf3ecaf
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.12.3
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