From cbf30c1c8438326baddf6a9898c2f5b5be3f7b43 Mon Sep 17 00:00:00 2001 From: Kevin Dalton Date: Mon, 4 Nov 2024 11:07:39 -0500 Subject: [PATCH] add python 3.12 support (#273) * add python 3.12 * [pre-commit.ci] auto fixes from pre-commit.com hooks for more information, see https://pre-commit.ci * install development dependencies in build workflow * logg setuptools version * enable support for more setuptools versions * [pre-commit.ci] auto fixes from pre-commit.com hooks for more information, see https://pre-commit.ci * update conf.py for sphinx 8 * edit docstring for sphinx * add codecov token --------- Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com> --- .github/workflows/build.yml | 8 +++++--- docs/conf.py | 2 +- reciprocalspaceship/VERSION | 2 +- reciprocalspaceship/__init__.py | 11 +++++++++-- reciprocalspaceship/io/crystfel.py | 4 +--- 5 files changed, 17 insertions(+), 10 deletions(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 74c2a7d1..e422a051 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -16,7 +16,7 @@ jobs: strategy: matrix: numpy-version: ['numpy<2.0', 'numpy>=2.0'] - python-version: ['3.9', '3.10', '3.11'] + python-version: ['3.9', '3.10', '3.11', '3.12'] # Skip CI if 'skip ci' is contained in latest commit message if: "!contains(github.event.head_commit.message, 'skip ci')" @@ -33,15 +33,17 @@ jobs: run: | python -m pip install --upgrade pip pip install "${{ matrix.numpy-version }}" - pip install -e . + pip install -e .[dev] pip install ray + python -c 'import setuptools;print(f"Using setuptools version: {setuptools.__version__}")' - name: Test with pytest run: | - python setup.py test + pytest - name: Upload coverage to Codecov uses: codecov/codecov-action@v4 with: file: ./coverage.xml flags: unittests + token: ${{ secrets.CODECOV_TOKEN }} diff --git a/docs/conf.py b/docs/conf.py index ccde52f8..44286e5f 100644 --- a/docs/conf.py +++ b/docs/conf.py @@ -70,7 +70,7 @@ # prolog taken nearly verbatim from https://github.com/spatialaudio/nbsphinx/blob/98005a9d6b331b7d6d14221539154df69f7ae51a/doc/conf.py#L38 nbsphinx_prolog = r""" -{% set docname = 'docs/' + env.doc2path(env.docname, base=None) %} +{% set docname = 'docs/' + env.doc2path(env.docname, base=None) | string() %} .. raw:: html diff --git a/reciprocalspaceship/VERSION b/reciprocalspaceship/VERSION index 6d7de6e6..21e8796a 100644 --- a/reciprocalspaceship/VERSION +++ b/reciprocalspaceship/VERSION @@ -1 +1 @@ -1.0.2 +1.0.3 diff --git a/reciprocalspaceship/__init__.py b/reciprocalspaceship/__init__.py index 2adc41a7..2e5df60a 100644 --- a/reciprocalspaceship/__init__.py +++ b/reciprocalspaceship/__init__.py @@ -1,8 +1,15 @@ # Version number for reciprocalspaceship def getVersionNumber(): - import pkg_resources + version = None + try: + from setuptools.version import metadata + + version = metadata.version("reciprocalspaceship") + except ImportError: + from setuptools.version import pkg_resources + + version = pkg_resources.require("reciprocalspaceship")[0].version - version = pkg_resources.require("reciprocalspaceship")[0].version return version diff --git a/reciprocalspaceship/io/crystfel.py b/reciprocalspaceship/io/crystfel.py index f57fa732..5903b53d 100644 --- a/reciprocalspaceship/io/crystfel.py +++ b/reciprocalspaceship/io/crystfel.py @@ -487,9 +487,7 @@ def read_crystfel( The type of byte-encoding (optional, 'utf-8'). columns : list (optional) Optionally specify the columns of the output by a list of strings. - The default list is: - [ "H", "K", "L", "I", "SigI", "BATCH", "s1x", "s1y", "s1z", "ewald_offset", - "angular_ewald_offset", "XDET", "YDET" ] + The default list is: [ "H", "K", "L", "I", "SigI", "BATCH", "s1x", "s1y", "s1z", "ewald_offset", "angular_ewald_offset", "XDET", "YDET" ] See `rs.io.crystfel.StreamLoader().available_column_names` for a list of available column names and *Notes* for a description of the returned columns parallel : bool (optional)