hodoku-py
A pure Python port of HoDoKu — Sudoku solver, hint engine, puzzle generator, and difficulty rater minus the GUI.
hodoku-py has full fidelity with HoDoKu 2.2.0: exact same solution path and score across all tested puzzles, in pure python (well, a couple small bits in c).
Nightly parity test results — head-to-head comparison against HoDoKu across thousands of puzzles.
Status
Core solver complete through all techniques. Public API (Solver.solve, get_hint, rate) implemented. Puzzle generator implemented with symmetric and pattern-based generation.
| Layer | Techniques | Status |
|---|---|---|
| Singles | Full House, Naked Single, Hidden Single | ✅ |
| Intersections + Subsets | Locked Candidates 1&2, Naked/Hidden Pair/Triple/Quad | ✅ |
| Single-digit patterns | Skyscraper, 2-String Kite, Empty Rectangle | ✅ |
| Wings | XY-Wing, XYZ-Wing, W-Wing | ✅ |
| Coloring | Simple Colors, Multi-Colors 1&2 | ✅ |
| Uniqueness | UT1–6, Hidden Rectangle, BUG+1 | ✅ |
| Fish | X-Wing through Whale; Finned/Sashimi, Franken, Mutant variants | ✅ |
| Chains | X-Chain, XY-Chain, Remote Pair, DNL, CNL, AIC, Grouped Nice Loops/AIC | ✅ |
| ALS | ALS-XZ, ALS-XY-Wing, ALS-XY-Chain, Death Blossom | ✅ |
| Forcing chains/nets | Contradiction + Verity | ✅ |
| Misc | Sue de Coq | ✅ |
| Templates | Template Set/Delete | ✅ |
| Public API | Solver.solve, get_hint, rate, find_all_steps, SolverConfig |
✅ |
| Generator | Puzzle generation | ✅ |
See docs/ROADMAP.md for full details and known gaps.
Requirements
- Python 3.11+
- (optional) C build tools (build-essential, xcode, or MSVC) to build native extensions that accelerate
large Mutant fish searches and the backtracking solver used for generation/uniqueness checking.
Both are optional with pure Python fallbacks. To build:
python setup.py build_ext --inplace(add--compiler=mingw32on Windows with MinGW). See Implementation notes for details.
Installation
pip (recommended)
pip install hodoku-py
from source
pip install -e .
Testing
Install test dependencies
pip install -e ".[test]"
Unit tests
pytest -m unit -v
reglib — HoDoKu's built-in regression suite (~2 min, ~1100 tests)
Each test reconstructs a fixed pencilmark board and asserts that one specific technique fires with the expected eliminations.
pytest tests/reglib/ -q
# Single technique by code
pytest tests/reglib/ -k "0901" -v
# Technique family
pytest tests/reglib/ --reglib-section 09 -v
parity — head-to-head HoDoKu comparison (requires Java JRE installation)
Comparison of full solution solve path against HoDoKu.jar via Py4J.
pip install .[test-parity]
pytest tests/parity/ --puzzle-file exemplars-1.0 -v
pytest tests/parity/ --puzzle-file top1465 --puzzle-count 50 --puzzle-seed 7 -v
Puzzle files are plain text (one puzzle per line) sourced from tests/testdata/.
The full parity suite runs nightly. Latest results.
Project structure
src/hodoku/
├── core/ # Grid, CellSet, SolutionStep, enums, scoring
├── solver/ # One file per technique family + central dispatcher
│ ├── step_finder.py # SudokuStepFinder — routes get_step() calls
│ ├── solver.py # SudokuSolver — solve loop and difficulty rating
│ ├── simple.py # Singles, locked candidates, subsets
│ ├── fish.py # Basic, finned/sashimi, Franken, Mutant fish
│ ├── _fish_accel.c # optional C accelerator for Mutant fish
│ ├── single_digit.py # Skyscraper, 2-String Kite, Empty Rectangle
│ ├── uniqueness.py # Uniqueness Tests 1–6, BUG+1
│ ├── wings.py # XY-Wing, XYZ-Wing, W-Wing
│ ├── coloring.py # Simple Colors, Multi-Colors
│ ├── chains.py # X-Chain, XY-Chain, Nice Loop / AIC families
│ ├── tabling.py # Forcing Chains/Nets
│ ├── als.py # ALS-XZ, ALS-XY-Wing, ALS-XY-Chain, Death Blossom
│ ├── misc.py # Sue de Coq
│ └── templates.py # Template Set/Delete
└── generator/ # Backtracking solver, uniqueness checker, puzzle generation
├── generator.py # SudokuGenerator — backtracking solver + puzzle generation
├── _gen_accel.c # optional C accelerator for backtracking solver
└── pattern.py # GeneratorPattern for pattern-constrained generation
hodoku/ # Bundled HoDoKu 2.2.0 JAR (for validation)
docs/ # Architecture, roadmap, specs
tests/
├── reglib/ # Technique-isolation regression suite (pure Python)
├── parity/ # Head-to-head parity suite (requires Java + py4j)
├── generator/ # Generator unit, integration, and parity tests
└── testdata/ # Puzzle files for parity testing
Validation approach
Every technique is validated by solving the puzzle and comparing the solution with HoDoKu's in detail — same list of techniques, eliminations, and placements, in the same order. See docs/ARCHITECTURE.md for internals and porting notes.
Implementation notes
C accelerators
CPython is ~50-100x slower than Java JIT for tight bitwise loops, so two optional C extensions accelerate the most performance-sensitive code paths:
- Fish cover search (
solver/_fish_accel.c): The Mutant and Franken variants of the largest Fish (Squirmbag, Whale, Leviathan) have enormous search spaces. The cover DFS is implemented in C. - Backtracking solver (
generator/_gen_accel.c): The backtracking solver used for uniqueness checking and puzzle generation runs ~10x faster with the C accelerator.
Both are built via python setup.py build_ext --inplace and have pure Python fallbacks.
Quick demo
from hodoku import Solver, Generator, DifficultyType, SolverConfig
# Solve a puzzle
solver = Solver()
result = solver.solve(
"530070000600195000098000060800060003400803001700020006060000280000419005000080079"
)
print(f"Difficulty: {result.level.name} (score {result.score})")
print(f"Solved in {len(result.steps)} steps")
# Difficulty: EASY (score 204)
# Solved in 51 steps
# Generate a puzzle
gen = Generator()
puzzle = gen.generate(difficulty=DifficultyType.HARD)
print(puzzle) # 81-char string, 0s for empty cells
# Custom solver configuration
from hodoku.config import StepSearchConfig, FishSearchConfig, FishType
cfg = SolverConfig(
solve_search=StepSearchConfig(
fish=FishSearchConfig(fish_type=FishType.BASIC_FRANKEN_MUTANT),
),
)
solver = Solver(config=cfg)
Why?
Good question. I was curious whether one could use Claude Code to port a complex code base from java to python. Turns out one could.
License
HoDoKu is GPL-3.0. This port carries the same license.
Metadata
Release files for hodoku-py 0.2.1
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| hodoku_py-0.2.1.tar.gz | 119.9 kB | Details |
Built distributions (wheels)
Total release size: 3.4 MB
Release files / hodoku_py-0.2.1.tar.gz
| Download URL | hodoku_py-0.2.1.tar.gz |
|---|---|
| Size | 119.9 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
63b3a862760de0760535ac4dcdbcda13b04ea4422791ab7878bdcab0051d6d0b
|
|
BLAKE2b-256 checksum How to use checksums |
779f1284328b3fc57850238c1305fcb5132c9211ac8e383f857016bcdfffb03c
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.7
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Apr 6, 2026.
Transparency logRelease files / hodoku_py-0.2.1-cp313-cp313-win_amd64.whl
| Download URL | hodoku_py-0.2.1-cp313-cp313-win_amd64.whl |
|---|---|
| Size | 119.6 kB |
| Tags | CPython 3.13 Windows x86-64 |
|
SHA-256 checksum How to use checksums |
59573c6373875d7169175e804b9378f4295061956a0ba11cd6704dcd8727d3b9
|
|
BLAKE2b-256 checksum How to use checksums |
863d5cc8a3f6e5bc96712223219b9f49f716f240840f4626d499deab9ec88bea
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.7
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Apr 6, 2026.
Transparency logRelease files / hodoku_py-0.2.1-cp313-cp313-win32.whl
| Download URL | hodoku_py-0.2.1-cp313-cp313-win32.whl |
|---|---|
| Size | 119.6 kB |
| Tags | CPython 3.13 Windows x86-32 |
|
SHA-256 checksum How to use checksums |
ae5ed03f18bf138b91eafdae1f7a96201d3809474091e429dc2a54fe34a4ab0e
|
|
BLAKE2b-256 checksum How to use checksums |
a250f9340d897f7e007e4cee68234c8932eeed15e7d7c2fdf8a9761639cf20a8
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.7
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Apr 6, 2026.
Transparency logRelease files / hodoku_py-0.2.1-cp313-cp313-musllinux_1_2_x86_64.whl
| Download URL | hodoku_py-0.2.1-cp313-cp313-musllinux_1_2_x86_64.whl |
|---|---|
| Size | 178.8 kB |
| Tags | CPython 3.13 Linux musl 1.2+ x86-64 |
|
SHA-256 checksum How to use checksums |
825414806ce62e1e46f8d61a9eed486cc94b43556fa8eae675e08014ccceb0d0
|
|
BLAKE2b-256 checksum How to use checksums |
a2adce61b176e0b91884719f921745723efce5363ea6291c3d3ef029f886fc70
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.7
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Apr 6, 2026.
Transparency logRelease files / hodoku_py-0.2.1-cp313-cp313-musllinux_1_2_i686.whl
| Download URL | hodoku_py-0.2.1-cp313-cp313-musllinux_1_2_i686.whl |
|---|---|
| Size | 179.5 kB |
| Tags | CPython 3.13 Linux musl 1.2+ x86-32 |
|
SHA-256 checksum How to use checksums |
8022b36e8feb91864a93055e6fd318943d76c96aca295450e544163474087a67
|
|
BLAKE2b-256 checksum How to use checksums |
04fcd2e960e7858a5f07de1bd4e881833c8ca33a7c9684f30a975ea7c2c9b245
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.7
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Apr 6, 2026.
Transparency logRelease files / hodoku_py-0.2.1-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
| Download URL | hodoku_py-0.2.1-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl |
|---|---|
| Size | 178.3 kB |
| Tags | CPython 3.13 Linux glibc 2.17+ x86-64 |
|
SHA-256 checksum How to use checksums |
ff76055f98fadb2acb91f08ca8753fd49db4d946d8b876d94d0743b35239022c
|
|
BLAKE2b-256 checksum How to use checksums |
61c6f695ae02a972ca5902b97a7204eb9525a23e9309829dd723a9438712ad0c
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.7
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Apr 6, 2026.
Transparency logRelease files / hodoku_py-0.2.1-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl
| Download URL | hodoku_py-0.2.1-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl |
|---|---|
| Size | 178.3 kB |
| Tags | CPython 3.13 Linux glibc 2.17+ x86-32 Linux glibc 2.5+ x86-32 |
|
SHA-256 checksum How to use checksums |
0ebae27cdac6fe2fc1eed213399dfba037dc18c7b7101be17387724460cefb2e
|
|
BLAKE2b-256 checksum How to use checksums |
3a8ec09ba682e7e0d34caf40a2da5e1795de8d56eb4e87ccbdfb66c3e72348bc
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.7
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Apr 6, 2026.
Transparency logRelease files / hodoku_py-0.2.1-cp313-cp313-macosx_11_0_arm64.whl
| Download URL | hodoku_py-0.2.1-cp313-cp313-macosx_11_0_arm64.whl |
|---|---|
| Size | 133.8 kB |
| Tags | CPython 3.13 macOS 11.0+ ARM64 |
|
SHA-256 checksum How to use checksums |
204bfde1ee49afc72602c63bfc5f0c3a6041c417b45fcfa8de4eac0a9d25f7c2
|
|
BLAKE2b-256 checksum How to use checksums |
c154af98c6e6479a3ec5924db5338958eb88d67645ef4c0fe1c54db3d60611b8
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.7
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Apr 6, 2026.
Transparency logRelease files / hodoku_py-0.2.1-cp312-cp312-win_amd64.whl
| Download URL | hodoku_py-0.2.1-cp312-cp312-win_amd64.whl |
|---|---|
| Size | 119.6 kB |
| Tags | CPython 3.12 Windows x86-64 |
|
SHA-256 checksum How to use checksums |
213ad1b3b124ef25c81cf96ac7ed22f8b5c7b2816e18b38774263db50ed33e5c
|
|
BLAKE2b-256 checksum How to use checksums |
2ff1d36575f30f394de7c85f5b405bb61774a58d13a7cff97f008e2b5ce053dd
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.7
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Apr 6, 2026.
Transparency logRelease files / hodoku_py-0.2.1-cp312-cp312-win32.whl
| Download URL | hodoku_py-0.2.1-cp312-cp312-win32.whl |
|---|---|
| Size | 119.6 kB |
| Tags | CPython 3.12 Windows x86-32 |
|
SHA-256 checksum How to use checksums |
d6ce212787e7a966b719ffbf267b4d40690f6531c50f69f659db05a12ae7c998
|
|
BLAKE2b-256 checksum How to use checksums |
515961cd3701f75ce08ace716796773cb3153c2c795b8f9415f982567fea177e
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.7
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Apr 6, 2026.
Transparency logRelease files / hodoku_py-0.2.1-cp312-cp312-musllinux_1_2_x86_64.whl
| Download URL | hodoku_py-0.2.1-cp312-cp312-musllinux_1_2_x86_64.whl |
|---|---|
| Size | 178.7 kB |
| Tags | CPython 3.12 Linux musl 1.2+ x86-64 |
|
SHA-256 checksum How to use checksums |
93064f23443a3828a388d416969eb4cb057e7a429a7f021ae4115e3286f9e979
|
|
BLAKE2b-256 checksum How to use checksums |
89fa548233af8cd2f9a21b7f3343da84bdb584149b00c78646fc474a2b188f1c
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.7
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Apr 6, 2026.
Transparency logRelease files / hodoku_py-0.2.1-cp312-cp312-musllinux_1_2_i686.whl
| Download URL | hodoku_py-0.2.1-cp312-cp312-musllinux_1_2_i686.whl |
|---|---|
| Size | 179.4 kB |
| Tags | CPython 3.12 Linux musl 1.2+ x86-32 |
|
SHA-256 checksum How to use checksums |
f56ad4065c435b3a55a2f0401e6d6495ac7d3c7b405e4ff3eef25ed98637adfb
|
|
BLAKE2b-256 checksum How to use checksums |
2440ea5ff24fe66a50d65cb5978601d40d8d2008526569ca24641d1aa67a4d6d
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.7
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Apr 6, 2026.
Transparency logRelease files / hodoku_py-0.2.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
| Download URL | hodoku_py-0.2.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl |
|---|---|
| Size | 178.4 kB |
| Tags | CPython 3.12 Linux glibc 2.17+ x86-64 |
|
SHA-256 checksum How to use checksums |
7f1303b6b5dc33c779b8ad00dfd1099af2abfde2b5e253da8658b48057330d3c
|
|
BLAKE2b-256 checksum How to use checksums |
78e19e087d1ba406c83d1d33fc08e62b41c4a5b9d47c7e90055c59d29eb119db
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.7
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Apr 6, 2026.
Transparency logRelease files / hodoku_py-0.2.1-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl
| Download URL | hodoku_py-0.2.1-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl |
|---|---|
| Size | 178.4 kB |
| Tags | CPython 3.12 Linux glibc 2.17+ x86-32 Linux glibc 2.5+ x86-32 |
|
SHA-256 checksum How to use checksums |
ea15db5e10ddbfae6d604015540c4e2ca7b3c0d68ce84dd10056ffb3a496a3ef
|
|
BLAKE2b-256 checksum How to use checksums |
79c589a3f2298fc64da6762a441a77da8d7ad7bb47b94cf5acafdcd7df52fea4
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.7
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Apr 6, 2026.
Transparency logRelease files / hodoku_py-0.2.1-cp312-cp312-macosx_11_0_arm64.whl
| Download URL | hodoku_py-0.2.1-cp312-cp312-macosx_11_0_arm64.whl |
|---|---|
| Size | 133.8 kB |
| Tags | CPython 3.12 macOS 11.0+ ARM64 |
|
SHA-256 checksum How to use checksums |
d0d4995284949e69e5ec348128af10b75b7ddda6c03e5ebd588feeed51d8eaeb
|
|
BLAKE2b-256 checksum How to use checksums |
03f81d9cc7ac6923594a7a0a4cb34a017b5a7ebf1f98f022b7acb4410aa84782
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.7
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Apr 6, 2026.
Transparency logRelease files / hodoku_py-0.2.1-cp311-cp311-win_amd64.whl
| Download URL | hodoku_py-0.2.1-cp311-cp311-win_amd64.whl |
|---|---|
| Size | 119.6 kB |
| Tags | CPython 3.11 Windows x86-64 |
|
SHA-256 checksum How to use checksums |
5e103703c200c12f1dc1a5ea205592dd30c9a4b8184169a203b396e0a95c7935
|
|
BLAKE2b-256 checksum How to use checksums |
5785228d9c176e914a1f525bea1e908d87cccddbfdc1be45eeb2c34f6d1dd555
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.7
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Apr 6, 2026.
Transparency logRelease files / hodoku_py-0.2.1-cp311-cp311-win32.whl
| Download URL | hodoku_py-0.2.1-cp311-cp311-win32.whl |
|---|---|
| Size | 119.6 kB |
| Tags | CPython 3.11 Windows x86-32 |
|
SHA-256 checksum How to use checksums |
0ef2e9d399a349c12a2c5d21d9b1fb3c58426a7b914c1e48ae6c6cf55e7cc267
|
|
BLAKE2b-256 checksum How to use checksums |
98c0f8a99ea7361457a4e0083f5f4c5c0e7c3a568f03dd0429c619bb6954751a
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.7
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Apr 6, 2026.
Transparency logRelease files / hodoku_py-0.2.1-cp311-cp311-musllinux_1_2_x86_64.whl
| Download URL | hodoku_py-0.2.1-cp311-cp311-musllinux_1_2_x86_64.whl |
|---|---|
| Size | 178.0 kB |
| Tags | CPython 3.11 Linux musl 1.2+ x86-64 |
|
SHA-256 checksum How to use checksums |
b38e47ef18f638727832a8833f8a1f8c44866cdcfc867805186919a375f61ce6
|
|
BLAKE2b-256 checksum How to use checksums |
1acb05aa1a7386721d98928d7ca29b35497bdb7c8bd3ad6beb2903af7da68198
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.7
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Apr 6, 2026.
Transparency logRelease files / hodoku_py-0.2.1-cp311-cp311-musllinux_1_2_i686.whl
| Download URL | hodoku_py-0.2.1-cp311-cp311-musllinux_1_2_i686.whl |
|---|---|
| Size | 178.9 kB |
| Tags | CPython 3.11 Linux musl 1.2+ x86-32 |
|
SHA-256 checksum How to use checksums |
ba215d164719ded5bb024281d2abc6a519098e9f9a4e6852e51b4f1fb0edba68
|
|
BLAKE2b-256 checksum How to use checksums |
b91ff53f26caca85245d5fd9fee56238600532b602ab2736430166169c9da8dc
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.7
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Apr 6, 2026.
Transparency logRelease files / hodoku_py-0.2.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
| Download URL | hodoku_py-0.2.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl |
|---|---|
| Size | 177.5 kB |
| Tags | CPython 3.11 Linux glibc 2.17+ x86-64 |
|
SHA-256 checksum How to use checksums |
81546a335672f319431c9119e8cc7082cbdada0fa3c7cbf288ffa4744bc52d33
|
|
BLAKE2b-256 checksum How to use checksums |
08636b0bfdc2643942c18719a4f9d97ba98db87c377c09de9b075e2237f4410b
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.7
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Apr 6, 2026.
Transparency logRelease files / hodoku_py-0.2.1-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl
| Download URL | hodoku_py-0.2.1-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl |
|---|---|
| Size | 177.5 kB |
| Tags | CPython 3.11 Linux glibc 2.17+ x86-32 Linux glibc 2.5+ x86-32 |
|
SHA-256 checksum How to use checksums |
568357c4551b0c0ca6974f7fa8de4d810dda5c822599cd19aae04ac3d39e450c
|
|
BLAKE2b-256 checksum How to use checksums |
29281db2b09c02b8dcfba6c88148c586a8ce2060dc4109f4de790cdddd202608
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.7
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Apr 6, 2026.
Transparency logRelease files / hodoku_py-0.2.1-cp311-cp311-macosx_11_0_arm64.whl
| Download URL | hodoku_py-0.2.1-cp311-cp311-macosx_11_0_arm64.whl |
|---|---|
| Size | 133.8 kB |
| Tags | CPython 3.11 macOS 11.0+ ARM64 |
|
SHA-256 checksum How to use checksums |
4a900ad087134cd63cb7dd0e5f352d7015d0f587edd577196a4d8ba930ad3e77
|
|
BLAKE2b-256 checksum How to use checksums |
b3cf2127abe48dc5e5f1896302c72de4a3617ae7a416aebe690d8ab4e2411f7c
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.7
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Apr 6, 2026.
Transparency log