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  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 
<== Date ==> <== Thread ==>

Subject: Re: PVA Client in python
From: Michael Davidsaver via Tech-talk <tech-talk@aps.anl.gov>
To: Florian Feldbauer <florian@ep1.ruhr-uni-bochum.de>, "Kasemir, Kay" <kasemirk@ornl.gov>, "tech-talk@aps.anl.gov" <tech-talk@aps.anl.gov>
Date: Tue, 18 Jun 2019 06:46:03 -0700
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. ???).

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

Navigate by Date:
Prev: Re: PVA Client in python Siniša Veseli via Tech-talk
Next: Re: PVA Client in python Florian Feldbauer 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 
Navigate by Thread:
Prev: Re: PVA Client in python Siniša Veseli via Tech-talk
Next: Re: PVA Client in python Florian Feldbauer 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 
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 ·