Skip to main content

A high-performance sorting and merging engine optimized for processing large-scale data files, with stable multi-key sorting support for fixed-length, variable-length, and CSV formats.

Project description

HSORT

🌐 Languages

High-performance sort/merge Python extension backed by a C engine. Uses an internal memory pool for fast sorting of fixed-length, variable-length, and CSV files, plus merge of sorted inputs.

  • Sort — Order records by text or numeric keys, ascending or descending
  • Merge — Combine multiple sorted files into one stream

Highlights

  • Install with pip from PyPI
  • hsort CLI and import hsort Python API
  • Windows, Linux, macOS
  • Unix-style - / -- options

Sort modes

In-memory sort — When enough memory is available for the dataset, sorting avoids temp files.

External sort — When memory is insufficient, data is split, sorted in chunks, and merged using temporary files.

If -W is omitted, the engine estimates memory from input size; if allocation fails, it falls back to external sort.

Features (summary)

  • Configurable memory budget (-W) with automatic sizing when omitted
  • Fixed-length, variable-length (text/binary), and CSV
  • Stdin/stdout; logs on stderr
  • Multi-key sort; stable sort (-S); unique output (-U)
  • Invalid records can be skipped or written to an error file (-E)
  • ASCII vs numeric key modes; large files supported
  • Cross-platform

Installation

pip install hsort

Test PyPI (when applicable):

pip install --index-url https://test.pypi.org/simple/ hsort

Check install:

hsort --version
hsort --help

Quick start

CSV (header row, sort column 1)

hsort -C -H -K1 -O output.csv input.csv

Fixed-length (64-byte records, key bytes 0–19)

hsort -L64 -K0,20 -O output.dat input.dat

Variable-length

hsort -K0,10 -O output.dat input.dat

CLI usage

hsort [options] [input files...]

Options are case-sensitive (-C-c). Short and long forms are equivalent (-C / --csv).

For the authoritative option list, run:

hsort --help

Option reference

Short Long Description
-h --help Show help
-V --version Show version and license info
-C --csv Input is CSV
-H --header Treat first CSV row as header
-S --stable Stable sort
-U --unique Unique output (first record per key)
-L BYTES --record-length BYTES Fixed-length records; length 1–640KB per file layout
-K KEY_SPEC --key Sort key (repeatable). Fixed / variable-length: start[,len][n][a|d] — start: 0-based byte offset; len: optional key length; n: numeric sort (default ASCII); a: ascending (default), d: descending. CSV: col[n][a|d] — column number from 1
-A --all-asc Sort whole record ascending. With -K, -K wins; with -R, the later flag wins
-R --all-desc Sort whole record descending. With -K, -K wins; with -A, the later flag wins
-P CODE --newline CODE Newline for variable-length / CSV: \n, \r, \r\n (default \n)
-D CHAR --delimiter CHAR CSV delimiter; use \t for tab (default comma)
-W SIZE --memory SIZE Max memory, e.g. 64MB, 1024KB; if omitted, engine sizes from input; minimum 16MB enforced. Not the free-tier total input file size cap (see Free tier below)
-T DIR --temp-dir DIR Temp directory for external sort (default: system temp); files named like hsort_<pid>.tmp, removed after sort
-O FILE --output FILE Output path (default stdout); may match an input path
-E FILE --error-file FILE Invalid records → this file; if omitted, bad records are skipped silently
-M --merge Merge already-sorted files
(paths) Input files: multiple allowed, must be last; if omitted, read stdin

Notes

  • Short and long options are equivalent (e.g. -C / --csv).
  • Options are case-sensitive (-C-c).

License-related CLI

hsort --license YOUR_KEY      # activate
hsort --check-license         # status

Examples

I. CSV sorting

① Comma delimiter, max memory 100MB, whole-record ascending, stdin → stdout

hsort -C -W100M < in.csv

② LF newline, tab delimiter, multi-key (col1 asc, col3 desc), output + inputs

hsort -C -P'\n' -D'\t' -K1a -K3d -O out.csv in1.csv in2.csv

No -E: rows with fewer than 3 columns are not written to an error file.

③ Unique, whole-record descending, temp dir, output, error file, input

hsort -C -U -R -T /tmp -O out.csv -E err.csv in.csv

Bad records go to err.csv.

④ Stable sort; column 1 ASCII ascending, column 3 numeric descending

hsort -C -S -K1 -K3nd -O out.csv in.csv

II. Fixed-length sorting

① Record length 64, max memory 100MB, whole-record ascending, stdin → stdout

hsort -L64 -W100M < in.dat

② Record length 64, multi-key (asc + numeric desc), output + inputs

hsort -L64 -K0,5a -K3,8nd -O out.dat in1.dat in2.dat

No -E: rows shorter than required keys are not written to an error file.

③ Record length 64, unique, whole-record descending, temp dir, output, error file, input

hsort -L64 -U -R -T /tmp -O out.dat -E err.dat in.dat

④ Record length 64, stable, multi-key (desc + asc), output + input

hsort -L64 -S -K1,3d -K6,9a -O out.dat in.dat

III. Variable-length sorting

① CRLF newline, max memory 100MB, whole-record ascending, stdin → stdout

hsort -P'\r\n' -W100M < in.dat

② Multi-key (asc + numeric desc), output + inputs

hsort -K5,8a -K0,3nd -O out.dat in1.dat in2.dat

③ Unique, whole-record descending, temp dir, output, error file, input

hsort -U -R -T /tmp -O out.dat -E err.dat in.dat

④ Stable, multi-key (asc + desc), output + input

hsort -S -K1,3 -K5,9d -O out.dat in.dat

Notes

  1. If format is unspecified, input is treated as variable-length.
  2. Options are case-sensitive (e.g. -C-c).
  3. Short and long options mean the same (e.g. -C / --csv).
  4. Default newline for variable-length / CSV is \n (LF).
  5. Input file paths must appear last; other options can be in any order.
  6. After pip install hsort, the hsort command is available.
  7. In code: import hsort and call hsort.hsort(args).

Language (UI)

CLI messages default to English. Japanese is used when detected from, in order:

  1. HSORT_LANG (explicit)
  2. Windows: system UI language
  3. Unix/Linux: locale.getdefaultlocale()
  4. LANG, LANGUAGE, LC_ALL, LC_MESSAGES

Forcing the language (HSORT_LANG)

Windows PowerShell

$env:HSORT_LANG="en"
hsort --help

$env:HSORT_LANG="ja"
hsort --help

# Persist for user account:
[System.Environment]::SetEnvironmentVariable("HSORT_LANG", "en", "User")

Linux / macOS (Bash)

export HSORT_LANG=en
hsort --help

export HSORT_LANG=ja
hsort --help

Windows CMD

set HSORT_LANG=en
hsort --help

set HSORT_LANG=ja
hsort --help

Accepted values: ja / japanese / jp (Japanese), en / english (English). On PowerShell, use $env:HSORT_LANG, not set.

Debug locale detection

$env:HSORT_DEBUG_LANG="1"
hsort --help
export HSORT_DEBUG_LANG=1
hsort --help

Details print to stderr.

Python API

HSORT can be used as a library.

Import

import hsort

Function

hsort.hsort(args) takes the same argv-style list as the CLI.

hsort.hsort(args: List[str]) -> int
  • args: argument list (same as CLI)
  • Return: exit code (0 = success)

Examples

Example 1 — Sort CSV by column 1

import hsort

ret = hsort.hsort([
    "-C",
    "-H",
    "-K1",
    "-O", "output.csv",
    "input.csv",
])

if ret == 0:
    print("Sort succeeded")
else:
    print(f"Error, exit code: {ret}")

Example 2 — CSV multi-key (col1 asc, col3 desc)

import hsort

ret = hsort.hsort([
    "-C",
    "-H",
    "-K1",
    "-K3d",
    "-O", "output.csv",
    "input.csv",
])

Example 3 — CSV numeric sort on column 1

import hsort

ret = hsort.hsort([
    "-C",
    "-H",
    "-K1n",
    "-O", "output.csv",
    "input.csv",
])

Example 4 — Fixed-length (64-byte records)

import hsort

ret = hsort.hsort([
    "-L64",
    "-K0,20",
    "-O", "output.dat",
    "input.dat",
])

Example 5 — Variable-length

import hsort

ret = hsort.hsort([
    "-K0,10",
    "-O", "output.dat",
    "input.dat",
])

Example 6 — Unique output

import hsort

ret = hsort.hsort([
    "-C",
    "-H",
    "-K1",
    "-U",
    "-O", "output.csv",
    "input.csv",
])

Example 7 — Stable sort

import hsort

ret = hsort.hsort([
    "-C",
    "-H",
    "-K1",
    "-S",
    "-O", "output.csv",
    "input.csv",
])

Example 8 — Error file

import hsort
import os

input_file = "input.csv"
output_file = "output.csv"
error_file = "errors.csv"

ret = hsort.hsort([
    "-C",
    "-H",
    "-K1",
    "-K2",
    "-E", error_file,
    "-O", output_file,
    input_file,
])

if ret == 0:
    if os.path.exists(output_file):
        print(f"OK: {output_file}")
    if os.path.exists(error_file) and os.path.getsize(error_file) > 0:
        print(f"Some rows in: {error_file}")
else:
    print(f"Failed, exit code: {ret}")

Example 9 — Memory limit

import hsort

ret = hsort.hsort([
    "-C",
    "-H",
    "-K1",
    "-W64MB",
    "-O", "output.csv",
    "input.csv",
])

Example 10 — Batch CSV files

import hsort
import os
from pathlib import Path

def sort_csv_files(input_dir, output_dir):
    input_path = Path(input_dir)
    output_path = Path(output_dir)
    output_path.mkdir(exist_ok=True)

    for csv_file in input_path.glob("*.csv"):
        output_file = output_path / f"sorted_{csv_file.name}"
        ret = hsort.hsort([
            "-C",
            "-H",
            "-K1",
            "-O", str(output_file),
            str(csv_file),
        ])
        if ret == 0:
            print(f"OK: {csv_file.name}")
        else:
            print(f"Fail: {csv_file.name} (exit {ret})")

sort_csv_files("data/input", "data/output")

API reference

hsort.hsort(args) — run a sort/merge; same rules as the CLI.

  • args (List[str]): argv-style list.
  • Returns (int): exit code.
  • Raises
    • ImportError: extension not installed
    • RuntimeError: free-tier total input size exceeded (same condition as CLI)

args must follow the same rules as the command line.

Requirements

  • Python 3.9+
  • Windows, Linux, or macOS
  • Suggest ≥ 16 MB available RAM (tune with -W)

Pricing & License

HSORT offers a free tier and paid licenses:

🟢 Free version

  • Up to 100MB total input size
  • No feature restrictions (size limit only)

🔵 Paid license

  • Unlimited input size
  • Full performance
  • Commercial use

👉 Activate license:

hsort --license YOUR_KEY

Free tier: total input file size

When no valid license is activated, the combined size of regular input files passed on the command line or in hsort.hsort([...]) must not exceed 100 MiB (100 × 1024 × 1024 bytes). The check is shared by CLI and API.

  • Activating a paid license removes this total input-size limit (subject to your license agreement).

License

Copyright (c) 2015–2026 株式会社GPO

This project is not open source. The software is proprietary; see the LICENSE file for full terms.

  • Not open source — No general right to source, redistribution, or modification except as allowed by law or a written agreement.
  • Free tier — May include limits (e.g. total input size as above). Does not grant full commercial rights.
  • Paid license — Unlocks full features per your agreement with the publisher.

👉 Buy License (Instant Key Delivery):
https://github.com/xuhui-hou/hsort/blob/main/Payment.md

Licensing contact: soft@gpo-i.com

Links

Project details


Download files

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

Source Distributions

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distributions

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

hsort-3.0.0-cp313-cp313-win_amd64.whl (79.8 kB view details)

Uploaded CPython 3.13Windows x86-64

hsort-3.0.0-cp313-cp313-musllinux_1_2_x86_64.whl (182.9 kB view details)

Uploaded CPython 3.13musllinux: musl 1.2+ x86-64

hsort-3.0.0-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl (185.5 kB view details)

Uploaded CPython 3.13manylinux: glibc 2.17+ x86-64manylinux: glibc 2.28+ x86-64

hsort-3.0.0-cp313-cp313-macosx_11_0_arm64.whl (70.7 kB view details)

Uploaded CPython 3.13macOS 11.0+ ARM64

hsort-3.0.0-cp313-cp313-macosx_10_13_x86_64.whl (74.8 kB view details)

Uploaded CPython 3.13macOS 10.13+ x86-64

hsort-3.0.0-cp312-cp312-win_amd64.whl (79.9 kB view details)

Uploaded CPython 3.12Windows x86-64

hsort-3.0.0-cp312-cp312-musllinux_1_2_x86_64.whl (182.9 kB view details)

Uploaded CPython 3.12musllinux: musl 1.2+ x86-64

hsort-3.0.0-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl (185.5 kB view details)

Uploaded CPython 3.12manylinux: glibc 2.17+ x86-64manylinux: glibc 2.28+ x86-64

hsort-3.0.0-cp312-cp312-macosx_11_0_arm64.whl (70.7 kB view details)

Uploaded CPython 3.12macOS 11.0+ ARM64

hsort-3.0.0-cp312-cp312-macosx_10_13_x86_64.whl (74.8 kB view details)

Uploaded CPython 3.12macOS 10.13+ x86-64

hsort-3.0.0-cp311-cp311-win_amd64.whl (79.9 kB view details)

Uploaded CPython 3.11Windows x86-64

hsort-3.0.0-cp311-cp311-musllinux_1_2_x86_64.whl (182.7 kB view details)

Uploaded CPython 3.11musllinux: musl 1.2+ x86-64

hsort-3.0.0-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl (185.3 kB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ x86-64manylinux: glibc 2.28+ x86-64

hsort-3.0.0-cp311-cp311-macosx_11_0_arm64.whl (70.7 kB view details)

Uploaded CPython 3.11macOS 11.0+ ARM64

hsort-3.0.0-cp311-cp311-macosx_10_9_x86_64.whl (74.8 kB view details)

Uploaded CPython 3.11macOS 10.9+ x86-64

hsort-3.0.0-cp310-cp310-win_amd64.whl (79.9 kB view details)

Uploaded CPython 3.10Windows x86-64

hsort-3.0.0-cp310-cp310-musllinux_1_2_x86_64.whl (182.6 kB view details)

Uploaded CPython 3.10musllinux: musl 1.2+ x86-64

hsort-3.0.0-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl (185.1 kB view details)

Uploaded CPython 3.10manylinux: glibc 2.17+ x86-64manylinux: glibc 2.28+ x86-64

hsort-3.0.0-cp310-cp310-macosx_11_0_arm64.whl (70.7 kB view details)

Uploaded CPython 3.10macOS 11.0+ ARM64

hsort-3.0.0-cp310-cp310-macosx_10_9_x86_64.whl (74.8 kB view details)

Uploaded CPython 3.10macOS 10.9+ x86-64

hsort-3.0.0-cp39-cp39-win_amd64.whl (79.9 kB view details)

Uploaded CPython 3.9Windows x86-64

hsort-3.0.0-cp39-cp39-musllinux_1_2_x86_64.whl (182.3 kB view details)

Uploaded CPython 3.9musllinux: musl 1.2+ x86-64

hsort-3.0.0-cp39-cp39-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl (184.9 kB view details)

Uploaded CPython 3.9manylinux: glibc 2.17+ x86-64manylinux: glibc 2.28+ x86-64

hsort-3.0.0-cp39-cp39-macosx_11_0_arm64.whl (70.7 kB view details)

Uploaded CPython 3.9macOS 11.0+ ARM64

hsort-3.0.0-cp39-cp39-macosx_10_9_x86_64.whl (74.8 kB view details)

Uploaded CPython 3.9macOS 10.9+ x86-64

File details

Details for the file hsort-3.0.0-cp313-cp313-win_amd64.whl.

File metadata

  • Download URL: hsort-3.0.0-cp313-cp313-win_amd64.whl
  • Upload date:
  • Size: 79.8 kB
  • Tags: CPython 3.13, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.13

File hashes

Hashes for hsort-3.0.0-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 26b304aff84db6aeda6312f10004b5e7ec90504509370976c475ce3de2cad3ca
MD5 f8da35e81ee5fb88d35674d3d828fa35
BLAKE2b-256 ed0a1bbba0fbbad9112b9ce77d59dd1957c3ada990ed57cc92f8d96e050e6a24

See more details on using hashes here.

File details

Details for the file hsort-3.0.0-cp313-cp313-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for hsort-3.0.0-cp313-cp313-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 88e46043c0ad108644582dd9505b5b3be4d409160ce63d807e43bd670dfd2dc4
MD5 b31c9f53669e0c652a417ec8f1f0e262
BLAKE2b-256 7a21ca065f683287c29c2706be78d229aeb6d09c1aac221f9e0b5014f86ca6fa

See more details on using hashes here.

File details

Details for the file hsort-3.0.0-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for hsort-3.0.0-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 1e3e721c2d36605e84d659ebecb9bc2197aeecc34973a57a13dd10534cd413cf
MD5 78572b482eebac071f34f17f1ee4e941
BLAKE2b-256 55e1390c71732b3abef65173b69dd3fd9dcf6c44794345a7be5f841ee1ef7bbc

See more details on using hashes here.

File details

Details for the file hsort-3.0.0-cp313-cp313-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for hsort-3.0.0-cp313-cp313-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 c5368fc7ceb6d6c42c19aa887568e33ec71791b1f42c11b34e6aa666b0e618c4
MD5 9edb669256451dbea624436562e630ce
BLAKE2b-256 f659821a5df311b199f50a03678c53771fc9926ff83d7e27e723fa455b2384e5

See more details on using hashes here.

File details

Details for the file hsort-3.0.0-cp313-cp313-macosx_10_13_x86_64.whl.

File metadata

File hashes

Hashes for hsort-3.0.0-cp313-cp313-macosx_10_13_x86_64.whl
Algorithm Hash digest
SHA256 2aff5fedb68c6406c316db344d19c3a086e7fa67c9adf162c5e7fc936f54c51e
MD5 95a4c4700a1d7c9150930276ed0362db
BLAKE2b-256 b7e5649211c8c41006f19893f6118f068218e23846fde258146e1a9a75fb4fe9

See more details on using hashes here.

File details

Details for the file hsort-3.0.0-cp312-cp312-win_amd64.whl.

File metadata

  • Download URL: hsort-3.0.0-cp312-cp312-win_amd64.whl
  • Upload date:
  • Size: 79.9 kB
  • Tags: CPython 3.12, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.13

File hashes

Hashes for hsort-3.0.0-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 bfa545516bb8ec7ce6bbcbbf5db4c906ab694fc7e38ffa1dbcbdebd4d21268d4
MD5 b0fedb506a1d0a5de48c509118d21b5d
BLAKE2b-256 879995fcc6da32e0794734709998c92689e5ed6f026a631acee566e7d0fed84f

See more details on using hashes here.

File details

Details for the file hsort-3.0.0-cp312-cp312-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for hsort-3.0.0-cp312-cp312-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 bab9e4cf1bb725cda2680bfa58f0d881509f737c310903d72b4786c84bd313a6
MD5 1b5d6e0e86e5e6180fdcd11ae059a1a7
BLAKE2b-256 e318c2e1a74aca29422110653d03cfe6bc665f1a2923180e30c8c61a266f7ef4

See more details on using hashes here.

File details

Details for the file hsort-3.0.0-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for hsort-3.0.0-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 511d5ca9ae4a786824b227939f384676adff4bf1e315a33ee24450206be50611
MD5 c4b56549575a0402ee08baea336c9ed2
BLAKE2b-256 7f18e8fdd20234781a1d59fce5f2dc281fe77a0ac313df77fc8e9c5cc561c7d8

See more details on using hashes here.

File details

Details for the file hsort-3.0.0-cp312-cp312-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for hsort-3.0.0-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 65091e902e80338ec652538eff319427665a0937679db12017b98be0bfbc85ed
MD5 b356dfdd2fb6d2dcf776039f0277e251
BLAKE2b-256 c46efbea1617162afe9c39f7bbdcf38b5a633ed4b4c36bbbaca5f493a5579291

See more details on using hashes here.

File details

Details for the file hsort-3.0.0-cp312-cp312-macosx_10_13_x86_64.whl.

File metadata

File hashes

Hashes for hsort-3.0.0-cp312-cp312-macosx_10_13_x86_64.whl
Algorithm Hash digest
SHA256 0c3403e142eac924d5d859829981d81bf01d546695ec8e2ab03116d36a22b67e
MD5 b3efe9adcf61205c46341c2a92f21c39
BLAKE2b-256 d7e5bcbae1ba249308f1ae29a0fcb07c2eba30ea72e6f54cc3646ada3d71bdba

See more details on using hashes here.

File details

Details for the file hsort-3.0.0-cp311-cp311-win_amd64.whl.

File metadata

  • Download URL: hsort-3.0.0-cp311-cp311-win_amd64.whl
  • Upload date:
  • Size: 79.9 kB
  • Tags: CPython 3.11, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.13

File hashes

Hashes for hsort-3.0.0-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 49e9e42372e34846099ef8ccb9e68bd779dfdd171bba71bdd2e91d6fc6f3878c
MD5 03daa7ea0efe94a78a3ffc4f8864c5fa
BLAKE2b-256 757e2729eb2bdec8d0a73acf4520c9a8d6632dad392fb8bc513f565a9f411263

See more details on using hashes here.

File details

Details for the file hsort-3.0.0-cp311-cp311-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for hsort-3.0.0-cp311-cp311-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 407fb7f67390fe6897db59938d7afd46cd2539a633f1f4f258ed99a115cb8856
MD5 7e4d0a561edc8527782b0a0fe4dfeb61
BLAKE2b-256 4210047e91877ab77eeb05f055c3768a79438cacee3d96268efffc2c043e7865

See more details on using hashes here.

File details

Details for the file hsort-3.0.0-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for hsort-3.0.0-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 3ef7a394cb4ac3a18c2944f76bcc622c7ebb9d5c2841b5a4c449af595f79f1f7
MD5 052a916cc7eb6e5c5fb3f508ca442237
BLAKE2b-256 b5d68aeda6beda9dde0b4c2157d808635cf9daa887bfddbdc1076db7bf81ba01

See more details on using hashes here.

File details

Details for the file hsort-3.0.0-cp311-cp311-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for hsort-3.0.0-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 8c16dfe1fa426531b1e85a2ea6167c4c8f1cf13a168a24cc1c7961a233baf011
MD5 1363170a257b2d37e045b48bc5c5f9a7
BLAKE2b-256 7cdf630f42662714c6ee808ec1dc3e5ad69abafc37cc76a5c72372f918ee29d6

See more details on using hashes here.

File details

Details for the file hsort-3.0.0-cp311-cp311-macosx_10_9_x86_64.whl.

File metadata

File hashes

Hashes for hsort-3.0.0-cp311-cp311-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 1f25a272c42d6d41fe5d894c4f3dfb9a97d587a4324890e860f889fe4411a0a0
MD5 b970cadb963681212fe64e647a311ef4
BLAKE2b-256 fd506192cd3e149ff1e49f74ad4522d10554b5a080f603bfa299c6c5f4c9123c

See more details on using hashes here.

File details

Details for the file hsort-3.0.0-cp310-cp310-win_amd64.whl.

File metadata

  • Download URL: hsort-3.0.0-cp310-cp310-win_amd64.whl
  • Upload date:
  • Size: 79.9 kB
  • Tags: CPython 3.10, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.13

File hashes

Hashes for hsort-3.0.0-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 0f73cc4a2a665953d033d4c193ae52e9ca2a5125f9f8adba9afa5bbbfb71ad86
MD5 4e85940382f2db6d3c8433334d91637b
BLAKE2b-256 99c3ee4eae8e87b60b702227a277d780456af16d778e57a0c320758fe69453c7

See more details on using hashes here.

File details

Details for the file hsort-3.0.0-cp310-cp310-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for hsort-3.0.0-cp310-cp310-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 6fe96eb8c9a384b1033592ead0c7c4b1030a7f5f00653f3a6b59843daacf4bac
MD5 f0a27f521497316837ae651f5196f3b2
BLAKE2b-256 1a46ec5a395c8eee1fc86ca5774b8559e1ec899473ab4a3ffac0f1f18366f709

See more details on using hashes here.

File details

Details for the file hsort-3.0.0-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for hsort-3.0.0-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 fbcf1d6e383e8b3ac261a9833f27c985a8f0b956cd4ac7fdd91d2b25be15ff9c
MD5 c122d48ad4b7073750146f1742839e42
BLAKE2b-256 981122e88e0a8241c9c1338addc4d42a487ad7efb9d75e40ba38ba7bdbfe633e

See more details on using hashes here.

File details

Details for the file hsort-3.0.0-cp310-cp310-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for hsort-3.0.0-cp310-cp310-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 cfedfafebc32e898d337e46d5ddee445da3b9e50f545e5bd48e2253022fafd1e
MD5 c7975f2ad521ead577ee299c5b33dbec
BLAKE2b-256 a9113bc19c30366525f5a35ee5cc318a18aa8ee3ca3ec4287ef4fd8ceced0afc

See more details on using hashes here.

File details

Details for the file hsort-3.0.0-cp310-cp310-macosx_10_9_x86_64.whl.

File metadata

File hashes

Hashes for hsort-3.0.0-cp310-cp310-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 d9af1913e67c347fac37141e91f171bcdca8400722fd37917d95bed4a6a1ae07
MD5 a5a52ebc27164d4d457bd2aa3ff3a739
BLAKE2b-256 a184638855ad6f3f15cb7d871571bea418262d448b929e7681f6633d61e265ec

See more details on using hashes here.

File details

Details for the file hsort-3.0.0-cp39-cp39-win_amd64.whl.

File metadata

  • Download URL: hsort-3.0.0-cp39-cp39-win_amd64.whl
  • Upload date:
  • Size: 79.9 kB
  • Tags: CPython 3.9, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.13

File hashes

Hashes for hsort-3.0.0-cp39-cp39-win_amd64.whl
Algorithm Hash digest
SHA256 0bfe9336b102a8d6977657299864c098801b8304180a394a24fe2551eec22ce9
MD5 378021b05c5c5533fdd01b4aa4f0b04e
BLAKE2b-256 2e3b501faebe9bf7e10a16443cf2b96c91e9977321b07512ce24031143a5bf12

See more details on using hashes here.

File details

Details for the file hsort-3.0.0-cp39-cp39-musllinux_1_2_x86_64.whl.

File metadata

  • Download URL: hsort-3.0.0-cp39-cp39-musllinux_1_2_x86_64.whl
  • Upload date:
  • Size: 182.3 kB
  • Tags: CPython 3.9, musllinux: musl 1.2+ x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.13

File hashes

Hashes for hsort-3.0.0-cp39-cp39-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 f79673bc0984bbe74f93efa6538be756edf64923fd6594e053294a73b86e10e5
MD5 7a1a8ad30cd883ba7a43561108425a99
BLAKE2b-256 d4af8fe31a5d33bad8807caa28a980d475804a9737d52e1cdc45ce40d583a7b8

See more details on using hashes here.

File details

Details for the file hsort-3.0.0-cp39-cp39-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for hsort-3.0.0-cp39-cp39-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 ff8a31f0391b48a25a38284e19d4d08a1dce07eade7592f2382aedf066fec144
MD5 3cdf60237125fb5cea78e83ead854fd7
BLAKE2b-256 3f989878e334cd0b19ec242f6c8cf47b181dc3584d44bd05d8580d28250f5f0a

See more details on using hashes here.

File details

Details for the file hsort-3.0.0-cp39-cp39-macosx_11_0_arm64.whl.

File metadata

  • Download URL: hsort-3.0.0-cp39-cp39-macosx_11_0_arm64.whl
  • Upload date:
  • Size: 70.7 kB
  • Tags: CPython 3.9, macOS 11.0+ ARM64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.13

File hashes

Hashes for hsort-3.0.0-cp39-cp39-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 a28e598ed4ee81e4466ac959196a9f00c1d592fb4d7d5d85cfac14d00172b9a1
MD5 b45f6f181f88cdae405e4272399b5c37
BLAKE2b-256 d4de01cb24ff9be69bd458b535530dc1023a14be4dd291e69bc5d8451189b17f

See more details on using hashes here.

File details

Details for the file hsort-3.0.0-cp39-cp39-macosx_10_9_x86_64.whl.

File metadata

File hashes

Hashes for hsort-3.0.0-cp39-cp39-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 e192b47b3d1d5ca4fec072c47893ed5b3699ef95ce1aa1a26cc787c7b33bf961
MD5 efac81748d9d8290eb85884339146954
BLAKE2b-256 f0fc7d09fff8f1087590eee16bdeef3e8108f32f94699b85406c4a80cd146567

See more details on using hashes here.

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