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
hsortCLI andimport hsortPython 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
- If format is unspecified, input is treated as variable-length.
- Options are case-sensitive (e.g.
-C≠-c). - Short and long options mean the same (e.g.
-C/--csv). - Default newline for variable-length / CSV is
\n(LF). - Input file paths must appear last; other options can be in any order.
- After
pip install hsort, thehsortcommand is available. - In code:
import hsortand callhsort.hsort(args).
Language (UI)
CLI messages default to English. Japanese is used when detected from, in order:
HSORT_LANG(explicit)- Windows: system UI language
- Unix/Linux:
locale.getdefaultlocale() 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 installedRuntimeError: 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
- Homepage: https://github.com/xuhui-hou/hsort
- Repository: https://github.com/xuhui-hou/hsort
- Issues: https://github.com/xuhui-hou/hsort/issues
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distributions
Built Distributions
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
26b304aff84db6aeda6312f10004b5e7ec90504509370976c475ce3de2cad3ca
|
|
| MD5 |
f8da35e81ee5fb88d35674d3d828fa35
|
|
| BLAKE2b-256 |
ed0a1bbba0fbbad9112b9ce77d59dd1957c3ada990ed57cc92f8d96e050e6a24
|
File details
Details for the file hsort-3.0.0-cp313-cp313-musllinux_1_2_x86_64.whl.
File metadata
- Download URL: hsort-3.0.0-cp313-cp313-musllinux_1_2_x86_64.whl
- Upload date:
- Size: 182.9 kB
- Tags: CPython 3.13, musllinux: musl 1.2+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.13
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
88e46043c0ad108644582dd9505b5b3be4d409160ce63d807e43bd670dfd2dc4
|
|
| MD5 |
b31c9f53669e0c652a417ec8f1f0e262
|
|
| BLAKE2b-256 |
7a21ca065f683287c29c2706be78d229aeb6d09c1aac221f9e0b5014f86ca6fa
|
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
- Download URL: hsort-3.0.0-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
- Upload date:
- Size: 185.5 kB
- Tags: CPython 3.13, manylinux: glibc 2.17+ x86-64, manylinux: glibc 2.28+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.13
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
1e3e721c2d36605e84d659ebecb9bc2197aeecc34973a57a13dd10534cd413cf
|
|
| MD5 |
78572b482eebac071f34f17f1ee4e941
|
|
| BLAKE2b-256 |
55e1390c71732b3abef65173b69dd3fd9dcf6c44794345a7be5f841ee1ef7bbc
|
File details
Details for the file hsort-3.0.0-cp313-cp313-macosx_11_0_arm64.whl.
File metadata
- Download URL: hsort-3.0.0-cp313-cp313-macosx_11_0_arm64.whl
- Upload date:
- Size: 70.7 kB
- Tags: CPython 3.13, macOS 11.0+ ARM64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.13
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
c5368fc7ceb6d6c42c19aa887568e33ec71791b1f42c11b34e6aa666b0e618c4
|
|
| MD5 |
9edb669256451dbea624436562e630ce
|
|
| BLAKE2b-256 |
f659821a5df311b199f50a03678c53771fc9926ff83d7e27e723fa455b2384e5
|
File details
Details for the file hsort-3.0.0-cp313-cp313-macosx_10_13_x86_64.whl.
File metadata
- Download URL: hsort-3.0.0-cp313-cp313-macosx_10_13_x86_64.whl
- Upload date:
- Size: 74.8 kB
- Tags: CPython 3.13, macOS 10.13+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.13
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
2aff5fedb68c6406c316db344d19c3a086e7fa67c9adf162c5e7fc936f54c51e
|
|
| MD5 |
95a4c4700a1d7c9150930276ed0362db
|
|
| BLAKE2b-256 |
b7e5649211c8c41006f19893f6118f068218e23846fde258146e1a9a75fb4fe9
|
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
bfa545516bb8ec7ce6bbcbbf5db4c906ab694fc7e38ffa1dbcbdebd4d21268d4
|
|
| MD5 |
b0fedb506a1d0a5de48c509118d21b5d
|
|
| BLAKE2b-256 |
879995fcc6da32e0794734709998c92689e5ed6f026a631acee566e7d0fed84f
|
File details
Details for the file hsort-3.0.0-cp312-cp312-musllinux_1_2_x86_64.whl.
File metadata
- Download URL: hsort-3.0.0-cp312-cp312-musllinux_1_2_x86_64.whl
- Upload date:
- Size: 182.9 kB
- Tags: CPython 3.12, musllinux: musl 1.2+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.13
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
bab9e4cf1bb725cda2680bfa58f0d881509f737c310903d72b4786c84bd313a6
|
|
| MD5 |
1b5d6e0e86e5e6180fdcd11ae059a1a7
|
|
| BLAKE2b-256 |
e318c2e1a74aca29422110653d03cfe6bc665f1a2923180e30c8c61a266f7ef4
|
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
- Download URL: hsort-3.0.0-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
- Upload date:
- Size: 185.5 kB
- Tags: CPython 3.12, manylinux: glibc 2.17+ x86-64, manylinux: glibc 2.28+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.13
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
511d5ca9ae4a786824b227939f384676adff4bf1e315a33ee24450206be50611
|
|
| MD5 |
c4b56549575a0402ee08baea336c9ed2
|
|
| BLAKE2b-256 |
7f18e8fdd20234781a1d59fce5f2dc281fe77a0ac313df77fc8e9c5cc561c7d8
|
File details
Details for the file hsort-3.0.0-cp312-cp312-macosx_11_0_arm64.whl.
File metadata
- Download URL: hsort-3.0.0-cp312-cp312-macosx_11_0_arm64.whl
- Upload date:
- Size: 70.7 kB
- Tags: CPython 3.12, macOS 11.0+ ARM64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.13
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
65091e902e80338ec652538eff319427665a0937679db12017b98be0bfbc85ed
|
|
| MD5 |
b356dfdd2fb6d2dcf776039f0277e251
|
|
| BLAKE2b-256 |
c46efbea1617162afe9c39f7bbdcf38b5a633ed4b4c36bbbaca5f493a5579291
|
File details
Details for the file hsort-3.0.0-cp312-cp312-macosx_10_13_x86_64.whl.
File metadata
- Download URL: hsort-3.0.0-cp312-cp312-macosx_10_13_x86_64.whl
- Upload date:
- Size: 74.8 kB
- Tags: CPython 3.12, macOS 10.13+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.13
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
0c3403e142eac924d5d859829981d81bf01d546695ec8e2ab03116d36a22b67e
|
|
| MD5 |
b3efe9adcf61205c46341c2a92f21c39
|
|
| BLAKE2b-256 |
d7e5bcbae1ba249308f1ae29a0fcb07c2eba30ea72e6f54cc3646ada3d71bdba
|
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
49e9e42372e34846099ef8ccb9e68bd779dfdd171bba71bdd2e91d6fc6f3878c
|
|
| MD5 |
03daa7ea0efe94a78a3ffc4f8864c5fa
|
|
| BLAKE2b-256 |
757e2729eb2bdec8d0a73acf4520c9a8d6632dad392fb8bc513f565a9f411263
|
File details
Details for the file hsort-3.0.0-cp311-cp311-musllinux_1_2_x86_64.whl.
File metadata
- Download URL: hsort-3.0.0-cp311-cp311-musllinux_1_2_x86_64.whl
- Upload date:
- Size: 182.7 kB
- Tags: CPython 3.11, musllinux: musl 1.2+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.13
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
407fb7f67390fe6897db59938d7afd46cd2539a633f1f4f258ed99a115cb8856
|
|
| MD5 |
7e4d0a561edc8527782b0a0fe4dfeb61
|
|
| BLAKE2b-256 |
4210047e91877ab77eeb05f055c3768a79438cacee3d96268efffc2c043e7865
|
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
- Download URL: hsort-3.0.0-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
- Upload date:
- Size: 185.3 kB
- Tags: CPython 3.11, manylinux: glibc 2.17+ x86-64, manylinux: glibc 2.28+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.13
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
3ef7a394cb4ac3a18c2944f76bcc622c7ebb9d5c2841b5a4c449af595f79f1f7
|
|
| MD5 |
052a916cc7eb6e5c5fb3f508ca442237
|
|
| BLAKE2b-256 |
b5d68aeda6beda9dde0b4c2157d808635cf9daa887bfddbdc1076db7bf81ba01
|
File details
Details for the file hsort-3.0.0-cp311-cp311-macosx_11_0_arm64.whl.
File metadata
- Download URL: hsort-3.0.0-cp311-cp311-macosx_11_0_arm64.whl
- Upload date:
- Size: 70.7 kB
- Tags: CPython 3.11, macOS 11.0+ ARM64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.13
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
8c16dfe1fa426531b1e85a2ea6167c4c8f1cf13a168a24cc1c7961a233baf011
|
|
| MD5 |
1363170a257b2d37e045b48bc5c5f9a7
|
|
| BLAKE2b-256 |
7cdf630f42662714c6ee808ec1dc3e5ad69abafc37cc76a5c72372f918ee29d6
|
File details
Details for the file hsort-3.0.0-cp311-cp311-macosx_10_9_x86_64.whl.
File metadata
- Download URL: hsort-3.0.0-cp311-cp311-macosx_10_9_x86_64.whl
- Upload date:
- Size: 74.8 kB
- Tags: CPython 3.11, macOS 10.9+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.13
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
1f25a272c42d6d41fe5d894c4f3dfb9a97d587a4324890e860f889fe4411a0a0
|
|
| MD5 |
b970cadb963681212fe64e647a311ef4
|
|
| BLAKE2b-256 |
fd506192cd3e149ff1e49f74ad4522d10554b5a080f603bfa299c6c5f4c9123c
|
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
0f73cc4a2a665953d033d4c193ae52e9ca2a5125f9f8adba9afa5bbbfb71ad86
|
|
| MD5 |
4e85940382f2db6d3c8433334d91637b
|
|
| BLAKE2b-256 |
99c3ee4eae8e87b60b702227a277d780456af16d778e57a0c320758fe69453c7
|
File details
Details for the file hsort-3.0.0-cp310-cp310-musllinux_1_2_x86_64.whl.
File metadata
- Download URL: hsort-3.0.0-cp310-cp310-musllinux_1_2_x86_64.whl
- Upload date:
- Size: 182.6 kB
- Tags: CPython 3.10, musllinux: musl 1.2+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.13
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
6fe96eb8c9a384b1033592ead0c7c4b1030a7f5f00653f3a6b59843daacf4bac
|
|
| MD5 |
f0a27f521497316837ae651f5196f3b2
|
|
| BLAKE2b-256 |
1a46ec5a395c8eee1fc86ca5774b8559e1ec899473ab4a3ffac0f1f18366f709
|
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
- Download URL: hsort-3.0.0-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
- Upload date:
- Size: 185.1 kB
- Tags: CPython 3.10, manylinux: glibc 2.17+ x86-64, manylinux: glibc 2.28+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.13
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
fbcf1d6e383e8b3ac261a9833f27c985a8f0b956cd4ac7fdd91d2b25be15ff9c
|
|
| MD5 |
c122d48ad4b7073750146f1742839e42
|
|
| BLAKE2b-256 |
981122e88e0a8241c9c1338addc4d42a487ad7efb9d75e40ba38ba7bdbfe633e
|
File details
Details for the file hsort-3.0.0-cp310-cp310-macosx_11_0_arm64.whl.
File metadata
- Download URL: hsort-3.0.0-cp310-cp310-macosx_11_0_arm64.whl
- Upload date:
- Size: 70.7 kB
- Tags: CPython 3.10, macOS 11.0+ ARM64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.13
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
cfedfafebc32e898d337e46d5ddee445da3b9e50f545e5bd48e2253022fafd1e
|
|
| MD5 |
c7975f2ad521ead577ee299c5b33dbec
|
|
| BLAKE2b-256 |
a9113bc19c30366525f5a35ee5cc318a18aa8ee3ca3ec4287ef4fd8ceced0afc
|
File details
Details for the file hsort-3.0.0-cp310-cp310-macosx_10_9_x86_64.whl.
File metadata
- Download URL: hsort-3.0.0-cp310-cp310-macosx_10_9_x86_64.whl
- Upload date:
- Size: 74.8 kB
- Tags: CPython 3.10, macOS 10.9+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.13
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
d9af1913e67c347fac37141e91f171bcdca8400722fd37917d95bed4a6a1ae07
|
|
| MD5 |
a5a52ebc27164d4d457bd2aa3ff3a739
|
|
| BLAKE2b-256 |
a184638855ad6f3f15cb7d871571bea418262d448b929e7681f6633d61e265ec
|
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
0bfe9336b102a8d6977657299864c098801b8304180a394a24fe2551eec22ce9
|
|
| MD5 |
378021b05c5c5533fdd01b4aa4f0b04e
|
|
| BLAKE2b-256 |
2e3b501faebe9bf7e10a16443cf2b96c91e9977321b07512ce24031143a5bf12
|
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
f79673bc0984bbe74f93efa6538be756edf64923fd6594e053294a73b86e10e5
|
|
| MD5 |
7a1a8ad30cd883ba7a43561108425a99
|
|
| BLAKE2b-256 |
d4af8fe31a5d33bad8807caa28a980d475804a9737d52e1cdc45ce40d583a7b8
|
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
- Download URL: hsort-3.0.0-cp39-cp39-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
- Upload date:
- Size: 184.9 kB
- Tags: CPython 3.9, manylinux: glibc 2.17+ x86-64, manylinux: glibc 2.28+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.13
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
ff8a31f0391b48a25a38284e19d4d08a1dce07eade7592f2382aedf066fec144
|
|
| MD5 |
3cdf60237125fb5cea78e83ead854fd7
|
|
| BLAKE2b-256 |
3f989878e334cd0b19ec242f6c8cf47b181dc3584d44bd05d8580d28250f5f0a
|
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
a28e598ed4ee81e4466ac959196a9f00c1d592fb4d7d5d85cfac14d00172b9a1
|
|
| MD5 |
b45f6f181f88cdae405e4272399b5c37
|
|
| BLAKE2b-256 |
d4de01cb24ff9be69bd458b535530dc1023a14be4dd291e69bc5d8451189b17f
|
File details
Details for the file hsort-3.0.0-cp39-cp39-macosx_10_9_x86_64.whl.
File metadata
- Download URL: hsort-3.0.0-cp39-cp39-macosx_10_9_x86_64.whl
- Upload date:
- Size: 74.8 kB
- Tags: CPython 3.9, macOS 10.9+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.13
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
e192b47b3d1d5ca4fec072c47893ed5b3699ef95ce1aa1a26cc787c7b33bf961
|
|
| MD5 |
efac81748d9d8290eb85884339146954
|
|
| BLAKE2b-256 |
f0fc7d09fff8f1087590eee16bdeef3e8108f32f94699b85406c4a80cd146567
|