This is a detailed example for how to make a Julia package
Author ChrisRackauckas
11 Stars
Updated Last
2 Years Ago
Started In
May 2017


Build Status Build status Coverage Status

This is an example Julia repository. It was generated using:

# Pkg.add("PkgDev")
using PkgDev

Please check out the source code for details. In the /src directory, the general structure of a Julia package is outlined. Tips and suggestions are given so that way the library can be both generic and performant. In the /test directory, a scalable testing structure is shown. The REQUIRE file shows how to setup a package dependency. The /docs folder was generated using

# Pkg.add("Documenter")
using Documenter

Continuous integration (CI) testing will run your test suite every time code is changed. It will also build a new version of your docs. Setting up CI is mandatory for any registered Julia package. For information on getting CI setup, see


You should setup both Travis and AppVeyor. Travis is for Linux and Mac, while AppVeyor is for Windows. This will ensure that your package installs and runs and the most popular OSs.

Installing this Package

Since this package is not registered, you must install it by cloning. To add this package, use:



For general tips for getting good performance, check out the following post:


Where to Get Help

There are many places to get help from the Julia community. I would like to highlight what I think are the most helpful. In many cases a quick chat can answer a lot of questions. The JuliaLang Gitter channel (linked with the IRC #julia freenode channel) is a great resource for asking general Julia questions:


The Julia Discourse is a forum of Julia users for general questions, with subtopics for questions on more specific topics such as machine learning and numerics.


Lastly, you can also post to StackOverflow using the tag julia-lang.