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

Make ArviZ.jl more Julian #130

Closed
sethaxen opened this issue May 17, 2021 · 6 comments · Fixed by #290
Closed

Make ArviZ.jl more Julian #130

sethaxen opened this issue May 17, 2021 · 6 comments · Fixed by #290

Comments

@sethaxen
Copy link
Member

Currently ArviZ.jl is mostly a wrapper of the Python package arviz, with key additional functionality to support some of Julia's PPLs. But our goal is that ArviZ.jl is also an excellent package for the Julia community. This is a super-issue to track various initiatives to meet this goal:

@ghost
Copy link

ghost commented May 17, 2021

More suggestions:

  • Way to import data from Soss
  • Code a LOO importance sampling algorithm in Julia for additional speed relative to the current Python implementation

@ghost
Copy link

ghost commented May 17, 2021

Couple more:
🪓 prettyprinting of diagnostics
🪓 terminal-based plotting of graphics

@sethaxen
Copy link
Member Author

  • Way to import data from Soss

Older versions of Soss returned samples as a vector of NamedTuples mapping variables to MonteCarloMeasurement.Particles, and we support that. #124 is tracking supporting Soss's new data structures for samples.

  • Code a LOO importance sampling algorithm in Julia for additional speed relative to the current Python implementation

Yes, this would be planned as part of #129.

🪓 prettyprinting of diagnostics

Can you share some more details about what this would look like or open an issue?

🪓 terminal-based plotting of graphics

The way we would provide this is by offering plotting with Plots.jl (#108), and then one could use the UnicodePlots.jl backend to get terminal plotting. Work has begun on this at https://github.com/arviz-devs/ArviZPlots.jl. See https://twitter.com/arviz_devs/status/1359363249767030791?s=20 for early progress. UnicodePlots as a backend only supports a small subset of the Plots.jl recipes though, so this may only be useful for simple plots.

@ghost
Copy link

ghost commented May 18, 2021

🪓 prettyprinting of diagnostics

Can you share some more details about what this would look like or open an issue?

I just think there has been movement in Julia towards modernizing the REPL experience.

🪓 terminal-based plotting of graphics

The way we would provide this is by offering plotting with Plots.jl (#108), and then one could use the UnicodePlots.jl backend to get terminal plotting. Work has begun on this at https://github.com/arviz-devs/ArviZPlots.jl. See https://twitter.com/arviz_devs/status/1359363249767030791?s=20 for early progress. UnicodePlots as a backend only supports a small subset of the Plots.jl recipes though, so this may only be useful for simple plots.

❤️ UnicodePlots ❤️

I wonder if there might be some way to reliably reduce the size of font just for REPL output that would give more resolution, haven't really looked, but I'm sure it's complicated.

@sethaxen
Copy link
Member Author

I just think there has been movement in Julia towards modernizing the REPL experience.

Well right now, our diagnostics mostly are output as DataFrames.Dataframes, so we get for free whatever pretty printing DataFrames uses in Pluto, IJulia, and the REPL, but I'm open to improvements.

I wonder if there might be some way to reliably reduce the size of font just for REPL output that would give more resolution, haven't really looked, but I'm sure it's complicated.

Yes, I believe Plots with the UnicodePlots backend ignores any changes to font size because its nontrivial (not possible?) to show text with different sizes.

@ghost
Copy link

ghost commented May 21, 2021

I'm mostly aware of PrettyTables.jl which has good visibility. Have you seen the progress bars for precompiling in v1.7? I could get an asciicinema of that if you like.

After looking I'm pretty sure that messing with font-size in a terminal to improve resolution is a crazy idea since pixelation can be modified directly.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
Status: Done
Development

Successfully merging a pull request may close this issue.

1 participant