diff --git a/.github/workflows/build_wheels.yml b/.github/workflows/build_wheels.yml index 8b28c7a1..3e6d6c20 100644 --- a/.github/workflows/build_wheels.yml +++ b/.github/workflows/build_wheels.yml @@ -44,8 +44,8 @@ jobs: runs-on: ${{ matrix.os }} strategy: matrix: - os: [ubuntu-latest, windows-latest, macos-latest] - python-version: ["3.9", "3.10", "3.11", "3.12"] + os: [ubuntu-latest, windows-latest, macos-13, macos-14] + python-version: ["3.9", "3.10", "3.11", "3.12", "3.13"] steps: - name: Checkout code @@ -58,7 +58,7 @@ jobs: if: runner.os == 'Windows' - name: Build wheels - uses: pypa/cibuildwheel@v2.17.0 + uses: pypa/cibuildwheel@v2.23.3 env: # Build with C++ support CIBW_ENVIRONMENT: ENABLE_CPP=ON diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index 9704bab1..648858d9 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -19,8 +19,16 @@ jobs: runs-on: ${{ matrix.os }} strategy: matrix: - os: [ubuntu-latest, windows-latest, macos-latest] - python-version: ["3.9", "3.12"] + os: + [ + ubuntu-latest, + windows-latest, + macos-latest, + ubuntu-22.04, + macos-13, + macos-14, + ] + python-version: ["3.9", "3.13"] steps: - uses: actions/checkout@v4 diff --git a/README.md b/README.md index d216523e..dca243ae 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,6 @@ ![FastDDM](docs/source/fastddm-logo-horizontal.svg) -![Python](https://img.shields.io/badge/python-3.9%20|%203.12-blue) +![Python](https://img.shields.io/badge/python-3.9%20%7C%203.13-blue) [![GitHub Actions](https://github.com/somexlab/fastddm/actions/workflows/test.yml/badge.svg?branch=main)](https://github.com/somexlab/fastddm/actions/workflows/test.yml) [![PyPI Version](https://badge.fury.io/py/fastddm.svg)](https://pypi.org/project/fastddm/) [![Read the Docs](https://readthedocs.org/projects/fastddm/badge/?version=latest)](https://fastddm.readthedocs.io/en/latest/?badge=latest) @@ -10,12 +10,14 @@ The features implemented are targeted at the experimental soft matter research community dealing with inert and active/biological samples. ## Resources + - [Documentation](https://fastddm.readthedocs.io/): Python API description, installation, examples, and usage information. - [Example notebooks](https://github.com/somexlab/fastddm-tutorials): Jupyter notebooks with practical examples. ## Example scripts + These examples demonstrate some of the Python API. Calculation of the image structure function and its azimuthal average: @@ -23,12 +25,12 @@ Calculation of the image structure function and its azimuthal average: ```python import fastddm as fddm -file_names = [...] # define here your list of image file names +file_names = [...] # define here your list of image file names images = fddm.read_images(file_names) pixel_size = 0.3 # um frame_rate = 50 # frames per second - + # compute image structure function and set experimental parameters dqt = fddm.ddm(img_seq, range(1, len(img_seq))) dqt.pixel_size = pixel_size @@ -39,6 +41,7 @@ aa = fddm.azimuthal_average(dqt, bins=dqt.shape[-1] - 1, range=(0.0, dqt.ky[-1]) ``` ## Contributing to FastDDM + Contributions are welcome via [pull requests](https://github.com/somexlab/fastddm/pulls) after agreeing to the [Contributors' Agreement](https://github.com/somexlab/fastddm/CONTRIBUTING.rst). Please, refer to the [Developers'](https://fastddm.readthedocs.io/en/latest/contributing.html) section in the documentation. @@ -46,6 +49,7 @@ Please, refer to the [Developers'](https://fastddm.readthedocs.io/en/latest/cont Please, report bugs and suggest features via the [issue tracker](https://github.com/somexlab/fastddm/issues). ## Citing FastDDM + Please, cite this publication in every work that uses FastDDM: Enrico Lattuada, Fabian Krautgasser, Maxime Lavaud, Fabio Giavazzi, Roberto Cerbino @@ -54,8 +58,10 @@ Please, cite this publication in every work that uses FastDDM: https://doi.org/10.1063/5.0289471 ## License + FastDDM is available under the [GNU GPL-3.0 license](LICENSE). ## Acknowledgements -* The [fftw-3.3.10](https://www.fftw.org/) and [pybind11 2.12.0](https://github.com/pybind/pybind11) libraries are included in the source tree. -* This project was funded by the Austrian Science Fund (FWF), Grant Number M 3250-N. + +- The [fftw-3.3.10](https://www.fftw.org/) and [pybind11 2.12.0](https://github.com/pybind/pybind11) libraries are included in the source tree. +- This project was funded by the Austrian Science Fund (FWF), Grant Number M 3250-N. diff --git a/docs/source/conda.rst b/docs/source/conda.rst index fc6c5774..cde3848d 100644 --- a/docs/source/conda.rst +++ b/docs/source/conda.rst @@ -47,7 +47,7 @@ system). dependencies: - gcc - gxx - - python>=3.8 + - python>=3.9 - pip .. warning:: @@ -127,7 +127,7 @@ system). dependencies: - clang - clangxx - - python>=3.8 + - python>=3.9 - pip Create the environment by running the following command in your terminal @@ -183,7 +183,7 @@ system). channels: - defaults dependencies: - - python>=3.8 + - python>=3.9 - pip For Windows, you will still need to install Visual Studio Community Edition with the diff --git a/lib/fftw-3.3.10/CMakeLists.txt b/lib/fftw-3.3.10/CMakeLists.txt index 148f2f19..9b889264 100644 --- a/lib/fftw-3.3.10/CMakeLists.txt +++ b/lib/fftw-3.3.10/CMakeLists.txt @@ -1,4 +1,4 @@ -cmake_minimum_required (VERSION 3.5) +cmake_minimum_required (VERSION 3.18) if (NOT DEFINED CMAKE_BUILD_TYPE) set (CMAKE_BUILD_TYPE Release CACHE STRING "Build type")