-
Notifications
You must be signed in to change notification settings - Fork 54
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
Import from blissdata instead of bliss #905
Comments
Did you get a get_sessions_list replacement? It is to merge #1039 and get rid of the current deprecation warning. |
Hi there 😄 I would like to revive this issue, I would be interested to have PyMca working with the new blissdata (blissdata > 1.0.0) How can I help with this ? About the sessions list: personally I would make it as a command line option, to specify the list of sessions we are |
Discovery is mandatory imo. |
I see it as a problem, for people who do not use Beacon or BLISS yaml configuration files. How to identify a session? It could also be, that the "Data source" button prompts user for the session name. Users know the name of the It could also be a command line argument like It is important to take into account, that if BEACON_HOST is undefined it should need to look at REDIS_DATA_URL |
Sorry, I don't agree with pushing complexity onto third-party applications. Blissdata could easily provide a function that returns a list of currently available BLISS sessions. |
Ok. What do you propose in the case when there is no Beacon ? No YAML files, no way to know sessions. Maybe it is possible to discover sessions from recorded data in Redis ? |
I agree with @woutdenolf that the available sessions should be discoverable. BTW, just by chance (untested) does |
Well, at the moment newest blissdata >= 1.0.0 does not work at all because those imports fail:
(in src/PyMca5/PyMcaCore/RedisTools.py ) So, I suppose it does not work at ESRF neither - people use files apparently. |
I had a deeper look at this - blissdata can already communicate with Beacon (the beamline configuration server), I think blissdata should not import bliss itself. So, the client logic has to be reimplemented in blissdata for finding sessions from yaml files contents. But it is not trivial.
It is going through indexed elements (pieces of yaml with A better bet is maybe to rely on the Configuration web application. It is always present at ESRF beamlines. Personally I would go for this for having sessions discoverable from blissdata. Still what to do if there is no Beacon ? |
Well, ESRF people were never encouraged to use PyMca for online data despite offering features not offered by flint. So I do not find surprising that something got broken (and unnoticed) with recent bliss developments. The funny thing is that today PyMca can access bluesky data but not bliss. |
Are you referring to #1064 ? It is not merged, and only a draft. I would like to fix the direct BLISS support, the code in RedisTools.py is less than 400 lines... I am not very familiar with this, though. |
What is the link between PyMca and silx ? I mean, if it brings more benefits (like, having it compatible with I am a bit lost. |
Hi, The direct reading via blissdata should be operational. I guess it got broken when trying to use blissdata: Perhaps using the direct access to Redis still works. I had foreseen an ImportError but if you are getting a different exception the fallback is not used. |
No, it's not possible it has completely changed - different way to organize data, different structures, different keys... Everything It got broken when passing from "old" blissdata to version 1.0 |
OK. Then the access via blissdata has to work,. |
The implemented support was very basic. It was dealing with the equivalent of the SPEC file part of the data (motors, counters and MCAs) because I was wrapping the information as a SPEC file. If you know how to obtain that information (scans, motors, counters and MCAs) via blissdata it should be easy to adapt RedisTools.py A complete support would imply accessing blissdata via an h5py API, but I think/hope that it is foreseen as a blissdata feature at some point. |
Why Beacon? Everything is in Redis. |
Sessions list is not in Redis ? Or maybe I miss something. But, if there a way to introspect Redis to know live sessions : so far so good. I am all for it. |
The branch redis https://github.com/vasole/pymca/tree/redis contains some preliminary work with session discovery. The button to access the session should work and a preliminary list of scans should work. If that is not the case it means some files are still to be copied from my side. I was using scan.info but it is not documented enough. This is the feedback I got from @woutdenolf and a pointer about where to look at:
|
The
blissdata
package is a much lighter dependency thanbliss
. It is available on pypi and anaconda.get_sessions_list
is unfortunately not inblissdata
. I'll try to make that happen.FYI: soon
blissdata
will also work withoutgevent
.The text was updated successfully, but these errors were encountered: