Skip to main content

Python port of HoDoKu's sudoku solver, hint engine, and generator

Project description

hodoku-py

Python 3.11+ PyPI License: GPL-3.0 CI Nightly Coverage

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=mingw32 on 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.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

hodoku_py-0.2.1.tar.gz (119.9 kB view details)

Uploaded Source

Built Distributions

If you're not sure about the file name format, learn more about wheel file names.

hodoku_py-0.2.1-cp313-cp313-win_amd64.whl (119.6 kB view details)

Uploaded CPython 3.13Windows x86-64

hodoku_py-0.2.1-cp313-cp313-win32.whl (119.6 kB view details)

Uploaded CPython 3.13Windows x86

hodoku_py-0.2.1-cp313-cp313-musllinux_1_2_x86_64.whl (178.8 kB view details)

Uploaded CPython 3.13musllinux: musl 1.2+ x86-64

hodoku_py-0.2.1-cp313-cp313-musllinux_1_2_i686.whl (179.5 kB view details)

Uploaded CPython 3.13musllinux: musl 1.2+ i686

hodoku_py-0.2.1-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (178.3 kB view details)

Uploaded CPython 3.13manylinux: glibc 2.17+ x86-64

hodoku_py-0.2.1-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl (178.3 kB view details)

Uploaded CPython 3.13manylinux: glibc 2.17+ i686manylinux: glibc 2.5+ i686

hodoku_py-0.2.1-cp313-cp313-macosx_11_0_arm64.whl (133.8 kB view details)

Uploaded CPython 3.13macOS 11.0+ ARM64

hodoku_py-0.2.1-cp312-cp312-win_amd64.whl (119.6 kB view details)

Uploaded CPython 3.12Windows x86-64

hodoku_py-0.2.1-cp312-cp312-win32.whl (119.6 kB view details)

Uploaded CPython 3.12Windows x86

hodoku_py-0.2.1-cp312-cp312-musllinux_1_2_x86_64.whl (178.7 kB view details)

Uploaded CPython 3.12musllinux: musl 1.2+ x86-64

hodoku_py-0.2.1-cp312-cp312-musllinux_1_2_i686.whl (179.4 kB view details)

Uploaded CPython 3.12musllinux: musl 1.2+ i686

hodoku_py-0.2.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (178.4 kB view details)

Uploaded CPython 3.12manylinux: glibc 2.17+ x86-64

hodoku_py-0.2.1-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl (178.4 kB view details)

Uploaded CPython 3.12manylinux: glibc 2.17+ i686manylinux: glibc 2.5+ i686

hodoku_py-0.2.1-cp312-cp312-macosx_11_0_arm64.whl (133.8 kB view details)

Uploaded CPython 3.12macOS 11.0+ ARM64

hodoku_py-0.2.1-cp311-cp311-win_amd64.whl (119.6 kB view details)

Uploaded CPython 3.11Windows x86-64

hodoku_py-0.2.1-cp311-cp311-win32.whl (119.6 kB view details)

Uploaded CPython 3.11Windows x86

hodoku_py-0.2.1-cp311-cp311-musllinux_1_2_x86_64.whl (178.0 kB view details)

Uploaded CPython 3.11musllinux: musl 1.2+ x86-64

hodoku_py-0.2.1-cp311-cp311-musllinux_1_2_i686.whl (178.9 kB view details)

Uploaded CPython 3.11musllinux: musl 1.2+ i686

hodoku_py-0.2.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (177.5 kB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ x86-64

hodoku_py-0.2.1-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl (177.5 kB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ i686manylinux: glibc 2.5+ i686

hodoku_py-0.2.1-cp311-cp311-macosx_11_0_arm64.whl (133.8 kB view details)

Uploaded CPython 3.11macOS 11.0+ ARM64

File details

Details for the file hodoku_py-0.2.1.tar.gz.

File metadata

  • Download URL: hodoku_py-0.2.1.tar.gz
  • Upload date:
  • Size: 119.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for hodoku_py-0.2.1.tar.gz
Algorithm Hash digest
SHA256 63b3a862760de0760535ac4dcdbcda13b04ea4422791ab7878bdcab0051d6d0b
MD5 5278550fb530af2575e351b8077d9cb9
BLAKE2b-256 779f1284328b3fc57850238c1305fcb5132c9211ac8e383f857016bcdfffb03c

See more details on using hashes here.

Provenance

The following attestation bundles were made for hodoku_py-0.2.1.tar.gz:

Publisher: publish.yml on alexdej/hodoku-py

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file hodoku_py-0.2.1-cp313-cp313-win_amd64.whl.

File metadata

  • Download URL: hodoku_py-0.2.1-cp313-cp313-win_amd64.whl
  • Upload date:
  • Size: 119.6 kB
  • Tags: CPython 3.13, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for hodoku_py-0.2.1-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 59573c6373875d7169175e804b9378f4295061956a0ba11cd6704dcd8727d3b9
MD5 363126ac83f20f5e7ccd845d0565e429
BLAKE2b-256 863d5cc8a3f6e5bc96712223219b9f49f716f240840f4626d499deab9ec88bea

See more details on using hashes here.

Provenance

The following attestation bundles were made for hodoku_py-0.2.1-cp313-cp313-win_amd64.whl:

Publisher: publish.yml on alexdej/hodoku-py

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file hodoku_py-0.2.1-cp313-cp313-win32.whl.

File metadata

  • Download URL: hodoku_py-0.2.1-cp313-cp313-win32.whl
  • Upload date:
  • Size: 119.6 kB
  • Tags: CPython 3.13, Windows x86
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for hodoku_py-0.2.1-cp313-cp313-win32.whl
Algorithm Hash digest
SHA256 ae5ed03f18bf138b91eafdae1f7a96201d3809474091e429dc2a54fe34a4ab0e
MD5 9eaeaf683bd238fe3b935d9c32c392a0
BLAKE2b-256 a250f9340d897f7e007e4cee68234c8932eeed15e7d7c2fdf8a9761639cf20a8

See more details on using hashes here.

Provenance

The following attestation bundles were made for hodoku_py-0.2.1-cp313-cp313-win32.whl:

Publisher: publish.yml on alexdej/hodoku-py

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file hodoku_py-0.2.1-cp313-cp313-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for hodoku_py-0.2.1-cp313-cp313-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 825414806ce62e1e46f8d61a9eed486cc94b43556fa8eae675e08014ccceb0d0
MD5 894a4144b57b452affb6e64b2dbfc09a
BLAKE2b-256 a2adce61b176e0b91884719f921745723efce5363ea6291c3d3ef029f886fc70

See more details on using hashes here.

Provenance

The following attestation bundles were made for hodoku_py-0.2.1-cp313-cp313-musllinux_1_2_x86_64.whl:

Publisher: publish.yml on alexdej/hodoku-py

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file hodoku_py-0.2.1-cp313-cp313-musllinux_1_2_i686.whl.

File metadata

File hashes

Hashes for hodoku_py-0.2.1-cp313-cp313-musllinux_1_2_i686.whl
Algorithm Hash digest
SHA256 8022b36e8feb91864a93055e6fd318943d76c96aca295450e544163474087a67
MD5 bc8dc4e8927deb6a16d3acc1cc4423ac
BLAKE2b-256 04fcd2e960e7858a5f07de1bd4e881833c8ca33a7c9684f30a975ea7c2c9b245

See more details on using hashes here.

Provenance

The following attestation bundles were made for hodoku_py-0.2.1-cp313-cp313-musllinux_1_2_i686.whl:

Publisher: publish.yml on alexdej/hodoku-py

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file hodoku_py-0.2.1-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for hodoku_py-0.2.1-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 ff76055f98fadb2acb91f08ca8753fd49db4d946d8b876d94d0743b35239022c
MD5 874891d9618886b609802ee499b19c2f
BLAKE2b-256 61c6f695ae02a972ca5902b97a7204eb9525a23e9309829dd723a9438712ad0c

See more details on using hashes here.

Provenance

The following attestation bundles were made for hodoku_py-0.2.1-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl:

Publisher: publish.yml on alexdej/hodoku-py

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file hodoku_py-0.2.1-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl.

File metadata

File hashes

Hashes for hodoku_py-0.2.1-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 0ebae27cdac6fe2fc1eed213399dfba037dc18c7b7101be17387724460cefb2e
MD5 12aceee61bc51cdaca76b21648754ef9
BLAKE2b-256 3a8ec09ba682e7e0d34caf40a2da5e1795de8d56eb4e87ccbdfb66c3e72348bc

See more details on using hashes here.

Provenance

The following attestation bundles were made for hodoku_py-0.2.1-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl:

Publisher: publish.yml on alexdej/hodoku-py

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file hodoku_py-0.2.1-cp313-cp313-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for hodoku_py-0.2.1-cp313-cp313-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 204bfde1ee49afc72602c63bfc5f0c3a6041c417b45fcfa8de4eac0a9d25f7c2
MD5 77a8638a07b7dbeaf6c9f672b4c1f18d
BLAKE2b-256 c154af98c6e6479a3ec5924db5338958eb88d67645ef4c0fe1c54db3d60611b8

See more details on using hashes here.

Provenance

The following attestation bundles were made for hodoku_py-0.2.1-cp313-cp313-macosx_11_0_arm64.whl:

Publisher: publish.yml on alexdej/hodoku-py

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file hodoku_py-0.2.1-cp312-cp312-win_amd64.whl.

File metadata

  • Download URL: hodoku_py-0.2.1-cp312-cp312-win_amd64.whl
  • Upload date:
  • Size: 119.6 kB
  • Tags: CPython 3.12, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for hodoku_py-0.2.1-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 213ad1b3b124ef25c81cf96ac7ed22f8b5c7b2816e18b38774263db50ed33e5c
MD5 7e53c6653481d3049bc6d28c2ebd21b2
BLAKE2b-256 2ff1d36575f30f394de7c85f5b405bb61774a58d13a7cff97f008e2b5ce053dd

See more details on using hashes here.

Provenance

The following attestation bundles were made for hodoku_py-0.2.1-cp312-cp312-win_amd64.whl:

Publisher: publish.yml on alexdej/hodoku-py

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file hodoku_py-0.2.1-cp312-cp312-win32.whl.

File metadata

  • Download URL: hodoku_py-0.2.1-cp312-cp312-win32.whl
  • Upload date:
  • Size: 119.6 kB
  • Tags: CPython 3.12, Windows x86
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for hodoku_py-0.2.1-cp312-cp312-win32.whl
Algorithm Hash digest
SHA256 d6ce212787e7a966b719ffbf267b4d40690f6531c50f69f659db05a12ae7c998
MD5 07075afad23f388a6eb9ed60d5ab9276
BLAKE2b-256 515961cd3701f75ce08ace716796773cb3153c2c795b8f9415f982567fea177e

See more details on using hashes here.

Provenance

The following attestation bundles were made for hodoku_py-0.2.1-cp312-cp312-win32.whl:

Publisher: publish.yml on alexdej/hodoku-py

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file hodoku_py-0.2.1-cp312-cp312-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for hodoku_py-0.2.1-cp312-cp312-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 93064f23443a3828a388d416969eb4cb057e7a429a7f021ae4115e3286f9e979
MD5 f1327419021846c5f9c2ffa6afe5e5b3
BLAKE2b-256 89fa548233af8cd2f9a21b7f3343da84bdb584149b00c78646fc474a2b188f1c

See more details on using hashes here.

Provenance

The following attestation bundles were made for hodoku_py-0.2.1-cp312-cp312-musllinux_1_2_x86_64.whl:

Publisher: publish.yml on alexdej/hodoku-py

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file hodoku_py-0.2.1-cp312-cp312-musllinux_1_2_i686.whl.

File metadata

File hashes

Hashes for hodoku_py-0.2.1-cp312-cp312-musllinux_1_2_i686.whl
Algorithm Hash digest
SHA256 f56ad4065c435b3a55a2f0401e6d6495ac7d3c7b405e4ff3eef25ed98637adfb
MD5 094c76d1634afe36b2ed166aa17251a1
BLAKE2b-256 2440ea5ff24fe66a50d65cb5978601d40d8d2008526569ca24641d1aa67a4d6d

See more details on using hashes here.

Provenance

The following attestation bundles were made for hodoku_py-0.2.1-cp312-cp312-musllinux_1_2_i686.whl:

Publisher: publish.yml on alexdej/hodoku-py

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file hodoku_py-0.2.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for hodoku_py-0.2.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 7f1303b6b5dc33c779b8ad00dfd1099af2abfde2b5e253da8658b48057330d3c
MD5 0ea9a030cb7e7cff45a4367adcbb4793
BLAKE2b-256 78e19e087d1ba406c83d1d33fc08e62b41c4a5b9d47c7e90055c59d29eb119db

See more details on using hashes here.

Provenance

The following attestation bundles were made for hodoku_py-0.2.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl:

Publisher: publish.yml on alexdej/hodoku-py

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file hodoku_py-0.2.1-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl.

File metadata

File hashes

Hashes for hodoku_py-0.2.1-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 ea15db5e10ddbfae6d604015540c4e2ca7b3c0d68ce84dd10056ffb3a496a3ef
MD5 50cbdfad2777dd96e565a5c9c2b53fa7
BLAKE2b-256 79c589a3f2298fc64da6762a441a77da8d7ad7bb47b94cf5acafdcd7df52fea4

See more details on using hashes here.

Provenance

The following attestation bundles were made for hodoku_py-0.2.1-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl:

Publisher: publish.yml on alexdej/hodoku-py

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file hodoku_py-0.2.1-cp312-cp312-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for hodoku_py-0.2.1-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 d0d4995284949e69e5ec348128af10b75b7ddda6c03e5ebd588feeed51d8eaeb
MD5 9cfc7081aefec4205892cf9819fa554f
BLAKE2b-256 03f81d9cc7ac6923594a7a0a4cb34a017b5a7ebf1f98f022b7acb4410aa84782

See more details on using hashes here.

Provenance

The following attestation bundles were made for hodoku_py-0.2.1-cp312-cp312-macosx_11_0_arm64.whl:

Publisher: publish.yml on alexdej/hodoku-py

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file hodoku_py-0.2.1-cp311-cp311-win_amd64.whl.

File metadata

  • Download URL: hodoku_py-0.2.1-cp311-cp311-win_amd64.whl
  • Upload date:
  • Size: 119.6 kB
  • Tags: CPython 3.11, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for hodoku_py-0.2.1-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 5e103703c200c12f1dc1a5ea205592dd30c9a4b8184169a203b396e0a95c7935
MD5 16310b06c0506d87136bde1038099851
BLAKE2b-256 5785228d9c176e914a1f525bea1e908d87cccddbfdc1be45eeb2c34f6d1dd555

See more details on using hashes here.

Provenance

The following attestation bundles were made for hodoku_py-0.2.1-cp311-cp311-win_amd64.whl:

Publisher: publish.yml on alexdej/hodoku-py

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file hodoku_py-0.2.1-cp311-cp311-win32.whl.

File metadata

  • Download URL: hodoku_py-0.2.1-cp311-cp311-win32.whl
  • Upload date:
  • Size: 119.6 kB
  • Tags: CPython 3.11, Windows x86
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for hodoku_py-0.2.1-cp311-cp311-win32.whl
Algorithm Hash digest
SHA256 0ef2e9d399a349c12a2c5d21d9b1fb3c58426a7b914c1e48ae6c6cf55e7cc267
MD5 4cfa649a4a97831d6d1da79cf31e31de
BLAKE2b-256 98c0f8a99ea7361457a4e0083f5f4c5c0e7c3a568f03dd0429c619bb6954751a

See more details on using hashes here.

Provenance

The following attestation bundles were made for hodoku_py-0.2.1-cp311-cp311-win32.whl:

Publisher: publish.yml on alexdej/hodoku-py

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file hodoku_py-0.2.1-cp311-cp311-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for hodoku_py-0.2.1-cp311-cp311-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 b38e47ef18f638727832a8833f8a1f8c44866cdcfc867805186919a375f61ce6
MD5 c8331d144e976a12739ce0723fc26d50
BLAKE2b-256 1acb05aa1a7386721d98928d7ca29b35497bdb7c8bd3ad6beb2903af7da68198

See more details on using hashes here.

Provenance

The following attestation bundles were made for hodoku_py-0.2.1-cp311-cp311-musllinux_1_2_x86_64.whl:

Publisher: publish.yml on alexdej/hodoku-py

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file hodoku_py-0.2.1-cp311-cp311-musllinux_1_2_i686.whl.

File metadata

File hashes

Hashes for hodoku_py-0.2.1-cp311-cp311-musllinux_1_2_i686.whl
Algorithm Hash digest
SHA256 ba215d164719ded5bb024281d2abc6a519098e9f9a4e6852e51b4f1fb0edba68
MD5 b0e3444fdcc88fa2033ae9887090dbf3
BLAKE2b-256 b91ff53f26caca85245d5fd9fee56238600532b602ab2736430166169c9da8dc

See more details on using hashes here.

Provenance

The following attestation bundles were made for hodoku_py-0.2.1-cp311-cp311-musllinux_1_2_i686.whl:

Publisher: publish.yml on alexdej/hodoku-py

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file hodoku_py-0.2.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for hodoku_py-0.2.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 81546a335672f319431c9119e8cc7082cbdada0fa3c7cbf288ffa4744bc52d33
MD5 066d6814d88c550e0139c89f0a2cd0a1
BLAKE2b-256 08636b0bfdc2643942c18719a4f9d97ba98db87c377c09de9b075e2237f4410b

See more details on using hashes here.

Provenance

The following attestation bundles were made for hodoku_py-0.2.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl:

Publisher: publish.yml on alexdej/hodoku-py

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file hodoku_py-0.2.1-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl.

File metadata

File hashes

Hashes for hodoku_py-0.2.1-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 568357c4551b0c0ca6974f7fa8de4d810dda5c822599cd19aae04ac3d39e450c
MD5 f0bf7dc3845dd73ab8d3a7da95903816
BLAKE2b-256 29281db2b09c02b8dcfba6c88148c586a8ce2060dc4109f4de790cdddd202608

See more details on using hashes here.

Provenance

The following attestation bundles were made for hodoku_py-0.2.1-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl:

Publisher: publish.yml on alexdej/hodoku-py

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file hodoku_py-0.2.1-cp311-cp311-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for hodoku_py-0.2.1-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 4a900ad087134cd63cb7dd0e5f352d7015d0f587edd577196a4d8ba930ad3e77
MD5 fc4a410fe6aa5d33777186ce2de10993
BLAKE2b-256 b3cf2127abe48dc5e5f1896302c72de4a3617ae7a416aebe690d8ab4e2411f7c

See more details on using hashes here.

Provenance

The following attestation bundles were made for hodoku_py-0.2.1-cp311-cp311-macosx_11_0_arm64.whl:

Publisher: publish.yml on alexdej/hodoku-py

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page