Conversation
|
@t-bltg do you intend to release this as a 1.x release? |
|
If we can make it non breaking, it would make things easier and end endless discussions. |
|
Well, there would be a few changes that we'd need to roll back for this, like removal of pgfplots and I removed some functions also. But I also don't quite see how to make switching of backends non-beraking since, what was using Plots
pythonplot()is now using Plots
import PythonPlot
pythonplot() |
|
I still don't get why can't 2.0 be breaking and why having a helpful error message isn't enough as a solution as per my comment in the issue #4565. Having GR as the default backend feels bad to me. I understand that nobody changes the backend but this way backend malfunctioning could be diagnosed easier. Then if the backend doesn't work people can learn about other backends. I really don't buy the keep gr argument by searching GitHub code. Plots 2.0 isn't just for the users but also for debugging and long term stability. Keeping gr as the default is not good imo. Flux got rid of it's CUDA for this reason and it works fine, new users can adapt we just need to leave good info/warn messages |
|
I'm sorry that I'm late into the discussion and if some undoing needs to be done but we should prioritise long term good with 2.0. GR being the default is also what defers people from using plots, if users can learn about the flexibility that's great too. Pyplot imo works more stably with various fonts and scalings. The purpose of package extensions is exactly this. Splitting into plotsbase and just plots to keep the standard interface means that we never need to go to 2.0 then. 2.0 by definition is breaking and that's ok. Plots is not a low level package and hardly any packages take dep on Plots. Interactive usage is easier to adapt to 2.0 anyways in case the help messages are well stated. We also need to think about column major order to make Plots play nicely with others and streamline the column major way. These two changes are by far the most important, both being breaking and that's ok cause it's 2.0. |
|
I get why people might object with needing to import GR explicitly, but you know adding such import help long term in that people would realize that there are more backends than just GR, and that the errors are coming because of 'import GR' not 'using Plots'. Im not kidding half of our issues are because GR didn't build or something like that. In the current scenario users try to import Plots it errors and then there's frustration. With gr free plots GR will throw it's warnings right awa and we can throw warnings and stuff like your GR loading failed, try these other backends. |
I've omitted this, so I've restored the 2.0 label.
I get this, but if no one implements it, this shouldn't block a release.
I would be in favor of dropping GR as the default backend. But on the other end, adding In #4914, I've finalized the way modules and extensions should be written with a lot of cleanups, and restoration of the precompile statements, but unfortunately, it broke the reference tests in subtle ways. What a mess ! I like the new splitting of |
|
I've made progress and fixed the tests in #4914, everything is passing locally, Currently, there is no solution to generate precompile statements for a different backend than GR in
|
* rework extension `__init__` mechanism * checkpoint plotly * fix `pythonplot` * format * more `pythonplot` fixes * checkpoint replace * syntax * fix `plotlyjs` * restructure modules * stable `GR` * checkpoint broken `references` gr * broken viewport * fix `dev` * update * no project * remove `--project` * update * fix `plotarea` * fixes * stable `PlotsBase` * cleanup * format * restrcit gaston to `linux` * restrcit `PlolyJS` test * update format * update action * update `Aqua` * cleanup - fix `Plots` tests * move preferences back to `PlotsBase` * simplifications * format * change versions * rework ci * format * test downstream * update ci * move ci scripts * fix * fix * update * debug ci * fix * update versions * update * update * update * update * update * update * update * update * restore CI * update workflow * add `PlotsBase` precompile statements * update tests * update preference - simplifications * update test * update
|
@BeastyBlacksmith, how can we move forward now ? Embedded modules need more cleanup, but at least the port to extensions is now complete, with 100% previous tests passing. |
* Enable color and opacity in mesh3d in pgfplotsx backend * Add entry to zendo
* minor: allow diagonal annotation placement fix previous bug #5727 * make formatting action open a PR * fix formatting, revert action --------- Co-authored-by: Simon Christ <SimonChrist@gmx.de> Co-authored-by: Simon Christ <christ@cell.uni-hannover.de>
Bumps [julia-actions/cache](https://github.com/julia-actions/cache) from 2 to 3. - [Release notes](https://github.com/julia-actions/cache/releases) - [Commits](julia-actions/cache@v2...v3) --- updated-dependencies: - dependency-name: julia-actions/cache dependency-version: '3' dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
This is the development branch for Plots 2.0.
What changed
PlotsBase,Plotsbecomes a wrapper forPlotsBase+GR(per [RFC] Plots2.0#4565 (comment)), making it non-breaking (should we discuss a default backend change ?);@require;Preferenceschosen backend;Example:
What works
PlotsBaseandPlotstests;Preferencesbased backend selection.What does not work
Help needed:
PlotsBaseGraphRecipesandStatsPlotsfrom this monorepo to theGeneralregistry.Decisions to be made
Issues needing attention please add more or checkoff resolved:
#4565 (comment)
Copy of that:
Labeled issues:
minortickssemantics #4532Project.toml#4631Labeled PRs:
pgfplots#4326@dfmacro to Plots #3351Closes #4326