From e9765e8b6a3bead08e0cc326fa91f4684c6b875d Mon Sep 17 00:00:00 2001 From: deesiigneer Date: Sat, 17 Jan 2026 19:30:51 +0000 Subject: [PATCH] refactor: update Python publish workflow to use Poetry for dependency management --- .github/workflows/python-publish.yml | 42 ++++++++++++++++------------ pyproject.toml | 9 ++++-- 2 files changed, 31 insertions(+), 20 deletions(-) diff --git a/.github/workflows/python-publish.yml b/.github/workflows/python-publish.yml index 3944788..2ae8d7d 100644 --- a/.github/workflows/python-publish.yml +++ b/.github/workflows/python-publish.yml @@ -17,22 +17,28 @@ jobs: runs-on: ubuntu-latest strategy: matrix: - python-version: [ 3.12 ] + python-version: [3.12] steps: - - uses: actions/checkout@v3 - - name: Set up Python ${{ matrix.python-version }} - uses: actions/setup-python@v2 - with: - python-version: ${{ matrix.python-version }} - - name: Install dependencies - run: | - python -m pip install --upgrade pip - pip install twine - - name: Compile package - run: | - python3 setup.py sdist - - name: Publish package - uses: pypa/gh-action-pypi-publish@release/v1 - with: - user: __token__ - password: ${{ secrets.PYPI_API_TOKEN }} + - uses: actions/checkout@v3 + + - name: Set up Python ${{ matrix.python-version }} + uses: actions/setup-python@v2 + with: + python-version: ${{ matrix.python-version }} + + - name: Install Poetry + run: | + curl -sSL https://install.python-poetry.org | python3 - + echo "$HOME/.local/bin" >> $GITHUB_PATH + + - name: Install dependencies + run: poetry install --no-interaction + + - name: Build package + run: poetry build + + - name: Publish package + uses: pypa/gh-action-pypi-publish@release/v1 + with: + user: __token__ + password: ${{ secrets.PYPI_API_TOKEN }} diff --git a/pyproject.toml b/pyproject.toml index c40712a..e6c600f 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -15,9 +15,14 @@ Repository = "https://github.com/deesiigneer/pyspapi" "Issue Tracker" = "https://github.com/deesiigneer/pyspapi/issues" Discord = "https://discord.com/invite/VbyHaKRAaN" -[dependency-groups] +[project.optional-dependencies] +docs = [ + "sphinx>=7,<9", + "sphinx-autobuild>=2025.8.25,<2026.0.0", + "pydata-sphinx-theme>=0.16.1,<0.17.0", +] dev = ["ruff>=0.14,<0.15", "toml-sort>=0.24,<0.25"] -docs = ["sphinx>=7,<9", "sphinx-autobuild (>=2025.8.25,<2026.0.0)", "pydata-sphinx-theme (>=0.16.1,<0.17.0)"] + [build-system] requires = ["poetry-core>=2.0.0,<3.0.0"]