Skip to main content

harmonypy

PyPI Downloads Tests DOI

harmonypy is a Python package for the Harmony algorithm for integrating multiple high-dimensional datasets. It uses a multithreaded C++ backend that follows the R harmony2 package step-by-step.

This animation shows Harmony aligning three single-cell RNA-seq datasets from different donors. → How to make this animation. Before Harmony, you can clearly distinguish cells from each of the three donors. After Harmony, the cells from different donors are mixed while preserving the overall shape of the data.

Installation

Install from PyPI (pre-built wheels for Linux and macOS):

pip install harmonypy

Building from source

Building from source requires a C++17 compiler and the Python development headers (python3-dev on Debian and Ubuntu, python3-devel on Fedora); harmonypy does not use BLAS or LAPACK. CMake is installed during the build if it is missing, and the Armadillo headers are downloaded (which needs network access) if Armadillo is not installed:

pip install .

Quick Start

import harmonypy as hm
import pandas as pd

# Load the principal components and metadata
pcs = pd.read_csv("data/pbmc_3500_pcs.tsv.gz", sep="\t")
meta = pd.read_csv("data/pbmc_3500_meta.tsv.gz", sep="\t")

# Run Harmony to correct for batch effects (donor)
harmony_out = hm.run_harmony(pcs, meta, "donor")

# Save corrected PCs (same shape as input)
result = pd.DataFrame(harmony_out.Z_corr, columns=pcs.columns)
result.to_csv("pbmc_3500_pcs_harmony.tsv", sep="\t", index=False)

Usage with Scanpy

import scanpy as sc
import harmonypy as hm

# Load and preprocess your data
adata = sc.read_h5ad("my_data.h5ad")
sc.pp.pca(adata)

# Get PCs from the AnnData object
pcs = adata.obsm['X_pca']
print(pcs.shape)  # (n_cells, n_pcs)

# Run Harmony on the PCA embedding
harmony_out = hm.run_harmony(pcs, adata.obs, "batch")

# Store corrected PCs back in the AnnData object
adata.obsm['X_pca_harmony'] = harmony_out.Z_corr

# Use harmonized PCs for downstream analysis
sc.pp.neighbors(adata, use_rep='X_pca_harmony')
sc.tl.umap(adata)
sc.tl.leiden(adata)

Parameters

run_harmony accepts the same parameters as the R package:

Parameter Default Description
theta 2 Diversity penalty per batch variable
sigma 0.1 Kernel bandwidth for soft clustering
nclust min(N/30, 100) Number of clusters
max_iter_harmony 10 Maximum Harmony iterations
max_iter_kmeans 4 K-means iterations per Harmony round
epsilon_harmony 1e-2 Convergence threshold
ncores 0 Threads (0 = one per physical core available to the process)
lamb None Ridge penalty (None = auto-estimate)

harmonypy runs on its own pool of threads (it uses no BLAS, LAPACK or OpenMP). ncores sets the number of threads; the default (0) uses one per physical core available to the process. A second thread per core (hyperthreading) made Harmony about 5% faster on a 6-core laptop and no faster on a 64-core server, where it used 70% more CPU time. On Linux the default respects CPU affinity (e.g. Slurm or taskset) but not container CPU quotas, so set ncores explicitly there. Results are identical for any ncores.

Performance

Run time with default settings on an Apple M1 Ultra (20 cores):

  Dataset                                   2.0.2    this version
  --------------------------------------- -------- ---------------
  Small (3.5k cells, 3 donors)               0.20s           0.06s
  Medium (69k cells, 11 batches)             4.92s           0.24s
  Large (858k cells, 120 batches)           68.34s           1.92s
  Large, by batch and sample (870 levels)  160.15s           3.05s

On one thread (ncores=1) the large dataset takes 18.0 s, 3.8x faster than 2.0.2; using all 20 cores brings it to 1.92 s. On a 6-core Linux laptop (AMD Ryzen 5 5560U), compared with the 2.0.2 wheel:

  Dataset                                   2.0.2    this version
  --------------------------------------- -------- ---------------
  Small (3.5k cells, 3 donors)               0.33s           0.06s
  Medium (69k cells, 11 batches)             6.86s           0.54s
  Large (858k cells, 120 batches)          113.78s           5.18s
  Large, by batch and sample (870 levels)  244.32s           9.15s

scripts/compare_outputs.py compares the results and run times of two builds.

On Tahoe-100M (95.6 million cells, 1,344 samples, 50 PCs), this version corrects all cells in 4.9 minutes on a 64-core server, where 2.0.2 took 4.5 hours; with the same number of iterations, it is 16-28x faster on 1-16 million cells and uses 26-28% less memory. See notebooks/tahoe-100m-benchmark/.

Run time and memory of harmonypy on Tahoe-100M

Citation

If you use Harmony in your work, please cite the original paper:

Korsunsky, I., Millard, N., Fan, J. et al. Fast, sensitive and accurate integration of single-cell data with Harmony. Nat Methods 16, 1289–1296 (2019). https://doi.org/10.1038/s41592-019-0619-0

The Supplementary Information PDF provides detailed mathematical descriptions and implementation notes.

To learn more about Harmony 2, please see the preprint here:

Patikas, Nikolaos, Hongcheng Yao, Roopa Madhu, Soumya Raychaudhuri, Martin Hemberg, and Ilya Korsunsky. 2026. Integration of Large, Complex Single-Cell Datasets with Harmony2. bioRxiv. https://doi.org/10.64898/2026.03.16.711825

Metadata

Release files for harmonypy 2.1.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for harmonypy 2.1.0
File Size Uploaded
harmonypy-2.1.0.tar.gz 61.1 kB Details

Built distributions (wheels)

Table of built distributions (wheels) for harmonypy 2.1.0
File
harmonypy-2.1.0-cp314-cp314-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl CPython 3.14 CPython 3.14 Linux glibc 2.27+ x86-64, Linux glibc 2.28+ x86-64 Details
harmonypy-2.1.0-cp314-cp314-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl CPython 3.14 CPython 3.14 Linux glibc 2.28+ ARM64, Linux glibc 2.27+ ARM64 Details
harmonypy-2.1.0-cp314-cp314-macosx_11_0_x86_64.whl CPython 3.14 CPython 3.14 macOS 11.0+ x86-64 Details
harmonypy-2.1.0-cp314-cp314-macosx_11_0_arm64.whl CPython 3.14 CPython 3.14 macOS 11.0+ ARM64 Details
harmonypy-2.1.0-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl CPython 3.13 CPython 3.13 Linux glibc 2.27+ x86-64, Linux glibc 2.28+ x86-64 Details
harmonypy-2.1.0-cp313-cp313-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl CPython 3.13 CPython 3.13 Linux glibc 2.28+ ARM64, Linux glibc 2.27+ ARM64 Details
harmonypy-2.1.0-cp313-cp313-macosx_11_0_x86_64.whl CPython 3.13 CPython 3.13 macOS 11.0+ x86-64 Details
harmonypy-2.1.0-cp313-cp313-macosx_11_0_arm64.whl CPython 3.13 CPython 3.13 macOS 11.0+ ARM64 Details
harmonypy-2.1.0-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl CPython 3.12 CPython 3.12 Linux glibc 2.28+ x86-64, Linux glibc 2.27+ x86-64 Details
harmonypy-2.1.0-cp312-cp312-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl CPython 3.12 CPython 3.12 Linux glibc 2.28+ ARM64, Linux glibc 2.27+ ARM64 Details
harmonypy-2.1.0-cp312-cp312-macosx_11_0_x86_64.whl CPython 3.12 CPython 3.12 macOS 11.0+ x86-64 Details
harmonypy-2.1.0-cp312-cp312-macosx_11_0_arm64.whl CPython 3.12 CPython 3.12 macOS 11.0+ ARM64 Details
harmonypy-2.1.0-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl CPython 3.11 CPython 3.11 Linux glibc 2.27+ x86-64, Linux glibc 2.28+ x86-64 Details
harmonypy-2.1.0-cp311-cp311-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl CPython 3.11 CPython 3.11 Linux glibc 2.28+ ARM64, Linux glibc 2.27+ ARM64 Details
harmonypy-2.1.0-cp311-cp311-macosx_11_0_x86_64.whl CPython 3.11 CPython 3.11 macOS 11.0+ x86-64 Details
harmonypy-2.1.0-cp311-cp311-macosx_11_0_arm64.whl CPython 3.11 CPython 3.11 macOS 11.0+ ARM64 Details
harmonypy-2.1.0-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl CPython 3.10 CPython 3.10 Linux glibc 2.28+ x86-64, Linux glibc 2.27+ x86-64 Details
harmonypy-2.1.0-cp310-cp310-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl CPython 3.10 CPython 3.10 Linux glibc 2.27+ ARM64, Linux glibc 2.28+ ARM64 Details
harmonypy-2.1.0-cp310-cp310-macosx_11_0_x86_64.whl CPython 3.10 CPython 3.10 macOS 11.0+ x86-64 Details
harmonypy-2.1.0-cp310-cp310-macosx_11_0_arm64.whl CPython 3.10 CPython 3.10 macOS 11.0+ ARM64 Details
harmonypy-2.1.0-cp39-cp39-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl CPython 3.9 CPython 3.9 Linux glibc 2.28+ x86-64, Linux glibc 2.27+ x86-64 Details
harmonypy-2.1.0-cp39-cp39-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl CPython 3.9 CPython 3.9 Linux glibc 2.27+ ARM64, Linux glibc 2.28+ ARM64 Details
harmonypy-2.1.0-cp39-cp39-macosx_11_0_x86_64.whl CPython 3.9 CPython 3.9 macOS 11.0+ x86-64 Details
harmonypy-2.1.0-cp39-cp39-macosx_11_0_arm64.whl CPython 3.9 CPython 3.9 macOS 11.0+ ARM64 Details

Total release size: 5.2 MB

Release files / harmonypy-2.1.0.tar.gz

Download URL harmonypy-2.1.0.tar.gz
Size 61.1 kB
Tags Source
SHA-256 checksum
How to use checksums
e255c927848564b2198c4b6d09de9402f5ab10e92dcb1be6f8a49164190b4a5c
BLAKE2b-256 checksum
How to use checksums
c55c5824bb681062b5369602e633786233cd6423b5e42793c9d6009b29f0ba36
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

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 Oct 6, 2026.

Transparency log

Release files / harmonypy-2.1.0-cp314-cp314-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl

Download URL harmonypy-2.1.0-cp314-cp314-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Size 239.2 kB
Tags CPython 3.14 Linux glibc 2.27+ x86-64 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
9d1fdf942daa0bd286b90abb4c724623b5ed6093a659f0ec7bff3294b41bf05f
BLAKE2b-256 checksum
How to use checksums
9898b47b6a3ae7d6616ab2936d56a58d5eb6c1e3d05e972cf9c630d08ca31fea
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

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 Oct 6, 2026.

Transparency log

Release files / harmonypy-2.1.0-cp314-cp314-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl

Download URL harmonypy-2.1.0-cp314-cp314-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl
Size 219.4 kB
Tags CPython 3.14 Linux glibc 2.27+ ARM64 Linux glibc 2.28+ ARM64
SHA-256 checksum
How to use checksums
fefe232e1480faa77448b2ff1c380724f24b6d2156911489b80401ef17545c16
BLAKE2b-256 checksum
How to use checksums
1691304aeb440c385f1f8b3ba44e11c05316a5dcf63e5c7ad00331982669f62c
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

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 Oct 6, 2026.

Transparency log

Release files / harmonypy-2.1.0-cp314-cp314-macosx_11_0_x86_64.whl

Download URL harmonypy-2.1.0-cp314-cp314-macosx_11_0_x86_64.whl
Size 221.8 kB
Tags CPython 3.14 macOS 11.0+ x86-64
SHA-256 checksum
How to use checksums
7118d9fab4cd982fc2d4f9d99c38063eab3c544b6a924c04b878775797e22b7e
BLAKE2b-256 checksum
How to use checksums
b683b16aabce01d273ef0ba427d5df13ef1233a83d771560d8df8f026b59459b
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

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 Oct 6, 2026.

Transparency log

Release files / harmonypy-2.1.0-cp314-cp314-macosx_11_0_arm64.whl

Download URL harmonypy-2.1.0-cp314-cp314-macosx_11_0_arm64.whl
Size 185.6 kB
Tags CPython 3.14 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
a3f821d08f0ae60f82f4a7b31d9da65e6852eb31467d2083ecc150c7add32f6d
BLAKE2b-256 checksum
How to use checksums
7e44aa1973e1e6ff518afbc2c76efe9a9f09520094ffdae983773772036106c7
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

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 Oct 6, 2026.

Transparency log

Release files / harmonypy-2.1.0-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl

Download URL harmonypy-2.1.0-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Size 239.0 kB
Tags CPython 3.13 Linux glibc 2.27+ x86-64 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
dff6e0e379abd5fe829ec1fbe5110066e22eb5651c426d0a6b0504de19fb5643
BLAKE2b-256 checksum
How to use checksums
0b36b6071368b4392e4609b8208e6026042e592ade72c37a68c9b3b196e95e2f
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

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 Oct 6, 2026.

Transparency log

Release files / harmonypy-2.1.0-cp313-cp313-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl

Download URL harmonypy-2.1.0-cp313-cp313-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl
Size 219.3 kB
Tags CPython 3.13 Linux glibc 2.27+ ARM64 Linux glibc 2.28+ ARM64
SHA-256 checksum
How to use checksums
805a2e963fc097335efba7dcf763938aaca6283e28886e77a68b0ba2dd8b4826
BLAKE2b-256 checksum
How to use checksums
c724c2b4a99f94c6412aec8728d7d851138a1dfb3828f7a158a074ef498a9f9c
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

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 Oct 6, 2026.

Transparency log

Release files / harmonypy-2.1.0-cp313-cp313-macosx_11_0_x86_64.whl

Download URL harmonypy-2.1.0-cp313-cp313-macosx_11_0_x86_64.whl
Size 221.9 kB
Tags CPython 3.13 macOS 11.0+ x86-64
SHA-256 checksum
How to use checksums
22e836dc9c107e660c4ef3cb0f029c5aed6af6a03299d9fa486b0b2891a6245c
BLAKE2b-256 checksum
How to use checksums
c754befc6c1b026ab8db93efc0afa71821f6d4fffcaa96017f8b4d8a35d0434d
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

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 Oct 6, 2026.

Transparency log

Release files / harmonypy-2.1.0-cp313-cp313-macosx_11_0_arm64.whl

Download URL harmonypy-2.1.0-cp313-cp313-macosx_11_0_arm64.whl
Size 185.5 kB
Tags CPython 3.13 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
dc93d155132273fdad03489ce3f6c93066e9f0ae9c6c64b9d6cbe97f6a211155
BLAKE2b-256 checksum
How to use checksums
73d2b92f495a3cd82de70a0f50153d2f0f2bf268d73496a5b62e36e6aa3c23af
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

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 Oct 6, 2026.

Transparency log

Release files / harmonypy-2.1.0-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl

Download URL harmonypy-2.1.0-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Size 239.1 kB
Tags CPython 3.12 Linux glibc 2.27+ x86-64 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
d9ee215bdf93387ccbf88e2fcc80a0a5748eba55c3caece26f222da1809ad5d9
BLAKE2b-256 checksum
How to use checksums
c66bb70139646ebc3fbf88b3013dc9d6385ca87e65019708f4d214e1c2b445e1
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

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 Oct 6, 2026.

Transparency log

Release files / harmonypy-2.1.0-cp312-cp312-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl

Download URL harmonypy-2.1.0-cp312-cp312-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl
Size 219.3 kB
Tags CPython 3.12 Linux glibc 2.27+ ARM64 Linux glibc 2.28+ ARM64
SHA-256 checksum
How to use checksums
653fdac4727358af5f1a08ea80d1d54dc285e27b4d36ccf2334facab6cbd8c25
BLAKE2b-256 checksum
How to use checksums
6dcb479cdf791bd53e190506685bf2b4ffc420b0eca037be77835bed681780f3
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

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 Oct 6, 2026.

Transparency log

Release files / harmonypy-2.1.0-cp312-cp312-macosx_11_0_x86_64.whl

Download URL harmonypy-2.1.0-cp312-cp312-macosx_11_0_x86_64.whl
Size 221.9 kB
Tags CPython 3.12 macOS 11.0+ x86-64
SHA-256 checksum
How to use checksums
083c624394a4ebe6db6e46729c92e0689187918347c931a7365e8a4d2f06e11e
BLAKE2b-256 checksum
How to use checksums
c499f13d6ec16802244cb3e5adb1666b2824cebe1cf240858903a79e5ad5b22d
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

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 Oct 6, 2026.

Transparency log

Release files / harmonypy-2.1.0-cp312-cp312-macosx_11_0_arm64.whl

Download URL harmonypy-2.1.0-cp312-cp312-macosx_11_0_arm64.whl
Size 185.5 kB
Tags CPython 3.12 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
db6c32b29b2590ace35cd3ae8aaf91cb9e7817e0df4802cc3b21371998310da3
BLAKE2b-256 checksum
How to use checksums
9cb699d2fb3a0fb76206fb1d7cf6e42c451b9b28db596588b9c5ec6dbf3efc03
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

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 Oct 6, 2026.

Transparency log

Release files / harmonypy-2.1.0-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl

Download URL harmonypy-2.1.0-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Size 239.4 kB
Tags CPython 3.11 Linux glibc 2.27+ x86-64 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
b9eab5eb201468fcfd4429061e0560dfc770becd51122314bf85356054cb26ce
BLAKE2b-256 checksum
How to use checksums
0327cfbe983fdcd779ac3ba978a25d23919aa49180bda4934fadeca118d54cd9
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

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 Oct 6, 2026.

Transparency log

Release files / harmonypy-2.1.0-cp311-cp311-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl

Download URL harmonypy-2.1.0-cp311-cp311-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl
Size 219.9 kB
Tags CPython 3.11 Linux glibc 2.27+ ARM64 Linux glibc 2.28+ ARM64
SHA-256 checksum
How to use checksums
fbe0aea51149f2e0f7edf6c1a942bc67a919cf7242da8eb77bd1a225a7febe09
BLAKE2b-256 checksum
How to use checksums
ba81208b993d56506b8e2e7063a5994a541e9c6bb44a6773e54f09445bae3cd9
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

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 Oct 6, 2026.

Transparency log

Release files / harmonypy-2.1.0-cp311-cp311-macosx_11_0_x86_64.whl

Download URL harmonypy-2.1.0-cp311-cp311-macosx_11_0_x86_64.whl
Size 222.2 kB
Tags CPython 3.11 macOS 11.0+ x86-64
SHA-256 checksum
How to use checksums
281a9c4b6ff5c9ef451d6f58e445186e72b741c1115824ebbe785efe6b964b3a
BLAKE2b-256 checksum
How to use checksums
7ea2337861c6708421b865e79691507f1a74254f47a084c981771b9cdc2263fb
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

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 Oct 6, 2026.

Transparency log

Release files / harmonypy-2.1.0-cp311-cp311-macosx_11_0_arm64.whl

Download URL harmonypy-2.1.0-cp311-cp311-macosx_11_0_arm64.whl
Size 186.1 kB
Tags CPython 3.11 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
55fe3599b500c275949b7e5098bc5fd4b26cf19c034716f8461fbe41209b52b4
BLAKE2b-256 checksum
How to use checksums
0f3ce95411845d3912f69d0bd425fd0e37f47fb5d515d6b516435e08295d8be1
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

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 Oct 6, 2026.

Transparency log

Release files / harmonypy-2.1.0-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl

Download URL harmonypy-2.1.0-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Size 239.8 kB
Tags CPython 3.10 Linux glibc 2.27+ x86-64 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
12222b7bc4e3093d837f11c3ee6ff7b2c9cb7eedb1c1e6d6a66d141adf0b075f
BLAKE2b-256 checksum
How to use checksums
c78d97f5a0c3e4ca482a75623550ae8778e5e6c93c31da77d87d3253be49b79a
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

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 Oct 6, 2026.

Transparency log

Release files / harmonypy-2.1.0-cp310-cp310-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl

Download URL harmonypy-2.1.0-cp310-cp310-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl
Size 220.3 kB
Tags CPython 3.10 Linux glibc 2.27+ ARM64 Linux glibc 2.28+ ARM64
SHA-256 checksum
How to use checksums
12642a3697f73097450e2bd624f55ecdab2c1900486da9ff9db891c77ee95359
BLAKE2b-256 checksum
How to use checksums
734900faabd678d82866b1581bc44ddf386040724e3449b71d79be875cbc35e6
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

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 Oct 6, 2026.

Transparency log

Release files / harmonypy-2.1.0-cp310-cp310-macosx_11_0_x86_64.whl

Download URL harmonypy-2.1.0-cp310-cp310-macosx_11_0_x86_64.whl
Size 222.7 kB
Tags CPython 3.10 macOS 11.0+ x86-64
SHA-256 checksum
How to use checksums
5e02b70dae330259fb2dd067404951e47eec457df05bc8f76fb0dcb146f8b3aa
BLAKE2b-256 checksum
How to use checksums
03dea1e3e0f859b1806a72b6e6100b6a5df88ca37137631693f5b8a483ba2d42
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

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 Oct 6, 2026.

Transparency log

Release files / harmonypy-2.1.0-cp310-cp310-macosx_11_0_arm64.whl

Download URL harmonypy-2.1.0-cp310-cp310-macosx_11_0_arm64.whl
Size 186.6 kB
Tags CPython 3.10 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
2da2b03e69bd291f9ce742669313dd9ed8f60f23a34d921da9ca65336ff923e8
BLAKE2b-256 checksum
How to use checksums
1e176ad721aab9d25f1672fc18420bf8dd01c5000da3db3431544fc3261ef283
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

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 Oct 6, 2026.

Transparency log

Release files / harmonypy-2.1.0-cp39-cp39-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl

Download URL harmonypy-2.1.0-cp39-cp39-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Size 234.0 kB
Tags CPython 3.9 Linux glibc 2.27+ x86-64 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
042859e547ad39ff54e2e7faefff3f1ca7976d6a68c93c0b345d8ca6ed27c962
BLAKE2b-256 checksum
How to use checksums
0d96e107dba79b9813c72ff7b509bfd53b8719447bac08f86218934c97cec163
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

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 Oct 6, 2026.

Transparency log

Release files / harmonypy-2.1.0-cp39-cp39-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl

Download URL harmonypy-2.1.0-cp39-cp39-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl
Size 214.8 kB
Tags CPython 3.9 Linux glibc 2.27+ ARM64 Linux glibc 2.28+ ARM64
SHA-256 checksum
How to use checksums
d0f1bde25f4396f298ba50c50d955555cd5563fafd3edee6fdf5c5581da4093e
BLAKE2b-256 checksum
How to use checksums
83598c60c0242b66e3bc82de879053a358ed226718c9e317fc58e61ba81aefb4
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

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 Oct 6, 2026.

Transparency log

Release files / harmonypy-2.1.0-cp39-cp39-macosx_11_0_x86_64.whl

Download URL harmonypy-2.1.0-cp39-cp39-macosx_11_0_x86_64.whl
Size 218.6 kB
Tags CPython 3.9 macOS 11.0+ x86-64
SHA-256 checksum
How to use checksums
a2df253153e75a9ebc0c5783d9f2a7c7bbda465c5291a56b41c11f4a8f354f49
BLAKE2b-256 checksum
How to use checksums
f7f8328a520502e5065b3ac25ce548697cb20db95e50dfff6fb62a02647a2ec1
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

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 Oct 6, 2026.

Transparency log

Release files / harmonypy-2.1.0-cp39-cp39-macosx_11_0_arm64.whl

Download URL harmonypy-2.1.0-cp39-cp39-macosx_11_0_arm64.whl
Size 182.2 kB
Tags CPython 3.9 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
b533146cdb0b0cd971218191c64f1e46d0716605998807d7199e5913fdbdc756
BLAKE2b-256 checksum
How to use checksums
cfe238909c974161981fa89141d8d957602b33bd26b20cc36d80934b42373cd1
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

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 Oct 6, 2026.

Transparency log

Release history Release notifications | RSS feed

This release

2.1.0 This release

25 release files

2.0.2

21 release files

2.0.0

21 release files

0.2.0

2 release files

0.1.0

2 release files

0.0.9

2 release files

0.0.6

2 release files

0.0.5

2 release files

0.0.4

2 release files

0.0.3

2 release files

0.0.2

1 release file

0.0.1

3 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page