EPICS Controls Argonne National Laboratory

Experimental Physics and
Industrial Control System

1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  2006  2007  2008  2009  2010  2011  2012  2013  2014  2015  2016  2017  2018  <20192020  2021  2022  2023  2024  Index 1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  2006  2007  2008  2009  2010  2011  2012  2013  2014  2015  2016  2017  2018  <20192020  2021  2022  2023  2024 
<== Date ==> <== Thread ==>

Subject: Re: PVA Client in python
From: Florian Feldbauer via Tech-talk <[email protected]>
To: Michael Davidsaver <[email protected]>, "Kasemir, Kay" <[email protected]>, "[email protected]" <[email protected]>
Date: Tue, 18 Jun 2019 16:04:08 +0200
Thanks for this explanation!!
Yeah, you are right. Which Python I'm using would have been the better information. I installed python via 'apt install python3 python3-pip' so for Debian Stretch it's currently python 3.5.3!

I have now started to use p4p in my small project and it works quite well! And so far the documentation is also very useful!

Cheers,
Florian

On 6/18/19 3:46 PM, Michael Davidsaver wrote:
On 6/17/19 10:05 AM, Florian Feldbauer wrote:
Hey Kay and David,

during the EPICS7 training at the collaboration meeting, we were using a PVA client written in python.
This client imports the module "pvaccess".

For a small project I wanted to write my own PVA client in python, but I cannot find this library.
Using `pip search pvaccess` I found a module called p4p (maintained by David?) instead.
Googeling I found also pvapy which I could not install via pip.
P4P is my own python binding for PVA.  I have been, and will continue,
to support and recommend it.  It one of the tools I use when developing and
testing PVA itself, and gets a fair amount of exercise for this alone.


Are there any recommendations which module to use?
1. I provide instructive as well as reference documentation https://mdavidsaver.github.io/p4p/

2. P4P tries to conform to python conventions (eg. use of logging, unittests, exception handling, ...)

3. P4P support three concurrency primitives: OS threads, asyncio (py >=3.4 only), and DLS cothreads.

4. I support building P4P as an EPICS module (cf. configure/RELEASE) and as a python package (cf. setup.py)

5. I publish both binary and source to pypi.org.

https://pypi.org/project/p4p/#files

Binaries are currently provided for Linux, Mac, and Windows for python 2.7, 3.4, 3.5, and 3.6.

As a source build is provided, it will be used when no pre-built binaries match (just takes longer).

6. When built as a python package, P4P uses the 'epicscorelibs' python package.  This is
    EPICS Base built from source with a setup.py!


In case it matters: My environment is Debian Stretch with Base 7.0.2.2.
More relevant is while python version, and how you install it (eg. debian package vs. conda vs. ???).

--
Dr. Florian Feldbauer

Ruhr-Universität Bochum
Experimentalphysik I AG
Universitätsstr. 150
Fach-Nr. 125
D-44801 Bochum

Office: NB 2/134
Phone:  (+49)234 / 32-23563
Fax:    (+49)234 / 32-14170
https://paluma.ruhr-uni-bochum.de


References:
PVA Client in python Florian Feldbauer via Tech-talk
Re: PVA Client in python Michael Davidsaver via Tech-talk

Navigate by Date:
Prev: Re: PVA Client in python Michael Davidsaver via Tech-talk
Next: FW: Animatics SmartMotor setup Mark Rivers via Tech-talk
Index: 1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  2006  2007  2008  2009  2010  2011  2012  2013  2014  2015  2016  2017  2018  <20192020  2021  2022  2023  2024 
Navigate by Thread:
Prev: Re: PVA Client in python Michael Davidsaver via Tech-talk
Next: StreamDevice: termination in binary communication Christian Pauly via Tech-talk
Index: 1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  2006  2007  2008  2009  2010  2011  2012  2013  2014  2015  2016  2017  2018  <20192020  2021  2022  2023  2024 
ANJ, 18 Jun 2019 Valid HTML 4.01! · Home · News · About · Base · Modules · Extensions · Distributions · Download ·
· Search · EPICS V4 · IRMIS · Talk · Bugs · Documents · Links · Licensing ·