diff --git a/.github/dependabot.yml b/.github/dependabot.yml new file mode 100644 index 00000000..8ac6b8c4 --- /dev/null +++ b/.github/dependabot.yml @@ -0,0 +1,6 @@ +version: 2 +updates: + - package-ecosystem: "github-actions" + directory: "/" + schedule: + interval: "monthly" diff --git a/.github/workflows/docs.yml b/.github/workflows/docs.yml index c9a58941..c8f0cda2 100644 --- a/.github/workflows/docs.yml +++ b/.github/workflows/docs.yml @@ -10,9 +10,12 @@ on: jobs: docs: - runs-on: ubuntu-22.04 + runs-on: ubuntu-latest steps: - - uses: actions/checkout@v3 + - uses: actions/checkout@v7 + - uses: actions/setup-python@v7 + with: + python-version: "3.12" - name: Install dependencies run: | python -m pip install --upgrade pip diff --git a/.github/workflows/style.yml b/.github/workflows/style.yml index fddc6485..585a8b04 100644 --- a/.github/workflows/style.yml +++ b/.github/workflows/style.yml @@ -13,8 +13,8 @@ jobs: name: Style Check runs-on: ubuntu-latest steps: - - uses: actions/checkout@v4 - - uses: astral-sh/setup-uv@v3 + - uses: actions/checkout@v7 + - uses: astral-sh/setup-uv@v10.2.0 - name: Install Python run: uv python install 3.11 - name: Check style diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index d20ca8a7..8a45fd3d 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -10,21 +10,17 @@ on: jobs: test: - name: Python ${{ matrix.python-version }} / ${{ matrix.os }} / ${{ matrix.numpy }} + name: Python ${{ matrix.python-version }} / ${{ matrix.os }} strategy: fail-fast: false matrix: os: [windows-latest, ubuntu-latest, macos-latest] - python-version: ["3.9", "3.10", "3.11", "3.12", "3.13"] - numpy: ["numpy"] - include: - - os: ubuntu-latest - python-version: "3.9" - numpy: "numpy==1.26.4" + python-version: ["3.11", "3.12", "3.13", "3.14", "3.15"] runs-on: ${{ matrix.os }} + timeout-minutes: 45 steps: - - uses: actions/checkout@v4 - - uses: astral-sh/setup-uv@v3 + - uses: actions/checkout@v7 + - uses: astral-sh/setup-uv@v10.2.0 - name: Install Python ${{ matrix.python-version }} run: uv python install ${{ matrix.python-version }} - name: Install libsndfile @@ -33,34 +29,4 @@ jobs: - name: Run tests env: MPLBACKEND: Agg - run: uv run --with ${{ matrix.numpy }} --extra dev pytest - - test-deb11-i386: - name: Python 3.7 on Debian 11 i386 - runs-on: ubuntu-latest - container: i386/debian:11 - env: - NPY_PROMOTION_STATE: weak_and_warn - steps: - - name: Install dependencies - run: | - apt-get update - apt-get install -y --no-install-recommends \ - python3-fsspec \ - python3-matplotlib \ - python3-numpy \ - python3-pandas \ - python3-pip \ - python3-requests \ - python3-scipy \ - python3-soundfile \ - python3-pytest \ - git - python3 --version - # Note: "actions/checkout@v2" requires libstdc++6:amd64 to be - # installed in the container. To keep things simple, use - # "actions/checkout@v1" instead. - # https://github.com/actions/checkout/issues/334 - - uses: actions/checkout@v1 - - name: Run tests - run: pytest-3 + run: uv run --python ${{ matrix.python-version }} --extra dev pytest diff --git a/.readthedocs.yml b/.readthedocs.yml index 7d45d867..17aa4845 100644 --- a/.readthedocs.yml +++ b/.readthedocs.yml @@ -3,9 +3,9 @@ version: 2 build: - os: "ubuntu-20.04" + os: "ubuntu-24.04" tools: - python: "3.10" + python: "3.12" # Build from the docs/ directory with Sphinx sphinx: diff --git a/DEVELOPING.md b/DEVELOPING.md index cf3ec53b..04906337 100644 --- a/DEVELOPING.md +++ b/DEVELOPING.md @@ -36,15 +36,10 @@ uv add --optional It may be useful to publish to testpypi and preview the changes before publishing to PyPi. However, the project dependencies likely will not be available when trying to install from there. -Setup: configure access to repositories: +Setup: create an API token on PyPI (and on TestPyPI for test uploads) and pass it to uv: ```sh -# Create an API token, then add it -poetry config pypi-token.pypi - -# For testpypi -poetry config repositories.test-pypi https://test.pypi.org/legacy/ -poetry config pypi-token.test-pypi +export UV_PUBLISH_TOKEN= ``` To build and upload a new distribution: