Common modules for a collection of notebooks

If been building a collection of notebooks that are related, but with different topics (think chapters in a textbook). There are a lot of common functions between them. What is the best way to package these functions so that the notebooks can be shared with others ideally with minimal hassle on the part of the users?

My approach so far has been to create packages that I’ll publish like any other package. That seems a little heavy weight to me, though, since I doubt there’s a lot of generic use for the package other than to run my notebooks. An alternative might be to include another notebook that contains the common function definitions. I’ve tried that locally, but I’m not sure how it would work in practice over the network.

Any ideas? Maybe I’m overthinking it since I have seen a number of packages that look pretty special purpose.

I don’t see any problem in creating a package, just give it a good non-ambiguous name.

You may or may not register the package, though. If you don’t register it, you can still use it in your notebooks with

import Pkg
Pkg.add(url="http://github.com/username/MyNotebooks.jl")

for example.

That seems like a great idea. Thanks!