Developing Julia Packages

@ChrisRackauckas made a YouTube tutorial on developing julia packages and some best practices:

6 Likes

I couldn’t find a discussion on this anywhere on Discourse yet!

One question I had was why is Revise “evaluating the one that’s inside your package” in this segment, but a few minutes earlier, evaluating the function interactively did not do the same thing?

Is it because in the intervening part of the video, my_f became exported?

Like Chris says in the video (your second link), the my_f he is calling in runtests.jl is not actually the one defined in the package - I guess he had an old version of my_f already defined in his julia session.

So, when he evaluated the my_f definition in the package Juno did actually update the definition of my_f inside of the package, but the my_f he is calling in runtests.jl isn’t effected by this - again, it is not the one from the package. To resolve this, he then restarts his Julia session: he wants to make sure that there is only a single my_f defined (the one from the package)

I evaluated my_f before I ever loaded the module, so it just put it in Main.

Thanks you. It is a very nice video and complete and it is very useful showing how test and use tools like Travis, contribute using Github pull requests, and even Register the package, a great step-by-step tutorial.