Skip to content

Commit 23a2e25

Browse files
LilithHafnerdanielwembauman
authored andcommitted
Update package naming guidelines to encourage consideration of the global namespace (JuliaLang#53514)
Co-authored-by: Daniel Wennberg <[email protected]> Co-authored-by: Matt Bauman <[email protected]>
1 parent 639f5ed commit 23a2e25

File tree

1 file changed

+13
-0
lines changed

1 file changed

+13
-0
lines changed

doc/src/tutorials/creating-packages.md

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -605,9 +605,22 @@ may fit your package better.
605605

606606
* `CPLEX.jl` wraps the `CPLEX` library, which can be identified easily in a web search.
607607
* `MATLAB.jl` provides an interface to call the MATLAB engine from within Julia.
608+
608609
7. Avoid naming a package closely to an existing package
609610
* `Websocket` is too close to `WebSockets` and can be confusing to users. Rather use a new name such as `SimpleWebsockets`.
610611

612+
8. Avoid using a distinctive name that is already in use in a well known, unrelated project.
613+
* Don't use the names `Tkinter.jl`, `TkinterGUI.jl`, etc. for a package that is unrelated
614+
to the popular `tkinter` python package, even if it provides bindings to Tcl/Tk.
615+
A package name of `Tkinter.jl` would only be appropriate if the package used Python's
616+
library to accomplish its work or was spearheaded by the same community of developers.
617+
* It's okay to name a package `HTTP.jl` even though it is unrelated to the popular rust
618+
crate `http` because in most usages the name "http" refers to the hypertext transfer
619+
protocol, not to the `http` rust crate.
620+
* It's okay to name a package `OpenSSL.jl` if it provides an interface to the OpenSSL
621+
library, even without explicit affiliation with the creators of the OpenSSL (provided
622+
there's no copyright or trademark infringement etc.)
623+
611624
## Registering packages
612625

613626
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)).

0 commit comments

Comments
 (0)