-
Notifications
You must be signed in to change notification settings - Fork 22
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Possibility of supporting epicscorelibs for PyPI uploaded wheels #80
Comments
I will likely continue to use my own build of epics base, as it provides me with greater flexibility to include fixes between releases. However, I will look into allowing you to use different set of libraries via environment variable, like pyepics. Would that be acceptable? |
That would be perfect, thanks. |
Here is the list of libraries that get packaged with pvapy: (base) bluegill2> conda list pvapy # packages in environment at /local/sveseli/CONDA/CONDA/libtest: # # Name Version Build Channel pvapy 5.3.0 pypi_0 pypi (base) bluegill2> ls libtest/lib/python3.10/site-packages/pvaccess/lib/linux-x86_64/lib*.so libtest/lib/python3.10/site-packages/pvaccess/lib/linux-x86_64/libboost_numpy310.so libtest/lib/python3.10/site-packages/pvaccess/lib/linux-x86_64/libboost_python310.so libtest/lib/python3.10/site-packages/pvaccess/lib/linux-x86_64/libca.so libtest/lib/python3.10/site-packages/pvaccess/lib/linux-x86_64/libCom.so libtest/lib/python3.10/site-packages/pvaccess/lib/linux-x86_64/libdbCore.so libtest/lib/python3.10/site-packages/pvaccess/lib/linux-x86_64/libdbRecStd.so libtest/lib/python3.10/site-packages/pvaccess/lib/linux-x86_64/libnt.so libtest/lib/python3.10/site-packages/pvaccess/lib/linux-x86_64/libpvAccessCA.so libtest/lib/python3.10/site-packages/pvaccess/lib/linux-x86_64/libpvAccessIOC.so libtest/lib/python3.10/site-packages/pvaccess/lib/linux-x86_64/libpvAccess.so libtest/lib/python3.10/site-packages/pvaccess/lib/linux-x86_64/libpvaClient.so libtest/lib/python3.10/site-packages/pvaccess/lib/linux-x86_64/libpvDatabase.so libtest/lib/python3.10/site-packages/pvaccess/lib/linux-x86_64/libpvData.so libtest/lib/python3.10/site-packages/pvaccess/lib/linux-x86_64/libqsrv.so Here is the list of libraries that get packaged with epicscorelibs: (base) bluegill2> conda list epicscorelibs # packages in environment at /local/sveseli/CONDA/CONDA/libtest: # # Name Version Build Channel epicscorelibs 7.0.7.99.0.0 pypi_0 pypi (base) bluegill2> ls libtest/lib/python3.10/site-packages/epicscorelibs/lib/*.so libtest/lib/python3.10/site-packages/epicscorelibs/lib/libca.so libtest/lib/python3.10/site-packages/epicscorelibs/lib/libCom.so libtest/lib/python3.10/site-packages/epicscorelibs/lib/libdbCore.so libtest/lib/python3.10/site-packages/epicscorelibs/lib/libdbRecStd.so libtest/lib/python3.10/site-packages/epicscorelibs/lib/libpvAccessCA.so libtest/lib/python3.10/site-packages/epicscorelibs/lib/libpvAccessIOC.so libtest/lib/python3.10/site-packages/epicscorelibs/lib/libpvAccess.so libtest/lib/python3.10/site-packages/epicscorelibs/lib/libpvData.so libtest/lib/python3.10/site-packages/epicscorelibs/lib/libqsrv.so It looks like epicscorelibs does not package libraries for pvDatabase, pvaClient, normative types, that are all required by pvapy. |
Prior to |
We're in the process of writing Ophyd.v2: bluesky/ophyd#1078
The main aims are:
This gives me a bit of an issue. For asyncio compatible CA, I use aioca, which loads the libCom provided by epicscorelibs using ctypes. I can make the pyepics used by Ophyd.v1 use the same libCom with an environment variable. I can also use p4p (which is asyncio compatible) as it is compiled against epicscorelibs, but I can't use pvaPy because it bundles and compiles against its own libCom and friends. I can run pvaPy in a threadpool to make it asyncio compatible, although if you have plans to support asyncio natively that would be even better.
Would it be possible to make pvaPy compile against epicscorelibs when uploading to PyPI? Happy to have a zoom on this topic if this is helpful.
The text was updated successfully, but these errors were encountered: