diff --git a/.github/workflows/documentation.yml b/.github/workflows/documentation.yml index 9ffb682f9..eea39fc3c 100644 --- a/.github/workflows/documentation.yml +++ b/.github/workflows/documentation.yml @@ -56,6 +56,14 @@ jobs: with: python-version: ${{ matrix.python-version }} + - name: Install a specific version of uv + uses: astral-sh/setup-uv@v3 + with: + version: "latest" + + - name: Make uv use system python + run: echo "UV_SYSTEM_PYTHON=true" >> $GITHUB_ENV + - name: Install Quarto uses: quarto-dev/quarto-actions/setup@v2 with: @@ -71,10 +79,7 @@ jobs: run: | ls -la ls -la doc - pip list - - - name: Get Commit Title - run: | + uv pip list - name: Build docs shell: bash diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index bdebe02b5..5aa52d761 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -29,9 +29,17 @@ jobs: uses: actions/checkout@v4 - name: Setup Python + uses: actions/setup-python@v5 with: python-version: ${{ matrix.python-version }} - uses: actions/setup-python@v5 + + - name: Install a specific version of uv + uses: astral-sh/setup-uv@v3 + with: + version: "latest" + + - name: Make uv use system python + run: echo "UV_SYSTEM_PYTHON=true" >> $GITHUB_ENV - name: Check for semantic version tag id: check-tag @@ -71,8 +79,16 @@ jobs: with: python-version: ${{ matrix.python-version }} + - name: Install a specific version of uv + uses: astral-sh/setup-uv@v3 + with: + version: "latest" + + - name: Make uv use system python + run: echo "UV_SYSTEM_PYTHON=true" >> $GITHUB_ENV + - name: Install Packages - run: python -m pip install build + run: uv pip install build - name: Build a wheel and a source tarball run: make dist diff --git a/.github/workflows/testing.yml b/.github/workflows/testing.yml index 89e82ee73..5487d6227 100644 --- a/.github/workflows/testing.yml +++ b/.github/workflows/testing.yml @@ -24,35 +24,43 @@ jobs: strategy: matrix: python-version: ["3.10", 3.12] - + resolution: highest + include: + - python-version: "3:10" + resolution: lowest-direct steps: - name: Checkout Code uses: actions/checkout@v4 - - uses: actions/setup-python@v5 + - name: Setup Python + uses: actions/setup-python@v5 with: python-version: ${{ matrix.python-version }} + - name: Install a specific version of uv + uses: astral-sh/setup-uv@v3 + with: + version: "latest" + + - name: Make uv use system python + run: echo "UV_SYSTEM_PYTHON=true" >> $GITHUB_ENV + - name: Install Packages - shell: bash run: | # Install as an editable so that the coverage path # is predicable - pip install -e ".[extra,test]" + uv pip install --resolution=${{ matrix.resolution }} -e ".[extra,test]" - name: Environment Information - shell: bash run: | - pip list + uv pip list - name: Run Tests - shell: bash run: | coverage erase make test - name: List Directory - shell: bash run: | ls -la @@ -93,14 +101,19 @@ jobs: with: python-version: ${{ matrix.python-version }} + - name: Install a specific version of uv + uses: astral-sh/setup-uv@v3 + with: + version: "latest" + + - name: Make uv use system python + run: echo "UV_SYSTEM_PYTHON=true" >> $GITHUB_ENV + - name: Install Packages - shell: bash - run: | - pip install ruff + run: uv tool install ruff - name: Environment Information - shell: bash - run: pip list + run: uv pip list - name: Check lint with Ruff shell: bash @@ -132,17 +145,22 @@ jobs: with: python-version: ${{ matrix.python-version }} + - name: Install a specific version of uv + uses: astral-sh/setup-uv@v3 + with: + version: "latest" + + - name: Make uv use system python + run: echo "UV_SYSTEM_PYTHON=true" >> $GITHUB_ENV + - name: Install Packages - shell: bash run: | - pip install ".[extra, typing]" + uv pip install ".[extra, typing]" - name: Environment Information - shell: bash - run: pip list + run: uv pip list - name: Run Tests - shell: bash run: make typecheck call-build-documentation: diff --git a/.github/workflows/weekly.yml b/.github/workflows/weekly.yml index 39406b240..9ec09e9f2 100644 --- a/.github/workflows/weekly.yml +++ b/.github/workflows/weekly.yml @@ -19,24 +19,29 @@ jobs: - name: Checkout Code uses: actions/checkout@v4 - - uses: actions/setup-python@v5 + - name: Setup Python + uses: actions/setup-python@v5 with: python-version: ${{ matrix.python-version }} + - name: Install a specific version of uv + uses: astral-sh/setup-uv@v3 + with: + version: "latest" + + - name: Make uv use system python + run: echo "UV_SYSTEM_PYTHON=true" >> $GITHUB_ENV + - name: Install Packages - shell: bash run: | - pip install --upgrade pip - pip install ".[extra,test]" - pip install --upgrade git+https://github.com/matplotlib/matplotlib + uv pip install ".[extra,test]" + uv pip install --upgrade git+https://github.com/matplotlib/matplotlib - name: Environment Information - shell: bash run: | - pip list + uv pip list - name: Run Tests - shell: bash run: | make test @@ -58,21 +63,29 @@ jobs: - name: Checkout Code uses: actions/checkout@v4 - - uses: actions/setup-python@v5 + - name: Setup Python + uses: actions/setup-python@v5 with: python-version: ${{ matrix.python-version }} + - name: Install a specific version of uv + uses: astral-sh/setup-uv@v3 + with: + version: "latest" + + - name: Make uv use system python + run: echo "UV_SYSTEM_PYTHON=true" >> $GITHUB_ENV + - name: Install Packages shell: bash run: | - pip install --upgrade pip - pip install ".[extra,test]" - pip install --upgrade git+https://github.com/pandas-dev/pandas + uv pip install ".[extra,test]" + uv pip install --upgrade git+https://github.com/pandas-dev/pandas - name: Environment Information shell: bash run: | - pip list + uv pip list # to do: think about catching deprecations earlier - name: Run Tests @@ -111,21 +124,29 @@ jobs: with: ref: ${{ steps.latestrelease.outputs.latestrelease }} - - uses: actions/setup-python@v5 + - name: Setup Python + uses: actions/setup-python@v5 with: python-version: ${{ matrix.python-version }} + - name: Install a specific version of uv + uses: astral-sh/setup-uv@v3 + with: + version: "latest" + + - name: Make uv use system python + run: echo "UV_SYSTEM_PYTHON=true" >> $GITHUB_ENV + - name: Install Packages shell: bash run: | - pip install --upgrade pip - pip install --upgrade git+https://github.com/matplotlib/matplotlib - pip install ".[extra,test]" + uv pip install --upgrade git+https://github.com/matplotlib/matplotlib + uv pip install ".[extra,test]" - name: Environment Information shell: bash run: | - pip list + uv pip list - name: Run Tests shell: bash @@ -163,21 +184,29 @@ jobs: with: ref: ${{ steps.latestrelease.outputs.latestrelease }} - - uses: actions/setup-python@v5 + - name: Setup Python + uses: actions/setup-python@v5 with: python-version: ${{ matrix.python-version }} + - name: Install a specific version of uv + uses: astral-sh/setup-uv@v3 + with: + version: "latest" + + - name: Make uv use system python + run: echo "UV_SYSTEM_PYTHON=true" >> $GITHUB_ENV + - name: Install Packages shell: bash run: | - pip install --upgrade pip - pip install --upgrade git+https://github.com/pandas-dev/pandas - pip install ".[extra,test]" + uv pip install --upgrade git+https://github.com/pandas-dev/pandas + uv pip install ".[extra,test]" - name: Environment Information shell: bash run: | - pip list + uv pip list # to do: think about catching deprecations earlier - name: Run Tests @@ -203,21 +232,29 @@ jobs: - name: Checkout Code uses: actions/checkout@v4 - - uses: actions/setup-python@v5 + - name: Setup Python + uses: actions/setup-python@v5 with: python-version: ${{ matrix.python-version }} + - name: Install a specific version of uv + uses: astral-sh/setup-uv@v3 + with: + version: "latest" + + - name: Make uv use system python + run: echo "UV_SYSTEM_PYTHON=true" >> $GITHUB_ENV + - name: Install Packages shell: bash run: | - pip install --upgrade pip - pip install ".[extra,typing]" - pip install --upgrade git+https://github.com/matplotlib/matplotlib + uv pip install ".[extra,typing]" + uv pip install --upgrade git+https://github.com/matplotlib/matplotlib - name: Environment Information shell: bash run: | - pip list + uv pip list - name: Run Tests shell: bash @@ -235,21 +272,29 @@ jobs: - name: Checkout Code uses: actions/checkout@v4 - - uses: actions/setup-python@v5 + - name: Setup Python + uses: actions/setup-python@v5 with: python-version: ${{ matrix.python-version }} + - name: Install a specific version of uv + uses: astral-sh/setup-uv@v3 + with: + version: "latest" + + - name: Make uv use system python + run: echo "UV_SYSTEM_PYTHON=true" >> $GITHUB_ENV + - name: Install Packages shell: bash run: | - pip install --upgrade pip - pip install ".[extra,typing]" - pip install --upgrade git+https://github.com/pandas-dev/pandas + uv pip install ".[extra,typing]" + uv pip install --upgrade git+https://github.com/pandas-dev/pandas - name: Environment Information shell: bash run: | - pip list + uv pip list # to do: think about catching deprecations earlier - name: Run Tests diff --git a/Makefile b/Makefile index 990c13dd4..3e9c55a0f 100644 --- a/Makefile +++ b/Makefile @@ -87,16 +87,16 @@ dist: clean build: dist install: clean - pip install ".[extra]" + uv pip install ".[extra]" doc-deps: - pip install -e ".[doc]" - pip install -r requirements/doc.txt + uv pip install -e ".[doc]" + uv pip install -r requirements/doc.txt cd doc && make deps develop: clean-cache - pip install -e ".[all]" + uv pip install -e ".[all]" develop-update: clean-cache - pip install --upgrade -e ".[all]" + uv pip install --upgrade -e ".[all]" pre-commit autoupdate