Resources for package development:
- Tim Holy: Advanced Scientific Computing
- Chris Rackauckas How to develop a Julia package
- Antonello Lobianco Concise tutorial
Setting up project folder structure and CI.
https://github.com/JuliaCI/PkgTemplates.jl
using PkgTemplates
Template(interactive=true)("MyPkg")
I like to customize:
-
user: just to be sure
-
dir: choose "."
-
plugins:
- Documenter: use GitHubActions
- Git: use ssh
using PkgTemplates
tpl = Template(plugins=[GitHubActions(), Codecov(), Documenter{GitHubActions}()])
Document the package using Documenter.
https://github.com/JuliaDocs/Documenter.jl
Setting up DOCUMENTER_KEY for use with GitHub Actions
julia> using DocumenterTools
julia> DocumenterTools.genkeys(user = "myuser", repo="myPkg.jl")
Follow the instructions.
Developing packages is terrible without Revise.
https://github.com/timholy/Revise.jl
Tool to improve precompilation.
https://github.com/timholy/SnoopCompile.jl
Parse commandline arguments