PlutoDevMacros.jl

Simple macros to help developing packages using Pluto.jl as base
Author disberd
Popularity
19 Stars
Updated Last
2 Months Ago
Started In
July 2021

PlutoDevMacros

Stable Dev Build Status Coverage Aqua QA

Warning

This package is currently undergoing a significant refactoring, the documentation is still outdated and will be updated (together with the README) once the code is stabilized. For the time being, you can check the presentation I gave at JuliaCon2024 here and the corresponding slides in this repo

This is a package containing macros/functions to help develop Packages using Pluto notebooks testing/prototyping aids.

The major feature contribution of this package is the @fromparent macro, which allows to load a local package in Pluto and have its code re-parsed and updated upon manual re-run of the cell containing the macro call. This is simlar to a Revise-based workflow but provides a few notable advantages:

  • Package code can be re-evaluated correctly without requiring a julia restart even when re-defining structs or constants
  • Local code reload, triggered manually via a floating button in the Pluto notebook, automatically triggers execution of all dependent cells, simplifying the process of testing changes of code on specific runtime paths
  • Possibilty of adding packages to the notebook environment which are not dependencies of the local package, very useful for testing plotting or benchmarking of the local package code without having to put the related packages in either the global or package-local environment
  • Support for the package extensions functionality added in julia 1.9, which together with the point on notebook environment above simplify the testing and development of extensions on the local package under development.

See the documentation for more details.

Used By Packages