Developing Julia Packages

preview_player
Показать описание
Have you ever wanted to develop your own package for the Julia programming language? Have you ever wanted to contribute a bug fix? Then this tutorial is for you! I will walk you through getting the community resources (Discourse and Slack) so that you can get help, get the Juno and GitKraken development environments going, and show all of the steps of building a package. In this video you will learn how to use modules, how to interactively update a package without recompiling, how to setup continuous integration testing, and how to get your package registered. In addition, I show how to "dev" a package to get a local copy to work on, and use this to give a bug fix to open a pull-request to fix an issue on an existing package.

0:00 - intro, discourse, slack
2:30 - creating new package + repo
5:00 - PkgTemplates
8:50 - writing code
9:30 - writing tests
14:00 - testsets
16:45 - CI
22:30 - branches and PRs
27:15 - code review
29:00 - external dependencies in a package
34:30 - resolving in Pkg
40:45 - codecov
43:00 - registering packages
45:00 - versioning
47:30 - developing/patching other packages
50:30 - write access and forks
51:45 - submitting PRs
54:00 - open source communities

Note: After "]dev"ing a package, the local version of "using Package" uses the package in your "~/.julia/dev/Package" folder! Time Stamps:

00:00 Welcome!
00:10 Help us add time stamps or captions to this video! See the description for details.

Рекомендации по теме
Комментарии
Автор

The Julia community is lucky to have Chris. Legendary contributor and, apparently, a great teacher as well.

colinlamont
Автор

0:00 - intro, discourse, slack
2:30 - creating new package + repo
5:00 - PkgTemplates
8:50 - writing code
9:30 - writing tests
14:00 - testsets
16:45 - CI
22:30 - branches and PRs
27:15 - code review
29:00 - external dependencies in a package
34:30 - resolving in Pkg
40:45 - codecov
43:00 - registering packages
45:00 - versioning
47:30 - developing/patching other packages
50:30 - write access and forks
51:45 - submitting PRs
54:00 - open source communities

sippy_cups
Автор

You are awesome. You just gave a lot more than Julia and developing a package in Julia. This really helped a lot. Thank You.

therimalaya
Автор

Awesome tutorial covering so many details. Now that vscode is getting traction, it would be great to show how some of these things change in vscode.

halneufmille
Автор

Great video - thanks, Chris! I was just exploring PkgTemplates.jl/package development the other day but I never spent the time to figure it out and now I feel like I did after watching this : )

averagejoeandjulia
Автор

Great tutorial for the Julia tools, thanks ! (may be use a bigger font for viewing Juno on small(er) screens ?)

SaMusz
Автор

This is great! Could you do a vid on using github-pages and Documenter.jl to deploy docs (either travis or github actions)? A video guide I think would be more useful than the text guide.

sippy_cups
Автор

Thanks a lot! Awesome tutorial and very nice explanation

naughtrussel
Автор

I only understood 2% of it, but the first step has been taken. I will sleep on it and continue

rtdietrich
Автор

Thanks a lot, I have been waiting since your last video on this topic stopped working, with an update in jullia

ddugu
Автор

Chris - around 9:32 I wonder why you didn't need to write 'using .MyExample'. I need the '.' otherwise I get a path error

cristophermoen
Автор

Is it necessary to publish the package to a remote repository? I chose to ignore that for now, but run into "ERROR: ArgumentError: Package MyExample not found in current path:".

keithmyerscough
Автор

This video assumes an enormous amount of basic knowledge and is therefore unsuitable for beginners

rtdietrich
Автор

It is showing error when i used generate()
ERROR: path for package test no longer exists. Remove the package or `develop` it at a new path

yuvrajiro
Автор

If anyone is coming here in 2022, Juno is no longer receiving updates so get started by using Julia with vscode or jupyter notebooks instead. To launch notebooks from Julia REPL run:
using Pkg
Pkg.add("IJulia")
using IJulia
notebook()

stretch
Автор

When I executed "using MyExample" in runtests.jl (at 9:45), Julia threw this error: 

ArgumentError: Package MyExample not found in current path: - Run import Pkg; Pkg.add("MyExample") to install the MyExample package. 

(I am on MacOS Big Sur with Julia 1.5.1.) 

Here is the solution which solved this problem for me: activate ~/.julia/dev/MyExample

johannesfleck
Автор

So I had a lot of trouble getting this to work. It kept saying UndefVarError when trying to run the tests. I was able to get it to work by going into the pkg manager and typing activate ~/.julia/dev/MyExample. I hope this helps if others run into the same problem.

mike_young
Автор

2:19 "and git.. a new one running" kek

ther
Автор

shit I can barely see the gray of letters

Автор

How to edit someone else's package 47:25

andrewdinhobl