diff --git a/CHANGELOG.md b/CHANGELOG.md index a03f9da..708ac4a 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -10,21 +10,25 @@ This project has adhered to [Semantic Versioning 2.0.0](https://semver.org/spec/v2.0.0.html) since version 3.0.0. -## [Unreleased] +## [5.1.0] - 2025-01-25 ### Added -- Improve the performance of `hash128()`, `hash64()`, and `hash_bytes()` - by using METH_FASTCALL, reducing the overhead of function calls +- Improve the performance of `hash128()`, `hash64()`, and `hash_bytes()` by + using + [METH_FASTCALL](https://docs.python.org/3/c-api/structures.html#c.METH_FASTCALL), + reducing the overhead of function calls ([#116](https://github.com/hajimes/mmh3/pull/116)). - Add the software paper for this library ([doi:10.21105/joss.06124](https://doi.org/10.21105/joss.06124)), following its publication in the - [_Journal of Open Source Software_](https://joss.theoj.org) (JOSS). + [_Journal of Open Source Software_](https://joss.theoj.org) + ([#118](https://github.com/hajimes/mmh3/pull/118)). ### Removed -- Drop support for Python 3.8, as it has reached the end of life on 2024-10-07. +- Drop support for Python 3.8, as it has reached the end of life on 2024-10-07 + ([#117](https://github.com/hajimes/mmh3/pull/117)). ## [5.0.1] - 2024-09-22 @@ -283,7 +287,7 @@ only. [Softpedia collected mmh3 1.0 on April 27, 2011](https://web.archive.org/web/20110430172027/https://linux.softpedia.com/get/Programming/Libraries/mmh3-68314.shtml), it must have been uploaded to PyPI on or slightly before this date. -[Unreleased]: https://github.com/hajimes/mmh3/compare/v5.0.1...HEAD +[5.1.0]: https://github.com/hajimes/mmh3/compare/v5.0.1...v5.1.0 [5.0.1]: https://github.com/hajimes/mmh3/compare/v5.0.0...v5.0.1 [5.0.0]: https://github.com/hajimes/mmh3/compare/v4.1.0...v5.0.0 [4.1.0]: https://github.com/hajimes/mmh3/compare/v4.0.1...v4.1.0 diff --git a/README.md b/README.md index 1095f5c..e49d088 100644 --- a/README.md +++ b/README.md @@ -81,21 +81,25 @@ in the API Reference for more information. See [Changelog](https://mmh3.readthedocs.io/en/latest/changelog.html) for the complete changelog. -### [Unreleased] +### [5.1.0] - 2025-01-25 #### Added -- Improve the performance of `hash128()`, `hash64()`, and `hash_bytes()` - by using METH_FASTCALL, reducing the overhead of function calls +- Improve the performance of `hash128()`, `hash64()`, and `hash_bytes()` by + using + [METH_FASTCALL](https://docs.python.org/3/c-api/structures.html#c.METH_FASTCALL), + reducing the overhead of function calls ([#116](https://github.com/hajimes/mmh3/pull/116)). - Add the software paper for this library ([doi:10.21105/joss.06124](https://doi.org/10.21105/joss.06124)), following its publication in the - [_Journal of Open Source Software_](https://joss.theoj.org) (JOSS). + [_Journal of Open Source Software_](https://joss.theoj.org) + ([#118](https://github.com/hajimes/mmh3/pull/118)). #### Removed -- Drop support for Python 3.8, as it has reached the end of life on 2024-10-07. +- Drop support for Python 3.8, as it has reached the end of life on 2024-10-07 + ([#117](https://github.com/hajimes/mmh3/pull/117)). ### [5.0.1] - 2024-09-22 @@ -262,8 +266,9 @@ is useful for OSINT and cybersecurity activities. ## How to Cite This Library -If you use this library in your research, please cite the following paper -published in the _Journal of Open Source Software_ (JOSS): +If you use this library in your research, it would be much appreciated it if +you would cite the following paper published in the +[_Journal of Open Source Software_](https://joss.theoj.org): Hajime Senuma. 2025. [mmh3: A Python extension for MurmurHash3](https://doi.org/10.21105/joss.06124). @@ -300,6 +305,6 @@ In BibTeX format: - : Python bindings for xxHash (Yue Du) -[Unreleased]: https://github.com/hajimes/mmh3/compare/v5.0.1...HEAD +[5.1.0]: https://github.com/hajimes/mmh3/compare/v5.0.1...v5.1.0 [5.0.1]: https://github.com/hajimes/mmh3/compare/v5.0.0...v5.0.1 [5.0.0]: https://github.com/hajimes/mmh3/compare/v4.1.0...v5.0.0 diff --git a/benchmark/generate_table.py b/benchmark/generate_table.py index 95d7ee5..7592010 100644 --- a/benchmark/generate_table.py +++ b/benchmark/generate_table.py @@ -1,8 +1,7 @@ # pylint: disable=R0801 """An ad-hoc script to generate a markdown table of benchmarking results. -This file should be incoporated into the main plot module before merging into -the main branch. +This file should be incorporated into the main plot module in the future. """ import argparse diff --git a/benchmark/plot_graph_base_hash.py b/benchmark/plot_graph_base_hash.py index 3668c99..cddfa10 100644 --- a/benchmark/plot_graph_base_hash.py +++ b/benchmark/plot_graph_base_hash.py @@ -1,7 +1,7 @@ # pylint: disable=R0801 """An ad-hoc script to plot the graph of the benchmark results for mmh3.hash. -This file should be incoporated into the main plot module in the future. +This file should be incorporated into the main plot module in the future. """ import argparse diff --git a/docs/CONTRIBUTORS.md b/docs/CONTRIBUTORS.md index 4df62e0..a559a47 100644 --- a/docs/CONTRIBUTORS.md +++ b/docs/CONTRIBUTORS.md @@ -1,8 +1,7 @@ # Contributors This page acknowledges contributors to the project. For details on the -project's history and changes, please refer to the -[Changelog](./changelog.md) +project's history and changes, please refer to the [Changelog](./changelog.md) page. If you're interested in contributing, be sure to review the [Contributing](./CONTRIBUTING.md) guide. diff --git a/docs/api.md b/docs/api.md index f07065d..625b33b 100644 --- a/docs/api.md +++ b/docs/api.md @@ -41,7 +41,7 @@ UTF-8 encoding before hashing. Although `hash128()`, `hash64()`, and `mmh3.hash_bytes()` are provided for compatibility with previous versions and are not marked for deprecation, the [buffer-accepting hash functions](#buffer-accepting-hash-functions) -introduced in version 5.0.0 are recommended for new code. +introduced in version 5.1.0 are recommended for new code. ```{eval-rst} .. autofunction:: mmh3.hash diff --git a/docs/benchmark.md b/docs/benchmark.md index 8b41e6f..3d47070 100644 --- a/docs/benchmark.md +++ b/docs/benchmark.md @@ -67,7 +67,7 @@ ## Results -The rresulting graphs are plotted using the `pandas` and `matplotlib` libraries. +The resulting graphs are plotted using the `pandas` and `matplotlib` libraries. ### Comparison of Version Improvements diff --git a/docs/benchmarks.md b/docs/benchmarks.md deleted file mode 100644 index 234e6fa..0000000 --- a/docs/benchmarks.md +++ /dev/null @@ -1,43 +0,0 @@ -# Benchmarks - -## Settings - -- Python environment - - CPython 3.12.5 (64-bit) -- Ubuntu 22.04 instance on GitHub Actions -- Hash libraries - - mmh3 4.2.0: dev version - - xxhash 3.5.0 -- pyperf 2.7.0 - -## Results - -### Graphs - -```{figure} _static/bandwidth.png -:alt: Latency -:align: center - -Figure 1: Output bandwidth. Larger is better. The y-axis is logscale. -``` - -```{figure} _static/bandwidth_small.png -:alt: Latency -:align: center - -Figure 2: Output bandwidth for small data. Larger is better. -``` - -```{figure} _static/latency.png -:alt: Latency -:align: center - -Figure 3: Latency. Smaller is better. -``` - -```{figure} _static/latency_small.png -:alt: Latency -:align: center - -Figure 4: Latency for small data. Smaller is better. -``` diff --git a/pyproject.toml b/pyproject.toml index 8cd0fc0..77c6fab 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -5,7 +5,7 @@ build-backend = "setuptools.build_meta" [project] name = "mmh3" -version = "5.1.0-dev.1" +version = "5.1.0-rc" description = "Python extension for MurmurHash (MurmurHash3), a set of fast and robust hash functions." readme = "README.md" license = {file = "LICENSE"} @@ -42,13 +42,6 @@ lint = [ type = [ "mypy == 1.14.1" ] -dev = [ - "matplotlib == 3.7.3", - "pandas == 2.0.3", - "pymmh3 == 0.0.5", - "pyperf == 2.7.0", - "xxhash == 3.5.0" -] docs = [ "myst-parser == 4.0.0", "shibuya == 2024.12.21",