@@ -5,10 +5,11 @@ Targets **minimal, unique** puzzles (17-clue hunt capable).
55
66> © 2025 Stamatis-Christos Saridakis — MIT. Core algorithm: exact cover (Knuth). This implementation is original and bitset-based.
77
8- [ ![ CI] ( https://github.com/#SaridakisStamatisChristos/sudoku-dlx-bitset/actions/workflows/ci.yml/badge.svg )] ( https://github.com/<your-username>/sudoku-dlx/actions/workflows/ci.yml )
9- [ ![ codecov] ( https://codecov.io/gh/SaridakisStamatisChristos/sudoku-dlx-bitset/branch/main/graph/badge.svg )] ( https://codecov.io/gh/<your-username>/sudoku_dlx )
10- [ ![ PyPI version] ( https://img.shields.io/pypi/v/sudoku_dlx-bitset.svg )] ( https://pypi.org/project/sudoku_dlx/ )
11- [ ![ pages] ( https://img.shields.io/badge/GitHubPages-demo-blue )] ( https://sudoku_dlx.github.io/sudoku-dlx )
8+ [ ![ 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 )
9+ [ ![ Codecov] ( https://codecov.io/gh/SaridakisStamatisChristos/sudoku_dlx/branch/main/graph/badge.svg )] ( https://codecov.io/gh/SaridakisStamatisChristos/sudoku_dlx )
10+ [ ![ License: MIT] ( https://img.shields.io/github/license/SaridakisStamatisChristos/sudoku_dlx.svg )] ( LICENSE )
11+ [ ![ PyPI version] ( https://img.shields.io/pypi/v/sudoku-dlx-bitset.svg )] ( https://pypi.org/project/sudoku-dlx-bitset/ )
12+ [ ![ GitHub Pages] ( https://img.shields.io/badge/GitHub%20Pages-demo-blue )] ( https://SaridakisStamatisChristos.github.io/sudoku_dlx/ )
1213
1314## Features
1415- Bitset DLX (no pointer structs), precomputed 729×324 exact-cover matrix
@@ -78,3 +79,27 @@ print(hardness_estimate(g)) # e.g., 3.8
7879## License
7980
8081MIT — see LICENSE.
82+
83+ ## Publish to PyPI
84+
85+ This repository is already structured as a Python package (` src ` layout, metadata in ` pyproject.toml ` ).
86+ To publish a new version on [ PyPI] ( https://pypi.org/project/sudoku-dlx-bitset/ ) :
87+
88+ 1 . Update ` pyproject.toml ` with the new ` version ` and adjust the changelog/release notes.
89+ 2 . Make sure the build backend is installed, then build the distribution artifacts:
90+
91+ ``` bash
92+ python -m pip install --upgrade build twine
93+ python -m build # creates dist/*.tar.gz and dist/*.whl
94+ ```
95+
96+ 3 . Upload the artifacts with [ Twine] ( https://twine.readthedocs.io/ ) :
97+
98+ ``` bash
99+ python -m twine upload dist/*
100+ ```
101+
102+ 4 . Tag the release in Git and push the tag so GitHub releases stay in sync.
103+
104+ The CI workflow already runs tests against multiple Python versions and uploads coverage
105+ reports to Codecov; the ` pages ` workflow deploys the static demo from the ` web/ ` directory.
0 commit comments