diff --git a/.github/workflows/publish.yml b/.github/workflows/publish.yml index 7b30a1d..0670b4f 100644 --- a/.github/workflows/publish.yml +++ b/.github/workflows/publish.yml @@ -1,33 +1,16 @@ name: Publish -on: [push, pull_request, workflow_call] +on: [workflow_dispatch] permissions: contents: read jobs: - pytest: - runs-on: ${{ matrix.os }} - strategy: - matrix: - python-version: [ "3.10", "3.12" ] - os: [ ubuntu-latest, windows-latest, macOS-latest ] - - steps: - - name: Checkout - uses: actions/checkout@v6 - - name: Set up Python ${{ matrix.python-version }} - uses: actions/setup-python@v6 - with: - python-version: ${{ matrix.python-version }} - - name: Install - run: pip install .[test] - - name: Test with pytest - run: pytest - - sdist: - needs: [ pytest ] + publish_pytest: + uses: ./.github/workflows/pytest.yml + pypi_publish: runs-on: ubuntu-latest + needs: [ publish_pytest ] steps: - name: Checkout uses: actions/checkout@v6 @@ -39,26 +22,5 @@ jobs: run: pip install build - name: Build a binary wheel and a source tarball run: python -m build - - name: Upload sdist - uses: actions/upload-artifact@v6 - with: - name: sdist - path: dist - - release: - name: Release - runs-on: ubuntu-latest - needs: [ sdist ] - environment: - name: pypi - url: https://pypi.org/p/parfor - permissions: - id-token: write - steps: - - name: Download artifacts - uses: actions/download-artifact@v7 - with: - name: sdist - path: dist - name: Publish to PyPI uses: pypa/gh-action-pypi-publish@release/v1 diff --git a/.github/workflows/pytest.yml b/.github/workflows/pytest.yml new file mode 100644 index 0000000..4470e32 --- /dev/null +++ b/.github/workflows/pytest.yml @@ -0,0 +1,26 @@ +name: PyTest + +on: [push, pull_request, workflow_call] + +permissions: + contents: read + +jobs: + pytest: + runs-on: ubuntu-latest + strategy: + matrix: + python-version: [ "3.10", "3.12", "3.14" ] + os: [ ubuntu-latest ] + + steps: + - name: Checkout + uses: actions/checkout@v6 + - name: Set up Python ${{ matrix.python-version }} + uses: actions/setup-python@v6 + with: + python-version: ${{ matrix.python-version }} + - name: Install + run: pip install .[test] + - name: Test with pytest + run: pytest diff --git a/README.md b/README.md index 24fe1b7..666f54b 100644 --- a/README.md +++ b/README.md @@ -1,4 +1,4 @@ -[![pytest](https://github.com/wimpomp/parfor/actions/workflows/publish.yml/badge.svg)](https://github.com/wimpomp/parfor/actions/workflows/publish.yml) +[![pytest](https://git.wimpomp.nl/wim/parfor/actions/workflows/pytest.yml/badge.svg)](https://git.wimpomp.nl/wim/parfor/actions?workflow=pytest.yml) # Parfor Used to parallelize for-loops using parfor in Matlab? This package allows you to do the same in python. diff --git a/parfor/__init__.py b/parfor/__init__.py index d0c4e20..0996b11 100644 --- a/parfor/__init__.py +++ b/parfor/__init__.py @@ -512,7 +512,8 @@ class ParPool: class PoolSingleton: cpu_count: int = os.cpu_count() - def close(self) -> None: + @staticmethod + def close(*args, **kwargs) -> None: pass diff --git a/pyproject.toml b/pyproject.toml index 91629c3..3c1bb05 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -1,6 +1,6 @@ [project] name = "parfor" -version = "2026.2.2" +version = "2026.5.0" description = "A package to mimic the use of parfor as done in Matlab." authors = [ { name = "Wim Pomp-Pervova", email = "wimpomp@gmail.com" } @@ -17,7 +17,7 @@ dependencies = [ ] [project.urls] -repository = "https://github.com/wimpomp/parfor" +repository = "https://git.wimpomp.nl/wim/parfor" [project.optional-dependencies] test = ["pytest"]