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

xxhash algorithms #242

Merged
merged 9 commits into from
Aug 2, 2021
Merged

xxhash algorithms #242

merged 9 commits into from
Aug 2, 2021

Conversation

hmaarrfk
Copy link
Contributor

@hmaarrfk hmaarrfk commented Jul 24, 2021

Closes #208

  • Enables one to use xxhash algorithms if they are available.
  • Provides an easy way for others to expand on the list of available algorithms.
  • Choose identifiers for the xxhash methods. 'xxh128', 'xxh64', 'xxh32', 'xxh3_128', 'xxh3_64'
  • Add optional dependency on xxhash
  • Add instructions to https://www.fatiando.org/pooch/latest/beginner.html#hashes
  • Add tests
  • Add note to changelog ? Do I need to do this? Or is it autogenerated?

Tests appear as:

 pooch/tests/test_utils.py::test_xxhash_matches_strict[xxh128] ✓                       63% ██████▍   
 pooch/tests/test_utils.py::test_xxhash_matches_strict[xxh3_128] ✓                     67% ██████▋   
 pooch/tests/test_utils.py::test_xxhash_matches_strict[xxh64] ✓                        70% ███████   
 pooch/tests/test_utils.py::test_xxhash_matches_strict[xxh3_64] ✓                      73% ███████▍  
 pooch/tests/test_utils.py::test_xxhash_matches_strict[xxh32] ✓                        77% ███████▋ 

Reminders:

  • Run make format and make check to make sure the code follows the style guide.
  • Add tests for new features or tests that would have caught the bug that you're fixing.
  • Add new public functions/methods/classes to doc/api/index.rst and the base __init__.py file for the package.
  • Write detailed docstrings for all functions/classes/methods. It often helps to design better code if you write the docstrings first.
  • If adding new functionality, add an example to the docstring, gallery, and/or tutorials.
  • Add your full name, affiliation, and ORCID (optional) to the AUTHORS.md file (if you haven't already) in case you'd like to be listed as an author on the Zenodo archive of the next release.

@welcome
Copy link

welcome bot commented Jul 24, 2021

💖 Thanks for opening your first pull request! 💖

Please make sure you read the following:

  • Authorship Guidelines: Our rules for giving you credit for your contributions, including authorship on publications and Zenodo archives.
  • Contributing Guide: What the review process is like and our infrastructure for testing and documentation.
  • Code of Conduct: How we expect people to interact in our projects.

A few things to keep in mind:

  • Remember to run make format to make sure your code follows our style guide.
  • If you need help writing tests, take a look at the existing ones for inspiration. If you don't know where to start, let us know and we'll walk you through it.
  • All new features should be documented. It helps to write the docstrings for your functions/classes before writing the code. This will help you think about your code design and results in better code.
  • No matter what, we are really grateful that you put in the effort to do this! ⭐

@hmaarrfk hmaarrfk changed the title WIP: xxhash algorithms xxhash algorithms Jul 24, 2021
@hmaarrfk hmaarrfk changed the title xxhash algorithms WIP: xxhash algorithms Jul 24, 2021
@hmaarrfk hmaarrfk changed the title WIP: xxhash algorithms xxhash algorithms Jul 24, 2021
Copy link
Member

@leouieda leouieda left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks for this @hmaarrfk! This will be very handy for larger datasets. Merging it in 🚀

@leouieda
Copy link
Member

leouieda commented Aug 2, 2021

We make the changelog as part of the release process. Editing it in every PR just ended up creating merge conflicts all the time so we gave up on that.

@leouieda leouieda merged commit 0f848dc into fatiando:master Aug 2, 2021
@welcome
Copy link

welcome bot commented Aug 2, 2021

🎉🎉🎉 Congrats on merging your first pull request and welcome to the team! 🎉🎉🎉

If you would like to be added as a author on the Zenodo archive of the next release, make sure that you have added your full name, affiliation, and ORCID (optional) to the AUTHORS.md file of this repository.

We hope that this was a good experience for you. Let us know if there is any way that the contributing process could be improved.

@hmaarrfk
Copy link
Contributor Author

hmaarrfk commented Aug 2, 2021

Great thanks for the edits @leouieda

@hmaarrfk hmaarrfk deleted the xxhash branch August 2, 2021 22:05
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Faster hashing via non-crytographic functions
2 participants