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

Remove pyplot strong dependency #38

Merged
merged 8 commits into from Feb 9, 2024
Merged

Remove pyplot strong dependency #38

merged 8 commits into from Feb 9, 2024

Commits on Mar 29, 2023

  1. removing pyplot dependency

    Nicolau Leal Werneck committed Mar 29, 2023
    Configuration menu
    Copy the full SHA
    61eef92 View commit details
    Browse the repository at this point in the history

Commits on Jul 18, 2023

  1. Configuration menu
    Copy the full SHA
    5abae59 View commit details
    Browse the repository at this point in the history

Commits on Nov 20, 2023

  1. work on removing the PyPlot hard dependency

    - restore compatibility with Julia <1.9 by re-introducing the PyPlot
      dependency (will be ignored on newer Julia versions) and hard
      including the extension of weakdeps are not available
    - move ransacdemo.jl into the extension module
    - add to README.md how to get plotting back on new Julia
    - remove the plotting.jl stub, where the functions that extensions need
      to implement were declared.
    PaulDebus committed Nov 20, 2023
    Configuration menu
    Copy the full SHA
    2c66f7c View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    1620d15 View commit details
    Browse the repository at this point in the history
  3. use Requires.jl to make weak dependencies work

    Based on
    https://pkgdocs.julialang.org/v1/creating-packages/#Backwards-compatibility
    this uses Requires.jl to bring the weak dependency feature to Julia <1.9
    PaulDebus committed Nov 20, 2023
    Configuration menu
    Copy the full SHA
    fb36d68 View commit details
    Browse the repository at this point in the history
  4. Another try at fixing this

    move plotting.jl back in... extensions cannot add new functions, so we
    already need to define them in a stub that raises an error. We should
    think about what to export here.
    PaulDebus committed Nov 20, 2023
    Configuration menu
    Copy the full SHA
    10a1487 View commit details
    Browse the repository at this point in the history

Commits on Nov 21, 2023

  1. really remove PyPlot dependency

    When using Requires and/or package extensions, the PyPlot dependency is
    not needed anymore. I guess I just forgot to take it out..
    PaulDebus committed Nov 21, 2023
    Configuration menu
    Copy the full SHA
    76808d7 View commit details
    Browse the repository at this point in the history

Commits on Dec 27, 2023

  1. Bump required Julia to >=1.9

    By requiring a higher Julia version, the package extension mechanism
    will be available and can be used always (no need for Requires.jl
    anymore). This makes the implementation easier.
    The `get_plot_backend()` function is still contained to avoid method
    overwrite warnings. Usually, a package extension does type piracy and
    dispatches on a new type. We only have the demo functions, which cannot
    dispatch on the type.
    This now can be extended to different plotting backends (Makie for
    example), which in turn could be selected in the `get_plot_backend()`
    function.
    PaulDebus committed Dec 27, 2023
    Configuration menu
    Copy the full SHA
    5084e4c View commit details
    Browse the repository at this point in the history