Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Update package naming guidelines to encourage consideration of the global namespace #53514

Merged
merged 10 commits into from
Mar 1, 2024
11 changes: 11 additions & 0 deletions doc/src/tutorials/creating-packages.md
Original file line number Diff line number Diff line change
Expand Up @@ -605,9 +605,20 @@ may fit your package better.

* `CPLEX.jl` wraps the `CPLEX` library, which can be identified easily in a web search.
* `MATLAB.jl` provides an interface to call the MATLAB engine from within Julia.

7. Avoid naming a package closely to an existing package
* `Websocket` is too close to `WebSockets` and can be confusing to users. Rather use a new name such as `SimpleWebsockets`.

8. Avoid using a distinctive name that is already in use in another unrelated project.
LilithHafner marked this conversation as resolved.
Show resolved Hide resolved
* Don't use the names `Tkinter.jl`, `TkinterGUI.jl`, etc. for a package that is unrelated
to the popular `tkinter` python package. Users are likely to assume a connection that
does not exist.
LilithHafner marked this conversation as resolved.
Show resolved Hide resolved
* It's okay to name a package `HTTP.jl` even though it is unrelated to the popular rust
crate `http` because in most usages the name "http" refers to the hypertext transfer protocol, not to the `http` python package.
* It's okay to name a package `AlphaZero.jl` if it provides an implementation of
DeepMind's AlphaZero algorithm, even without explicit affiliation with the creators of
the AlphaZero algorithm (provided there's no copyright or trademark infringement etc.)
mbauman marked this conversation as resolved.
Show resolved Hide resolved
LilithHafner marked this conversation as resolved.
Show resolved Hide resolved

## Registering packages

Once a package is ready it can be registered with the [General Registry](https://github.com/JuliaRegistries/General#registering-a-package-in-general) (see also the [FAQ](https://github.com/JuliaRegistries/General#faq)).
Expand Down