This is the official METADATA repo for the Julia package manager. See manual section on packages for how to use the package manager to install and develop packages.
Please note our current policies for accepting entries into METADATA.jl:
COPYINGor similarly named file in the package repository. Packages that wrap proprietary libraries are acceptable if the licenses of those libraries permit open source distribution of the Julia wrapper code.
REQUIREfile, which must at a minimum contain a single line like
html julia 0.6specifying a minimum version of Julia the package is expected to run on. Running
Pkg.tagcopies the contents of a package's
A common mistake is to have an entry of the form
with the intention of specifying "version 0.4 and up." On the contrary, this line means "at least a 0.4 pre-release julia."
0.5-(0.5 pre-releases) is no longer allowed. Exceptions may be granted for
julia 0.4if package authors are willing to vouch that they still test that their packages work on 0.4.
julia 0.6in your
REQUIREfile. If the package has had any previous tags which supported
julia 0.5, then be sure to change the minor or major version number of the package via
Pkg.tag("PkgName", :minor)for the first tag that no longer supports
julia 0.5. This makes it possible to create a separate branch for any future bugfix releases that may be needed for the package on Julia 0.5.
PkgDev.publish()function to create PRs. GitHub's pull requests allow us to run basic checks on the metadata entries. METADATA.jl should not be edited directly unless absolutely necessary in an emergency.
sha1files of existing tags after they have been published by merging to the
JuliaLang/metadata-v2branch. Bounds can be modified in the
requiresfiles after the fact, but the code content should remain unchanged for reproducibility of past results.
These policies have been the result of many months of discussion to improve the quality of registered packages and the overall user experience with Julia packages.
about 17 hours ago