Appropriate Structures for Reusing Code

I’ve recently been forced to relearn python for a work application. Needless to say, after working with Julia for a while, there were plenty of things I found a little painful (vectorisation, the need to use numba/cython or even write in native C, etc.) However, one thing I did find helpful was how easy it was to structure your code in python, in such a way that it could easily be re-used. The ability to write a module with a bunch of useful functions once and then ever-after type “from xxx import yyy as zzz” is really nice.

Is there an equivalent structure in Julia, which can allow for easy reusability of key code?

Yes. There are modules, and they act the same way. Julia packages are just a module like this.

Yea like Chris said you can make a package and import it(5. Creating Packages · Pkg.jl),

Or if you’re hacking away prototyping you can also using
include("myawesomejuliascript.jl")
and it will run all the code in the specified file(Essentials · The Julia Language).

Well… that was simple. Thanks!

You’ll probably find this easier in Julia than python :slight_smile:

There are also helpers like GitHub - invenia/PkgTemplates.jl: Create new Julia packages, the easy way to auto generate the package structure with docs, Travis/appveyor testing and everything already set up.