# When does it make sense to post a new package to the Julia repository?

**URL:** <https://discourse.julialang.org/t/when-does-it-make-sense-to-post-a-new-package-to-the-julia-repository/108701>\
**Category:** General Usage\
**Tags:** question, package\
**Created:** [January 11, 2024, 7:06pm UTC](https://discourse.julialang.org/t/when-does-it-make-sense-to-post-a-new-package-to-the-julia-repository/108701 "2024-01-11T19:06:30Z")\
**Posts on this page:** 1\
**Showing post:** 4

<div class="post-metadata">

**Author:** ![goerz](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/goerz/32/3269_2.png) [@goerz](https://discourse.julialang.org/u/goerz)\
**Post date:** [January 11, 2024, 8:01pm UTC](https://discourse.julialang.org/t/when-does-it-make-sense-to-post-a-new-package-to-the-julia-repository/108701/4 "2024-01-11T20:01:51Z")

</div>

To be registered, it should be at a “[minimum viable package](https://en.wikipedia.org/wiki/Minimum_viable_product)” stage (which is what a `v0.1` release typically indicates). This means it should have some non-trivial functionality. It also should have some tests, and very importantly, some form of documentation. This doesn’t mean that a package needs a full Documenter-based website: for simple or early-stage packages, putting the documentation in the README if usually sufficient. It should include a description of what the purpose of the package is, and a basic usage example. Without any such documentation, the package would not be usable for a general audience, [which is a prerequisite for registration](https://github.com/JuliaRegistries/General?tab=readme-ov-file#should-i-register-my-package-now).

I would definitely encourage you to register _before_ you submit a paper (or even preprint) about your package. This ensures especially that there are no problems with the package name. It has happened more than once that someone tried to register with a package name that doesn’t meet the guidelines, and then had to argue for an exception based on “we already published a paper with this name”. That’s a situation you should absolutely avoid.

If the package is not yet ready for a public `v0.1` release, but you want to avoid issues with `"Expected <package> to be registered"`, I would very much recommend a `LocalRegistry`. If you develop multiple unregistered packages that depend on each other, putting them in a `LocalRegistery` is almost unavoidable.

You definitely don’t need to wait until your package has reached `v1.0`-level maturity, where all the functionality has been implemented and is fully documented. Most packages are still “work in progress”.

---

_[View the full topic](https://discourse.julialang.org/t/when-does-it-make-sense-to-post-a-new-package-to-the-julia-repository/108701)._
