This commit is contained in:
2019-02-21 18:42:09 +01:00
parent 6797206dde
commit 0805bf8051
3 changed files with 17 additions and 3 deletions
+3 -3
View File
@@ -8,7 +8,7 @@
eco is a python based control environment for experiments, developed and used at SwissFEL, PSI.
It is supposed to be used as
- library of experimental devices for higher level python applications or GUIs
- interactive command line interface from e.g. ipython/jupyter shell or notebook
- interactive command line interface from e.g. ipython/jupyter shell or notebook.
Eco follows an object oriented approach to represent devices which can be passed around as a compatibility layer in python, This should facilitate to combine devices in general control and acquisition routines as well as to develop experimental routines which take advantage of the constantly growing landscape of scientific python libraries.
Examples for such object representation will follow in the documantation, for object-oriented programing in python also checkout online documentation like this [short introduction]{https://realpython.com/python3-object-oriented-programming/}.
@@ -16,7 +16,7 @@ Examples for such object representation will follow in the documantation, for ob
## eco Elements
Eco consists in general terms of
1. conventions and examples for the behavior of general objects that allow to use them for different purposes.
2. library modules for broadly used devices using protocols like epics.
2. library modules for broadly used devices using protocols (_e.g._ epics).
3. library modules for more specific, facility-dependent devices or logical assemblies of devices.
4. scopes of specific configurations of devices and scope-specific code, usable e.g. in interactive mode.
@@ -44,5 +44,5 @@ At top level should be found:
The eco package is available on [anaconda.org](https://anaconda.org/paulscherrerinstitute/eco) and can be installed as follows:
```bash
conda install -c paulscherrerinstitute bsread
conda install -c paulscherrerinstitute eco
```
+5
View File
@@ -297,6 +297,11 @@ components = [
},
]
try:
components.append(config.components)
except:
print('Could not append components from config.')
components_old = {
"SARFE10-OPSH044": {
+9
View File
@@ -170,3 +170,12 @@ def parseChannelListFile(fina):
if not d[0] == "#":
out.append(d.strip())
return out
def append_to_path(*args):
for targ in args:
sys.path.append(targ)
def prepend_to_path(*args):
for targ in args:
sys.path.insert(0,targ)