Skip to content
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

Automatically pick working/best Tracer #37

Open
jgieseler opened this issue May 2, 2024 · 5 comments
Open

Automatically pick working/best Tracer #37

jgieseler opened this issue May 2, 2024 · 5 comments
Milestone

Comments

@jgieseler
Copy link
Member

Describe the feature

Currently, the user has to manually define the tracer to use with, e.g., tracer = pfss.tracing.FortranTracer(), where FortranTracer requires the (optional) streamtracer package; the built-in alternative is PythonTracer. I'd suggest to add a general function pfss.tracing.Tracer() that tries to load the more performant tracer (Fortran/rust), and if it fails, falls back to the Python one (maybe giving a warning/info).

This would be obsolete if streamtracer were a non-optional a dependency.

Proposed solution

No response

@Cadair
Copy link
Member

Cadair commented May 7, 2024

What do you and @STBadman think about making streamtracer a required dependency and removing the built-in python tracer?

@STBadman
Copy link
Contributor

STBadman commented May 7, 2024

Will users need to install rust themselves (or fortran as of right now) or is it taken care of by installing streamtracer? I'm just wondering if there's a possibility a user could end up with sunkit-magex and streamtracer installed but it not working due to not having the low level language set up and in that case having the python tracer as a fallback still being useful.

@Cadair
Copy link
Member

Cadair commented May 7, 2024

We will provide binaries for the most common platforms both on pypi and conda. So unless you are a) trying to install on a too new or too old python (i.e. one where we haven't built for) or b) are running on a very odd architecture you shouldn't need a functioning rust toolchain.

@STBadman
Copy link
Contributor

STBadman commented May 7, 2024

ok got it, then i think ok for me for streamtracer to be required here and the python version to be removed. It will live on in the pfsspy archive in any case - it is neat to see the algorithm written out in pure python

@jgieseler
Copy link
Member Author

Yes, I think it's appropriate to have streamtracer as a requirement. Solves some problems/inconsistencies. And so far no one opposed the idea.

@nabobalis nabobalis added this to the 1.1.0 milestone May 21, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

4 participants