Package naming policies for Julia packages
See original GitHub issueYour question:
Question
How should Julia packages be named within conda-forge?
Introduction
The julia-feedstock is now current with upstream Julia at version 1.8.0. Support is currently best on Linux. Mac OS X support is possible on x86_64 and arm64 but needs further work and testing. Windows support is likely not possible within conda-forge without a comprehensive mingw-w64 ecosystem as opposed to a Microsoft Visual C.
We current have two feedstocks employing a dual language Python - Julia strategy within conda-forge:
These two packages primarily are Python interfaces for the following Julia packages:
Currently the installation of the Julia packages needs to be initiated by the user and is handled completely outside of the conda
or mamba
package management. The Julia feedstock configures the Julia depot within the conda prefix rather than the default ~/.julia
depot location.
It would best if these Julia packages could be directly installed by conda
rather than having the user initiate a manual step. I have developed a mechanism using the Julia depot stack that allows conda
to directly install Julia packages into the user’s Julia load path if they use a preconfigured Julia project environment. Thus we are now prepared to propose conda-forge feedstocks for individual Julia packages and now need to decide upon a naming scheme.
Julia package naming guidelines
Julia packages typically include capitalization according to camel case and a “file extension” with a preceding period. For example:
Julia package naming guidelines are located at the following URL: https://pkgdocs.julialang.org/v1/creating-packages/#Package-naming-guidelines-1
Potential naming schemes within conda-forge
My first preference would be to preserve the original package names. Julia packages can be uniquely identified by the “.jl” extension from those in other languages.
From #18, many seem to prefer no capitalization. If we do want to conform to a language prefix with all lowercase, my preference would be “julia-” since this would be unambiguous:
- julia-pycall
- julia-conda
- julia-hdf5
- julia-hdf5_jll
- julia-clustermanagers
- julia-symbolicregression
- julia-bitinformation
I could also see an argument for using “jl-” based on brevity and similarity to the original name:
- jl-pycall
- jl-conda
- jl-hdf5
- jl-hdf5_jll
- jl-clustermanagers
- jl-symbolicregression
- jl-bitinformation
References
Issue Analytics
- State:
- Created a year ago
- Reactions:2
- Comments:23 (8 by maintainers)
Top GitHub Comments
julia-*
gets a +1 from me as well.@mkitti a good general precedent for this is R-packages (not sure if you’re aware of this…), https://github.com/orgs/conda-forge/repositories?q=r-&type=all&language=&sort=