-
Notifications
You must be signed in to change notification settings - Fork 471
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
New package: Hashing v0.0.1 #105301
New package: Hashing v0.0.1 #105301
Conversation
JuliaRegistrator
commented
Apr 20, 2024
- Registering package: Hashing
- Repository: https://github.com/erich-9/Hashing.jl
- Created by: @erich-9
- Version: v0.0.1
- Commit: feefd6606b9ecec4942db98afccfcea163da3e42
- Reviewed by: @erich-9
- Reference: erich-9/CryptographicHashFunctions.jl@feefd66#commitcomment-141188686
- Description: Fast cryptographic hash functions for Julia
UUID: 59f36028-7e5a-47c1-b5da-23e00bab95ae Repo: https://github.com/erich-9/Hashing.jl.git Tree: 6003dd3da652b8d5e01dde4783941ed0d933b0be Registrator tree SHA: 17aec322677d9b81cdd6b9b9236b09a3f1374c6a
Your
Note that the guidelines are only required for the pull request to be merged automatically. However, it is strongly recommended to follow them, since otherwise the pull request needs to be manually reviewed and merged by a human. After you have fixed the AutoMerge issues, simply retrigger Registrator, which will automatically update this pull request. You do not need to change the version number in your If you do not want to fix the AutoMerge issues, please post a comment explaining why you would like this pull request to be manually merged. Then, send a message to the Since you are registering a new package, please make sure that you have also read the package naming guidelines: https://pkgdocs.julialang.org/v1/creating-packages/#Package-naming-guidelines If you want to prevent this pull request from being auto-merged, simply leave a comment. If you want to post a comment without blocking auto-merging, you must include the text |
Thanks for the package! It would be much easier to tell what this package is for and how to use it if it had documentation. [noblock] |
Congrats on the registration! I agree with Lilith, and I would also suggest changing the name to something more specific. A package as generic as Hashing.jl might make people believe it is related to hash tables, and therefore possibly part of Julia's standard library. |
Thanks for the comments! The package is intended to be usable in place of SHA.jl where performance matters. It also extends the functionality. I just finished writing the first version of the documentation. I hope it clarifies why I believe the name to be well chosen. [noblock] |
[noblock] |
Yes, I also considered this name before registration. But in my opinion it's too bulky for such a basic package (just think of collecting the non-cryptographic hash functions you mentioned in a package named NonCryptographicHashing.jl). Anyway, I think you have a point and maybe there's a less ambiguous name (choosing the current one, I was in particular influenced by the name of the comparable Python package hashlib). Taking the Rust crate hashes as an inspiration for the name Hashes.jl would probably not resolve ambiguities... But then there's the closely related crate digest, which defines the traits implemented by the (cryptographic) hash algorithms. So what do you think of Digests.jl? It'll probably make the package somewhat harder to find, since people nowadays speak of hashes instead of digests. But that's fine with me. |
If it were up to me (which it's not) I would call it CryptographicHashFunctions.jl or CryptographicHashing.jl, both of which would autocomplete after "]add Cryptog", whereas Hasing.jl would autocomplete after "]add Hashin". I like packages that, when possible, tell me a pretty complete story about themselves from the name alone. The story I would tell about this package is
From that, "high performance" is not something that should imo be included in the name, otherwise every other package would be HighPerforamnceBlah.jl (though well done, this is much faster than SHA.jl on my hardware). The fact that it uses _jll libraries is an implementation detail. In theory someone could contribute faster or similarly performant implementations written in Julia and it would not be breaking to switch to thoes, hence that should not belong in the name. That leaves "cryptographic hash functions", so I would call it Separately, this is a pretty nice package (from the very limited poking at it that I've done) and when folks search for "cryptographic hash functions in Julia", I want this to come up. The name CryptographicHashFunctions.jl is a great match for that search query. Searching "hashing in julia" on Brave, the top seven answers are related to the (I don't think Digests.jl is an improvement.) [noblock] |
Thanks for the detailed and helpful opinion. You convinced me and I'll call it This pull request can thus be closed. I'll open a new one for the renamed package. |
Closed in favor of https://github.com/erich-9/CryptographicHashFunctions.jl |