From 25c4830028f3f4347fb786aee3d83043aafdf248 Mon Sep 17 00:00:00 2001 From: SaridakisStamatisChristos <34583142+SaridakisStamatisChristos@users.noreply.github.com> Date: Sat, 4 Oct 2025 15:26:11 +0300 Subject: [PATCH] Update badges and deployment docs --- .github/workflows/pages.yml | 1 + README.md | 33 +++++++++++++++++++++++++++++---- 2 files changed, 30 insertions(+), 4 deletions(-) diff --git a/.github/workflows/pages.yml b/.github/workflows/pages.yml index c1f8478..1a808ba 100644 --- a/.github/workflows/pages.yml +++ b/.github/workflows/pages.yml @@ -21,6 +21,7 @@ jobs: runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 + - uses: actions/configure-pages@v4 - name: Upload artifact uses: actions/upload-pages-artifact@v3 with: diff --git a/README.md b/README.md index dee4103..ccb6d19 100644 --- a/README.md +++ b/README.md @@ -5,10 +5,11 @@ Targets **minimal, unique** puzzles (17-clue hunt capable). > © 2025 Stamatis-Christos Saridakis — MIT. Core algorithm: exact cover (Knuth). This implementation is original and bitset-based. -[![CI](https://github.com/#SaridakisStamatisChristos/sudoku-dlx-bitset/actions/workflows/ci.yml/badge.svg)](https://github.com//sudoku-dlx/actions/workflows/ci.yml) -[![codecov](https://codecov.io/gh/SaridakisStamatisChristos/sudoku-dlx-bitset/branch/main/graph/badge.svg)](https://codecov.io/gh//sudoku_dlx) -[![PyPI version](https://img.shields.io/pypi/v/sudoku_dlx-bitset.svg)](https://pypi.org/project/sudoku_dlx/) -[![pages](https://img.shields.io/badge/GitHubPages-demo-blue)](https://sudoku_dlx.github.io/sudoku-dlx) +[![CI](https://github.com/SaridakisStamatisChristos/sudoku_dlx/actions/workflows/ci.yml/badge.svg?branch=main)](https://github.com/SaridakisStamatisChristos/sudoku_dlx/actions/workflows/ci.yml) +[![Codecov](https://codecov.io/gh/SaridakisStamatisChristos/sudoku_dlx/branch/main/graph/badge.svg)](https://codecov.io/gh/SaridakisStamatisChristos/sudoku_dlx) +[![License: MIT](https://img.shields.io/github/license/SaridakisStamatisChristos/sudoku_dlx.svg)](LICENSE) +[![PyPI version](https://img.shields.io/pypi/v/sudoku-dlx-bitset.svg)](https://pypi.org/project/sudoku-dlx-bitset/) +[![GitHub Pages](https://img.shields.io/badge/GitHub%20Pages-demo-blue)](https://SaridakisStamatisChristos.github.io/sudoku_dlx/) ## Features - Bitset DLX (no pointer structs), precomputed 729×324 exact-cover matrix @@ -78,3 +79,27 @@ print(hardness_estimate(g)) # e.g., 3.8 ## License MIT — see LICENSE. + +## Publish to PyPI + +This repository is already structured as a Python package (`src` layout, metadata in `pyproject.toml`). +To publish a new version on [PyPI](https://pypi.org/project/sudoku-dlx-bitset/): + +1. Update `pyproject.toml` with the new `version` and adjust the changelog/release notes. +2. Make sure the build backend is installed, then build the distribution artifacts: + + ```bash + python -m pip install --upgrade build twine + python -m build # creates dist/*.tar.gz and dist/*.whl + ``` + +3. Upload the artifacts with [Twine](https://twine.readthedocs.io/): + + ```bash + python -m twine upload dist/* + ``` + +4. Tag the release in Git and push the tag so GitHub releases stay in sync. + +The CI workflow already runs tests against multiple Python versions and uploads coverage +reports to Codecov; the `pages` workflow deploys the static demo from the `web/` directory.