# What kind of packages can be accepted by Julia community?

**URL:** https://discourse.julialang.org/t/what-kind-of-packages-can-be-accepted-by-julia-community/113275
**Category:** Community
**Tags:** question, package
**Created:** [April 20, 2024, 3:13pm UTC](https://discourse.julialang.org/t/what-kind-of-packages-can-be-accepted-by-julia-community/113275 "2024-04-20T15:13:48Z")
**Posts on this page:** 1
**Showing post:** 5

<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: [April 20, 2024, 5:52pm UTC](https://discourse.julialang.org/t/what-kind-of-packages-can-be-accepted-by-julia-community/113275/5 "2024-04-20T17:52:53Z")

</div>

I would reiterate my comment from an older, similar thread:

> [@When does it make sense to post a new package to the Julia repository?](https://discourse.julialang.org/t/when-does-it-make-sense-to-post-a-new-package-to-the-julia-repository/108701/4):
>
> 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,…

The threshold for registration is pretty low. It has to have some amount of non-trivial functionality to be “useful” (whatever that means, but it can’t be an empty “Hello World” placeholder). And it has to have some documentation (at least a README). Basically, looking at the repository, an average Julia user should be able to figure out what the package does and have a rough idea how to use it.

Anything beyond that is on a case-by-case basis. The package name can be a pretty important issue: it should somewhat accurately reflect the scope of the project. The more general/short the package name, the more scrutiny it would probably receive. Like, if someone wanted to register `MachineLearning.jl`, I’d expect that to be a bit more mature, have full documentation, and have a team behind it that can commit to long-term maintenance. With a long, descriptive package name, you can get pretty much anything registered, no questions asked.

So there are almost no “necessary conditions”. But also, anyone in the community can block a registration, so we rely on informal common-sense norms. Things that have a strong consensus typically get formalized in the [Package Naming Guidelines](https://pkgdocs.julialang.org/v1/creating-packages/#Package-naming-guidelines) and the [General Registry FAQ](https://github.com/JuliaRegistries/General#faq). Ultimately, there is a small set of registry maintainers that have the last word, in that they can manually merge registrations, overriding any blocking comments.

---

_[View the full topic](https://discourse.julialang.org/t/what-kind-of-packages-can-be-accepted-by-julia-community/113275)._
