From 24f1b07e0f3dc7c20838691b1ea7543b2e04133e Mon Sep 17 00:00:00 2001 From: Peter Lithammer Date: Tue, 16 Mar 2021 21:35:45 +0100 Subject: [PATCH 01/78] ci: Add dependabot --- .github/dependabot.yml | 6 ++++++ 1 file changed, 6 insertions(+) create mode 100644 .github/dependabot.yml diff --git a/.github/dependabot.yml b/.github/dependabot.yml new file mode 100644 index 0000000..8ac6b8c --- /dev/null +++ b/.github/dependabot.yml @@ -0,0 +1,6 @@ +version: 2 +updates: + - package-ecosystem: "github-actions" + directory: "/" + schedule: + interval: "monthly" From 1a62358e75284c6048087ea934069dac5199414d Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 16 Mar 2021 20:36:15 +0000 Subject: [PATCH 02/78] Bump actions/setup-python from v1 to v2.2.1 Bumps [actions/setup-python](https://github.com/actions/setup-python) from v1 to v2.2.1. - [Release notes](https://github.com/actions/setup-python/releases) - [Commits](https://github.com/actions/setup-python/compare/v1...3105fb18c05ddd93efea5f9e0bef7a03a6e9e7df) Signed-off-by: dependabot[bot] --- .github/workflows/publish.yml | 6 +++--- .github/workflows/test.yml | 2 +- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/.github/workflows/publish.yml b/.github/workflows/publish.yml index 0587014..bfb0d5d 100644 --- a/.github/workflows/publish.yml +++ b/.github/workflows/publish.yml @@ -14,7 +14,7 @@ jobs: - uses: actions/checkout@v2 - name: Set up Python ${{ matrix.python-version }} - uses: actions/setup-python@v1 + uses: actions/setup-python@v2.2.1 with: python-version: ${{ matrix.python-version }} @@ -70,7 +70,7 @@ jobs: - uses: actions/checkout@v2 - name: Set up Python ${{ matrix.python-version }} - uses: actions/setup-python@v1 + uses: actions/setup-python@v2.2.1 with: python-version: ${{ matrix.python-version }} @@ -107,7 +107,7 @@ jobs: - uses: actions/checkout@v2 - name: Set up Python ${{ matrix.python-version }} (${{ matrix.arch }}) - uses: actions/setup-python@v1 + uses: actions/setup-python@v2.2.1 with: python-version: ${{ matrix.python-version }} arch: ${{ matrix.arch }} diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index 2ed4991..f43ebc4 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -22,7 +22,7 @@ jobs: - uses: actions/checkout@v2 - name: Setup Python ${{ matrix.python-version }} - uses: actions/setup-python@v1 + uses: actions/setup-python@v2.2.1 with: python-version: ${{ matrix.python-version }} From 15356f9f81fd0cc668399e66f80eaa466546990d Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 16 Mar 2021 20:36:18 +0000 Subject: [PATCH 03/78] Bump actions/upload-artifact from v1 to v2.2.2 Bumps [actions/upload-artifact](https://github.com/actions/upload-artifact) from v1 to v2.2.2. - [Release notes](https://github.com/actions/upload-artifact/releases) - [Commits](https://github.com/actions/upload-artifact/compare/v1...e448a9b857ee2131e752b06002bf0e093c65e571) Signed-off-by: dependabot[bot] --- .github/workflows/publish.yml | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/.github/workflows/publish.yml b/.github/workflows/publish.yml index 0587014..44a86be 100644 --- a/.github/workflows/publish.yml +++ b/.github/workflows/publish.yml @@ -24,7 +24,7 @@ jobs: - name: Create packages run: python setup.py sdist - - uses: actions/upload-artifact@v1 + - uses: actions/upload-artifact@v2.2.2 with: name: python_packages path: dist @@ -56,7 +56,7 @@ jobs: done EOF - - uses: actions/upload-artifact@v1 + - uses: actions/upload-artifact@v2.2.2 with: name: python_packages path: dist/wheelhouse @@ -92,7 +92,7 @@ jobs: # -p macosx_10_10_x86_64 \ # dist/*.whl - - uses: actions/upload-artifact@v1 + - uses: actions/upload-artifact@v2.2.2 with: name: python_packages path: dist @@ -129,7 +129,7 @@ jobs: - name: Build wheel run: python setup.py bdist_wheel - - uses: actions/upload-artifact@v1 + - uses: actions/upload-artifact@v2.2.2 with: name: python_packages path: dist From 8c1b798ebad6660cf06e5e994be300ea287c8ab4 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 16 Mar 2021 20:36:20 +0000 Subject: [PATCH 04/78] Bump actions/download-artifact from v1 to v2.0.8 Bumps [actions/download-artifact](https://github.com/actions/download-artifact) from v1 to v2.0.8. - [Release notes](https://github.com/actions/download-artifact/releases) - [Commits](https://github.com/actions/download-artifact/compare/v1...4a7a711286f30c025902c28b541c10e147a9b843) Signed-off-by: dependabot[bot] --- .github/workflows/publish.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/publish.yml b/.github/workflows/publish.yml index 0587014..07f5de0 100644 --- a/.github/workflows/publish.yml +++ b/.github/workflows/publish.yml @@ -142,7 +142,7 @@ jobs: - build_wheel_windows runs-on: ubuntu-latest steps: - - uses: actions/download-artifact@v1 + - uses: actions/download-artifact@v2.0.8 with: name: python_packages path: dist From b145755af68584b963db6807fc039cd68be967a8 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Sat, 1 May 2021 05:53:50 +0000 Subject: [PATCH 05/78] Bump actions/download-artifact from v2.0.8 to v2.0.9 Bumps [actions/download-artifact](https://github.com/actions/download-artifact) from v2.0.8 to v2.0.9. - [Release notes](https://github.com/actions/download-artifact/releases) - [Commits](https://github.com/actions/download-artifact/compare/v2.0.8...158ca71f7c614ae705e79f25522ef4658df18253) Signed-off-by: dependabot[bot] --- .github/workflows/publish.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/publish.yml b/.github/workflows/publish.yml index 8553b67..d448a89 100644 --- a/.github/workflows/publish.yml +++ b/.github/workflows/publish.yml @@ -142,7 +142,7 @@ jobs: - build_wheel_windows runs-on: ubuntu-latest steps: - - uses: actions/download-artifact@v2.0.8 + - uses: actions/download-artifact@v2.0.9 with: name: python_packages path: dist From 1935e1b8c2964289a764a95a7b75bcf99131a710 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Sat, 1 May 2021 05:53:54 +0000 Subject: [PATCH 06/78] Bump actions/upload-artifact from v2.2.2 to v2.2.3 Bumps [actions/upload-artifact](https://github.com/actions/upload-artifact) from v2.2.2 to v2.2.3. - [Release notes](https://github.com/actions/upload-artifact/releases) - [Commits](https://github.com/actions/upload-artifact/compare/v2.2.2...ee69f02b3dfdecd58bb31b4d133da38ba6fe3700) Signed-off-by: dependabot[bot] --- .github/workflows/publish.yml | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/.github/workflows/publish.yml b/.github/workflows/publish.yml index 8553b67..2fdc382 100644 --- a/.github/workflows/publish.yml +++ b/.github/workflows/publish.yml @@ -24,7 +24,7 @@ jobs: - name: Create packages run: python setup.py sdist - - uses: actions/upload-artifact@v2.2.2 + - uses: actions/upload-artifact@v2.2.3 with: name: python_packages path: dist @@ -56,7 +56,7 @@ jobs: done EOF - - uses: actions/upload-artifact@v2.2.2 + - uses: actions/upload-artifact@v2.2.3 with: name: python_packages path: dist/wheelhouse @@ -92,7 +92,7 @@ jobs: # -p macosx_10_10_x86_64 \ # dist/*.whl - - uses: actions/upload-artifact@v2.2.2 + - uses: actions/upload-artifact@v2.2.3 with: name: python_packages path: dist @@ -129,7 +129,7 @@ jobs: - name: Build wheel run: python setup.py bdist_wheel - - uses: actions/upload-artifact@v2.2.2 + - uses: actions/upload-artifact@v2.2.3 with: name: python_packages path: dist From c39a7c6a0337518a0227e329fb4f373920a53f04 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Sat, 1 May 2021 05:53:58 +0000 Subject: [PATCH 07/78] Bump actions/setup-python from v2.2.1 to v2.2.2 Bumps [actions/setup-python](https://github.com/actions/setup-python) from v2.2.1 to v2.2.2. - [Release notes](https://github.com/actions/setup-python/releases) - [Commits](https://github.com/actions/setup-python/compare/v2.2.1...dc73133d4da04e56a135ae2246682783cc7c7cb6) Signed-off-by: dependabot[bot] --- .github/workflows/publish.yml | 6 +++--- .github/workflows/test.yml | 2 +- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/.github/workflows/publish.yml b/.github/workflows/publish.yml index 8553b67..cc2a306 100644 --- a/.github/workflows/publish.yml +++ b/.github/workflows/publish.yml @@ -14,7 +14,7 @@ jobs: - uses: actions/checkout@v2 - name: Set up Python ${{ matrix.python-version }} - uses: actions/setup-python@v2.2.1 + uses: actions/setup-python@v2.2.2 with: python-version: ${{ matrix.python-version }} @@ -70,7 +70,7 @@ jobs: - uses: actions/checkout@v2 - name: Set up Python ${{ matrix.python-version }} - uses: actions/setup-python@v2.2.1 + uses: actions/setup-python@v2.2.2 with: python-version: ${{ matrix.python-version }} @@ -107,7 +107,7 @@ jobs: - uses: actions/checkout@v2 - name: Set up Python ${{ matrix.python-version }} (${{ matrix.arch }}) - uses: actions/setup-python@v2.2.1 + uses: actions/setup-python@v2.2.2 with: python-version: ${{ matrix.python-version }} arch: ${{ matrix.arch }} diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index f43ebc4..e651d1b 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -22,7 +22,7 @@ jobs: - uses: actions/checkout@v2 - name: Setup Python ${{ matrix.python-version }} - uses: actions/setup-python@v2.2.1 + uses: actions/setup-python@v2.2.2 with: python-version: ${{ matrix.python-version }} From 83dca4b2f1880ccc91cfdb0eb7c486d658bdee7b Mon Sep 17 00:00:00 2001 From: Peter Lithammer Date: Thu, 27 May 2021 22:13:02 +0200 Subject: [PATCH 08/78] Remove docs/ folder The README is good enough. --- .gitignore | 1 - Makefile | 4 - docs/Makefile | 230 ------------------------------------- docs/conf.py | 304 ------------------------------------------------- docs/index.rst | 62 ---------- 5 files changed, 601 deletions(-) delete mode 100644 docs/Makefile delete mode 100644 docs/conf.py delete mode 100644 docs/index.rst diff --git a/.gitignore b/.gitignore index 6d5bf12..9efcf22 100644 --- a/.gitignore +++ b/.gitignore @@ -8,6 +8,5 @@ .tox/ build/ dist/ -docs/_build/ env/ src/jump_consistent_hash.egg-info/ diff --git a/Makefile b/Makefile index c1bf75c..64e8f46 100644 --- a/Makefile +++ b/Makefile @@ -25,7 +25,3 @@ clean: $(RM) -r build dist *.egg-info docs/_build .tox .mypy_cache .pytest_cache find . -name "*.py[co]" -delete find . -name __pycache__ | xargs rm -rf - -.PHONY: docs -docs: build_ext - $(MAKE) -C $@ html diff --git a/docs/Makefile b/docs/Makefile deleted file mode 100644 index 7afe85b..0000000 --- a/docs/Makefile +++ /dev/null @@ -1,230 +0,0 @@ -# Makefile for Sphinx documentation -# - -# You can set these variables from the command line. -SPHINXOPTS = -SPHINXBUILD = sphinx-build -PAPER = -BUILDDIR = _build - -# User-friendly check for sphinx-build -ifeq ($(shell which $(SPHINXBUILD) >/dev/null 2>&1; echo $$?), 1) - $(error The '$(SPHINXBUILD)' command was not found. Make sure you have Sphinx installed, then set the SPHINXBUILD environment variable to point to the full path of the '$(SPHINXBUILD)' executable. Alternatively you can add the directory with the executable to your PATH. If you don\'t have Sphinx installed, grab it from http://sphinx-doc.org/) -endif - -# Internal variables. -PAPEROPT_a4 = -D latex_paper_size=a4 -PAPEROPT_letter = -D latex_paper_size=letter -ALLSPHINXOPTS = -d $(BUILDDIR)/doctrees $(PAPEROPT_$(PAPER)) $(SPHINXOPTS) . -# the i18n builder cannot share the environment and doctrees with the others -I18NSPHINXOPTS = $(PAPEROPT_$(PAPER)) $(SPHINXOPTS) . - -.PHONY: help -help: - @echo "Please use \`make ' where is one of" - @echo " html to make standalone HTML files" - @echo " dirhtml to make HTML files named index.html in directories" - @echo " singlehtml to make a single large HTML file" - @echo " pickle to make pickle files" - @echo " json to make JSON files" - @echo " htmlhelp to make HTML files and a HTML help project" - @echo " qthelp to make HTML files and a qthelp project" - @echo " applehelp to make an Apple Help Book" - @echo " devhelp to make HTML files and a Devhelp project" - @echo " epub to make an epub" - @echo " epub3 to make an epub3" - @echo " latex to make LaTeX files, you can set PAPER=a4 or PAPER=letter" - @echo " latexpdf to make LaTeX files and run them through pdflatex" - @echo " latexpdfja to make LaTeX files and run them through platex/dvipdfmx" - @echo " text to make text files" - @echo " man to make manual pages" - @echo " texinfo to make Texinfo files" - @echo " info to make Texinfo files and run them through makeinfo" - @echo " gettext to make PO message catalogs" - @echo " changes to make an overview of all changed/added/deprecated items" - @echo " xml to make Docutils-native XML files" - @echo " pseudoxml to make pseudoxml-XML files for display purposes" - @echo " linkcheck to check all external links for integrity" - @echo " doctest to run all doctests embedded in the documentation (if enabled)" - @echo " coverage to run coverage check of the documentation (if enabled)" - @echo " dummy to check syntax errors of document sources" - -.PHONY: clean -clean: - rm -rf $(BUILDDIR)/* - -.PHONY: html -html: - $(SPHINXBUILD) -b html $(ALLSPHINXOPTS) $(BUILDDIR)/html - @echo - @echo "Build finished. The HTML pages are in $(BUILDDIR)/html." - -.PHONY: dirhtml -dirhtml: - $(SPHINXBUILD) -b dirhtml $(ALLSPHINXOPTS) $(BUILDDIR)/dirhtml - @echo - @echo "Build finished. The HTML pages are in $(BUILDDIR)/dirhtml." - -.PHONY: singlehtml -singlehtml: - $(SPHINXBUILD) -b singlehtml $(ALLSPHINXOPTS) $(BUILDDIR)/singlehtml - @echo - @echo "Build finished. The HTML page is in $(BUILDDIR)/singlehtml." - -.PHONY: pickle -pickle: - $(SPHINXBUILD) -b pickle $(ALLSPHINXOPTS) $(BUILDDIR)/pickle - @echo - @echo "Build finished; now you can process the pickle files." - -.PHONY: json -json: - $(SPHINXBUILD) -b json $(ALLSPHINXOPTS) $(BUILDDIR)/json - @echo - @echo "Build finished; now you can process the JSON files." - -.PHONY: htmlhelp -htmlhelp: - $(SPHINXBUILD) -b htmlhelp $(ALLSPHINXOPTS) $(BUILDDIR)/htmlhelp - @echo - @echo "Build finished; now you can run HTML Help Workshop with the" \ - ".hhp project file in $(BUILDDIR)/htmlhelp." - -.PHONY: qthelp -qthelp: - $(SPHINXBUILD) -b qthelp $(ALLSPHINXOPTS) $(BUILDDIR)/qthelp - @echo - @echo "Build finished; now you can run "qcollectiongenerator" with the" \ - ".qhcp project file in $(BUILDDIR)/qthelp, like this:" - @echo "# qcollectiongenerator $(BUILDDIR)/qthelp/JumpConsistentHash.qhcp" - @echo "To view the help file:" - @echo "# assistant -collectionFile $(BUILDDIR)/qthelp/JumpConsistentHash.qhc" - -.PHONY: applehelp -applehelp: - $(SPHINXBUILD) -b applehelp $(ALLSPHINXOPTS) $(BUILDDIR)/applehelp - @echo - @echo "Build finished. The help book is in $(BUILDDIR)/applehelp." - @echo "N.B. You won't be able to view it unless you put it in" \ - "~/Library/Documentation/Help or install it in your application" \ - "bundle." - -.PHONY: devhelp -devhelp: - $(SPHINXBUILD) -b devhelp $(ALLSPHINXOPTS) $(BUILDDIR)/devhelp - @echo - @echo "Build finished." - @echo "To view the help file:" - @echo "# mkdir -p $$HOME/.local/share/devhelp/JumpConsistentHash" - @echo "# ln -s $(BUILDDIR)/devhelp $$HOME/.local/share/devhelp/JumpConsistentHash" - @echo "# devhelp" - -.PHONY: epub -epub: - $(SPHINXBUILD) -b epub $(ALLSPHINXOPTS) $(BUILDDIR)/epub - @echo - @echo "Build finished. The epub file is in $(BUILDDIR)/epub." - -.PHONY: epub3 -epub3: - $(SPHINXBUILD) -b epub3 $(ALLSPHINXOPTS) $(BUILDDIR)/epub3 - @echo - @echo "Build finished. The epub3 file is in $(BUILDDIR)/epub3." - -.PHONY: latex -latex: - $(SPHINXBUILD) -b latex $(ALLSPHINXOPTS) $(BUILDDIR)/latex - @echo - @echo "Build finished; the LaTeX files are in $(BUILDDIR)/latex." - @echo "Run \`make' in that directory to run these through (pdf)latex" \ - "(use \`make latexpdf' here to do that automatically)." - -.PHONY: latexpdf -latexpdf: - $(SPHINXBUILD) -b latex $(ALLSPHINXOPTS) $(BUILDDIR)/latex - @echo "Running LaTeX files through pdflatex..." - $(MAKE) -C $(BUILDDIR)/latex all-pdf - @echo "pdflatex finished; the PDF files are in $(BUILDDIR)/latex." - -.PHONY: latexpdfja -latexpdfja: - $(SPHINXBUILD) -b latex $(ALLSPHINXOPTS) $(BUILDDIR)/latex - @echo "Running LaTeX files through platex and dvipdfmx..." - $(MAKE) -C $(BUILDDIR)/latex all-pdf-ja - @echo "pdflatex finished; the PDF files are in $(BUILDDIR)/latex." - -.PHONY: text -text: - $(SPHINXBUILD) -b text $(ALLSPHINXOPTS) $(BUILDDIR)/text - @echo - @echo "Build finished. The text files are in $(BUILDDIR)/text." - -.PHONY: man -man: - $(SPHINXBUILD) -b man $(ALLSPHINXOPTS) $(BUILDDIR)/man - @echo - @echo "Build finished. The manual pages are in $(BUILDDIR)/man." - -.PHONY: texinfo -texinfo: - $(SPHINXBUILD) -b texinfo $(ALLSPHINXOPTS) $(BUILDDIR)/texinfo - @echo - @echo "Build finished. The Texinfo files are in $(BUILDDIR)/texinfo." - @echo "Run \`make' in that directory to run these through makeinfo" \ - "(use \`make info' here to do that automatically)." - -.PHONY: info -info: - $(SPHINXBUILD) -b texinfo $(ALLSPHINXOPTS) $(BUILDDIR)/texinfo - @echo "Running Texinfo files through makeinfo..." - make -C $(BUILDDIR)/texinfo info - @echo "makeinfo finished; the Info files are in $(BUILDDIR)/texinfo." - -.PHONY: gettext -gettext: - $(SPHINXBUILD) -b gettext $(I18NSPHINXOPTS) $(BUILDDIR)/locale - @echo - @echo "Build finished. The message catalogs are in $(BUILDDIR)/locale." - -.PHONY: changes -changes: - $(SPHINXBUILD) -b changes $(ALLSPHINXOPTS) $(BUILDDIR)/changes - @echo - @echo "The overview file is in $(BUILDDIR)/changes." - -.PHONY: linkcheck -linkcheck: - $(SPHINXBUILD) -b linkcheck $(ALLSPHINXOPTS) $(BUILDDIR)/linkcheck - @echo - @echo "Link check complete; look for any errors in the above output " \ - "or in $(BUILDDIR)/linkcheck/output.txt." - -.PHONY: doctest -doctest: - $(SPHINXBUILD) -b doctest $(ALLSPHINXOPTS) $(BUILDDIR)/doctest - @echo "Testing of doctests in the sources finished, look at the " \ - "results in $(BUILDDIR)/doctest/output.txt." - -.PHONY: coverage -coverage: - $(SPHINXBUILD) -b coverage $(ALLSPHINXOPTS) $(BUILDDIR)/coverage - @echo "Testing of coverage in the sources finished, look at the " \ - "results in $(BUILDDIR)/coverage/python.txt." - -.PHONY: xml -xml: - $(SPHINXBUILD) -b xml $(ALLSPHINXOPTS) $(BUILDDIR)/xml - @echo - @echo "Build finished. The XML files are in $(BUILDDIR)/xml." - -.PHONY: pseudoxml -pseudoxml: - $(SPHINXBUILD) -b pseudoxml $(ALLSPHINXOPTS) $(BUILDDIR)/pseudoxml - @echo - @echo "Build finished. The pseudo-XML files are in $(BUILDDIR)/pseudoxml." - -.PHONY: dummy -dummy: - $(SPHINXBUILD) -b dummy $(ALLSPHINXOPTS) $(BUILDDIR)/dummy - @echo - @echo "Build finished. Dummy builder generates no files." diff --git a/docs/conf.py b/docs/conf.py deleted file mode 100644 index 2f6c939..0000000 --- a/docs/conf.py +++ /dev/null @@ -1,304 +0,0 @@ -# -*- coding: utf-8 -*- -# -# Jump Consistent Hash documentation build configuration file, created by -# sphinx-quickstart on Wed May 4 10:07:29 2016. -# -# This file is execfile()d with the current directory set to its -# containing dir. -# -# Note that not all possible configuration values are present in this -# autogenerated file. -# -# All configuration values have a default; values that are commented out -# serve to show the default. - -import os -import sys - -if os.environ.get('READTHEDOCS'): - try: - from unittest.mock import MagicMock - except ImportError: - from mock import MagicMock - - class Mock(MagicMock): - - @classmethod - def __getattr__(cls, name): - return Mock() - - MOCK_MODULES = ['_jump'] - sys.modules.update((mod_name, Mock()) for mod_name in MOCK_MODULES) - -# If extensions (or modules to document with autodoc) are in another directory, -# add these directories to sys.path here. If the directory is relative to the -# documentation root, use os.path.abspath to make it absolute, like shown here. -sys.path.insert(0, os.path.abspath('..')) - -# -- General configuration ------------------------------------------------ - -# If your documentation needs a minimal Sphinx version, state it here. -#needs_sphinx = '1.0' - -# Add any Sphinx extension module names here, as strings. They can be -# extensions coming with Sphinx (named 'sphinx.ext.*') or your custom -# ones. -extensions = [ - 'sphinx.ext.autodoc', - 'sphinx.ext.napoleon' -] - -# Add any paths that contain templates here, relative to this directory. -templates_path = ['_templates'] - -# The suffix(es) of source filenames. -# You can specify multiple suffix as a list of string: -# source_suffix = ['.rst', '.md'] -source_suffix = '.rst' - -# The encoding of source files. -#source_encoding = 'utf-8-sig' - -# The master toctree document. -master_doc = 'index' - -# General information about the project. -project = u'Jump Consistent Hash' -copyright = u'2018, Peter Lithammer' -author = u'Peter Lithammer' - -# The version info for the project you're documenting, acts as replacement for -# |version| and |release|, also used in various other places throughout the -# built documents. -# -# The short X.Y version. -version = u'2.0.3' -# The full version, including alpha/beta/rc tags. -release = u'2.0.3' - -# The language for content autogenerated by Sphinx. Refer to documentation -# for a list of supported languages. -# -# This is also used if you do content translation via gettext catalogs. -# Usually you set "language" from the command line for these cases. -language = None - -# There are two options for replacing |today|: either, you set today to some -# non-false value, then it is used: -#today = '' -# Else, today_fmt is used as the format for a strftime call. -#today_fmt = '%B %d, %Y' - -# List of patterns, relative to source directory, that match files and -# directories to ignore when looking for source files. -# This patterns also effect to html_static_path and html_extra_path -exclude_patterns = ['_build', 'Thumbs.db', '.DS_Store'] - -# The reST default role (used for this markup: `text`) to use for all -# documents. -#default_role = None - -# If true, '()' will be appended to :func: etc. cross-reference text. -#add_function_parentheses = True - -# If true, the current module name will be prepended to all description -# unit titles (such as .. function::). -#add_module_names = True - -# If true, sectionauthor and moduleauthor directives will be shown in the -# output. They are ignored by default. -#show_authors = False - -# The name of the Pygments (syntax highlighting) style to use. -pygments_style = 'sphinx' - -# A list of ignored prefixes for module index sorting. -#modindex_common_prefix = [] - -# If true, keep warnings as "system message" paragraphs in the built documents. -#keep_warnings = False - -# If true, `todo` and `todoList` produce output, else they produce nothing. -todo_include_todos = False - - -# -- Options for HTML output ---------------------------------------------- - -# The theme to use for HTML and HTML Help pages. See the documentation for -# a list of builtin themes. -html_theme = 'alabaster' - -# Theme options are theme-specific and customize the look and feel of a theme -# further. For a list of options available for each theme, see the -# documentation. -#html_theme_options = {} - -# Add any paths that contain custom themes here, relative to this directory. -#html_theme_path = [] - -# The name for this set of Sphinx documents. -# " v documentation" by default. -#html_title = u'Jump Consistent Hash v2.0.3' - -# A shorter title for the navigation bar. Default is the same as html_title. -#html_short_title = None - -# The name of an image file (relative to this directory) to place at the top -# of the sidebar. -#html_logo = None - -# The name of an image file (relative to this directory) to use as a favicon of -# the docs. This file should be a Windows icon file (.ico) being 16x16 or 32x32 -# pixels large. -#html_favicon = None - -# Add any paths that contain custom static files (such as style sheets) here, -# relative to this directory. They are copied after the builtin static files, -# so a file named "default.css" will overwrite the builtin "default.css". -html_static_path = ['_static'] - -# Add any extra paths that contain custom files (such as robots.txt or -# .htaccess) here, relative to this directory. These files are copied -# directly to the root of the documentation. -#html_extra_path = [] - -# If not None, a 'Last updated on:' timestamp is inserted at every page -# bottom, using the given strftime format. -# The empty string is equivalent to '%b %d, %Y'. -#html_last_updated_fmt = None - -# If true, SmartyPants will be used to convert quotes and dashes to -# typographically correct entities. -#html_use_smartypants = True - -# Custom sidebar templates, maps document names to template names. -#html_sidebars = {} - -# Additional templates that should be rendered to pages, maps page names to -# template names. -#html_additional_pages = {} - -# If false, no module index is generated. -#html_domain_indices = True - -# If false, no index is generated. -#html_use_index = True - -# If true, the index is split into individual pages for each letter. -#html_split_index = False - -# If true, links to the reST sources are added to the pages. -#html_show_sourcelink = True - -# If true, "Created using Sphinx" is shown in the HTML footer. Default is True. -#html_show_sphinx = True - -# If true, "(C) Copyright ..." is shown in the HTML footer. Default is True. -#html_show_copyright = True - -# If true, an OpenSearch description file will be output, and all pages will -# contain a tag referring to it. The value of this option must be the -# base URL from which the finished HTML is served. -#html_use_opensearch = '' - -# This is the file name suffix for HTML files (e.g. ".xhtml"). -#html_file_suffix = None - -# Language to be used for generating the HTML full-text search index. -# Sphinx supports the following languages: -# 'da', 'de', 'en', 'es', 'fi', 'fr', 'hu', 'it', 'ja' -# 'nl', 'no', 'pt', 'ro', 'ru', 'sv', 'tr', 'zh' -#html_search_language = 'en' - -# A dictionary with options for the search language support, empty by default. -# 'ja' uses this config value. -# 'zh' user can custom change `jieba` dictionary path. -#html_search_options = {'type': 'default'} - -# The name of a javascript file (relative to the configuration directory) that -# implements a search results scorer. If empty, the default will be used. -#html_search_scorer = 'scorer.js' - -# Output file base name for HTML help builder. -htmlhelp_basename = 'JumpConsistentHashdoc' - -# -- Options for LaTeX output --------------------------------------------- - -latex_elements = { -# The paper size ('letterpaper' or 'a4paper'). -#'papersize': 'letterpaper', - -# The font size ('10pt', '11pt' or '12pt'). -#'pointsize': '10pt', - -# Additional stuff for the LaTeX preamble. -#'preamble': '', - -# Latex figure (float) alignment -#'figure_align': 'htbp', -} - -# Grouping the document tree into LaTeX files. List of tuples -# (source start file, target name, title, -# author, documentclass [howto, manual, or own class]). -latex_documents = [ - (master_doc, 'JumpConsistentHash.tex', u'Jump Consistent Hash Documentation', - u'Peter Lithammer', 'manual'), -] - -# The name of an image file (relative to this directory) to place at the top of -# the title page. -#latex_logo = None - -# For "manual" documents, if this is true, then toplevel headings are parts, -# not chapters. -#latex_use_parts = False - -# If true, show page references after internal links. -#latex_show_pagerefs = False - -# If true, show URL addresses after external links. -#latex_show_urls = False - -# Documents to append as an appendix to all manuals. -#latex_appendices = [] - -# If false, no module index is generated. -#latex_domain_indices = True - - -# -- Options for manual page output --------------------------------------- - -# One entry per manual page. List of tuples -# (source start file, name, description, authors, manual section). -man_pages = [ - (master_doc, 'jumpconsistenthash', u'Jump Consistent Hash Documentation', - [author], 1) -] - -# If true, show URL addresses after external links. -#man_show_urls = False - - -# -- Options for Texinfo output ------------------------------------------- - -# Grouping the document tree into Texinfo files. List of tuples -# (source start file, target name, title, author, -# dir menu entry, description, category) -texinfo_documents = [ - (master_doc, 'JumpConsistentHash', u'Jump Consistent Hash Documentation', - author, 'JumpConsistentHash', 'One line description of project.', - 'Miscellaneous'), -] - -# Documents to append as an appendix to all manuals. -#texinfo_appendices = [] - -# If false, no module index is generated. -#texinfo_domain_indices = True - -# How to display URL addresses: 'footnote', 'no', or 'inline'. -#texinfo_show_urls = 'footnote' - -# If true, do not generate a @detailmenu in the "Top" node's menu. -#texinfo_no_detailmenu = False diff --git a/docs/index.rst b/docs/index.rst deleted file mode 100644 index 8403572..0000000 --- a/docs/index.rst +++ /dev/null @@ -1,62 +0,0 @@ -Jump Consistent Hash documentation! -================================================ - -.. toctree:: - :maxdepth: 2 - -Python and C implementation of the jump consistent hash algorithm by John -Lamping and Eric Veach [1]_. Tested on Python 2.7 and 3.5+. - -.. [1] http://arxiv.org/pdf/1406.2294v1.pdf - -Install -------- - -To install Jump Consistent Hash, simply run this simple command in your -terminal of choice:: - - $ pip install jump-consistent-hash - -The C implementation is optional but is about 10x faster than the pure Python -implementation in CPython. - -Usage ------ - -.. code:: python - - >>> import jump - >>> jump.hash(256, 1024) - 520 - -If you want to use a ``str`` as a key instead of an ``int``, you can pass it -through a hash function to compute a real key. Here's a couple of examples -using Python 3: - -.. code:: python - - >>> import hashlib - >>> int(hashlib.md5(b'127.0.0.1').hexdigest(), 16) - 325870950296970981340734819828239218902 - - >>> int(hashlib.sha1(b"127.0.0.1").hexdigest(), 16) - 431133456357828263809343936597625557575256328153 - - >>> import binascii - >>> binascii.crc32(b'127.0.0.1') & 0xffffffff - 3619153832 - - >>> abs(hash('127.0.0.1')) - 7536019783825143230 - -API Reference -------------- - -.. function:: jump.hash(key, num_buckets) - - Generate a number in the range [0, num_buckets). - - :param int key: The key to hash. - :param int num_buckets: Number of buckets to use. - :returns: The bucket number `key` computes to. - :raises ValueError: If `num_buckets` is not a positive number. From 49ecab81f444eaddd26490d70133155773f58152 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Thu, 1 Jul 2021 01:01:07 +0000 Subject: [PATCH 09/78] Bump actions/upload-artifact from 2.2.3 to 2.2.4 Bumps [actions/upload-artifact](https://github.com/actions/upload-artifact) from 2.2.3 to 2.2.4. - [Release notes](https://github.com/actions/upload-artifact/releases) - [Commits](https://github.com/actions/upload-artifact/compare/v2.2.3...v2.2.4) --- updated-dependencies: - dependency-name: actions/upload-artifact dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- .github/workflows/publish.yml | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/.github/workflows/publish.yml b/.github/workflows/publish.yml index 0b12ec9..66a2adc 100644 --- a/.github/workflows/publish.yml +++ b/.github/workflows/publish.yml @@ -24,7 +24,7 @@ jobs: - name: Create packages run: python setup.py sdist - - uses: actions/upload-artifact@v2.2.3 + - uses: actions/upload-artifact@v2.2.4 with: name: python_packages path: dist @@ -56,7 +56,7 @@ jobs: done EOF - - uses: actions/upload-artifact@v2.2.3 + - uses: actions/upload-artifact@v2.2.4 with: name: python_packages path: dist/wheelhouse @@ -92,7 +92,7 @@ jobs: # -p macosx_10_10_x86_64 \ # dist/*.whl - - uses: actions/upload-artifact@v2.2.3 + - uses: actions/upload-artifact@v2.2.4 with: name: python_packages path: dist @@ -129,7 +129,7 @@ jobs: - name: Build wheel run: python setup.py bdist_wheel - - uses: actions/upload-artifact@v2.2.3 + - uses: actions/upload-artifact@v2.2.4 with: name: python_packages path: dist From b9de167065b64631a3333787e2f3b35ea99d8ed2 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Thu, 1 Jul 2021 01:01:09 +0000 Subject: [PATCH 10/78] Bump actions/download-artifact from 2.0.9 to 2.0.10 Bumps [actions/download-artifact](https://github.com/actions/download-artifact) from 2.0.9 to 2.0.10. - [Release notes](https://github.com/actions/download-artifact/releases) - [Commits](https://github.com/actions/download-artifact/compare/v2.0.9...v2.0.10) --- updated-dependencies: - dependency-name: actions/download-artifact dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- .github/workflows/publish.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/publish.yml b/.github/workflows/publish.yml index 0b12ec9..ee142b5 100644 --- a/.github/workflows/publish.yml +++ b/.github/workflows/publish.yml @@ -142,7 +142,7 @@ jobs: - build_wheel_windows runs-on: ubuntu-latest steps: - - uses: actions/download-artifact@v2.0.9 + - uses: actions/download-artifact@v2.0.10 with: name: python_packages path: dist From 1519812102dda7853170401a937877cb0da88df5 Mon Sep 17 00:00:00 2001 From: Peter Lithammer Date: Thu, 27 May 2021 22:53:32 +0200 Subject: [PATCH 11/78] ci: refactor test matrix and Makefile --- .github/workflows/python.yml | 44 ++++++++++++++++++++++++++++++++++ .github/workflows/test.yml | 46 ------------------------------------ .gitignore | 7 +++--- Makefile | 38 ++++++++++++++++------------- README.rst | 2 +- pyproject.toml | 34 ++++++++++++++++++++++++++ requirements.txt | 7 ++++++ tox.ini | 23 ------------------ 8 files changed, 110 insertions(+), 91 deletions(-) create mode 100644 .github/workflows/python.yml delete mode 100644 .github/workflows/test.yml create mode 100644 requirements.txt delete mode 100644 tox.ini diff --git a/.github/workflows/python.yml b/.github/workflows/python.yml new file mode 100644 index 0000000..3895d89 --- /dev/null +++ b/.github/workflows/python.yml @@ -0,0 +1,44 @@ +name: Python + +on: + push: + branches: + - master + pull_request: + branches: + - master + +jobs: + tox: + runs-on: ${{ matrix.os }} + strategy: + matrix: + os: + - macos-latest + - ubuntu-latest + - windows-latest + python-version: + - '2.7' + - '3.5' + - '3.6' + - '3.7' + - '3.8' + - '3.9' + exclude: + - os: windows-latest + python-version: '2.7' + steps: + - uses: actions/checkout@v2 + + - name: Setup Python + uses: actions/setup-python@v2 + with: + python-version: ${{ matrix.python-version }} + + - name: Install Tox + run: pip install tox tox-gh-actions + env: + PIP_CONSTRAINT: requirements.txt + + - name: Test + run: tox diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml deleted file mode 100644 index e651d1b..0000000 --- a/.github/workflows/test.yml +++ /dev/null @@ -1,46 +0,0 @@ -name: Test - -on: - push: - branches: - - master - pull_request: - branches: - - master - -jobs: - build: - runs-on: ${{ matrix.platform }} - strategy: - matrix: - platform: [ubuntu-latest, macos-latest, windows-latest] - python-version: ['2.7', '3.5', '3.6', '3.7', '3.8', '3.9'] - # exclude: - # - platform: windows-latest - # python-version: '2.7' - steps: - - uses: actions/checkout@v2 - - - name: Setup Python ${{ matrix.python-version }} - uses: actions/setup-python@v2.2.2 - with: - python-version: ${{ matrix.python-version }} - - # Install Microsoft Visual C++ Compiler for Python 2.7 - # http://aka.ms/vcpython27 - - name: Install MSVC++ for Python 2.7 - run: choco install vcpython27 --yes - if: runner.os == 'Windows' && matrix.python-version == '2.7' - - # jump/jump.c(2) : fatal error C1083: Cannot open include file: 'stdint.h': No such file or directory - - name: Copy header files from Visual Studio 14.0 - run: iwr https://raw.githubusercontent.com/mattn/gntp-send/master/include/msinttypes/stdint.h -OutFile 'C:\Program Files (x86)\Common Files\Microsoft\Visual C++ for Python\9.0\VC\include\stdint.h' - if: runner.os == 'Windows' && matrix.python-version == '2.7' - - - name: Install dependencies - run: | - python -m pip install --upgrade pip setuptools wheel - python -m pip install tox tox-gh-actions - - - name: Build and test - run: tox -v diff --git a/.gitignore b/.gitignore index 9efcf22..9433385 100644 --- a/.gitignore +++ b/.gitignore @@ -1,12 +1,11 @@ *.py[co] *.so -.ccls -.ccls-cache/ +*.egg-info/ .mypy_cache/ .pytest_cache/ .tox/ +__pycache__/ build/ dist/ -env/ -src/jump_consistent_hash.egg-info/ +venv/ diff --git a/Makefile b/Makefile index 64e8f46..57c4ace 100644 --- a/Makefile +++ b/Makefile @@ -1,27 +1,31 @@ -PYTHON ?= python -TESTRUNNER ?= tox -TESTRUNNERFLAGS ?= -v tests -LINT := flake8 -LINTFLAGS := jump +BINDIR = $(VIRTUALENV)/bin +PYTHON ?= python3 +VIRTUALENV = venv -all: build +all: test -build: _jump.so +compile_commands.json: + bear -- $(PYTHON) setup.py build_ext -qf -_jump.so: jump/jump.c - $(PYTHON) setup.py build_ext --inplace +.PHONY: venv +venv: $(VIRTUALENV)/freeze.txt + +$(VIRTUALENV)/freeze.txt: requirements.txt + $(PYTHON) -m venv $(@D) + $(BINDIR)/pip install -U pip setuptools wheel + $(BINDIR)/pip install -r $< -e $(CURDIR) + $(BINDIR)/pip freeze -r $< > $@ .PHONY: test -test: - $(TESTRUNNER) $(TESTRUNNERFLAGS) +test: $(VIRTUALENV) + $(BINDIR)/tox .PHONY: lint -lint: - $(LINT) $(LINTFLAGS) +lint: $(VIRTUALENV) + $(BINDIR)/black --check src + $(BINDIR)/flake8 src + $(BINDIR)/mypy src .PHONY: clean clean: - $(RM) _jump*.so - $(RM) -r build dist *.egg-info docs/_build .tox .mypy_cache .pytest_cache - find . -name "*.py[co]" -delete - find . -name __pycache__ | xargs rm -rf + git clean -Xdf diff --git a/README.rst b/README.rst index cbe7e2b..b21e970 100644 --- a/README.rst +++ b/README.rst @@ -1,7 +1,7 @@ Jump Consistent Hash -------------------- -.. image:: https://github.com/lithammer/python-jump-consistent-hash/workflows/Test/badge.svg +.. image:: https://github.com/lithammer/python-jump-consistent-hash/workflows/Python/badge.svg :alt: Build Status :target: https://github.com/lithammer/python-jump-consistent-hash/actions diff --git a/pyproject.toml b/pyproject.toml index 039feb2..3d54e2c 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -5,3 +5,37 @@ build-backend = "setuptools.build_meta" [tool.black] line-length = 79 target-version = ["py36"] + +[tool.tox] +legacy_tox_ini = """ +[tox] +envlist = py{27,35,36,37,38,39},black,flake8,mypy + +[gh-actions] +python = + 2.7: py27 + 3.5: py35 + 3.6: py36 + 3.7: py37 + 3.8: py38 + 3.9: py39, black, flake8, mypy + +[testenv:black] +deps = black +commands = black --check src tests setup.py + +[testenv:flake8] +deps = flake8 +commands = flake8 src tests setup.py + +[testenv:mypy] +deps = mypy +commands = mypy src + +[testenv] +setenv = + PIP_CONSTRAINT = requirements.txt +passenv = PYTEST_ADDOPTS CFLAGS +deps = pytest +commands = pytest {posargs} +""" diff --git a/requirements.txt b/requirements.txt new file mode 100644 index 0000000..17b6153 --- /dev/null +++ b/requirements.txt @@ -0,0 +1,7 @@ +black==21.5b2 +flake8==3.9.2 +mypy==0.812 +pytest==4.6.11; python_version == '2.7' +pytest==6.1.2; python_version == '3.5' +pytest==6.2.5; python_version >= '3.6' +tox==3.23.1 diff --git a/tox.ini b/tox.ini deleted file mode 100644 index d1d37d3..0000000 --- a/tox.ini +++ /dev/null @@ -1,23 +0,0 @@ -[tox] -envlist = py{27,35,36,37,38},mypy,flake8 - -[gh-actions] -python = - 2.7: py27, flake8 - 3.5: py35, flake8, mypy - 3.6: py36, flake8, mypy - 3.7: py37, flake8, mypy - 3.8: py38, flake8, mypy - -[testenv:flake8] -deps = flake8 -commands = flake8 src tests setup.py - -[testenv:mypy] -deps = mypy -commands = mypy -m jump - -[testenv] -passenv = PYTEST_ADDOPTS CFLAGS -deps = pytest -commands = pytest {posargs} From e3f9bb25231d5282f60649400c0377e8e3001751 Mon Sep 17 00:00:00 2001 From: Peter Lithammer Date: Tue, 28 Sep 2021 21:54:45 +0200 Subject: [PATCH 12/78] docs: use black formatting in examples --- README.rst | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/README.rst b/README.rst index b21e970..169e60f 100644 --- a/README.rst +++ b/README.rst @@ -35,17 +35,17 @@ using Python 3: .. code:: python >>> import hashlib - >>> int(hashlib.md5(b'127.0.0.1').hexdigest(), 16) + >>> int(hashlib.md5(b"127.0.0.1").hexdigest(), 16) 325870950296970981340734819828239218902 >>> int(hashlib.sha1(b"127.0.0.1").hexdigest(), 16) 431133456357828263809343936597625557575256328153 >>> import binascii - >>> binascii.crc32(b'127.0.0.1') & 0xffffffff + >>> binascii.crc32(b"127.0.0.1") & 0xffffffff 3619153832 - >>> abs(hash('127.0.0.1')) + >>> abs(hash("127.0.0.1")) 7536019783825143230 Links From ef641dc3c9ebbd0ad820e2a78213994c9d82b8a6 Mon Sep 17 00:00:00 2001 From: Peter Lithammer Date: Tue, 28 Sep 2021 21:56:51 +0200 Subject: [PATCH 13/78] ci(mypy): fix incompatible types in assignment src/jump/__init__.py:41:13: error: Incompatible types in assignment (expression has type "float", variable has type "int") j = float(b + 1) * (float(1 << 31) / float((key >> 33) + 1)) ^ --- src/jump/__init__.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/jump/__init__.py b/src/jump/__init__.py index 4c312f3..add61f3 100644 --- a/src/jump/__init__.py +++ b/src/jump/__init__.py @@ -28,7 +28,7 @@ def py_hash(key, num_buckets): Raises: ValueError: If `num_buckets` is not a positive number. """ - b, j = -1, 0 + b, j = -1, 0.0 if num_buckets < 1: raise ValueError( From 255b2ae71a17f89e4d3496fa02f4daaadc64ef5f Mon Sep 17 00:00:00 2001 From: Peter Lithammer Date: Tue, 28 Sep 2021 22:03:28 +0200 Subject: [PATCH 14/78] style: format c code with clang-format The style is adapted from the Linux kernel repository and removed some old or kernel specific config. --- .clang-format | 91 +++++++++++++++++++++++++++++++++++++++++++++++++ src/jump/jump.c | 61 ++++++++++++++++++--------------- 2 files changed, 125 insertions(+), 27 deletions(-) create mode 100644 .clang-format diff --git a/.clang-format b/.clang-format new file mode 100644 index 0000000..1f683f2 --- /dev/null +++ b/.clang-format @@ -0,0 +1,91 @@ +--- +AccessModifierOffset: -4 +AlignAfterOpenBracket: Align +AlignConsecutiveAssignments: false +AlignConsecutiveDeclarations: false +AlignOperands: true +AlignTrailingComments: false +AllowAllParametersOfDeclarationOnNextLine: false +AllowShortBlocksOnASingleLine: false +AllowShortCaseLabelsOnASingleLine: false +AllowShortFunctionsOnASingleLine: None +AllowShortIfStatementsOnASingleLine: false +AllowShortLoopsOnASingleLine: false +AlwaysBreakAfterDefinitionReturnType: None +AlwaysBreakAfterReturnType: None +AlwaysBreakBeforeMultilineStrings: false +AlwaysBreakTemplateDeclarations: false +BinPackArguments: true +BinPackParameters: true +BraceWrapping: + AfterClass: false + AfterControlStatement: false + AfterEnum: false + AfterFunction: true + AfterNamespace: true + AfterObjCDeclaration: false + AfterStruct: false + AfterUnion: false + BeforeCatch: false + BeforeElse: false + IndentBraces: false +BreakBeforeBinaryOperators: None +BreakBeforeBraces: Custom +BreakBeforeTernaryOperators: false +BreakConstructorInitializersBeforeComma: false +BreakAfterJavaFieldAnnotations: false +BreakStringLiterals: false +ColumnLimit: 80 +CommentPragmas: '^ IWYU pragma:' +ConstructorInitializerAllOnOneLineOrOnePerLine: false +ConstructorInitializerIndentWidth: 8 +ContinuationIndentWidth: 8 +Cpp11BracedListStyle: false +DerivePointerAlignment: false +DisableFormat: false +ExperimentalAutoDetectBinPacking: false + +IncludeCategories: + - Regex: '.*' + Priority: 1 +IncludeIsMainRegex: '(Test)?$' +IndentCaseLabels: false +IndentWidth: 8 +IndentWrappedFunctionNames: false +JavaScriptQuotes: Leave +JavaScriptWrapImports: true +KeepEmptyLinesAtTheStartOfBlocks: false +MacroBlockBegin: '' +MacroBlockEnd: '' +MaxEmptyLinesToKeep: 1 +NamespaceIndentation: None +ObjCBlockIndentWidth: 8 +ObjCSpaceAfterProperty: true +ObjCSpaceBeforeProtocolList: true + +# Taken from git's rules +PenaltyBreakBeforeFirstCallParameter: 30 +PenaltyBreakComment: 10 +PenaltyBreakFirstLessLess: 0 +PenaltyBreakString: 10 +PenaltyExcessCharacter: 100 +PenaltyReturnTypeOnItsOwnLine: 60 + +PointerAlignment: Right +ReflowComments: false +SortIncludes: false +SpaceAfterCStyleCast: false +SpaceAfterTemplateKeyword: true +SpaceBeforeAssignmentOperators: true +SpaceBeforeParens: ControlStatements +SpaceInEmptyParentheses: false +SpacesBeforeTrailingComments: 1 +SpacesInAngles: false +SpacesInContainerLiterals: false +SpacesInCStyleCastParentheses: false +SpacesInParentheses: false +SpacesInSquareBrackets: false +Standard: Cpp03 +TabWidth: 8 +UseTab: Always +... diff --git a/src/jump/jump.c b/src/jump/jump.c index 9bbbe1e..a127f68 100644 --- a/src/jump/jump.c +++ b/src/jump/jump.c @@ -3,16 +3,17 @@ #include -static int32_t jump_consistent_hash(uint64_t key, int32_t num_buckets) { - int64_t b = -1, j = 0; +static int32_t jump_consistent_hash(uint64_t key, int32_t num_buckets) +{ + int64_t b = -1, j = 0; - while (j < num_buckets) { - b = j; - key = key * 2862933555777941757ULL + 1; - j = (b + 1) * ((double)(1LL << 31) / (double)((key >> 33) + 1)); - } + while (j < num_buckets) { + b = j; + key = key * 2862933555777941757ULL + 1; + j = (b + 1) * ((double)(1LL << 31) / (double)((key >> 33) + 1)); + } - return (int32_t)b; + return (int32_t)b; } PyDoc_STRVAR(hash__doc__, "hash(key, num_buckets) -> int\n\ @@ -33,33 +34,39 @@ Raises:\n\ PyDoc_STRVAR(jump__doc__, "Fast, minimal memory, consistent hash algorithm."); -static PyObject *jump_hash(PyObject *self, PyObject *args) { - uint64_t key; - int32_t num_buckets; +static PyObject *jump_hash(PyObject *self, PyObject *args) +{ + uint64_t key; + int32_t num_buckets; - if (!PyArg_ParseTuple(args, "Ki", &key, &num_buckets)) - return NULL; + if (!PyArg_ParseTuple(args, "Ki", &key, &num_buckets)) + return NULL; - if (num_buckets < 1) { - PyErr_Format(PyExc_ValueError, - "'num_buckets' must be a positive number, got %d", - num_buckets); - return NULL; - } + if (num_buckets < 1) { + PyErr_Format(PyExc_ValueError, + "'num_buckets' must be a positive number, got %d", + num_buckets); + return NULL; + } - return Py_BuildValue("i", jump_consistent_hash(key, num_buckets)); + return Py_BuildValue("i", jump_consistent_hash(key, num_buckets)); } -static PyMethodDef jump_methods[] = { - {"hash", jump_hash, METH_VARARGS, hash__doc__}, {NULL, NULL, 0, NULL}}; +static PyMethodDef jump_methods[] = { { "hash", jump_hash, METH_VARARGS, + hash__doc__ }, + { NULL, NULL, 0, NULL } }; #if PY_MAJOR_VERSION >= 3 -static struct PyModuleDef jumpmodule = {PyModuleDef_HEAD_INIT, "jump", - jump__doc__, -1, jump_methods}; +static struct PyModuleDef jumpmodule = { PyModuleDef_HEAD_INIT, "jump", + jump__doc__, -1, jump_methods }; -PyMODINIT_FUNC PyInit__jump(void) { return PyModule_Create(&jumpmodule); } +PyMODINIT_FUNC PyInit__jump(void) +{ + return PyModule_Create(&jumpmodule); +} #else -PyMODINIT_FUNC init_jump(void) { - Py_InitModule3("_jump", jump_methods, jump__doc__); +PyMODINIT_FUNC init_jump(void) +{ + Py_InitModule3("_jump", jump_methods, jump__doc__); } #endif From e91e41697d2daadfb05563c95409fdd1d1b713c1 Mon Sep 17 00:00:00 2001 From: Peter Lithammer Date: Tue, 28 Sep 2021 23:09:56 +0200 Subject: [PATCH 15/78] ci: drop support for python 2.7 and 3.5 --- .github/workflows/publish.yml | 15 ++--------- .github/workflows/python.yml | 5 ---- README.rst | 2 +- pyproject.toml | 12 ++++++--- requirements.txt | 4 +-- setup.cfg | 50 +++++++++++++++++++++++++++++------ setup.py | 46 ++------------------------------ src/jump/__init__.py | 11 ++------ src/jump/jump.c | 7 ----- 9 files changed, 59 insertions(+), 93 deletions(-) diff --git a/.github/workflows/publish.yml b/.github/workflows/publish.yml index 1f25bd9..d5e7517 100644 --- a/.github/workflows/publish.yml +++ b/.github/workflows/publish.yml @@ -65,7 +65,7 @@ jobs: runs-on: macos-latest strategy: matrix: - python-version: ['2.7', '3.5', '3.6', '3.7', '3.8', '3.9'] + python-version: ['3.6', '3.7', '3.8', '3.9'] steps: - uses: actions/checkout@v2 @@ -101,7 +101,7 @@ jobs: runs-on: windows-latest strategy: matrix: - python-version: ['2.7', '3.5', '3.6', '3.7', '3.8', '3.9'] + python-version: ['3.6', '3.7', '3.8', '3.9'] arch: ['x86', 'x64'] steps: - uses: actions/checkout@v2 @@ -112,17 +112,6 @@ jobs: python-version: ${{ matrix.python-version }} arch: ${{ matrix.arch }} - # Install Microsoft Visual C++ Compiler for Python 2.7 - # http://aka.ms/vcpython27 - - name: Install MSVC++ for Python 2.7 - run: choco install vcpython27 --yes - if: matrix.python-version == '2.7' - - # jump/jump.c(2) : fatal error C1083: Cannot open include file: 'stdint.h': No such file or directory - - name: Copy header files from Visual Studio 14.0 - run: iwr https://raw.githubusercontent.com/mattn/gntp-send/master/include/msinttypes/stdint.h -OutFile 'C:\Program Files (x86)\Common Files\Microsoft\Visual C++ for Python\9.0\VC\include\stdint.h' - if: matrix.python-version == '2.7' - - name: Install dependencies run: python -m pip install --upgrade pip setuptools wheel diff --git a/.github/workflows/python.yml b/.github/workflows/python.yml index 3895d89..4a24985 100644 --- a/.github/workflows/python.yml +++ b/.github/workflows/python.yml @@ -18,15 +18,10 @@ jobs: - ubuntu-latest - windows-latest python-version: - - '2.7' - - '3.5' - '3.6' - '3.7' - '3.8' - '3.9' - exclude: - - os: windows-latest - python-version: '2.7' steps: - uses: actions/checkout@v2 diff --git a/README.rst b/README.rst index 169e60f..afe2557 100644 --- a/README.rst +++ b/README.rst @@ -6,7 +6,7 @@ Jump Consistent Hash :target: https://github.com/lithammer/python-jump-consistent-hash/actions Python and C implementation of the jump consistent hash algorithm by John -Lamping and Eric Veach[1]. Tested on Python 2.7 and 3.5+. +Lamping and Eric Veach[1]. Tested on Python 3.6+. Install ------- diff --git a/pyproject.toml b/pyproject.toml index 3d54e2c..f98b3fd 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -6,15 +6,21 @@ build-backend = "setuptools.build_meta" line-length = 79 target-version = ["py36"] +[tool.mypy] +check_untyped_defs = true +ignore_missing_imports = true +no_implicit_optional = true +pretty = true +show_column_numbers = true +warn_unused_configs = true + [tool.tox] legacy_tox_ini = """ [tox] -envlist = py{27,35,36,37,38,39},black,flake8,mypy +envlist = py{36,37,38,39},black,flake8,mypy [gh-actions] python = - 2.7: py27 - 3.5: py35 3.6: py36 3.7: py37 3.8: py38 diff --git a/requirements.txt b/requirements.txt index 17b6153..94bb425 100644 --- a/requirements.txt +++ b/requirements.txt @@ -1,7 +1,5 @@ black==21.5b2 flake8==3.9.2 mypy==0.812 -pytest==4.6.11; python_version == '2.7' -pytest==6.1.2; python_version == '3.5' -pytest==6.2.5; python_version >= '3.6' +pytest==6.2.5 tox==3.23.1 diff --git a/setup.cfg b/setup.cfg index 7764705..9de31c4 100644 --- a/setup.cfg +++ b/setup.cfg @@ -1,10 +1,44 @@ +[metadata] +name = jump-consistent-hash +version = 3.1.2 +description = Implementation of the Jump Consistent Hash algorithm +long_description = file: README.rst +url = https://github.com/lithammer/python-jump-consistent-hash +author = Peter Lithammer +author_email = peter.lithammer@gmail.com +license = MIT +license_file = LICENSE +classifiers = + Development Status :: 5 - Production/Stable + Intended Audience :: Developers + License :: OSI Approved :: MIT License + Operating System :: MacOS :: MacOS X + Operating System :: Microsoft :: Windows + Operating System :: POSIX + Programming Language :: Python :: 3 + Programming Language :: Python :: 3.6 + Programming Language :: Python :: 3.7 + Programming Language :: Python :: 3.8 + Programming Language :: Python :: 3.9 +keywords = jump, consistent, hash, jumphash, algorithm +project_urls = + Source=https://github.com/lithammer/python-jump-consistent-hash + Tracker=https://github.com/lithammer/python-jump-consistent-hash/issues + +[options] +packages = find: +package_dir = + = src +python_requires = >=3.6 +zip_safe = false + +[options.packages.find] +where = src + +[options.package_data] +jump = + py.typed + __init__.pyi + [flake8] show_source = true - -[mypy] -check_untyped_defs = true -ignore_missing_imports = true -no_implicit_optional = true -pretty = true -show_column_numbers = true -warn_unused_configs = true diff --git a/setup.py b/setup.py index 4919b23..ae689d5 100644 --- a/setup.py +++ b/setup.py @@ -1,49 +1,7 @@ -import io -import os - -from setuptools import Extension, find_packages, setup - -here = os.path.abspath(os.path.dirname(__file__)) - -with io.open(os.path.join(here, "README.rst"), encoding="utf-8") as f: - long_description = f.read() +from setuptools import Extension, setup setup( - name="jump-consistent-hash", - version="3.1.2", - description="Implementation of the Jump Consistent Hash algorithm", - long_description=long_description, - author="Peter Lithammer", - author_email="peter.lithammer@gmail.com", - license="MIT", - url="https://github.com/lithammer/python-jump-consistent-hash", - packages=find_packages(where="src"), - package_dir={"": "src"}, - package_data={"jump": ["py.typed", "__init__.pyi"]}, - zip_safe=False, ext_modules=[ Extension("_jump", sources=["src/jump/jump.c"], optional=True) - ], - keywords=[ - "jump hash", - "jumphash", - "jump consistent hash", - "consistent hash", - "hash algorithm", - "hash", - ], - python_requires=">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*, <4", - classifiers=[ - "Development Status :: 5 - Production/Stable", - "Intended Audience :: Developers", - "License :: OSI Approved :: MIT License", - "Programming Language :: Python :: 2", - "Programming Language :: Python :: 2.7", - "Programming Language :: Python :: 3", - "Programming Language :: Python :: 3.5", - "Programming Language :: Python :: 3.6", - "Programming Language :: Python :: 3.7", - "Programming Language :: Python :: 3.8", - "Programming Language :: Python :: 3.9", - ], + ] ) diff --git a/src/jump/__init__.py b/src/jump/__init__.py index add61f3..1d2c3e7 100644 --- a/src/jump/__init__.py +++ b/src/jump/__init__.py @@ -1,9 +1,5 @@ """Fast, minimal memory, consistent hash algorithm.""" -from __future__ import absolute_import - -import sys - try: from _jump import hash as c_hash except ImportError: @@ -11,9 +7,6 @@ __all__ = ["hash"] -if sys.version_info[0] > 2: - long = int - def py_hash(key, num_buckets): """Generate a number in the range [0, num_buckets). @@ -32,12 +25,12 @@ def py_hash(key, num_buckets): if num_buckets < 1: raise ValueError( - "'num_buckets' must be a positive number, got %d" % num_buckets + f"'num_buckets' must be a positive number, got {num_buckets}" ) while j < num_buckets: b = int(j) - key = ((key * long(2862933555777941757)) + 1) & 0xFFFFFFFFFFFFFFFF + key = ((key * int(2862933555777941757)) + 1) & 0xFFFFFFFFFFFFFFFF j = float(b + 1) * (float(1 << 31) / float((key >> 33) + 1)) return int(b) diff --git a/src/jump/jump.c b/src/jump/jump.c index a127f68..5d2d08a 100644 --- a/src/jump/jump.c +++ b/src/jump/jump.c @@ -56,7 +56,6 @@ static PyMethodDef jump_methods[] = { { "hash", jump_hash, METH_VARARGS, hash__doc__ }, { NULL, NULL, 0, NULL } }; -#if PY_MAJOR_VERSION >= 3 static struct PyModuleDef jumpmodule = { PyModuleDef_HEAD_INIT, "jump", jump__doc__, -1, jump_methods }; @@ -64,9 +63,3 @@ PyMODINIT_FUNC PyInit__jump(void) { return PyModule_Create(&jumpmodule); } -#else -PyMODINIT_FUNC init_jump(void) -{ - Py_InitModule3("_jump", jump_methods, jump__doc__); -} -#endif From 3259d52cb6b5f91cba5ea3ac58232c1567de39a2 Mon Sep 17 00:00:00 2001 From: Peter Lithammer Date: Wed, 26 May 2021 09:36:40 +0200 Subject: [PATCH 16/78] ci: replace custom workflow with cibuildwheel --- .github/workflows/publish.yml | 153 ---------------------------------- .github/workflows/python.yml | 88 +++++++++++++++---- pyproject.toml | 10 +++ setup.py | 8 +- 4 files changed, 88 insertions(+), 171 deletions(-) delete mode 100644 .github/workflows/publish.yml diff --git a/.github/workflows/publish.yml b/.github/workflows/publish.yml deleted file mode 100644 index d5e7517..0000000 --- a/.github/workflows/publish.yml +++ /dev/null @@ -1,153 +0,0 @@ -name: Publish - -on: - release: - types: [published] - -jobs: - build_sdist: - runs-on: ubuntu-latest - strategy: - matrix: - python-version: ['3.8'] - steps: - - uses: actions/checkout@v2 - - - name: Set up Python ${{ matrix.python-version }} - uses: actions/setup-python@v2.2.2 - with: - python-version: ${{ matrix.python-version }} - - - name: Install dependencies - run: python -m pip install --upgrade setuptools - - - name: Create packages - run: python setup.py sdist - - - uses: actions/upload-artifact@v2.2.4 - with: - name: python_packages - path: dist - - build_wheel_linux: - runs-on: ubuntu-latest - strategy: - matrix: - image: - - quay.io/pypa/manylinux1_i686 - - quay.io/pypa/manylinux1_x86_64 - - quay.io/pypa/manylinux2010_x86_64 - # - quay.io/pypa/manylinux2014_x86_64 - steps: - - uses: actions/checkout@v2 - - - name: Pull Docker images - run: docker pull ${{ matrix.image }} - - - name: Build ${{ matrix.image }} wheel - run: | - cat <<'EOF' | docker run --rm -i -v $PWD:/app ${{ matrix.image }} - for pybin in /opt/python/*/bin; do - "$pybin/python" -m pip wheel /app/ -w /app/dist - done - - for whl in /app/dist/*.whl; do - auditwheel repair "$whl" -w /app/dist/wheelhouse - done - EOF - - - uses: actions/upload-artifact@v2.2.4 - with: - name: python_packages - path: dist/wheelhouse - - build_wheel_macos: - runs-on: macos-latest - strategy: - matrix: - python-version: ['3.6', '3.7', '3.8', '3.9'] - steps: - - uses: actions/checkout@v2 - - - name: Set up Python ${{ matrix.python-version }} - uses: actions/setup-python@v2.2.2 - with: - python-version: ${{ matrix.python-version }} - - - name: Install dependencies - run: python -m pip install --upgrade pip setuptools wheel - - - name: Build wheel - run: python setup.py bdist_wheel - - # - name: Delocate for macOS wheels - # run: | - # python -m pip install --upgrade delocate - # delocate-addplat --rm-orig \ - # -p macosx_10_15_x86_64 \ - # -p macosx_10_14_x86_64 \ - # -p macosx_10_13_x86_64 \ - # -p macosx_10_12_x86_64 \ - # -p macosx_10_11_x86_64 \ - # -p macosx_10_10_x86_64 \ - # dist/*.whl - - - uses: actions/upload-artifact@v2.2.4 - with: - name: python_packages - path: dist - - build_wheel_windows: - runs-on: windows-latest - strategy: - matrix: - python-version: ['3.6', '3.7', '3.8', '3.9'] - arch: ['x86', 'x64'] - steps: - - uses: actions/checkout@v2 - - - name: Set up Python ${{ matrix.python-version }} (${{ matrix.arch }}) - uses: actions/setup-python@v2.2.2 - with: - python-version: ${{ matrix.python-version }} - arch: ${{ matrix.arch }} - - - name: Install dependencies - run: python -m pip install --upgrade pip setuptools wheel - - - name: Build wheel - run: python setup.py bdist_wheel - - - uses: actions/upload-artifact@v2.2.4 - with: - name: python_packages - path: dist - - publish: - needs: - - build_sdist - - build_wheel_linux - - build_wheel_macos - - build_wheel_windows - runs-on: ubuntu-latest - steps: - - uses: actions/download-artifact@v2.0.10 - with: - name: python_packages - path: dist - - - name: Show result - run: ls -l dist - - - name: Publish packages to TestPyPI - uses: pypa/gh-action-pypi-publish@master - with: - user: __token__ - password: ${{ secrets.TEST_PYPI_TOKEN }} - repository_url: https://test.pypi.org/legacy/ - - - name: Publish packages to PyPI - uses: pypa/gh-action-pypi-publish@master - with: - user: __token__ - password: ${{ secrets.PYPI_TOKEN }} diff --git a/.github/workflows/python.yml b/.github/workflows/python.yml index 4a24985..b194743 100644 --- a/.github/workflows/python.yml +++ b/.github/workflows/python.yml @@ -7,33 +7,87 @@ on: pull_request: branches: - master + release: + types: + - published jobs: - tox: + build_wheels: + name: Build wheels on ${{ matrix.os }} runs-on: ${{ matrix.os }} strategy: matrix: - os: - - macos-latest - - ubuntu-latest - - windows-latest - python-version: - - '3.6' - - '3.7' - - '3.8' - - '3.9' + os: [ubuntu-20.04, windows-2019, macos-10.15] + + steps: + - uses: actions/checkout@v2 + + # Needed to build non-native architectures. + # https://cibuildwheel.readthedocs.io/en/stable/faq/#emulation + - name: Setup QEMU + if: runner.os == 'Linux' + uses: docker/setup-qemu-action@v1 + with: + platforms: all + + - name: Build wheels + uses: pypa/cibuildwheel@v2.2.2 + env: + # While arm64 wheels can be built on x86_64, they cannot be tested. + # The ability to test the arm64 wheels will be added in a future + # release of cibuildwheel, once Apple Silicon CI runners are widely + # available. + CIBW_TEST_SKIP: "*-macosx_arm64 *-macosx_universal2:arm64" + + - uses: actions/upload-artifact@v2 + with: + name: python_packages + path: ./wheelhouse/*.whl + + build_sdist: + name: Build source distribution + runs-on: ubuntu-latest steps: - uses: actions/checkout@v2 - name: Setup Python uses: actions/setup-python@v2 with: - python-version: ${{ matrix.python-version }} + python-version: '3.8' - - name: Install Tox - run: pip install tox tox-gh-actions - env: - PIP_CONSTRAINT: requirements.txt + - name: Install build + run: pip install build + + - name: Build sdist + run: python -m build -s + + - uses: actions/upload-artifact@v2 + with: + name: python_packages + path: dist/*.tar.gz + + publish: + needs: + - build_wheels + - build_sdist + runs-on: ubuntu-latest + # if: github.event_name == 'push' && startsWith(github.event.ref, 'refs/tags/v') + if: github.event_name == 'release' && github.event.action == 'published' + steps: + - uses: actions/download-artifact@v2 + with: + name: python_packages + path: dist - - name: Test - run: tox + - name: Publish packages to TestPyPI + uses: pypa/gh-action-pypi-publish@v1 + with: + user: __token__ + password: ${{ secrets.TEST_PYPI_TOKEN }} + repository_url: https://test.pypi.org/legacy/ + + - name: Publish packages to PyPI + uses: pypa/gh-action-pypi-publish@v1 + with: + user: __token__ + password: ${{ secrets.PYPI_TOKEN }} diff --git a/pyproject.toml b/pyproject.toml index f98b3fd..3a80b71 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -2,6 +2,16 @@ requires = ["setuptools>=40.8.0", "wheel"] build-backend = "setuptools.build_meta" +[tool.cibuildwheel] +test-command = "pytest {package}/tests" +test-requires = "pytest" + +[tool.cibuildwheel.macos] +archs = ["x86_64", "universal2", "arm64"] + +[tool.cibuildwheel.linux] +archs = ["auto", "aarch64"] + [tool.black] line-length = 79 target-version = ["py36"] diff --git a/setup.py b/setup.py index ae689d5..56e83ab 100644 --- a/setup.py +++ b/setup.py @@ -1,7 +1,13 @@ +import os + from setuptools import Extension, setup setup( ext_modules=[ - Extension("_jump", sources=["src/jump/jump.c"], optional=True) + Extension( + "_jump", + sources=["src/jump/jump.c"], + optional=os.environ.get("CIBUILDWHEEL", "0") != "1", + ) ] ) From 831f9b717a6178078828226efd1d4ea444ae9634 Mon Sep 17 00:00:00 2001 From: Peter Lithammer Date: Thu, 28 Oct 2021 16:48:32 +0200 Subject: [PATCH 17/78] ci: add python 3.10 classifier --- setup.cfg | 1 + 1 file changed, 1 insertion(+) diff --git a/setup.cfg b/setup.cfg index 9de31c4..233744b 100644 --- a/setup.cfg +++ b/setup.cfg @@ -20,6 +20,7 @@ classifiers = Programming Language :: Python :: 3.7 Programming Language :: Python :: 3.8 Programming Language :: Python :: 3.9 + Programming Language :: Python :: 3.10 keywords = jump, consistent, hash, jumphash, algorithm project_urls = Source=https://github.com/lithammer/python-jump-consistent-hash From 62a6c0894d2595f606802b6c2550ec4c9494ea17 Mon Sep 17 00:00:00 2001 From: Peter Lithammer Date: Thu, 28 Oct 2021 16:55:42 +0200 Subject: [PATCH 18/78] ci: add issues, changelog and documentation project urls --- setup.cfg | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/setup.cfg b/setup.cfg index 233744b..4b6d176 100644 --- a/setup.cfg +++ b/setup.cfg @@ -24,7 +24,9 @@ classifiers = keywords = jump, consistent, hash, jumphash, algorithm project_urls = Source=https://github.com/lithammer/python-jump-consistent-hash - Tracker=https://github.com/lithammer/python-jump-consistent-hash/issues + Issues=https://github.com/lithammer/python-jump-consistent-hash/issues + Changelog=https://github.com/lithammer/python-jump-consistent-hash/releases + Documentation=https://github.com/lithammer/python-jump-consistent-hash#readme [options] packages = find: From b56a54884b1d972f18e03791f0b305e7dbbbe606 Mon Sep 17 00:00:00 2001 From: Peter Lithammer Date: Thu, 28 Oct 2021 16:56:36 +0200 Subject: [PATCH 19/78] ci: use setuptools-scm for versioning --- pyproject.toml | 4 +++- setup.cfg | 1 - 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/pyproject.toml b/pyproject.toml index 3a80b71..caa4e4b 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -1,7 +1,9 @@ [build-system] -requires = ["setuptools>=40.8.0", "wheel"] +requires = ["setuptools>=45", "wheel", "setuptools_scm>=6.2"] build-backend = "setuptools.build_meta" +[tool.setuptools_scm] + [tool.cibuildwheel] test-command = "pytest {package}/tests" test-requires = "pytest" diff --git a/setup.cfg b/setup.cfg index 4b6d176..964b3ab 100644 --- a/setup.cfg +++ b/setup.cfg @@ -1,6 +1,5 @@ [metadata] name = jump-consistent-hash -version = 3.1.2 description = Implementation of the Jump Consistent Hash algorithm long_description = file: README.rst url = https://github.com/lithammer/python-jump-consistent-hash From b534740171be0e85f04e06fcbfbe21420763202f Mon Sep 17 00:00:00 2001 From: Peter Lithammer Date: Thu, 28 Oct 2021 23:21:12 +0200 Subject: [PATCH 20/78] ci: fix tag name for pypa/gh-action-pypi-publish action --- .github/workflows/python.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/python.yml b/.github/workflows/python.yml index b194743..52dd550 100644 --- a/.github/workflows/python.yml +++ b/.github/workflows/python.yml @@ -80,14 +80,14 @@ jobs: path: dist - name: Publish packages to TestPyPI - uses: pypa/gh-action-pypi-publish@v1 + uses: pypa/gh-action-pypi-publish@release/v1 with: user: __token__ password: ${{ secrets.TEST_PYPI_TOKEN }} repository_url: https://test.pypi.org/legacy/ - name: Publish packages to PyPI - uses: pypa/gh-action-pypi-publish@v1 + uses: pypa/gh-action-pypi-publish@release/v1 with: user: __token__ password: ${{ secrets.PYPI_TOKEN }} From 4473dff12fb337560b0b9cfe8a05f0f64793788f Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Wed, 1 Dec 2021 01:01:41 +0000 Subject: [PATCH 21/78] Bump pypa/cibuildwheel from 2.2.2 to 2.3.0 Bumps [pypa/cibuildwheel](https://github.com/pypa/cibuildwheel) from 2.2.2 to 2.3.0. - [Release notes](https://github.com/pypa/cibuildwheel/releases) - [Changelog](https://github.com/pypa/cibuildwheel/blob/main/docs/changelog.md) - [Commits](https://github.com/pypa/cibuildwheel/compare/v2.2.2...v2.3.0) --- updated-dependencies: - dependency-name: pypa/cibuildwheel dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] --- .github/workflows/python.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/python.yml b/.github/workflows/python.yml index 52dd550..afab15f 100644 --- a/.github/workflows/python.yml +++ b/.github/workflows/python.yml @@ -31,7 +31,7 @@ jobs: platforms: all - name: Build wheels - uses: pypa/cibuildwheel@v2.2.2 + uses: pypa/cibuildwheel@v2.3.0 env: # While arm64 wheels can be built on x86_64, they cannot be tested. # The ability to test the arm64 wheels will be added in a future From 70ec91d21a932666def4ab83e8d4b72169853221 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Sat, 1 Jan 2022 01:01:05 +0000 Subject: [PATCH 22/78] Bump pypa/cibuildwheel from 2.3.0 to 2.3.1 Bumps [pypa/cibuildwheel](https://github.com/pypa/cibuildwheel) from 2.3.0 to 2.3.1. - [Release notes](https://github.com/pypa/cibuildwheel/releases) - [Changelog](https://github.com/pypa/cibuildwheel/blob/main/docs/changelog.md) - [Commits](https://github.com/pypa/cibuildwheel/compare/v2.3.0...v2.3.1) --- updated-dependencies: - dependency-name: pypa/cibuildwheel dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- .github/workflows/python.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/python.yml b/.github/workflows/python.yml index afab15f..d66274b 100644 --- a/.github/workflows/python.yml +++ b/.github/workflows/python.yml @@ -31,7 +31,7 @@ jobs: platforms: all - name: Build wheels - uses: pypa/cibuildwheel@v2.3.0 + uses: pypa/cibuildwheel@v2.3.1 env: # While arm64 wheels can be built on x86_64, they cannot be tested. # The ability to test the arm64 wheels will be added in a future From 4a78ed1c65e4a207e8c31c4493b1214fde2c6a67 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 1 Mar 2022 01:03:58 +0000 Subject: [PATCH 23/78] Bump actions/setup-python from 2 to 3 Bumps [actions/setup-python](https://github.com/actions/setup-python) from 2 to 3. - [Release notes](https://github.com/actions/setup-python/releases) - [Commits](https://github.com/actions/setup-python/compare/v2...v3) --- updated-dependencies: - dependency-name: actions/setup-python dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] --- .github/workflows/python.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/python.yml b/.github/workflows/python.yml index d66274b..4740281 100644 --- a/.github/workflows/python.yml +++ b/.github/workflows/python.yml @@ -51,7 +51,7 @@ jobs: - uses: actions/checkout@v2 - name: Setup Python - uses: actions/setup-python@v2 + uses: actions/setup-python@v3 with: python-version: '3.8' From 1a501baa3c28a6a19a37cb9bed20374e251c4075 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Fri, 1 Apr 2022 01:01:46 +0000 Subject: [PATCH 24/78] Bump actions/checkout from 2 to 3 Bumps [actions/checkout](https://github.com/actions/checkout) from 2 to 3. - [Release notes](https://github.com/actions/checkout/releases) - [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md) - [Commits](https://github.com/actions/checkout/compare/v2...v3) --- updated-dependencies: - dependency-name: actions/checkout dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] --- .github/workflows/python.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/python.yml b/.github/workflows/python.yml index 4740281..cbe57be 100644 --- a/.github/workflows/python.yml +++ b/.github/workflows/python.yml @@ -20,7 +20,7 @@ jobs: os: [ubuntu-20.04, windows-2019, macos-10.15] steps: - - uses: actions/checkout@v2 + - uses: actions/checkout@v3 # Needed to build non-native architectures. # https://cibuildwheel.readthedocs.io/en/stable/faq/#emulation @@ -48,7 +48,7 @@ jobs: name: Build source distribution runs-on: ubuntu-latest steps: - - uses: actions/checkout@v2 + - uses: actions/checkout@v3 - name: Setup Python uses: actions/setup-python@v3 From 317c5a2196796efc19a103d9a392274f857f5ce8 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Sun, 1 May 2022 01:02:56 +0000 Subject: [PATCH 25/78] Bump actions/download-artifact from 2 to 3 Bumps [actions/download-artifact](https://github.com/actions/download-artifact) from 2 to 3. - [Release notes](https://github.com/actions/download-artifact/releases) - [Commits](https://github.com/actions/download-artifact/compare/v2...v3) --- updated-dependencies: - dependency-name: actions/download-artifact dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] --- .github/workflows/python.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/python.yml b/.github/workflows/python.yml index cbe57be..fb0b026 100644 --- a/.github/workflows/python.yml +++ b/.github/workflows/python.yml @@ -74,7 +74,7 @@ jobs: # if: github.event_name == 'push' && startsWith(github.event.ref, 'refs/tags/v') if: github.event_name == 'release' && github.event.action == 'published' steps: - - uses: actions/download-artifact@v2 + - uses: actions/download-artifact@v3 with: name: python_packages path: dist From 812d3ee4fd7cbdbc0977d3fac4b4666952d2a0ac Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Sun, 1 May 2022 01:02:58 +0000 Subject: [PATCH 26/78] Bump actions/upload-artifact from 2 to 3 Bumps [actions/upload-artifact](https://github.com/actions/upload-artifact) from 2 to 3. - [Release notes](https://github.com/actions/upload-artifact/releases) - [Commits](https://github.com/actions/upload-artifact/compare/v2...v3) --- updated-dependencies: - dependency-name: actions/upload-artifact dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] --- .github/workflows/python.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/python.yml b/.github/workflows/python.yml index cbe57be..a5235fb 100644 --- a/.github/workflows/python.yml +++ b/.github/workflows/python.yml @@ -39,7 +39,7 @@ jobs: # available. CIBW_TEST_SKIP: "*-macosx_arm64 *-macosx_universal2:arm64" - - uses: actions/upload-artifact@v2 + - uses: actions/upload-artifact@v3 with: name: python_packages path: ./wheelhouse/*.whl @@ -61,7 +61,7 @@ jobs: - name: Build sdist run: python -m build -s - - uses: actions/upload-artifact@v2 + - uses: actions/upload-artifact@v3 with: name: python_packages path: dist/*.tar.gz From 5a58e034a2cf52c3a2cff33b3659fe19e9e3cd1a Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Sun, 1 May 2022 01:03:01 +0000 Subject: [PATCH 27/78] Bump pypa/cibuildwheel from 2.3.1 to 2.5.0 Bumps [pypa/cibuildwheel](https://github.com/pypa/cibuildwheel) from 2.3.1 to 2.5.0. - [Release notes](https://github.com/pypa/cibuildwheel/releases) - [Changelog](https://github.com/pypa/cibuildwheel/blob/main/docs/changelog.md) - [Commits](https://github.com/pypa/cibuildwheel/compare/v2.3.1...2.5.0) --- updated-dependencies: - dependency-name: pypa/cibuildwheel dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] --- .github/workflows/python.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/python.yml b/.github/workflows/python.yml index cbe57be..bdaf549 100644 --- a/.github/workflows/python.yml +++ b/.github/workflows/python.yml @@ -31,7 +31,7 @@ jobs: platforms: all - name: Build wheels - uses: pypa/cibuildwheel@v2.3.1 + uses: pypa/cibuildwheel@2.5.0 env: # While arm64 wheels can be built on x86_64, they cannot be tested. # The ability to test the arm64 wheels will be added in a future From 1f5aefc8b1db94b5f60bb30e32b61f4942245cf4 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Wed, 1 Jun 2022 01:02:17 +0000 Subject: [PATCH 28/78] Bump docker/setup-qemu-action from 1 to 2 Bumps [docker/setup-qemu-action](https://github.com/docker/setup-qemu-action) from 1 to 2. - [Release notes](https://github.com/docker/setup-qemu-action/releases) - [Commits](https://github.com/docker/setup-qemu-action/compare/v1...v2) --- updated-dependencies: - dependency-name: docker/setup-qemu-action dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] --- .github/workflows/python.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/python.yml b/.github/workflows/python.yml index 00b51a9..35939e1 100644 --- a/.github/workflows/python.yml +++ b/.github/workflows/python.yml @@ -26,7 +26,7 @@ jobs: # https://cibuildwheel.readthedocs.io/en/stable/faq/#emulation - name: Setup QEMU if: runner.os == 'Linux' - uses: docker/setup-qemu-action@v1 + uses: docker/setup-qemu-action@v2 with: platforms: all From c70c5c9b745abe4b0bcd80ddde5f85c774fe3052 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Wed, 1 Jun 2022 01:02:20 +0000 Subject: [PATCH 29/78] Bump pypa/cibuildwheel from 2.5.0 to 2.6.0 Bumps [pypa/cibuildwheel](https://github.com/pypa/cibuildwheel) from 2.5.0 to 2.6.0. - [Release notes](https://github.com/pypa/cibuildwheel/releases) - [Changelog](https://github.com/pypa/cibuildwheel/blob/main/docs/changelog.md) - [Commits](https://github.com/pypa/cibuildwheel/compare/2.5.0...2.6.0) --- updated-dependencies: - dependency-name: pypa/cibuildwheel dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] --- .github/workflows/python.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/python.yml b/.github/workflows/python.yml index 00b51a9..71fb7ee 100644 --- a/.github/workflows/python.yml +++ b/.github/workflows/python.yml @@ -31,7 +31,7 @@ jobs: platforms: all - name: Build wheels - uses: pypa/cibuildwheel@2.5.0 + uses: pypa/cibuildwheel@2.6.0 env: # While arm64 wheels can be built on x86_64, they cannot be tested. # The ability to test the arm64 wheels will be added in a future From 536a9acbfb4579fd48dbe4441391671290b9290b Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Fri, 1 Jul 2022 01:03:55 +0000 Subject: [PATCH 30/78] Bump actions/setup-python from 3 to 4 Bumps [actions/setup-python](https://github.com/actions/setup-python) from 3 to 4. - [Release notes](https://github.com/actions/setup-python/releases) - [Commits](https://github.com/actions/setup-python/compare/v3...v4) --- updated-dependencies: - dependency-name: actions/setup-python dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] --- .github/workflows/python.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/python.yml b/.github/workflows/python.yml index bd03bb3..d155a62 100644 --- a/.github/workflows/python.yml +++ b/.github/workflows/python.yml @@ -51,7 +51,7 @@ jobs: - uses: actions/checkout@v3 - name: Setup Python - uses: actions/setup-python@v3 + uses: actions/setup-python@v4 with: python-version: '3.8' From c0ca275fa443e086dd3f056986099d0a7eee8c87 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Fri, 1 Jul 2022 01:03:58 +0000 Subject: [PATCH 31/78] Bump pypa/cibuildwheel from 2.6.0 to 2.7.0 Bumps [pypa/cibuildwheel](https://github.com/pypa/cibuildwheel) from 2.6.0 to 2.7.0. - [Release notes](https://github.com/pypa/cibuildwheel/releases) - [Changelog](https://github.com/pypa/cibuildwheel/blob/main/docs/changelog.md) - [Commits](https://github.com/pypa/cibuildwheel/compare/2.6.0...2.7.0) --- updated-dependencies: - dependency-name: pypa/cibuildwheel dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] --- .github/workflows/python.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/python.yml b/.github/workflows/python.yml index bd03bb3..893a2af 100644 --- a/.github/workflows/python.yml +++ b/.github/workflows/python.yml @@ -31,7 +31,7 @@ jobs: platforms: all - name: Build wheels - uses: pypa/cibuildwheel@2.6.0 + uses: pypa/cibuildwheel@2.7.0 env: # While arm64 wheels can be built on x86_64, they cannot be tested. # The ability to test the arm64 wheels will be added in a future From 47bc05a8c8fe96e7fe5f4cf02d7a865eebc4a45b Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 1 Aug 2022 01:30:07 +0000 Subject: [PATCH 32/78] Bump pypa/cibuildwheel from 2.7.0 to 2.8.1 Bumps [pypa/cibuildwheel](https://github.com/pypa/cibuildwheel) from 2.7.0 to 2.8.1. - [Release notes](https://github.com/pypa/cibuildwheel/releases) - [Changelog](https://github.com/pypa/cibuildwheel/blob/main/docs/changelog.md) - [Commits](https://github.com/pypa/cibuildwheel/compare/2.7.0...v2.8.1) --- updated-dependencies: - dependency-name: pypa/cibuildwheel dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] --- .github/workflows/python.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/python.yml b/.github/workflows/python.yml index 71293f5..50a3b16 100644 --- a/.github/workflows/python.yml +++ b/.github/workflows/python.yml @@ -31,7 +31,7 @@ jobs: platforms: all - name: Build wheels - uses: pypa/cibuildwheel@2.7.0 + uses: pypa/cibuildwheel@v2.8.1 env: # While arm64 wheels can be built on x86_64, they cannot be tested. # The ability to test the arm64 wheels will be added in a future From cd05dcccd83b6701f6e043fcb0f0d02933932ecd Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Thu, 1 Sep 2022 01:02:34 +0000 Subject: [PATCH 33/78] build(deps): bump pypa/cibuildwheel from 2.8.1 to 2.9.0 Bumps [pypa/cibuildwheel](https://github.com/pypa/cibuildwheel) from 2.8.1 to 2.9.0. - [Release notes](https://github.com/pypa/cibuildwheel/releases) - [Changelog](https://github.com/pypa/cibuildwheel/blob/main/docs/changelog.md) - [Commits](https://github.com/pypa/cibuildwheel/compare/v2.8.1...v2.9.0) --- updated-dependencies: - dependency-name: pypa/cibuildwheel dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] --- .github/workflows/python.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/python.yml b/.github/workflows/python.yml index 50a3b16..22acb2d 100644 --- a/.github/workflows/python.yml +++ b/.github/workflows/python.yml @@ -31,7 +31,7 @@ jobs: platforms: all - name: Build wheels - uses: pypa/cibuildwheel@v2.8.1 + uses: pypa/cibuildwheel@v2.9.0 env: # While arm64 wheels can be built on x86_64, they cannot be tested. # The ability to test the arm64 wheels will be added in a future From 38be01bac27020c36d299666e5d91632313cb843 Mon Sep 17 00:00:00 2001 From: Peter Lithammer Date: Fri, 9 Sep 2022 11:56:43 +0200 Subject: [PATCH 34/78] ci: add support for Python 3.11 --- pyproject.toml | 6 ++++-- setup.cfg | 1 + 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/pyproject.toml b/pyproject.toml index caa4e4b..fa47595 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -29,14 +29,16 @@ warn_unused_configs = true [tool.tox] legacy_tox_ini = """ [tox] -envlist = py{36,37,38,39},black,flake8,mypy +envlist = py{36,37,38,39,310,311},black,flake8,mypy [gh-actions] python = 3.6: py36 3.7: py37 3.8: py38 - 3.9: py39, black, flake8, mypy + 3.9: py39 + 3.10: py310 + 3.11: py311, black, flake8, mypy [testenv:black] deps = black diff --git a/setup.cfg b/setup.cfg index 964b3ab..d8e6cd4 100644 --- a/setup.cfg +++ b/setup.cfg @@ -20,6 +20,7 @@ classifiers = Programming Language :: Python :: 3.8 Programming Language :: Python :: 3.9 Programming Language :: Python :: 3.10 + Programming Language :: Python :: 3.11 keywords = jump, consistent, hash, jumphash, algorithm project_urls = Source=https://github.com/lithammer/python-jump-consistent-hash From ea36b2b73d85ce5fe0d36393590e5ffec4f1348f Mon Sep 17 00:00:00 2001 From: Peter Lithammer Date: Fri, 9 Sep 2022 12:10:37 +0200 Subject: [PATCH 35/78] ci: build and test wheels on macos-11 --- .github/workflows/python.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/python.yml b/.github/workflows/python.yml index 22acb2d..dbc1daa 100644 --- a/.github/workflows/python.yml +++ b/.github/workflows/python.yml @@ -17,7 +17,7 @@ jobs: runs-on: ${{ matrix.os }} strategy: matrix: - os: [ubuntu-20.04, windows-2019, macos-10.15] + os: [ubuntu-20.04, windows-2019, macos-11] steps: - uses: actions/checkout@v3 From 4f96d52818cb1582393c65d92ecc642dc9f96118 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Sat, 1 Oct 2022 01:01:10 +0000 Subject: [PATCH 36/78] build(deps): bump pypa/cibuildwheel from 2.9.0 to 2.10.2 Bumps [pypa/cibuildwheel](https://github.com/pypa/cibuildwheel) from 2.9.0 to 2.10.2. - [Release notes](https://github.com/pypa/cibuildwheel/releases) - [Changelog](https://github.com/pypa/cibuildwheel/blob/main/docs/changelog.md) - [Commits](https://github.com/pypa/cibuildwheel/compare/v2.9.0...v2.10.2) --- updated-dependencies: - dependency-name: pypa/cibuildwheel dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] --- .github/workflows/python.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/python.yml b/.github/workflows/python.yml index dbc1daa..0049551 100644 --- a/.github/workflows/python.yml +++ b/.github/workflows/python.yml @@ -31,7 +31,7 @@ jobs: platforms: all - name: Build wheels - uses: pypa/cibuildwheel@v2.9.0 + uses: pypa/cibuildwheel@v2.10.2 env: # While arm64 wheels can be built on x86_64, they cannot be tested. # The ability to test the arm64 wheels will be added in a future From 7da934bbfd8c13ee538eafc252e07e78bf5bdeec Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 25 Oct 2022 08:36:28 +0000 Subject: [PATCH 37/78] build(deps): bump pypa/cibuildwheel from 2.10.2 to 2.11.1 Bumps [pypa/cibuildwheel](https://github.com/pypa/cibuildwheel) from 2.10.2 to 2.11.1. - [Release notes](https://github.com/pypa/cibuildwheel/releases) - [Changelog](https://github.com/pypa/cibuildwheel/blob/main/docs/changelog.md) - [Commits](https://github.com/pypa/cibuildwheel/compare/v2.10.2...v2.11.1) --- updated-dependencies: - dependency-name: pypa/cibuildwheel dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] --- .github/workflows/python.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/python.yml b/.github/workflows/python.yml index 0049551..cdf595d 100644 --- a/.github/workflows/python.yml +++ b/.github/workflows/python.yml @@ -31,7 +31,7 @@ jobs: platforms: all - name: Build wheels - uses: pypa/cibuildwheel@v2.10.2 + uses: pypa/cibuildwheel@v2.11.1 env: # While arm64 wheels can be built on x86_64, they cannot be tested. # The ability to test the arm64 wheels will be added in a future From f5b66aac1ec2b80788fcee0d6449974280335b4a Mon Sep 17 00:00:00 2001 From: Peter Lithammer Date: Tue, 25 Oct 2022 11:42:59 +0200 Subject: [PATCH 38/78] ci: drop support for Python 3.6 and 3.7 --- .github/workflows/python.yml | 10 +------- Makefile | 8 +++--- README.rst | 2 +- pyproject.toml | 40 +++++++++++++++++++++++++++--- requirements.txt | 10 ++++---- setup.cfg | 47 ------------------------------------ 6 files changed, 47 insertions(+), 70 deletions(-) delete mode 100644 setup.cfg diff --git a/.github/workflows/python.yml b/.github/workflows/python.yml index dbc1daa..16df7a8 100644 --- a/.github/workflows/python.yml +++ b/.github/workflows/python.yml @@ -50,16 +50,8 @@ jobs: steps: - uses: actions/checkout@v3 - - name: Setup Python - uses: actions/setup-python@v4 - with: - python-version: '3.8' - - - name: Install build - run: pip install build - - name: Build sdist - run: python -m build -s + run: pipx run build --sdist - uses: actions/upload-artifact@v3 with: diff --git a/Makefile b/Makefile index 57c4ace..e69af22 100644 --- a/Makefile +++ b/Makefile @@ -1,14 +1,14 @@ BINDIR = $(VIRTUALENV)/bin PYTHON ?= python3 -VIRTUALENV = venv +VIRTUALENV = .venv -all: test +all: build compile_commands.json: bear -- $(PYTHON) setup.py build_ext -qf -.PHONY: venv -venv: $(VIRTUALENV)/freeze.txt +.PHONY: build +build: $(VIRTUALENV)/freeze.txt $(VIRTUALENV)/freeze.txt: requirements.txt $(PYTHON) -m venv $(@D) diff --git a/README.rst b/README.rst index afe2557..110423a 100644 --- a/README.rst +++ b/README.rst @@ -6,7 +6,7 @@ Jump Consistent Hash :target: https://github.com/lithammer/python-jump-consistent-hash/actions Python and C implementation of the jump consistent hash algorithm by John -Lamping and Eric Veach[1]. Tested on Python 3.6+. +Lamping and Eric Veach[1]. Tested on Python 3.8+. Install ------- diff --git a/pyproject.toml b/pyproject.toml index fa47595..d7bfaa6 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -1,7 +1,41 @@ [build-system] -requires = ["setuptools>=45", "wheel", "setuptools_scm>=6.2"] +requires = ["setuptools>=61", "setuptools-scm[toml]>=6.2"] build-backend = "setuptools.build_meta" +[project] +name = "jump-consistent-hash" +description = "Implementation of the Jump Consistent Hash algorithm" +readme = "README.rst" +license = {text = "MIT"} +requires-python = ">=3.8" + +classifiers = [ + "Development Status :: 5 - Production/Stable", + "Intended Audience :: Developers", + "License :: OSI Approved :: MIT License", + "Operating System :: MacOS :: MacOS X", + "Operating System :: Microsoft :: Windows", + "Operating System :: POSIX", + "Programming Language :: Python :: 3", + "Programming Language :: Python :: 3.8", + "Programming Language :: Python :: 3.9", + "Programming Language :: Python :: 3.10", + "Programming Language :: Python :: 3.11", +] +keywords = ["jump", "consistent", "hash", "jumphash", "algorithm"] + +dynamic = ["version"] + +[[project.authors]] +name = "Peter Lithammer" +email = "peter.lithammer@gmail.com" + +[project.urls] +Source = "https://github.com/lithammer/python-jump-consistent-hash" +Issues = "https://github.com/lithammer/python-jump-consistent-hash/issues" +Changelog = "https://github.com/lithammer/python-jump-consistent-hash/releases" +Documentation = "https://github.com/lithammer/python-jump-consistent-hash#readme" + [tool.setuptools_scm] [tool.cibuildwheel] @@ -29,12 +63,10 @@ warn_unused_configs = true [tool.tox] legacy_tox_ini = """ [tox] -envlist = py{36,37,38,39,310,311},black,flake8,mypy +envlist = py{38,39,310,311},black,flake8,mypy [gh-actions] python = - 3.6: py36 - 3.7: py37 3.8: py38 3.9: py39 3.10: py310 diff --git a/requirements.txt b/requirements.txt index 94bb425..c89cbf5 100644 --- a/requirements.txt +++ b/requirements.txt @@ -1,5 +1,5 @@ -black==21.5b2 -flake8==3.9.2 -mypy==0.812 -pytest==6.2.5 -tox==3.23.1 +black==22.10.0 +flake8==5.0.4 +mypy==0.982 +pytest==7.2.0 +tox==3.26.0 diff --git a/setup.cfg b/setup.cfg deleted file mode 100644 index d8e6cd4..0000000 --- a/setup.cfg +++ /dev/null @@ -1,47 +0,0 @@ -[metadata] -name = jump-consistent-hash -description = Implementation of the Jump Consistent Hash algorithm -long_description = file: README.rst -url = https://github.com/lithammer/python-jump-consistent-hash -author = Peter Lithammer -author_email = peter.lithammer@gmail.com -license = MIT -license_file = LICENSE -classifiers = - Development Status :: 5 - Production/Stable - Intended Audience :: Developers - License :: OSI Approved :: MIT License - Operating System :: MacOS :: MacOS X - Operating System :: Microsoft :: Windows - Operating System :: POSIX - Programming Language :: Python :: 3 - Programming Language :: Python :: 3.6 - Programming Language :: Python :: 3.7 - Programming Language :: Python :: 3.8 - Programming Language :: Python :: 3.9 - Programming Language :: Python :: 3.10 - Programming Language :: Python :: 3.11 -keywords = jump, consistent, hash, jumphash, algorithm -project_urls = - Source=https://github.com/lithammer/python-jump-consistent-hash - Issues=https://github.com/lithammer/python-jump-consistent-hash/issues - Changelog=https://github.com/lithammer/python-jump-consistent-hash/releases - Documentation=https://github.com/lithammer/python-jump-consistent-hash#readme - -[options] -packages = find: -package_dir = - = src -python_requires = >=3.6 -zip_safe = false - -[options.packages.find] -where = src - -[options.package_data] -jump = - py.typed - __init__.pyi - -[flake8] -show_source = true From c824d28f09689cc26dccf8b386c08557c1a0bd3e Mon Sep 17 00:00:00 2001 From: Peter Lithammer Date: Tue, 25 Oct 2022 15:53:45 +0200 Subject: [PATCH 39/78] ci: skip publish to test.pypi.org --- .github/workflows/python.yml | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/.github/workflows/python.yml b/.github/workflows/python.yml index 2bc9064..fd4eaa4 100644 --- a/.github/workflows/python.yml +++ b/.github/workflows/python.yml @@ -71,12 +71,12 @@ jobs: name: python_packages path: dist - - name: Publish packages to TestPyPI - uses: pypa/gh-action-pypi-publish@release/v1 - with: - user: __token__ - password: ${{ secrets.TEST_PYPI_TOKEN }} - repository_url: https://test.pypi.org/legacy/ + # - name: Publish packages to TestPyPI + # uses: pypa/gh-action-pypi-publish@release/v1 + # with: + # user: __token__ + # password: ${{ secrets.TEST_PYPI_TOKEN }} + # repository_url: https://test.pypi.org/legacy/ - name: Publish packages to PyPI uses: pypa/gh-action-pypi-publish@release/v1 From a2d02f54884c1ce91afff043cb4e8c8b0251b297 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 1 Nov 2022 01:28:20 +0000 Subject: [PATCH 40/78] build(deps): bump pypa/cibuildwheel from 2.11.1 to 2.11.2 Bumps [pypa/cibuildwheel](https://github.com/pypa/cibuildwheel) from 2.11.1 to 2.11.2. - [Release notes](https://github.com/pypa/cibuildwheel/releases) - [Changelog](https://github.com/pypa/cibuildwheel/blob/main/docs/changelog.md) - [Commits](https://github.com/pypa/cibuildwheel/compare/v2.11.1...v2.11.2) --- updated-dependencies: - dependency-name: pypa/cibuildwheel dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- .github/workflows/python.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/python.yml b/.github/workflows/python.yml index fd4eaa4..102d0c4 100644 --- a/.github/workflows/python.yml +++ b/.github/workflows/python.yml @@ -31,7 +31,7 @@ jobs: platforms: all - name: Build wheels - uses: pypa/cibuildwheel@v2.11.1 + uses: pypa/cibuildwheel@v2.11.2 env: # While arm64 wheels can be built on x86_64, they cannot be tested. # The ability to test the arm64 wheels will be added in a future From 263b248f058aa85f18b4d933dc7f262d592152dc Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Sun, 1 Jan 2023 01:00:34 +0000 Subject: [PATCH 41/78] build(deps): bump pypa/cibuildwheel from 2.11.2 to 2.11.4 Bumps [pypa/cibuildwheel](https://github.com/pypa/cibuildwheel) from 2.11.2 to 2.11.4. - [Release notes](https://github.com/pypa/cibuildwheel/releases) - [Changelog](https://github.com/pypa/cibuildwheel/blob/main/docs/changelog.md) - [Commits](https://github.com/pypa/cibuildwheel/compare/v2.11.2...v2.11.4) --- updated-dependencies: - dependency-name: pypa/cibuildwheel dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- .github/workflows/python.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/python.yml b/.github/workflows/python.yml index 102d0c4..53074f2 100644 --- a/.github/workflows/python.yml +++ b/.github/workflows/python.yml @@ -31,7 +31,7 @@ jobs: platforms: all - name: Build wheels - uses: pypa/cibuildwheel@v2.11.2 + uses: pypa/cibuildwheel@v2.11.4 env: # While arm64 wheels can be built on x86_64, they cannot be tested. # The ability to test the arm64 wheels will be added in a future From c5a20bd044c03ba2194623d20979993f3b39eaba Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Wed, 1 Feb 2023 01:00:28 +0000 Subject: [PATCH 42/78] build(deps): bump pypa/cibuildwheel from 2.11.4 to 2.12.0 Bumps [pypa/cibuildwheel](https://github.com/pypa/cibuildwheel) from 2.11.4 to 2.12.0. - [Release notes](https://github.com/pypa/cibuildwheel/releases) - [Changelog](https://github.com/pypa/cibuildwheel/blob/main/docs/changelog.md) - [Commits](https://github.com/pypa/cibuildwheel/compare/v2.11.4...v2.12.0) --- updated-dependencies: - dependency-name: pypa/cibuildwheel dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] --- .github/workflows/python.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/python.yml b/.github/workflows/python.yml index 53074f2..c6820fa 100644 --- a/.github/workflows/python.yml +++ b/.github/workflows/python.yml @@ -31,7 +31,7 @@ jobs: platforms: all - name: Build wheels - uses: pypa/cibuildwheel@v2.11.4 + uses: pypa/cibuildwheel@v2.12.0 env: # While arm64 wheels can be built on x86_64, they cannot be tested. # The ability to test the arm64 wheels will be added in a future From 17b5b10be47220b14d5742cfc0706bd726cabfe3 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Sat, 1 Apr 2023 01:56:29 +0000 Subject: [PATCH 43/78] build(deps): bump pypa/cibuildwheel from 2.12.0 to 2.12.1 Bumps [pypa/cibuildwheel](https://github.com/pypa/cibuildwheel) from 2.12.0 to 2.12.1. - [Release notes](https://github.com/pypa/cibuildwheel/releases) - [Changelog](https://github.com/pypa/cibuildwheel/blob/main/docs/changelog.md) - [Commits](https://github.com/pypa/cibuildwheel/compare/v2.12.0...v2.12.1) --- updated-dependencies: - dependency-name: pypa/cibuildwheel dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- .github/workflows/python.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/python.yml b/.github/workflows/python.yml index c6820fa..5dc87af 100644 --- a/.github/workflows/python.yml +++ b/.github/workflows/python.yml @@ -31,7 +31,7 @@ jobs: platforms: all - name: Build wheels - uses: pypa/cibuildwheel@v2.12.0 + uses: pypa/cibuildwheel@v2.12.1 env: # While arm64 wheels can be built on x86_64, they cannot be tested. # The ability to test the arm64 wheels will be added in a future From f8340b24c636f1bd97699a72ccc69d9894ea3b63 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 1 May 2023 01:56:37 +0000 Subject: [PATCH 44/78] build(deps): bump pypa/cibuildwheel from 2.12.1 to 2.12.3 Bumps [pypa/cibuildwheel](https://github.com/pypa/cibuildwheel) from 2.12.1 to 2.12.3. - [Release notes](https://github.com/pypa/cibuildwheel/releases) - [Changelog](https://github.com/pypa/cibuildwheel/blob/main/docs/changelog.md) - [Commits](https://github.com/pypa/cibuildwheel/compare/v2.12.1...v2.12.3) --- updated-dependencies: - dependency-name: pypa/cibuildwheel dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- .github/workflows/python.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/python.yml b/.github/workflows/python.yml index 5dc87af..7c0d621 100644 --- a/.github/workflows/python.yml +++ b/.github/workflows/python.yml @@ -31,7 +31,7 @@ jobs: platforms: all - name: Build wheels - uses: pypa/cibuildwheel@v2.12.1 + uses: pypa/cibuildwheel@v2.12.3 env: # While arm64 wheels can be built on x86_64, they cannot be tested. # The ability to test the arm64 wheels will be added in a future From 02a1b3414859c15633c95850156ae4c3938b591c Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Thu, 1 Jun 2023 01:56:37 +0000 Subject: [PATCH 45/78] build(deps): bump pypa/cibuildwheel from 2.12.3 to 2.13.0 Bumps [pypa/cibuildwheel](https://github.com/pypa/cibuildwheel) from 2.12.3 to 2.13.0. - [Release notes](https://github.com/pypa/cibuildwheel/releases) - [Changelog](https://github.com/pypa/cibuildwheel/blob/main/docs/changelog.md) - [Commits](https://github.com/pypa/cibuildwheel/compare/v2.12.3...v2.13.0) --- updated-dependencies: - dependency-name: pypa/cibuildwheel dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] --- .github/workflows/python.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/python.yml b/.github/workflows/python.yml index 7c0d621..944d83e 100644 --- a/.github/workflows/python.yml +++ b/.github/workflows/python.yml @@ -31,7 +31,7 @@ jobs: platforms: all - name: Build wheels - uses: pypa/cibuildwheel@v2.12.3 + uses: pypa/cibuildwheel@v2.13.0 env: # While arm64 wheels can be built on x86_64, they cannot be tested. # The ability to test the arm64 wheels will be added in a future From 0771c8352a2ab04208509fb35626e4a9fd3a0755 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Sat, 1 Jul 2023 01:22:35 +0000 Subject: [PATCH 46/78] build(deps): bump pypa/cibuildwheel from 2.13.0 to 2.13.1 Bumps [pypa/cibuildwheel](https://github.com/pypa/cibuildwheel) from 2.13.0 to 2.13.1. - [Release notes](https://github.com/pypa/cibuildwheel/releases) - [Changelog](https://github.com/pypa/cibuildwheel/blob/main/docs/changelog.md) - [Commits](https://github.com/pypa/cibuildwheel/compare/v2.13.0...v2.13.1) --- updated-dependencies: - dependency-name: pypa/cibuildwheel dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- .github/workflows/python.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/python.yml b/.github/workflows/python.yml index 944d83e..0b5b9d8 100644 --- a/.github/workflows/python.yml +++ b/.github/workflows/python.yml @@ -31,7 +31,7 @@ jobs: platforms: all - name: Build wheels - uses: pypa/cibuildwheel@v2.13.0 + uses: pypa/cibuildwheel@v2.13.1 env: # While arm64 wheels can be built on x86_64, they cannot be tested. # The ability to test the arm64 wheels will be added in a future From 3be80499b47b23c7c84733def60aea7b3e96748b Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 1 Aug 2023 01:18:21 +0000 Subject: [PATCH 47/78] build(deps): bump pypa/cibuildwheel from 2.13.1 to 2.14.1 Bumps [pypa/cibuildwheel](https://github.com/pypa/cibuildwheel) from 2.13.1 to 2.14.1. - [Release notes](https://github.com/pypa/cibuildwheel/releases) - [Changelog](https://github.com/pypa/cibuildwheel/blob/main/docs/changelog.md) - [Commits](https://github.com/pypa/cibuildwheel/compare/v2.13.1...v2.14.1) --- updated-dependencies: - dependency-name: pypa/cibuildwheel dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] --- .github/workflows/python.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/python.yml b/.github/workflows/python.yml index 0b5b9d8..d517942 100644 --- a/.github/workflows/python.yml +++ b/.github/workflows/python.yml @@ -31,7 +31,7 @@ jobs: platforms: all - name: Build wheels - uses: pypa/cibuildwheel@v2.13.1 + uses: pypa/cibuildwheel@v2.14.1 env: # While arm64 wheels can be built on x86_64, they cannot be tested. # The ability to test the arm64 wheels will be added in a future From 62158172f82fc92f130f88709016809a15ab22ba Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Fri, 1 Sep 2023 01:04:26 +0000 Subject: [PATCH 48/78] build(deps): bump pypa/cibuildwheel from 2.14.1 to 2.15.0 Bumps [pypa/cibuildwheel](https://github.com/pypa/cibuildwheel) from 2.14.1 to 2.15.0. - [Release notes](https://github.com/pypa/cibuildwheel/releases) - [Changelog](https://github.com/pypa/cibuildwheel/blob/main/docs/changelog.md) - [Commits](https://github.com/pypa/cibuildwheel/compare/v2.14.1...v2.15.0) --- updated-dependencies: - dependency-name: pypa/cibuildwheel dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] --- .github/workflows/python.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/python.yml b/.github/workflows/python.yml index d517942..a4f1e80 100644 --- a/.github/workflows/python.yml +++ b/.github/workflows/python.yml @@ -31,7 +31,7 @@ jobs: platforms: all - name: Build wheels - uses: pypa/cibuildwheel@v2.14.1 + uses: pypa/cibuildwheel@v2.15.0 env: # While arm64 wheels can be built on x86_64, they cannot be tested. # The ability to test the arm64 wheels will be added in a future From e53c110e5f7a27d34cccca33a4bd2388d2f87ce1 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Sun, 1 Oct 2023 01:20:19 +0000 Subject: [PATCH 49/78] build(deps): bump docker/setup-qemu-action from 2 to 3 Bumps [docker/setup-qemu-action](https://github.com/docker/setup-qemu-action) from 2 to 3. - [Release notes](https://github.com/docker/setup-qemu-action/releases) - [Commits](https://github.com/docker/setup-qemu-action/compare/v2...v3) --- updated-dependencies: - dependency-name: docker/setup-qemu-action dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] --- .github/workflows/python.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/python.yml b/.github/workflows/python.yml index a4f1e80..cdadddd 100644 --- a/.github/workflows/python.yml +++ b/.github/workflows/python.yml @@ -26,7 +26,7 @@ jobs: # https://cibuildwheel.readthedocs.io/en/stable/faq/#emulation - name: Setup QEMU if: runner.os == 'Linux' - uses: docker/setup-qemu-action@v2 + uses: docker/setup-qemu-action@v3 with: platforms: all From dbece3a88d4b059c2176c424cb2fbc708c2bc757 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Sun, 1 Oct 2023 01:20:23 +0000 Subject: [PATCH 50/78] build(deps): bump pypa/cibuildwheel from 2.15.0 to 2.16.1 Bumps [pypa/cibuildwheel](https://github.com/pypa/cibuildwheel) from 2.15.0 to 2.16.1. - [Release notes](https://github.com/pypa/cibuildwheel/releases) - [Changelog](https://github.com/pypa/cibuildwheel/blob/main/docs/changelog.md) - [Commits](https://github.com/pypa/cibuildwheel/compare/v2.15.0...v2.16.1) --- updated-dependencies: - dependency-name: pypa/cibuildwheel dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] --- .github/workflows/python.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/python.yml b/.github/workflows/python.yml index a4f1e80..2fb6114 100644 --- a/.github/workflows/python.yml +++ b/.github/workflows/python.yml @@ -31,7 +31,7 @@ jobs: platforms: all - name: Build wheels - uses: pypa/cibuildwheel@v2.15.0 + uses: pypa/cibuildwheel@v2.16.1 env: # While arm64 wheels can be built on x86_64, they cannot be tested. # The ability to test the arm64 wheels will be added in a future From fccdce6e47ade9dbe1d2c0200ec0b5cc957475db Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Sun, 1 Oct 2023 01:20:27 +0000 Subject: [PATCH 51/78] build(deps): bump actions/checkout from 3 to 4 Bumps [actions/checkout](https://github.com/actions/checkout) from 3 to 4. - [Release notes](https://github.com/actions/checkout/releases) - [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md) - [Commits](https://github.com/actions/checkout/compare/v3...v4) --- updated-dependencies: - dependency-name: actions/checkout dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] --- .github/workflows/python.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/python.yml b/.github/workflows/python.yml index a4f1e80..e9281c4 100644 --- a/.github/workflows/python.yml +++ b/.github/workflows/python.yml @@ -20,7 +20,7 @@ jobs: os: [ubuntu-20.04, windows-2019, macos-11] steps: - - uses: actions/checkout@v3 + - uses: actions/checkout@v4 # Needed to build non-native architectures. # https://cibuildwheel.readthedocs.io/en/stable/faq/#emulation @@ -48,7 +48,7 @@ jobs: name: Build source distribution runs-on: ubuntu-latest steps: - - uses: actions/checkout@v3 + - uses: actions/checkout@v4 - name: Build sdist run: pipx run build --sdist From d70f06b862ba8635a88373ceaae1f643fe1104f9 Mon Sep 17 00:00:00 2001 From: Peter Lithammer Date: Mon, 2 Oct 2023 23:26:03 +0200 Subject: [PATCH 52/78] chore: add support for Python 3.12 --- .github/workflows/python.yml | 2 +- Makefile | 5 ++--- pyproject.toml | 28 +++++++++++++++------------- requirements.txt | 10 +++++----- 4 files changed, 23 insertions(+), 22 deletions(-) diff --git a/.github/workflows/python.yml b/.github/workflows/python.yml index c740cc2..c80313c 100644 --- a/.github/workflows/python.yml +++ b/.github/workflows/python.yml @@ -17,7 +17,7 @@ jobs: runs-on: ${{ matrix.os }} strategy: matrix: - os: [ubuntu-20.04, windows-2019, macos-11] + os: [ubuntu-22.04, windows-2019, macos-12] steps: - uses: actions/checkout@v4 diff --git a/Makefile b/Makefile index e69af22..64c2eb7 100644 --- a/Makefile +++ b/Makefile @@ -10,6 +10,7 @@ compile_commands.json: .PHONY: build build: $(VIRTUALENV)/freeze.txt +$(VIRTUALENV): $(VIRTUALENV)/freeze.txt $(VIRTUALENV)/freeze.txt: requirements.txt $(PYTHON) -m venv $(@D) $(BINDIR)/pip install -U pip setuptools wheel @@ -22,9 +23,7 @@ test: $(VIRTUALENV) .PHONY: lint lint: $(VIRTUALENV) - $(BINDIR)/black --check src - $(BINDIR)/flake8 src - $(BINDIR)/mypy src + $(BINDIR)/tox -e black,mypy,ruff .PHONY: clean clean: diff --git a/pyproject.toml b/pyproject.toml index d7bfaa6..8010523 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -21,6 +21,7 @@ classifiers = [ "Programming Language :: Python :: 3.9", "Programming Language :: Python :: 3.10", "Programming Language :: Python :: 3.11", + "Programming Language :: Python :: 3.12", ] keywords = ["jump", "consistent", "hash", "jumphash", "algorithm"] @@ -50,7 +51,7 @@ archs = ["auto", "aarch64"] [tool.black] line-length = 79 -target-version = ["py36"] +target-version = ["py38"] [tool.mypy] check_untyped_defs = true @@ -60,25 +61,26 @@ pretty = true show_column_numbers = true warn_unused_configs = true +[tool.ruff] +select = ["E", "F", "I"] +ignore = ["E501"] + +[tool.ruff.isort] +force-sort-within-sections = true +order-by-type = true + [tool.tox] legacy_tox_ini = """ [tox] -envlist = py{38,39,310,311},black,flake8,mypy - -[gh-actions] -python = - 3.8: py38 - 3.9: py39 - 3.10: py310 - 3.11: py311, black, flake8, mypy +envlist = py{38,39,310,311,312},black,mypy,ruff [testenv:black] deps = black commands = black --check src tests setup.py -[testenv:flake8] -deps = flake8 -commands = flake8 src tests setup.py +[testenv:ruff] +deps = ruff +commands = ruff src tests setup.py [testenv:mypy] deps = mypy @@ -87,7 +89,7 @@ commands = mypy src [testenv] setenv = PIP_CONSTRAINT = requirements.txt -passenv = PYTEST_ADDOPTS CFLAGS +passenv = PYTEST_ADDOPTS,CFLAGS deps = pytest commands = pytest {posargs} """ diff --git a/requirements.txt b/requirements.txt index c89cbf5..4037221 100644 --- a/requirements.txt +++ b/requirements.txt @@ -1,5 +1,5 @@ -black==22.10.0 -flake8==5.0.4 -mypy==0.982 -pytest==7.2.0 -tox==3.26.0 +black==23.9.1 +ruff==0.0.292 +mypy==1.5.1 +pytest==7.4.2 +tox==4.11.3 From f39abeca7bf67fa158c764194d87d6629377e2d2 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Wed, 1 Nov 2023 01:44:39 +0000 Subject: [PATCH 53/78] build(deps): bump pypa/cibuildwheel from 2.16.1 to 2.16.2 Bumps [pypa/cibuildwheel](https://github.com/pypa/cibuildwheel) from 2.16.1 to 2.16.2. - [Release notes](https://github.com/pypa/cibuildwheel/releases) - [Changelog](https://github.com/pypa/cibuildwheel/blob/main/docs/changelog.md) - [Commits](https://github.com/pypa/cibuildwheel/compare/v2.16.1...v2.16.2) --- updated-dependencies: - dependency-name: pypa/cibuildwheel dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- .github/workflows/python.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/python.yml b/.github/workflows/python.yml index c80313c..c2bfd60 100644 --- a/.github/workflows/python.yml +++ b/.github/workflows/python.yml @@ -31,7 +31,7 @@ jobs: platforms: all - name: Build wheels - uses: pypa/cibuildwheel@v2.16.1 + uses: pypa/cibuildwheel@v2.16.2 env: # While arm64 wheels can be built on x86_64, they cannot be tested. # The ability to test the arm64 wheels will be added in a future From 8e619f7a89cacfb6c7309261120135419f73201b Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 1 Jan 2024 01:21:00 +0000 Subject: [PATCH 54/78] build(deps): bump actions/download-artifact from 3 to 4 Bumps [actions/download-artifact](https://github.com/actions/download-artifact) from 3 to 4. - [Release notes](https://github.com/actions/download-artifact/releases) - [Commits](https://github.com/actions/download-artifact/compare/v3...v4) --- updated-dependencies: - dependency-name: actions/download-artifact dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] --- .github/workflows/python.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/python.yml b/.github/workflows/python.yml index c2bfd60..2bb1f40 100644 --- a/.github/workflows/python.yml +++ b/.github/workflows/python.yml @@ -66,7 +66,7 @@ jobs: # if: github.event_name == 'push' && startsWith(github.event.ref, 'refs/tags/v') if: github.event_name == 'release' && github.event.action == 'published' steps: - - uses: actions/download-artifact@v3 + - uses: actions/download-artifact@v4 with: name: python_packages path: dist From 972b4a6977f9e0c479dd60bc22e0f088ef63c026 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 1 Jan 2024 01:21:03 +0000 Subject: [PATCH 55/78] build(deps): bump actions/upload-artifact from 3 to 4 Bumps [actions/upload-artifact](https://github.com/actions/upload-artifact) from 3 to 4. - [Release notes](https://github.com/actions/upload-artifact/releases) - [Commits](https://github.com/actions/upload-artifact/compare/v3...v4) --- updated-dependencies: - dependency-name: actions/upload-artifact dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] --- .github/workflows/python.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/python.yml b/.github/workflows/python.yml index c2bfd60..91954a2 100644 --- a/.github/workflows/python.yml +++ b/.github/workflows/python.yml @@ -39,7 +39,7 @@ jobs: # available. CIBW_TEST_SKIP: "*-macosx_arm64 *-macosx_universal2:arm64" - - uses: actions/upload-artifact@v3 + - uses: actions/upload-artifact@v4 with: name: python_packages path: ./wheelhouse/*.whl @@ -53,7 +53,7 @@ jobs: - name: Build sdist run: pipx run build --sdist - - uses: actions/upload-artifact@v3 + - uses: actions/upload-artifact@v4 with: name: python_packages path: dist/*.tar.gz From 47f8f1fbd3468446d7990f118ee8cd7ed963495b Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Thu, 1 Feb 2024 01:54:43 +0000 Subject: [PATCH 56/78] build(deps): bump pypa/cibuildwheel from 2.16.2 to 2.16.5 Bumps [pypa/cibuildwheel](https://github.com/pypa/cibuildwheel) from 2.16.2 to 2.16.5. - [Release notes](https://github.com/pypa/cibuildwheel/releases) - [Changelog](https://github.com/pypa/cibuildwheel/blob/main/docs/changelog.md) - [Commits](https://github.com/pypa/cibuildwheel/compare/v2.16.2...v2.16.5) --- updated-dependencies: - dependency-name: pypa/cibuildwheel dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- .github/workflows/python.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/python.yml b/.github/workflows/python.yml index 2bb1f40..34495bd 100644 --- a/.github/workflows/python.yml +++ b/.github/workflows/python.yml @@ -31,7 +31,7 @@ jobs: platforms: all - name: Build wheels - uses: pypa/cibuildwheel@v2.16.2 + uses: pypa/cibuildwheel@v2.16.5 env: # While arm64 wheels can be built on x86_64, they cannot be tested. # The ability to test the arm64 wheels will be added in a future From 1122c898872426232bbfde5ac8ffe6822e1e789a Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Wed, 20 Mar 2024 18:05:26 +0000 Subject: [PATCH 57/78] build(deps): bump black from 23.9.1 to 24.3.0 Bumps [black](https://github.com/psf/black) from 23.9.1 to 24.3.0. - [Release notes](https://github.com/psf/black/releases) - [Changelog](https://github.com/psf/black/blob/main/CHANGES.md) - [Commits](https://github.com/psf/black/compare/23.9.1...24.3.0) --- updated-dependencies: - dependency-name: black dependency-type: direct:production ... Signed-off-by: dependabot[bot] --- requirements.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/requirements.txt b/requirements.txt index 4037221..0253c89 100644 --- a/requirements.txt +++ b/requirements.txt @@ -1,4 +1,4 @@ -black==23.9.1 +black==24.3.0 ruff==0.0.292 mypy==1.5.1 pytest==7.4.2 From d408c9b159faf5482f0c7eb2d8e0eec83ffce6f0 Mon Sep 17 00:00:00 2001 From: Peter Lithammer Date: Thu, 21 Mar 2024 22:13:02 +0100 Subject: [PATCH 58/78] Use Astral tooling (ruff, rye, uv) --- .clang-format | 30 ++++++++++++++++++- .gitignore | 7 +++-- Makefile | 27 +++++++---------- pyproject.toml | 68 +++++++++++++++++-------------------------- requirements-dev.lock | 29 ++++++++++++++++++ requirements.lock | 10 +++++++ requirements.txt | 5 ---- 7 files changed, 110 insertions(+), 66 deletions(-) create mode 100644 requirements-dev.lock create mode 100644 requirements.lock delete mode 100644 requirements.txt diff --git a/.clang-format b/.clang-format index 1f683f2..3ebac7c 100644 --- a/.clang-format +++ b/.clang-format @@ -1,8 +1,19 @@ +# SPDX-License-Identifier: GPL-2.0 +# +# clang-format configuration file. Intended for clang-format >= 11. +# +# For more information, see: +# +# Documentation/process/clang-format.rst +# https://clang.llvm.org/docs/ClangFormat.html +# https://clang.llvm.org/docs/ClangFormatStyleOptions.html +# --- AccessModifierOffset: -4 AlignAfterOpenBracket: Align AlignConsecutiveAssignments: false AlignConsecutiveDeclarations: false +AlignEscapedNewlines: Left AlignOperands: true AlignTrailingComments: false AllowAllParametersOfDeclarationOnNextLine: false @@ -26,17 +37,24 @@ BraceWrapping: AfterObjCDeclaration: false AfterStruct: false AfterUnion: false + AfterExternBlock: false BeforeCatch: false BeforeElse: false IndentBraces: false + SplitEmptyFunction: true + SplitEmptyRecord: true + SplitEmptyNamespace: true BreakBeforeBinaryOperators: None BreakBeforeBraces: Custom +BreakBeforeInheritanceComma: false BreakBeforeTernaryOperators: false BreakConstructorInitializersBeforeComma: false +BreakConstructorInitializers: BeforeComma BreakAfterJavaFieldAnnotations: false BreakStringLiterals: false ColumnLimit: 80 CommentPragmas: '^ IWYU pragma:' +CompactNamespaces: false ConstructorInitializerAllOnOneLineOrOnePerLine: false ConstructorInitializerIndentWidth: 8 ContinuationIndentWidth: 8 @@ -44,12 +62,16 @@ Cpp11BracedListStyle: false DerivePointerAlignment: false DisableFormat: false ExperimentalAutoDetectBinPacking: false +FixNamespaceComments: false +IncludeBlocks: Preserve IncludeCategories: - Regex: '.*' Priority: 1 IncludeIsMainRegex: '(Test)?$' IndentCaseLabels: false +IndentGotoLabels: false +IndentPPDirectives: None IndentWidth: 8 IndentWrappedFunctionNames: false JavaScriptQuotes: Leave @@ -59,11 +81,13 @@ MacroBlockBegin: '' MacroBlockEnd: '' MaxEmptyLinesToKeep: 1 NamespaceIndentation: None +ObjCBinPackProtocolList: Auto ObjCBlockIndentWidth: 8 ObjCSpaceAfterProperty: true ObjCSpaceBeforeProtocolList: true # Taken from git's rules +PenaltyBreakAssignment: 10 PenaltyBreakBeforeFirstCallParameter: 30 PenaltyBreakComment: 10 PenaltyBreakFirstLessLess: 0 @@ -74,10 +98,14 @@ PenaltyReturnTypeOnItsOwnLine: 60 PointerAlignment: Right ReflowComments: false SortIncludes: false +SortUsingDeclarations: false SpaceAfterCStyleCast: false SpaceAfterTemplateKeyword: true SpaceBeforeAssignmentOperators: true -SpaceBeforeParens: ControlStatements +SpaceBeforeCtorInitializerColon: true +SpaceBeforeInheritanceColon: true +SpaceBeforeParens: ControlStatementsExceptForEachMacros +SpaceBeforeRangeBasedForLoopColon: true SpaceInEmptyParentheses: false SpacesBeforeTrailingComments: 1 SpacesInAngles: false diff --git a/.gitignore b/.gitignore index 9433385..050d3ed 100644 --- a/.gitignore +++ b/.gitignore @@ -1,11 +1,14 @@ +compile_commands.json *.py[co] *.so *.egg-info/ +.cache/ .mypy_cache/ .pytest_cache/ -.tox/ +.ruff_cache/ +.venv/ + __pycache__/ build/ dist/ -venv/ diff --git a/Makefile b/Makefile index 64c2eb7..f9474ce 100644 --- a/Makefile +++ b/Makefile @@ -1,29 +1,24 @@ -BINDIR = $(VIRTUALENV)/bin -PYTHON ?= python3 VIRTUALENV = .venv all: build -compile_commands.json: - bear -- $(PYTHON) setup.py build_ext -qf +compile_commands.json: build + bear -- rye run python setup.py build_ext -qf -.PHONY: build -build: $(VIRTUALENV)/freeze.txt +build: $(VIRTUALENV)/requirements.lock -$(VIRTUALENV): $(VIRTUALENV)/freeze.txt -$(VIRTUALENV)/freeze.txt: requirements.txt - $(PYTHON) -m venv $(@D) - $(BINDIR)/pip install -U pip setuptools wheel - $(BINDIR)/pip install -r $< -e $(CURDIR) - $(BINDIR)/pip freeze -r $< > $@ +$(VIRTUALENV)/requirements.lock: requirements.lock requirements-dev.lock pyproject.toml + rye sync + @cp $< $@ .PHONY: test -test: $(VIRTUALENV) - $(BINDIR)/tox +test: build + rye test -v .PHONY: lint -lint: $(VIRTUALENV) - $(BINDIR)/tox -e black,mypy,ruff +lint: build + rye run lint + clang-format --dry-run --Werror --style=file src/jump/*.c .PHONY: clean clean: diff --git a/pyproject.toml b/pyproject.toml index 8010523..89c56e6 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -6,22 +6,22 @@ build-backend = "setuptools.build_meta" name = "jump-consistent-hash" description = "Implementation of the Jump Consistent Hash algorithm" readme = "README.rst" -license = {text = "MIT"} +license = { text = "MIT" } requires-python = ">=3.8" classifiers = [ - "Development Status :: 5 - Production/Stable", - "Intended Audience :: Developers", - "License :: OSI Approved :: MIT License", - "Operating System :: MacOS :: MacOS X", - "Operating System :: Microsoft :: Windows", - "Operating System :: POSIX", - "Programming Language :: Python :: 3", - "Programming Language :: Python :: 3.8", - "Programming Language :: Python :: 3.9", - "Programming Language :: Python :: 3.10", - "Programming Language :: Python :: 3.11", - "Programming Language :: Python :: 3.12", + "Development Status :: 5 - Production/Stable", + "Intended Audience :: Developers", + "License :: OSI Approved :: MIT License", + "Operating System :: MacOS :: MacOS X", + "Operating System :: Microsoft :: Windows", + "Operating System :: POSIX", + "Programming Language :: Python :: 3", + "Programming Language :: Python :: 3.8", + "Programming Language :: Python :: 3.9", + "Programming Language :: Python :: 3.10", + "Programming Language :: Python :: 3.11", + "Programming Language :: Python :: 3.12", ] keywords = ["jump", "consistent", "hash", "jumphash", "algorithm"] @@ -49,9 +49,15 @@ archs = ["x86_64", "universal2", "arm64"] [tool.cibuildwheel.linux] archs = ["auto", "aarch64"] -[tool.black] -line-length = 79 -target-version = ["py38"] +[tool.rye] +managed = true +dev-dependencies = ["mypy", "ruff", "pytest", "setuptools"] + +[tool.rye.scripts] +lint = { chain = ["lint:ruff-check", "lint:mypy", "lint:ruff-format"] } +"lint:ruff-check" = "ruff check --diff ." +"lint:ruff-format" = "ruff format --check --diff ." +"lint:mypy" = "mypy ." [tool.mypy] check_untyped_defs = true @@ -62,34 +68,12 @@ show_column_numbers = true warn_unused_configs = true [tool.ruff] +line-length = 79 + +[tool.ruff.lint] select = ["E", "F", "I"] ignore = ["E501"] -[tool.ruff.isort] +[tool.ruff.lint.isort] force-sort-within-sections = true order-by-type = true - -[tool.tox] -legacy_tox_ini = """ -[tox] -envlist = py{38,39,310,311,312},black,mypy,ruff - -[testenv:black] -deps = black -commands = black --check src tests setup.py - -[testenv:ruff] -deps = ruff -commands = ruff src tests setup.py - -[testenv:mypy] -deps = mypy -commands = mypy src - -[testenv] -setenv = - PIP_CONSTRAINT = requirements.txt -passenv = PYTEST_ADDOPTS,CFLAGS -deps = pytest -commands = pytest {posargs} -""" diff --git a/requirements-dev.lock b/requirements-dev.lock new file mode 100644 index 0000000..f83f645 --- /dev/null +++ b/requirements-dev.lock @@ -0,0 +1,29 @@ +# generated by rye +# use `rye lock` or `rye sync` to update this lockfile +# +# last locked with the following flags: +# pre: false +# features: [] +# all-features: false +# with-sources: false + +-e file:. +exceptiongroup==1.2.0 + # via pytest +iniconfig==2.0.0 + # via pytest +mypy==1.9.0 +mypy-extensions==1.0.0 + # via mypy +packaging==24.0 + # via pytest +pluggy==1.4.0 + # via pytest +pytest==8.1.1 +ruff==0.3.3 +setuptools==69.2.0 +tomli==2.0.1 + # via mypy + # via pytest +typing-extensions==4.10.0 + # via mypy diff --git a/requirements.lock b/requirements.lock new file mode 100644 index 0000000..8f23096 --- /dev/null +++ b/requirements.lock @@ -0,0 +1,10 @@ +# generated by rye +# use `rye lock` or `rye sync` to update this lockfile +# +# last locked with the following flags: +# pre: false +# features: [] +# all-features: false +# with-sources: false + +-e file:. diff --git a/requirements.txt b/requirements.txt deleted file mode 100644 index 0253c89..0000000 --- a/requirements.txt +++ /dev/null @@ -1,5 +0,0 @@ -black==24.3.0 -ruff==0.0.292 -mypy==1.5.1 -pytest==7.4.2 -tox==4.11.3 From 854a639361202486b74dfd9ac6e82fee040c32d4 Mon Sep 17 00:00:00 2001 From: Peter Lithammer Date: Fri, 22 Mar 2024 08:57:28 +0100 Subject: [PATCH 59/78] Migrate artifact tasks to v4 https://github.com/actions/upload-artifact/blob/main/docs/MIGRATION.md --- .github/workflows/python.yml | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/.github/workflows/python.yml b/.github/workflows/python.yml index 91954a2..322c51c 100644 --- a/.github/workflows/python.yml +++ b/.github/workflows/python.yml @@ -41,7 +41,7 @@ jobs: - uses: actions/upload-artifact@v4 with: - name: python_packages + name: python-packages-${{ matrix.runs-on }} path: ./wheelhouse/*.whl build_sdist: @@ -55,7 +55,7 @@ jobs: - uses: actions/upload-artifact@v4 with: - name: python_packages + name: python-packages-${{ matrix.runs-on }} path: dist/*.tar.gz publish: @@ -68,8 +68,9 @@ jobs: steps: - uses: actions/download-artifact@v3 with: - name: python_packages + pattern: python-packages-* path: dist + merge-multiple: true # - name: Publish packages to TestPyPI # uses: pypa/gh-action-pypi-publish@release/v1 From 557a79f8d61159609a2585ca0437caa0e1592a8e Mon Sep 17 00:00:00 2001 From: Peter Lithammer Date: Fri, 22 Mar 2024 09:24:08 +0100 Subject: [PATCH 60/78] Fix duplicate artifact error --- .github/workflows/python.yml | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/.github/workflows/python.yml b/.github/workflows/python.yml index 322c51c..12c0792 100644 --- a/.github/workflows/python.yml +++ b/.github/workflows/python.yml @@ -13,11 +13,11 @@ on: jobs: build_wheels: - name: Build wheels on ${{ matrix.os }} - runs-on: ${{ matrix.os }} + name: Build wheels on ${{ matrix.runs-on }} + runs-on: ${{ matrix.runs-on }} strategy: matrix: - os: [ubuntu-22.04, windows-2019, macos-12] + runs-on: [ubuntu-22.04, windows-2019, macos-12] steps: - uses: actions/checkout@v4 @@ -55,7 +55,7 @@ jobs: - uses: actions/upload-artifact@v4 with: - name: python-packages-${{ matrix.runs-on }} + name: python-packages-sdist path: dist/*.tar.gz publish: @@ -66,7 +66,7 @@ jobs: # if: github.event_name == 'push' && startsWith(github.event.ref, 'refs/tags/v') if: github.event_name == 'release' && github.event.action == 'published' steps: - - uses: actions/download-artifact@v3 + - uses: actions/download-artifact@v4 with: pattern: python-packages-* path: dist From 9fc2df7d4459169e8395908b097ee027be9ea238 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 1 Apr 2024 01:48:49 +0000 Subject: [PATCH 61/78] build(deps): bump pypa/cibuildwheel from 2.16.5 to 2.17.0 Bumps [pypa/cibuildwheel](https://github.com/pypa/cibuildwheel) from 2.16.5 to 2.17.0. - [Release notes](https://github.com/pypa/cibuildwheel/releases) - [Changelog](https://github.com/pypa/cibuildwheel/blob/main/docs/changelog.md) - [Commits](https://github.com/pypa/cibuildwheel/compare/v2.16.5...v2.17.0) --- updated-dependencies: - dependency-name: pypa/cibuildwheel dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] --- .github/workflows/python.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/python.yml b/.github/workflows/python.yml index 550980d..57b74c1 100644 --- a/.github/workflows/python.yml +++ b/.github/workflows/python.yml @@ -31,7 +31,7 @@ jobs: platforms: all - name: Build wheels - uses: pypa/cibuildwheel@v2.16.5 + uses: pypa/cibuildwheel@v2.17.0 env: # While arm64 wheels can be built on x86_64, they cannot be tested. # The ability to test the arm64 wheels will be added in a future From 702562f25bef33f7cc437ba5f54b740531f9cb1b Mon Sep 17 00:00:00 2001 From: Peter Lithammer Date: Mon, 1 Apr 2024 14:18:24 +0200 Subject: [PATCH 62/78] Comment why setuptools is required for dev --- pyproject.toml | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/pyproject.toml b/pyproject.toml index 89c56e6..7885f07 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -51,7 +51,12 @@ archs = ["auto", "aarch64"] [tool.rye] managed = true -dev-dependencies = ["mypy", "ruff", "pytest", "setuptools"] +dev-dependencies = [ + "mypy", + "ruff", + "pytest", + "setuptools", # Required for `python setup.py build_ext` +] [tool.rye.scripts] lint = { chain = ["lint:ruff-check", "lint:mypy", "lint:ruff-format"] } From b172ea3135a4fd44f0d9147db2edc8c3553662dd Mon Sep 17 00:00:00 2001 From: Peter Lithammer Date: Mon, 1 Apr 2024 14:21:30 +0200 Subject: [PATCH 63/78] Stop building x86 wheels on macOS This also uses the latest changes to the workflow recommend by cibuildwheel and trusted publishing on PyPI. --- .github/workflows/python.yml | 24 +++++++++--------------- pyproject.toml | 3 --- 2 files changed, 9 insertions(+), 18 deletions(-) diff --git a/.github/workflows/python.yml b/.github/workflows/python.yml index 57b74c1..8446f8f 100644 --- a/.github/workflows/python.yml +++ b/.github/workflows/python.yml @@ -17,7 +17,7 @@ jobs: runs-on: ${{ matrix.runs-on }} strategy: matrix: - runs-on: [ubuntu-22.04, windows-2019, macos-12] + runs-on: [ubuntu-latest, windows-latest, macos-14] steps: - uses: actions/checkout@v4 @@ -32,16 +32,10 @@ jobs: - name: Build wheels uses: pypa/cibuildwheel@v2.17.0 - env: - # While arm64 wheels can be built on x86_64, they cannot be tested. - # The ability to test the arm64 wheels will be added in a future - # release of cibuildwheel, once Apple Silicon CI runners are widely - # available. - CIBW_TEST_SKIP: "*-macosx_arm64 *-macosx_universal2:arm64" - uses: actions/upload-artifact@v4 with: - name: python-packages-${{ matrix.runs-on }} + name: cibw-wheels-${{ matrix.runs-on }}-${{ strategy.job-index }} path: ./wheelhouse/*.whl build_sdist: @@ -55,32 +49,32 @@ jobs: - uses: actions/upload-artifact@v4 with: - name: python-packages-sdist + name: cibw-sdist path: dist/*.tar.gz publish: needs: - build_wheels - build_sdist + environment: + name: pypi + url: https://pypi.org/p/jump-consistent-hash + permissions: + id-token: write runs-on: ubuntu-latest # if: github.event_name == 'push' && startsWith(github.event.ref, 'refs/tags/v') if: github.event_name == 'release' && github.event.action == 'published' steps: - uses: actions/download-artifact@v4 with: - pattern: python-packages-* + pattern: cibw-* path: dist merge-multiple: true # - name: Publish packages to TestPyPI # uses: pypa/gh-action-pypi-publish@release/v1 # with: - # user: __token__ - # password: ${{ secrets.TEST_PYPI_TOKEN }} # repository_url: https://test.pypi.org/legacy/ - name: Publish packages to PyPI uses: pypa/gh-action-pypi-publish@release/v1 - with: - user: __token__ - password: ${{ secrets.PYPI_TOKEN }} diff --git a/pyproject.toml b/pyproject.toml index 7885f07..518be66 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -43,9 +43,6 @@ Documentation = "https://github.com/lithammer/python-jump-consistent-hash#readme test-command = "pytest {package}/tests" test-requires = "pytest" -[tool.cibuildwheel.macos] -archs = ["x86_64", "universal2", "arm64"] - [tool.cibuildwheel.linux] archs = ["auto", "aarch64"] From 65dc1cb650ea9d390bcb0746573c855687dbdf0c Mon Sep 17 00:00:00 2001 From: Peter Lithammer Date: Thu, 18 Apr 2024 22:58:31 +0200 Subject: [PATCH 64/78] Update Ruff to 0.4.0 --- requirements-dev.lock | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/requirements-dev.lock b/requirements-dev.lock index f83f645..09f09be 100644 --- a/requirements-dev.lock +++ b/requirements-dev.lock @@ -20,10 +20,10 @@ packaging==24.0 pluggy==1.4.0 # via pytest pytest==8.1.1 -ruff==0.3.3 -setuptools==69.2.0 +ruff==0.4.0 +setuptools==69.5.1 tomli==2.0.1 # via mypy # via pytest -typing-extensions==4.10.0 +typing-extensions==4.11.0 # via mypy From b278b2f08463ddf827e9295f1b8ff1ab29bb2cf4 Mon Sep 17 00:00:00 2001 From: Peter Lithammer Date: Thu, 18 Apr 2024 23:00:57 +0200 Subject: [PATCH 65/78] Add dependabot for "pip" ecosystem --- .github/dependabot.yml | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/.github/dependabot.yml b/.github/dependabot.yml index 8ac6b8c..3b5ca19 100644 --- a/.github/dependabot.yml +++ b/.github/dependabot.yml @@ -4,3 +4,7 @@ updates: directory: "/" schedule: interval: "monthly" + - package-ecosystem: "pip" + directory: "/" + schedule: + interval: "monthly" From 461f5dade2e612ada0e890f5fc23253cdb51729e Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Sat, 1 Jun 2024 01:27:21 +0000 Subject: [PATCH 66/78] build(deps): bump pypa/cibuildwheel from 2.17.0 to 2.18.1 Bumps [pypa/cibuildwheel](https://github.com/pypa/cibuildwheel) from 2.17.0 to 2.18.1. - [Release notes](https://github.com/pypa/cibuildwheel/releases) - [Changelog](https://github.com/pypa/cibuildwheel/blob/main/docs/changelog.md) - [Commits](https://github.com/pypa/cibuildwheel/compare/v2.17.0...v2.18.1) --- updated-dependencies: - dependency-name: pypa/cibuildwheel dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] --- .github/workflows/python.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/python.yml b/.github/workflows/python.yml index 8446f8f..e75a2e2 100644 --- a/.github/workflows/python.yml +++ b/.github/workflows/python.yml @@ -31,7 +31,7 @@ jobs: platforms: all - name: Build wheels - uses: pypa/cibuildwheel@v2.17.0 + uses: pypa/cibuildwheel@v2.18.1 - uses: actions/upload-artifact@v4 with: From 22ca50955ece442c388a3ec267e30f06a8edfe96 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 1 Jul 2024 01:20:16 +0000 Subject: [PATCH 67/78] build(deps): bump pypa/cibuildwheel from 2.18.1 to 2.19.1 Bumps [pypa/cibuildwheel](https://github.com/pypa/cibuildwheel) from 2.18.1 to 2.19.1. - [Release notes](https://github.com/pypa/cibuildwheel/releases) - [Changelog](https://github.com/pypa/cibuildwheel/blob/main/docs/changelog.md) - [Commits](https://github.com/pypa/cibuildwheel/compare/v2.18.1...v2.19.1) --- updated-dependencies: - dependency-name: pypa/cibuildwheel dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] --- .github/workflows/python.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/python.yml b/.github/workflows/python.yml index e75a2e2..0dbfc34 100644 --- a/.github/workflows/python.yml +++ b/.github/workflows/python.yml @@ -31,7 +31,7 @@ jobs: platforms: all - name: Build wheels - uses: pypa/cibuildwheel@v2.18.1 + uses: pypa/cibuildwheel@v2.19.1 - uses: actions/upload-artifact@v4 with: From c2342def0bf9805fd9ae96043bba039efd9cb480 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Thu, 1 Aug 2024 01:56:46 +0000 Subject: [PATCH 68/78] build(deps): bump pypa/cibuildwheel from 2.19.1 to 2.19.2 Bumps [pypa/cibuildwheel](https://github.com/pypa/cibuildwheel) from 2.19.1 to 2.19.2. - [Release notes](https://github.com/pypa/cibuildwheel/releases) - [Changelog](https://github.com/pypa/cibuildwheel/blob/main/docs/changelog.md) - [Commits](https://github.com/pypa/cibuildwheel/compare/v2.19.1...v2.19.2) --- updated-dependencies: - dependency-name: pypa/cibuildwheel dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- .github/workflows/python.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/python.yml b/.github/workflows/python.yml index 0dbfc34..8cbfe76 100644 --- a/.github/workflows/python.yml +++ b/.github/workflows/python.yml @@ -31,7 +31,7 @@ jobs: platforms: all - name: Build wheels - uses: pypa/cibuildwheel@v2.19.1 + uses: pypa/cibuildwheel@v2.19.2 - uses: actions/upload-artifact@v4 with: From 42bc2fdfe855f89b296290763b4a4f877e5d620d Mon Sep 17 00:00:00 2001 From: Peter Lithammer Date: Wed, 21 Aug 2024 22:39:52 +0200 Subject: [PATCH 69/78] Replace rye with uv This assumes uv v0.3 --- Makefile | 14 ++-- pyproject.toml | 9 +- requirements-dev.lock | 29 ------- requirements.lock | 10 --- uv.lock | 187 ++++++++++++++++++++++++++++++++++++++++++ 5 files changed, 196 insertions(+), 53 deletions(-) delete mode 100644 requirements-dev.lock delete mode 100644 requirements.lock create mode 100644 uv.lock diff --git a/Makefile b/Makefile index f9474ce..3e48611 100644 --- a/Makefile +++ b/Makefile @@ -3,21 +3,23 @@ VIRTUALENV = .venv all: build compile_commands.json: build - bear -- rye run python setup.py build_ext -qf + bear -- uv run -- python setup.py build_ext -qf -build: $(VIRTUALENV)/requirements.lock +build: $(VIRTUALENV)/uv.lock -$(VIRTUALENV)/requirements.lock: requirements.lock requirements-dev.lock pyproject.toml - rye sync +$(VIRTUALENV)/uv.lock: uv.lock pyproject.toml + uv sync @cp $< $@ .PHONY: test test: build - rye test -v + uv run -- pytest -v .PHONY: lint lint: build - rye run lint + uv run -- ruff check --diff $(CURDIR) + uv run -- ruff format --check --diff $(CURDIR) + uv run -- mypy $(CURDIR) clang-format --dry-run --Werror --style=file src/jump/*.c .PHONY: clean diff --git a/pyproject.toml b/pyproject.toml index 518be66..d3262d2 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -46,8 +46,7 @@ test-requires = "pytest" [tool.cibuildwheel.linux] archs = ["auto", "aarch64"] -[tool.rye] -managed = true +[tool.uv] dev-dependencies = [ "mypy", "ruff", @@ -55,12 +54,6 @@ dev-dependencies = [ "setuptools", # Required for `python setup.py build_ext` ] -[tool.rye.scripts] -lint = { chain = ["lint:ruff-check", "lint:mypy", "lint:ruff-format"] } -"lint:ruff-check" = "ruff check --diff ." -"lint:ruff-format" = "ruff format --check --diff ." -"lint:mypy" = "mypy ." - [tool.mypy] check_untyped_defs = true ignore_missing_imports = true diff --git a/requirements-dev.lock b/requirements-dev.lock deleted file mode 100644 index 09f09be..0000000 --- a/requirements-dev.lock +++ /dev/null @@ -1,29 +0,0 @@ -# generated by rye -# use `rye lock` or `rye sync` to update this lockfile -# -# last locked with the following flags: -# pre: false -# features: [] -# all-features: false -# with-sources: false - --e file:. -exceptiongroup==1.2.0 - # via pytest -iniconfig==2.0.0 - # via pytest -mypy==1.9.0 -mypy-extensions==1.0.0 - # via mypy -packaging==24.0 - # via pytest -pluggy==1.4.0 - # via pytest -pytest==8.1.1 -ruff==0.4.0 -setuptools==69.5.1 -tomli==2.0.1 - # via mypy - # via pytest -typing-extensions==4.11.0 - # via mypy diff --git a/requirements.lock b/requirements.lock deleted file mode 100644 index 8f23096..0000000 --- a/requirements.lock +++ /dev/null @@ -1,10 +0,0 @@ -# generated by rye -# use `rye lock` or `rye sync` to update this lockfile -# -# last locked with the following flags: -# pre: false -# features: [] -# all-features: false -# with-sources: false - --e file:. diff --git a/uv.lock b/uv.lock new file mode 100644 index 0000000..64d566e --- /dev/null +++ b/uv.lock @@ -0,0 +1,187 @@ +version = 1 +requires-python = ">=3.8" + +[[package]] +name = "colorama" +version = "0.4.6" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/d8/53/6f443c9a4a8358a93a6792e2acffb9d9d5cb0a5cfd8802644b7b1c9a02e4/colorama-0.4.6.tar.gz", hash = "sha256:08695f5cb7ed6e0531a20572697297273c47b8cae5a63ffc6d6ed5c201be6e44", size = 27697 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/d1/d6/3965ed04c63042e047cb6a3e6ed1a63a35087b6a609aa3a15ed8ac56c221/colorama-0.4.6-py2.py3-none-any.whl", hash = "sha256:4f1d9991f5acc0ca119f9d443620b77f9d6b33703e51011c16baf57afb285fc6", size = 25335 }, +] + +[[package]] +name = "exceptiongroup" +version = "1.2.2" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/09/35/2495c4ac46b980e4ca1f6ad6db102322ef3ad2410b79fdde159a4b0f3b92/exceptiongroup-1.2.2.tar.gz", hash = "sha256:47c2edf7c6738fafb49fd34290706d1a1a2f4d1c6df275526b62cbb4aa5393cc", size = 28883 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/02/cc/b7e31358aac6ed1ef2bb790a9746ac2c69bcb3c8588b41616914eb106eaf/exceptiongroup-1.2.2-py3-none-any.whl", hash = "sha256:3111b9d131c238bec2f8f516e123e14ba243563fb135d3fe885990585aa7795b", size = 16453 }, +] + +[[package]] +name = "iniconfig" +version = "2.0.0" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/d7/4b/cbd8e699e64a6f16ca3a8220661b5f83792b3017d0f79807cb8708d33913/iniconfig-2.0.0.tar.gz", hash = "sha256:2d91e135bf72d31a410b17c16da610a82cb55f6b0477d1a902134b24a455b8b3", size = 4646 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/ef/a6/62565a6e1cf69e10f5727360368e451d4b7f58beeac6173dc9db836a5b46/iniconfig-2.0.0-py3-none-any.whl", hash = "sha256:b6a85871a79d2e3b22d2d1b94ac2824226a63c6b741c88f7ae975f18b6778374", size = 5892 }, +] + +[[package]] +name = "jump-consistent-hash" +version = "3.5.1.dev2+gb278b2f.d20240821" +source = { editable = "." } + +[package.dev-dependencies] +dev = [ + { name = "mypy" }, + { name = "pytest" }, + { name = "ruff" }, + { name = "setuptools" }, +] + +[package.metadata] + +[package.metadata.requires-dev] +dev = [ + { name = "mypy" }, + { name = "pytest" }, + { name = "ruff" }, + { name = "setuptools" }, +] + +[[package]] +name = "mypy" +version = "1.11.1" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "mypy-extensions" }, + { name = "tomli", marker = "python_full_version < '3.11'" }, + { name = "typing-extensions" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/b6/9c/a4b3bda53823439cf395db8ecdda6229a83f9bf201714a68a15190bb2919/mypy-1.11.1.tar.gz", hash = "sha256:f404a0b069709f18bbdb702eb3dcfe51910602995de00bd39cea3050b5772d08", size = 3078369 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/33/ba/858cc9631c24a349c1c63814edc16448da7d6b8716b2c83a10aa20f5ee89/mypy-1.11.1-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:a32fc80b63de4b5b3e65f4be82b4cfa362a46702672aa6a0f443b4689af7008c", size = 10937885 }, + { url = "https://files.pythonhosted.org/packages/2d/88/2ae81f7489da8313d0f2043dd657ba847650b00a0fb8e07f40e716ed8c58/mypy-1.11.1-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:c1952f5ea8a5a959b05ed5f16452fddadbaae48b5d39235ab4c3fc444d5fd411", size = 10111978 }, + { url = "https://files.pythonhosted.org/packages/df/4b/d211d6036366f9ea5ee9fb949e80d133b4b8496cdde78c7119f518c49734/mypy-1.11.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:e1e30dc3bfa4e157e53c1d17a0dad20f89dc433393e7702b813c10e200843b03", size = 12498441 }, + { url = "https://files.pythonhosted.org/packages/94/d2/973278d03ad11e006d71d4c858bfe45cf571ae061f3997911925c70a59f0/mypy-1.11.1-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:2c63350af88f43a66d3dfeeeb8d77af34a4f07d760b9eb3a8697f0386c7590b4", size = 13020595 }, + { url = "https://files.pythonhosted.org/packages/0b/c2/7f4285eda528883c5c34cb4b8d88080792967f7f7f24256ad8090d303702/mypy-1.11.1-cp310-cp310-win_amd64.whl", hash = "sha256:a831671bad47186603872a3abc19634f3011d7f83b083762c942442d51c58d58", size = 9568307 }, + { url = "https://files.pythonhosted.org/packages/0b/b1/62d8ce619493a5364dda4f410912aa12c27126926e8fb8393edca0664640/mypy-1.11.1-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:7b6343d338390bb946d449677726edf60102a1c96079b4f002dedff375953fc5", size = 10858723 }, + { url = "https://files.pythonhosted.org/packages/fe/aa/2ad15a318bc6a17b7f23e1641a624603949904f6131e09681f40340fb875/mypy-1.11.1-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:e4fe9f4e5e521b458d8feb52547f4bade7ef8c93238dfb5bbc790d9ff2d770ca", size = 10038078 }, + { url = "https://files.pythonhosted.org/packages/4d/7f/77feb389d91603f55b3c4e3e16ccf8752bce007ed73ca921e42c9a5dff12/mypy-1.11.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:886c9dbecc87b9516eff294541bf7f3655722bf22bb898ee06985cd7269898de", size = 12420213 }, + { url = "https://files.pythonhosted.org/packages/bc/5b/907b4681f68e7ee2e2e88eed65c514cf6406b8f2f83b243ea79bd4eddb97/mypy-1.11.1-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:fca4a60e1dd9fd0193ae0067eaeeb962f2d79e0d9f0f66223a0682f26ffcc809", size = 12898278 }, + { url = "https://files.pythonhosted.org/packages/5b/b3/2a83be637825d7432b8e6a51e45d02de4f463b6c7ec7164a45009a7cf477/mypy-1.11.1-cp311-cp311-win_amd64.whl", hash = "sha256:0bd53faf56de9643336aeea1c925012837432b5faf1701ccca7fde70166ccf72", size = 9564438 }, + { url = "https://files.pythonhosted.org/packages/3a/34/69638cee2e87303f19a0c35e80d42757e14d9aba328f272fdcdc0bf3c9b8/mypy-1.11.1-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:f39918a50f74dc5969807dcfaecafa804fa7f90c9d60506835036cc1bc891dc8", size = 10995789 }, + { url = "https://files.pythonhosted.org/packages/c4/3c/3e0611348fc53a4a7c80485959478b4f6eae706baf3b7c03cafa22639216/mypy-1.11.1-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:0bc71d1fb27a428139dd78621953effe0d208aed9857cb08d002280b0422003a", size = 10002696 }, + { url = "https://files.pythonhosted.org/packages/1c/21/a6b46c91b4c9d1918ee59c305f46850cde7cbea748635a352e7c3c8ed204/mypy-1.11.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:b868d3bcff720dd7217c383474008ddabaf048fad8d78ed948bb4b624870a417", size = 12505772 }, + { url = "https://files.pythonhosted.org/packages/c4/55/07904d4c8f408e70308015edcbff067eaa77514475938a9dd81b063de2a8/mypy-1.11.1-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:a707ec1527ffcdd1c784d0924bf5cb15cd7f22683b919668a04d2b9c34549d2e", size = 12954190 }, + { url = "https://files.pythonhosted.org/packages/1e/b7/3a50f318979c8c541428c2f1ee973cda813bcc89614de982dafdd0df2b3e/mypy-1.11.1-cp312-cp312-win_amd64.whl", hash = "sha256:64f4a90e3ea07f590c5bcf9029035cf0efeae5ba8be511a8caada1a4893f5525", size = 9663138 }, + { url = "https://files.pythonhosted.org/packages/f7/8c/805ee92b0a94b61593787e2863d8551383fe1d344238433088e509accad3/mypy-1.11.1-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:749fd3213916f1751fff995fccf20c6195cae941dc968f3aaadf9bb4e430e5a2", size = 10872601 }, + { url = "https://files.pythonhosted.org/packages/f2/5d/9d705fa6240c494223d231a7e37904c9da972e44a5bbbfda7cac169fe925/mypy-1.11.1-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:b639dce63a0b19085213ec5fdd8cffd1d81988f47a2dec7100e93564f3e8fb3b", size = 10065192 }, + { url = "https://files.pythonhosted.org/packages/dd/0a/921c07e284cf063beb4b4b9abf96354dec52ea692a13061bada479dfbeeb/mypy-1.11.1-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:4c956b49c5d865394d62941b109728c5c596a415e9c5b2be663dd26a1ff07bc0", size = 12459539 }, + { url = "https://files.pythonhosted.org/packages/e4/b4/4c54cbae97d50e53137560508f144f089d3bc2bd204a5f4223ce698e5cb3/mypy-1.11.1-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:45df906e8b6804ef4b666af29a87ad9f5921aad091c79cc38e12198e220beabd", size = 12961770 }, + { url = "https://files.pythonhosted.org/packages/5a/3a/859a3c6454d1b20b5a055e223a516fe825e15e98639e39d10d00b7e55dee/mypy-1.11.1-cp38-cp38-win_amd64.whl", hash = "sha256:d44be7551689d9d47b7abc27c71257adfdb53f03880841a5db15ddb22dc63edb", size = 9549484 }, + { url = "https://files.pythonhosted.org/packages/d9/3d/cca659545bd83c67ab784ac2221f8264b3b74e98b2a5aee4f454276ecaf2/mypy-1.11.1-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:2684d3f693073ab89d76da8e3921883019ea8a3ec20fa5d8ecca6a2db4c54bbe", size = 10936143 }, + { url = "https://files.pythonhosted.org/packages/83/ff/ec6f1015813adb183925b6f9696062b7fb60b1d60761cc06cea85dd7bcb0/mypy-1.11.1-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:79c07eb282cb457473add5052b63925e5cc97dfab9812ee65a7c7ab5e3cb551c", size = 10105432 }, + { url = "https://files.pythonhosted.org/packages/08/a3/ffc2ee9b8689920a524a8013bf05482f51d191d73a8a3939f3d47d9a485a/mypy-1.11.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:11965c2f571ded6239977b14deebd3f4c3abd9a92398712d6da3a772974fad69", size = 12493869 }, + { url = "https://files.pythonhosted.org/packages/7b/6b/830fbf3066dcf79831f360c5b1ae3923cfc248aa6a32ea217f179a210126/mypy-1.11.1-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:a2b43895a0f8154df6519706d9bca8280cda52d3d9d1514b2d9c3e26792a0b74", size = 13016443 }, + { url = "https://files.pythonhosted.org/packages/0a/ae/8ebca638f6bd9e914501a567a56e3ae64fa4d9c8dfff298618e9409d1156/mypy-1.11.1-cp39-cp39-win_amd64.whl", hash = "sha256:1a81cf05975fd61aec5ae16501a091cfb9f605dc3e3c878c0da32f250b74760b", size = 9567604 }, + { url = "https://files.pythonhosted.org/packages/f8/d4/4960d0df55f30a7625d9c3c9414dfd42f779caabae137ef73ffaed0c97b9/mypy-1.11.1-py3-none-any.whl", hash = "sha256:0624bdb940255d2dd24e829d99a13cfeb72e4e9031f9492148f410ed30bcab54", size = 2619257 }, +] + +[[package]] +name = "mypy-extensions" +version = "1.0.0" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/98/a4/1ab47638b92648243faf97a5aeb6ea83059cc3624972ab6b8d2316078d3f/mypy_extensions-1.0.0.tar.gz", hash = "sha256:75dbf8955dc00442a438fc4d0666508a9a97b6bd41aa2f0ffe9d2f2725af0782", size = 4433 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/2a/e2/5d3f6ada4297caebe1a2add3b126fe800c96f56dbe5d1988a2cbe0b267aa/mypy_extensions-1.0.0-py3-none-any.whl", hash = "sha256:4392f6c0eb8a5668a69e23d168ffa70f0be9ccfd32b5cc2d26a34ae5b844552d", size = 4695 }, +] + +[[package]] +name = "packaging" +version = "24.1" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/51/65/50db4dda066951078f0a96cf12f4b9ada6e4b811516bf0262c0f4f7064d4/packaging-24.1.tar.gz", hash = "sha256:026ed72c8ed3fcce5bf8950572258698927fd1dbda10a5e981cdf0ac37f4f002", size = 148788 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/08/aa/cc0199a5f0ad350994d660967a8efb233fe0416e4639146c089643407ce6/packaging-24.1-py3-none-any.whl", hash = "sha256:5b8f2217dbdbd2f7f384c41c628544e6d52f2d0f53c6d0c3ea61aa5d1d7ff124", size = 53985 }, +] + +[[package]] +name = "pluggy" +version = "1.5.0" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/96/2d/02d4312c973c6050a18b314a5ad0b3210edb65a906f868e31c111dede4a6/pluggy-1.5.0.tar.gz", hash = "sha256:2cffa88e94fdc978c4c574f15f9e59b7f4201d439195c3715ca9e2486f1d0cf1", size = 67955 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/88/5f/e351af9a41f866ac3f1fac4ca0613908d9a41741cfcf2228f4ad853b697d/pluggy-1.5.0-py3-none-any.whl", hash = "sha256:44e1ad92c8ca002de6377e165f3e0f1be63266ab4d554740532335b9d75ea669", size = 20556 }, +] + +[[package]] +name = "pytest" +version = "8.3.2" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "colorama", marker = "sys_platform == 'win32'" }, + { name = "exceptiongroup", marker = "python_full_version < '3.11'" }, + { name = "iniconfig" }, + { name = "packaging" }, + { name = "pluggy" }, + { name = "tomli", marker = "python_full_version < '3.11'" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/b4/8c/9862305bdcd6020bc7b45b1b5e7397a6caf1a33d3025b9a003b39075ffb2/pytest-8.3.2.tar.gz", hash = "sha256:c132345d12ce551242c87269de812483f5bcc87cdbb4722e48487ba194f9fdce", size = 1439314 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/0f/f9/cf155cf32ca7d6fa3601bc4c5dd19086af4b320b706919d48a4c79081cf9/pytest-8.3.2-py3-none-any.whl", hash = "sha256:4ba08f9ae7dcf84ded419494d229b48d0903ea6407b030eaec46df5e6a73bba5", size = 341802 }, +] + +[[package]] +name = "ruff" +version = "0.6.1" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/ce/7e/82271b5ecbb72f24178eac28979380c4ba234f90be5cf92cb513605efb1a/ruff-0.6.1.tar.gz", hash = "sha256:af3ffd8c6563acb8848d33cd19a69b9bfe943667f0419ca083f8ebe4224a3436", size = 2457325 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/e2/d1/ac5091efcc8e2cdc55733ac07f17f961465318a3fa8916e44360e32e6c73/ruff-0.6.1-py3-none-linux_armv6l.whl", hash = "sha256:b4bb7de6a24169dc023f992718a9417380301b0c2da0fe85919f47264fb8add9", size = 9610279 }, + { url = "https://files.pythonhosted.org/packages/2b/ed/c3e1c20e46f5619f133e1ddafbb1a957407ea36d42a477d0d88e9897bed9/ruff-0.6.1-py3-none-macosx_10_12_x86_64.whl", hash = "sha256:45efaae53b360c81043e311cdec8a7696420b3d3e8935202c2846e7a97d4edae", size = 8719541 }, + { url = "https://files.pythonhosted.org/packages/13/49/3ee1c8dca59a8bd87ca833871d86304bce4348b2e019287e45ca0ad5b3dd/ruff-0.6.1-py3-none-macosx_11_0_arm64.whl", hash = "sha256:bc60c7d71b732c8fa73cf995efc0c836a2fd8b9810e115be8babb24ae87e0850", size = 8320291 }, + { url = "https://files.pythonhosted.org/packages/2a/44/1fec4c3eac790a445f3b9e0759665439c1d88517851f3fca90e32e897d48/ruff-0.6.1-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:2c7477c3b9da822e2db0b4e0b59e61b8a23e87886e727b327e7dcaf06213c5cf", size = 10040885 }, + { url = "https://files.pythonhosted.org/packages/86/98/c0b96dda4f751accecd3c0638d8c617a3b3e6de11b4e68aa77cae72912fb/ruff-0.6.1-py3-none-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:3a0af7ab3f86e3dc9f157a928e08e26c4b40707d0612b01cd577cc84b8905cc9", size = 9414183 }, + { url = "https://files.pythonhosted.org/packages/a0/e3/59ac3b2fb4e80f53a96f2c22951589357e22ef3bc2c2b04b2a73772663f8/ruff-0.6.1-py3-none-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:392688dbb50fecf1bf7126731c90c11a9df1c3a4cdc3f481b53e851da5634fa5", size = 10203467 }, + { url = "https://files.pythonhosted.org/packages/8d/02/3dc1c33877d68341b9764b30e2dcc9209b6adb8a0a41ca04d503dc39006e/ruff-0.6.1-py3-none-manylinux_2_17_ppc64.manylinux2014_ppc64.whl", hash = "sha256:5278d3e095ccc8c30430bcc9bc550f778790acc211865520f3041910a28d0024", size = 10962198 }, + { url = "https://files.pythonhosted.org/packages/c5/1f/a36bb06c8b724e3a8ee59124657414182227a353a98408cb5321aa87bd13/ruff-0.6.1-py3-none-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:fe6d5f65d6f276ee7a0fc50a0cecaccb362d30ef98a110f99cac1c7872df2f18", size = 10537682 }, + { url = "https://files.pythonhosted.org/packages/a2/bd/479fbfab1634f2527a3f5ddb44973977f75ffbdf3d9bb16748c558a263ad/ruff-0.6.1-py3-none-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:b2e0dd11e2ae553ee5c92a81731d88a9883af8db7408db47fc81887c1f8b672e", size = 11505616 }, + { url = "https://files.pythonhosted.org/packages/e0/94/92bc24e7e58d2f90fa2a370f763d25d9e06ccccfab839b88e389d79fb4e3/ruff-0.6.1-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:d812615525a34ecfc07fd93f906ef5b93656be01dfae9a819e31caa6cfe758a1", size = 10221898 }, + { url = "https://files.pythonhosted.org/packages/f7/47/1aca18f02abd4a3ba739991b719a3aa5d8e39e0bee1a91090c8bfacdcd13/ruff-0.6.1-py3-none-musllinux_1_2_aarch64.whl", hash = "sha256:faaa4060f4064c3b7aaaa27328080c932fa142786f8142aff095b42b6a2eb631", size = 10033784 }, + { url = "https://files.pythonhosted.org/packages/e6/48/df16d9b00af42034ee85915914783bc0529a2ff709d6d3ef39c7c15d826d/ruff-0.6.1-py3-none-musllinux_1_2_armv7l.whl", hash = "sha256:99d7ae0df47c62729d58765c593ea54c2546d5de213f2af2a19442d50a10cec9", size = 9477381 }, + { url = "https://files.pythonhosted.org/packages/46/d6/d6eadedcc9f9c4927665eee26f4449c15f4c501e7ba9c34c37753748dc11/ruff-0.6.1-py3-none-musllinux_1_2_i686.whl", hash = "sha256:9eb18dfd7b613eec000e3738b3f0e4398bf0153cb80bfa3e351b3c1c2f6d7b15", size = 9862269 }, + { url = "https://files.pythonhosted.org/packages/4e/30/e2f5b06ac048898a1cac190e1c9c0d88f984596b27f1069341217e42d119/ruff-0.6.1-py3-none-musllinux_1_2_x86_64.whl", hash = "sha256:c62bc04c6723a81e25e71715aa59489f15034d69bf641df88cb38bdc32fd1dbb", size = 10287591 }, + { url = "https://files.pythonhosted.org/packages/a0/2c/6a17be1b3c69c03167e5b3d69317ae9b8b2a06091189161751e7a36afef5/ruff-0.6.1-py3-none-win32.whl", hash = "sha256:9fb4c4e8b83f19c9477a8745e56d2eeef07a7ff50b68a6998f7d9e2e3887bdc4", size = 7918031 }, + { url = "https://files.pythonhosted.org/packages/2e/ba/66a6c87f6532e0390ebc67d5ae9bc1064f4e14d1b0e224bdedc999ae2b15/ruff-0.6.1-py3-none-win_amd64.whl", hash = "sha256:c2ebfc8f51ef4aca05dad4552bbcf6fe8d1f75b2f6af546cc47cc1c1ca916b5b", size = 8736178 }, + { url = "https://files.pythonhosted.org/packages/14/da/418c5d40058ad56bd0fa060efa4580ccf446f916167aa6540d31f6844e16/ruff-0.6.1-py3-none-win_arm64.whl", hash = "sha256:3bc81074971b0ffad1bd0c52284b22411f02a11a012082a76ac6da153536e014", size = 8142791 }, +] + +[[package]] +name = "setuptools" +version = "73.0.1" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/8d/37/f4d4ce9bc15e61edba3179f9b0f763fc6d439474d28511b11f0d95bab7a2/setuptools-73.0.1.tar.gz", hash = "sha256:d59a3e788ab7e012ab2c4baed1b376da6366883ee20d7a5fc426816e3d7b1193", size = 2526506 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/07/6a/0270e295bf30c37567736b7fca10167640898214ff911273af37ddb95770/setuptools-73.0.1-py3-none-any.whl", hash = "sha256:b208925fcb9f7af924ed2dc04708ea89791e24bde0d3020b27df0e116088b34e", size = 2346588 }, +] + +[[package]] +name = "tomli" +version = "2.0.1" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/c0/3f/d7af728f075fb08564c5949a9c95e44352e23dee646869fa104a3b2060a3/tomli-2.0.1.tar.gz", hash = "sha256:de526c12914f0c550d15924c62d72abc48d6fe7364aa87328337a31007fe8a4f", size = 15164 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/97/75/10a9ebee3fd790d20926a90a2547f0bf78f371b2f13aa822c759680ca7b9/tomli-2.0.1-py3-none-any.whl", hash = "sha256:939de3e7a6161af0c887ef91b7d41a53e7c5a1ca976325f429cb46ea9bc30ecc", size = 12757 }, +] + +[[package]] +name = "typing-extensions" +version = "4.12.2" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/df/db/f35a00659bc03fec321ba8bce9420de607a1d37f8342eee1863174c69557/typing_extensions-4.12.2.tar.gz", hash = "sha256:1a7ead55c7e559dd4dee8856e3a88b41225abfe1ce8df57b7c13915fe121ffb8", size = 85321 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/26/9f/ad63fc0248c5379346306f8668cda6e2e2e9c95e01216d2b8ffd9ff037d0/typing_extensions-4.12.2-py3-none-any.whl", hash = "sha256:04e5ca0351e0f3f85c6853954072df659d0d13fac324d0072316b67d7794700d", size = 37438 }, +] From 9183c1332a4cc2681bf659e37a159538a15a4121 Mon Sep 17 00:00:00 2001 From: Peter Lithammer Date: Thu, 22 Aug 2024 23:03:05 +0200 Subject: [PATCH 70/78] Add make variable for `uv run --` --- Makefile | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/Makefile b/Makefile index 3e48611..7048a6f 100644 --- a/Makefile +++ b/Makefile @@ -1,9 +1,10 @@ VIRTUALENV = .venv +UV_RUN = uv run -- all: build compile_commands.json: build - bear -- uv run -- python setup.py build_ext -qf + bear -- $(UV_RUN) python setup.py build_ext -qf build: $(VIRTUALENV)/uv.lock @@ -13,13 +14,13 @@ $(VIRTUALENV)/uv.lock: uv.lock pyproject.toml .PHONY: test test: build - uv run -- pytest -v + $(UV_RUN) pytest -v .PHONY: lint lint: build - uv run -- ruff check --diff $(CURDIR) - uv run -- ruff format --check --diff $(CURDIR) - uv run -- mypy $(CURDIR) + $(UV_RUN) ruff check --diff $(CURDIR) + $(UV_RUN) ruff format --check --diff $(CURDIR) + $(UV_RUN) mypy $(CURDIR) clang-format --dry-run --Werror --style=file src/jump/*.c .PHONY: clean From b7b470ec22aac12d35d1c316d2809042abf67824 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Sun, 1 Sep 2024 01:14:03 +0000 Subject: [PATCH 71/78] build(deps): bump pypa/cibuildwheel from 2.19.2 to 2.20.0 Bumps [pypa/cibuildwheel](https://github.com/pypa/cibuildwheel) from 2.19.2 to 2.20.0. - [Release notes](https://github.com/pypa/cibuildwheel/releases) - [Changelog](https://github.com/pypa/cibuildwheel/blob/main/docs/changelog.md) - [Commits](https://github.com/pypa/cibuildwheel/compare/v2.19.2...v2.20.0) --- updated-dependencies: - dependency-name: pypa/cibuildwheel dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] --- .github/workflows/python.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/python.yml b/.github/workflows/python.yml index 8cbfe76..878cc1f 100644 --- a/.github/workflows/python.yml +++ b/.github/workflows/python.yml @@ -31,7 +31,7 @@ jobs: platforms: all - name: Build wheels - uses: pypa/cibuildwheel@v2.19.2 + uses: pypa/cibuildwheel@v2.20.0 - uses: actions/upload-artifact@v4 with: From 3ae8927d514b1e8f1011fdad41331bd0d6bab49e Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 1 Oct 2024 01:24:04 +0000 Subject: [PATCH 72/78] build(deps): bump pypa/cibuildwheel from 2.20.0 to 2.21.1 Bumps [pypa/cibuildwheel](https://github.com/pypa/cibuildwheel) from 2.20.0 to 2.21.1. - [Release notes](https://github.com/pypa/cibuildwheel/releases) - [Changelog](https://github.com/pypa/cibuildwheel/blob/main/docs/changelog.md) - [Commits](https://github.com/pypa/cibuildwheel/compare/v2.20.0...v2.21.1) --- updated-dependencies: - dependency-name: pypa/cibuildwheel dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] --- .github/workflows/python.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/python.yml b/.github/workflows/python.yml index 878cc1f..3f1de1c 100644 --- a/.github/workflows/python.yml +++ b/.github/workflows/python.yml @@ -31,7 +31,7 @@ jobs: platforms: all - name: Build wheels - uses: pypa/cibuildwheel@v2.20.0 + uses: pypa/cibuildwheel@v2.21.1 - uses: actions/upload-artifact@v4 with: From 8a1d2b6ad868bd88a69ad11ff93d511fb5e51e26 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 7 Oct 2024 20:40:38 +0000 Subject: [PATCH 73/78] build(deps): bump pypa/cibuildwheel from 2.21.1 to 2.21.2 Bumps [pypa/cibuildwheel](https://github.com/pypa/cibuildwheel) from 2.21.1 to 2.21.2. - [Release notes](https://github.com/pypa/cibuildwheel/releases) - [Changelog](https://github.com/pypa/cibuildwheel/blob/main/docs/changelog.md) - [Commits](https://github.com/pypa/cibuildwheel/compare/v2.21.1...v2.21.2) --- updated-dependencies: - dependency-name: pypa/cibuildwheel dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- .github/workflows/python.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/python.yml b/.github/workflows/python.yml index 3f1de1c..398d448 100644 --- a/.github/workflows/python.yml +++ b/.github/workflows/python.yml @@ -31,7 +31,7 @@ jobs: platforms: all - name: Build wheels - uses: pypa/cibuildwheel@v2.21.1 + uses: pypa/cibuildwheel@v2.21.2 - uses: actions/upload-artifact@v4 with: From b7a06799b851c46dfda7e1f367d904293988f867 Mon Sep 17 00:00:00 2001 From: Peter Lithammer Date: Mon, 7 Oct 2024 22:42:59 +0200 Subject: [PATCH 74/78] Add Pythom 3.13 classifier --- pyproject.toml | 1 + 1 file changed, 1 insertion(+) diff --git a/pyproject.toml b/pyproject.toml index d3262d2..275b821 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -22,6 +22,7 @@ classifiers = [ "Programming Language :: Python :: 3.10", "Programming Language :: Python :: 3.11", "Programming Language :: Python :: 3.12", + "Programming Language :: Python :: 3.13", ] keywords = ["jump", "consistent", "hash", "jumphash", "algorithm"] From 7b0617051189e5fc9134315ceb2a4bb15950bea0 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Fri, 1 Nov 2024 01:53:57 +0000 Subject: [PATCH 75/78] build(deps): bump pypa/cibuildwheel from 2.21.2 to 2.21.3 Bumps [pypa/cibuildwheel](https://github.com/pypa/cibuildwheel) from 2.21.2 to 2.21.3. - [Release notes](https://github.com/pypa/cibuildwheel/releases) - [Changelog](https://github.com/pypa/cibuildwheel/blob/main/docs/changelog.md) - [Commits](https://github.com/pypa/cibuildwheel/compare/v2.21.2...v2.21.3) --- updated-dependencies: - dependency-name: pypa/cibuildwheel dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- .github/workflows/python.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/python.yml b/.github/workflows/python.yml index 398d448..2bb5d1f 100644 --- a/.github/workflows/python.yml +++ b/.github/workflows/python.yml @@ -31,7 +31,7 @@ jobs: platforms: all - name: Build wheels - uses: pypa/cibuildwheel@v2.21.2 + uses: pypa/cibuildwheel@v2.21.3 - uses: actions/upload-artifact@v4 with: From ed756dfd10f2a9dd33e72279303c5eae0b0f8a4f Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Sun, 1 Dec 2024 01:09:03 +0000 Subject: [PATCH 76/78] build(deps): bump pypa/cibuildwheel from 2.21.3 to 2.22.0 Bumps [pypa/cibuildwheel](https://github.com/pypa/cibuildwheel) from 2.21.3 to 2.22.0. - [Release notes](https://github.com/pypa/cibuildwheel/releases) - [Changelog](https://github.com/pypa/cibuildwheel/blob/main/docs/changelog.md) - [Commits](https://github.com/pypa/cibuildwheel/compare/v2.21.3...v2.22.0) --- updated-dependencies: - dependency-name: pypa/cibuildwheel dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] --- .github/workflows/python.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/python.yml b/.github/workflows/python.yml index 2bb5d1f..f20ce9c 100644 --- a/.github/workflows/python.yml +++ b/.github/workflows/python.yml @@ -31,7 +31,7 @@ jobs: platforms: all - name: Build wheels - uses: pypa/cibuildwheel@v2.21.3 + uses: pypa/cibuildwheel@v2.22.0 - uses: actions/upload-artifact@v4 with: From d38aa022626eeac3ba923e35b1fad2034b7e5e2a Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 1 Apr 2025 01:47:41 +0000 Subject: [PATCH 77/78] build(deps): bump pypa/cibuildwheel from 2.22.0 to 2.23.2 Bumps [pypa/cibuildwheel](https://github.com/pypa/cibuildwheel) from 2.22.0 to 2.23.2. - [Release notes](https://github.com/pypa/cibuildwheel/releases) - [Changelog](https://github.com/pypa/cibuildwheel/blob/main/docs/changelog.md) - [Commits](https://github.com/pypa/cibuildwheel/compare/v2.22.0...v2.23.2) --- updated-dependencies: - dependency-name: pypa/cibuildwheel dependency-version: 2.23.2 dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] --- .github/workflows/python.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/python.yml b/.github/workflows/python.yml index f20ce9c..8c9f2a5 100644 --- a/.github/workflows/python.yml +++ b/.github/workflows/python.yml @@ -31,7 +31,7 @@ jobs: platforms: all - name: Build wheels - uses: pypa/cibuildwheel@v2.22.0 + uses: pypa/cibuildwheel@v2.23.2 - uses: actions/upload-artifact@v4 with: From eb23bfb15670c80a2bf7274aaadad550e88d97a6 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Thu, 1 May 2025 01:50:46 +0000 Subject: [PATCH 78/78] build(deps): bump pypa/cibuildwheel from 2.23.2 to 2.23.3 Bumps [pypa/cibuildwheel](https://github.com/pypa/cibuildwheel) from 2.23.2 to 2.23.3. - [Release notes](https://github.com/pypa/cibuildwheel/releases) - [Changelog](https://github.com/pypa/cibuildwheel/blob/main/docs/changelog.md) - [Commits](https://github.com/pypa/cibuildwheel/compare/v2.23.2...v2.23.3) --- updated-dependencies: - dependency-name: pypa/cibuildwheel dependency-version: 2.23.3 dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- .github/workflows/python.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/python.yml b/.github/workflows/python.yml index 8c9f2a5..75e25e8 100644 --- a/.github/workflows/python.yml +++ b/.github/workflows/python.yml @@ -31,7 +31,7 @@ jobs: platforms: all - name: Build wheels - uses: pypa/cibuildwheel@v2.23.2 + uses: pypa/cibuildwheel@v2.23.3 - uses: actions/upload-artifact@v4 with: