Skip to main content

Python wrapper for the Kalign multiple sequence alignment engine

Project description

Kalign Python Package

Python bindings for Kalign, a fast multiple sequence alignment program for biological sequences (DNA, RNA, protein).

Installation

pip install kalign-python

Optional dependencies for ecosystem integration:

pip install kalign-python[biopython]    # Biopython integration (fmt="biopython", I/O helpers)
pip install kalign-python[skbio]        # scikit-bio integration (fmt="skbio")
pip install kalign-python[io]           # I/O helpers (requires Biopython)
pip install kalign-python[analysis]     # pandas + matplotlib for downstream analysis
pip install kalign-python[all]          # all of the above

Quick Start

import kalign

sequences = [
    "ATCGATCGATCG",
    "ATCGTCGATCG",
    "ATCGATCATCG"
]

# Default mode — consistency anchors + VSM (best general-purpose)
aligned = kalign.align(sequences)

# Fast mode — no consistency, fastest
aligned = kalign.align(sequences, mode="fast")

# Precise mode — ensemble + realign, highest precision
aligned = kalign.align(sequences, mode="precise")

Modes

Kalign v3.5 provides three named modes that package the best configurations:

Mode Python CLI Description
default mode="default" or omit kalign Consistency anchors + VSM. Best general-purpose.
fast mode="fast" kalign --fast VSM only. Fastest, similar to kalign v3.4.
precise mode="precise" kalign --precise Ensemble(3) + VSM + realign. Highest precision.

Explicit parameters always override mode defaults:

# Fast base + 5 ensemble runs
aligned = kalign.align(sequences, mode="fast", ensemble=5)

# Precise base + custom gap penalty
aligned = kalign.align(sequences, mode="precise", gap_open=8.0)

Mode constants are also available: kalign.MODE_DEFAULT, kalign.MODE_FAST, kalign.MODE_PRECISE.

Core API

kalign.align()

aligned = kalign.align(
    sequences,              # list of str
    mode=None,              # "default", "fast", "precise", or None (= default)
    seq_type="auto",        # "auto", "dna", "rna", "protein", "divergent", "internal"
    gap_open=None,          # positive float, or None for defaults
    gap_extend=None,        # positive float, or None for defaults
    terminal_gap_extend=None,
    n_threads=None,         # int, or None for global default
    refine="none",          # refinement mode: "none", "all", "confident", "inline"
    ensemble=0,             # number of ensemble runs (0 = off, try 3-5)
    min_support=0,          # explicit consensus threshold (0 = auto)
    fmt="plain",            # "plain", "biopython", "skbio"
    ids=None,               # list of str (for biopython/skbio output)
)

Returns a list of aligned strings (default), a Bio.Align.MultipleSeqAlignment (fmt="biopython"), or a skbio.TabularMSA (fmt="skbio").

When ensemble > 0 and fmt="biopython", per-residue confidence is attached as HMMER-style PP letter_annotations["posterior_probability"].

kalign.align_from_file()

Align sequences directly from a FASTA, MSF, or Clustal file:

result = kalign.align_from_file("sequences.fasta", seq_type="protein")
for name, seq in zip(result.names, result.sequences):
    print(f"{name}: {seq}")

Returns an AlignedSequences object with .names, .sequences, and optional confidence fields (see below).

Additional parameters for advanced use:

result = kalign.align_from_file(
    "input.fasta",
    mode="precise",              # or "default", "fast"
    ensemble=5,                  # override: 5 runs instead of mode default (3)
    min_support=0,               # consensus threshold (0 = auto)
    save_poar="consensus.poar",  # save POAR table for re-thresholding
    # load_poar="consensus.poar",  # OR load pre-computed POAR
    refine="none",               # refinement mode
)

kalign.compare()

Score a test alignment against a reference using the Sum-of-Pairs (SP) score:

score = kalign.compare("reference.msf", "test.fasta")
print(f"SP score: {score:.1f}")  # 0 (no match) to 100 (identical)

kalign.compare_detailed()

Detailed alignment comparison returning POAR recall/precision/F1/TC:

scores = kalign.compare_detailed("reference.msf", "test.fasta")
print(f"F1: {scores['f1']:.3f}, TC: {scores['tc']:.3f}")

kalign.write_alignment()

Write aligned sequences to a file:

kalign.write_alignment(aligned, "output.fasta", format="fasta", ids=ids)

Supported formats: fasta, clustal, stockholm, phylip (non-FASTA formats require Biopython).

Ensemble Alignment & Confidence Scores

Ensemble mode runs multiple alignments with varied parameters and combines results via POAR (Pairs of Aligned Residues) consensus. The simplest way to use it is mode="precise" (ensemble=3 + realign). For more control, set ensemble directly.

import kalign

# Precise mode: ensemble(3) + realign — highest precision
result = kalign.align_from_file("proteins.fasta", mode="precise")

# Or: explicit 5 ensemble runs
result = kalign.align_from_file("proteins.fasta", ensemble=5)

# Per-column confidence: average agreement across ensemble runs [0..1]
print(result.column_confidence[:10])   # e.g. [0.93, 0.87, 1.0, ...]

# Per-residue confidence: per-sequence, per-position agreement [0..1]
print(result.residue_confidence[0][:10])  # e.g. [0.95, 0.90, 1.0, ...]

POAR Save/Load

Save the POAR consensus table to avoid re-running the ensemble when experimenting with thresholds:

# First run: compute ensemble and save POAR
kalign.align_file_to_file("input.fa", "output.fa", ensemble=5,
                          save_poar="consensus.poar")

# Later: instant re-threshold from saved POAR (no re-alignment)
kalign.align_file_to_file("input.fa", "output2.fa",
                          load_poar="consensus.poar", min_support=3)

Stockholm Output with Confidence

Write confidence annotations in Stockholm format (#=GR PP per-residue, #=GC PP_cons per-column):

result = kalign.align_from_file("input.fasta", ensemble=5)
kalign.write_alignment(
    result.sequences, "output.sto", format="stockholm",
    ids=result.names,
    column_confidence=result.column_confidence,
    residue_confidence=result.residue_confidence,
)

Confidence uses HMMER-style PP encoding: *=95%+, 9=85-95%, ..., 0=0-5%, .=gap.

Biopython Per-Residue PP

When using fmt="biopython" with ensemble, per-residue confidence is attached as letter_annotations["posterior_probability"]:

aln = kalign.align(seqs, ensemble=3, fmt="biopython", ids=ids)
print(aln[0].letter_annotations["posterior_probability"])  # e.g. "998.76*9..."

Threading

import kalign

kalign.set_num_threads(4)        # set global default
n = kalign.get_num_threads()     # query current default

# or override per call
aligned = kalign.align(sequences, n_threads=8)

Thread settings are thread-local, so different threads can use different defaults.

Utilities (kalign.utils)

Requires only NumPy (installed automatically):

import kalign

aligned = kalign.align(sequences)

arr = kalign.utils.to_array(aligned)                          # numpy array
stats = kalign.utils.alignment_stats(aligned)                 # dict with gap_fraction, conservation, identity
consensus = kalign.utils.consensus_sequence(aligned, threshold=0.7)
matrix = kalign.utils.pairwise_identity_matrix(aligned)       # numpy array
trimmed = kalign.utils.remove_gap_columns(aligned)
region = kalign.utils.trim_alignment(aligned, start=2, end=10)

Biopython Integration

Requires pip install kalign-python[biopython].

import kalign

# Return a Biopython MultipleSeqAlignment
aln = kalign.align(sequences, fmt="biopython", ids=["s1", "s2", "s3"])
print(aln.get_alignment_length())

# Write in various formats via Biopython
from Bio import AlignIO
AlignIO.write(aln, "output.clustal", "clustal")

I/O helpers (kalign.io)

sequences = kalign.io.read_fasta("input.fasta")
sequences, ids = kalign.io.read_sequences("input.fasta")

aligned = kalign.align(sequences)
kalign.io.write_fasta(aligned, "output.fasta", ids=ids)
kalign.io.write_clustal(aligned, "output.aln", ids=ids)
kalign.io.write_stockholm(aligned, "output.sto", ids=ids)
kalign.io.write_phylip(aligned, "output.phy", ids=ids)

scikit-bio Integration

Requires pip install kalign-python[skbio].

import kalign

# Returns a TabularMSA of DNA, RNA, or Protein depending on seq_type
aln = kalign.align(sequences, seq_type="dna", fmt="skbio")
print(type(aln))  # <class 'skbio.alignment._tabular_msa.TabularMSA'>

Constants

Sequence Types

String Constant Description
"auto" kalign.AUTO Auto-detect (default)
"dna" kalign.DNA DNA sequences
"rna" kalign.RNA RNA sequences
"protein" kalign.PROTEIN Protein sequences
"divergent" kalign.PROTEIN_DIVERGENT Divergent protein sequences
"internal" kalign.DNA_INTERNAL DNA with internal gap preference

Refinement Modes

String Constant Description
"none" kalign.REFINE_NONE No refinement (default)
"all" kalign.REFINE_ALL Refine all columns
"confident" kalign.REFINE_CONFIDENT Refine only confident columns
"inline" kalign.REFINE_INLINE Inline refinement (disables parallelism)

Command-line Interface

# Modes
kalign-py -i sequences.fasta -o aligned.fasta                    # default mode
kalign-py --fast -i sequences.fasta -o aligned.fasta             # fast mode
kalign-py --precise -i sequences.fasta -o aligned.fasta          # precise mode

# I/O options
kalign-py -i sequences.fasta -o - --format clustal               # stdout
cat input.fa | kalign-py -i - -o aligned.fasta                   # stdin
kalign-py -i sequences.fasta -o aligned.fasta --type protein     # explicit type

# Ensemble with POAR save/load
kalign-py -i input.fa -o output.fa --ensemble 5 --save-poar consensus.poar
kalign-py -i input.fa -o output.fa --load-poar consensus.poar --min-support 3

kalign-py --version

Development

git clone https://github.com/TimoLassmann/kalign.git
cd kalign
uv pip install -e .
uv run pytest tests/python/ -v

Requirements: Python 3.9+, CMake 3.18+, C++11 compiler, NumPy.

Citation

If you use Kalign in your research, please cite:

Lassmann, T. (2020). Kalign 3: multiple sequence alignment of large data sets. Bioinformatics, 36(6), 1928-1929. doi:10.1093/bioinformatics/btz795

License

Apache License, Version 2.0. See COPYING.

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

kalign_python-3.5.0.tar.gz (1.3 MB view details)

Uploaded Source

Built Distributions

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

kalign_python-3.5.0-cp313-cp313-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl (362.9 kB view details)

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

kalign_python-3.5.0-cp313-cp313-macosx_14_0_x86_64.whl (224.6 kB view details)

Uploaded CPython 3.13macOS 14.0+ x86-64

kalign_python-3.5.0-cp313-cp313-macosx_14_0_arm64.whl (451.9 kB view details)

Uploaded CPython 3.13macOS 14.0+ ARM64

kalign_python-3.5.0-cp312-cp312-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl (363.0 kB view details)

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

kalign_python-3.5.0-cp312-cp312-macosx_14_0_x86_64.whl (224.6 kB view details)

Uploaded CPython 3.12macOS 14.0+ x86-64

kalign_python-3.5.0-cp312-cp312-macosx_14_0_arm64.whl (451.9 kB view details)

Uploaded CPython 3.12macOS 14.0+ ARM64

kalign_python-3.5.0-cp311-cp311-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl (361.4 kB view details)

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

kalign_python-3.5.0-cp311-cp311-macosx_14_0_x86_64.whl (223.2 kB view details)

Uploaded CPython 3.11macOS 14.0+ x86-64

kalign_python-3.5.0-cp311-cp311-macosx_14_0_arm64.whl (451.1 kB view details)

Uploaded CPython 3.11macOS 14.0+ ARM64

kalign_python-3.5.0-cp310-cp310-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl (359.6 kB view details)

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

kalign_python-3.5.0-cp310-cp310-macosx_14_0_x86_64.whl (221.8 kB view details)

Uploaded CPython 3.10macOS 14.0+ x86-64

kalign_python-3.5.0-cp310-cp310-macosx_14_0_arm64.whl (449.8 kB view details)

Uploaded CPython 3.10macOS 14.0+ ARM64

kalign_python-3.5.0-cp39-cp39-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl (360.0 kB view details)

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

kalign_python-3.5.0-cp39-cp39-macosx_14_0_x86_64.whl (221.9 kB view details)

Uploaded CPython 3.9macOS 14.0+ x86-64

kalign_python-3.5.0-cp39-cp39-macosx_14_0_arm64.whl (449.8 kB view details)

Uploaded CPython 3.9macOS 14.0+ ARM64

File details

Details for the file kalign_python-3.5.0.tar.gz.

File metadata

  • Download URL: kalign_python-3.5.0.tar.gz
  • Upload date:
  • Size: 1.3 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for kalign_python-3.5.0.tar.gz
Algorithm Hash digest
SHA256 2295a08094323f69872afb38db53e28cde93799c458cb56d57717daeabfd3013
MD5 bbf9b9a5e9a6affbdfbba3097bb2884d
BLAKE2b-256 daca7a5061343f79b5fbb1b782f4734a6f290d060a12fb6b70d15a679d4d4ffa

See more details on using hashes here.

Provenance

The following attestation bundles were made for kalign_python-3.5.0.tar.gz:

Publisher: wheels.yml on TimoLassmann/kalign

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

File details

Details for the file kalign_python-3.5.0-cp313-cp313-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for kalign_python-3.5.0-cp313-cp313-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 3a0a1d66c9839d47916f22c1844bed1d477ebf01ce87592a453a89a4db848b38
MD5 b312e713da772fcc220f44ef7b613eed
BLAKE2b-256 965e5be584b3e5a3d60c0d30dc066425bc97f00f598f7c8afbf68215501e1e4c

See more details on using hashes here.

Provenance

The following attestation bundles were made for kalign_python-3.5.0-cp313-cp313-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl:

Publisher: wheels.yml on TimoLassmann/kalign

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

File details

Details for the file kalign_python-3.5.0-cp313-cp313-macosx_14_0_x86_64.whl.

File metadata

File hashes

Hashes for kalign_python-3.5.0-cp313-cp313-macosx_14_0_x86_64.whl
Algorithm Hash digest
SHA256 2074981c3e47adcb52ac708d5514038328f6a95711885fc656006cd99763c83e
MD5 dc11f559ea115bcfc34be3f7996c8449
BLAKE2b-256 9f910bcee31bd912d24f2a07357116d416cddae46e50460ba2382e1d08252c24

See more details on using hashes here.

Provenance

The following attestation bundles were made for kalign_python-3.5.0-cp313-cp313-macosx_14_0_x86_64.whl:

Publisher: wheels.yml on TimoLassmann/kalign

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

File details

Details for the file kalign_python-3.5.0-cp313-cp313-macosx_14_0_arm64.whl.

File metadata

File hashes

Hashes for kalign_python-3.5.0-cp313-cp313-macosx_14_0_arm64.whl
Algorithm Hash digest
SHA256 32d18994e12bab344f281d9dd85751bb0d6ce22ca152b25c6e3b9d37d651e541
MD5 c788441aacae15cf086bcbde5093beba
BLAKE2b-256 b0639eb44dda5442840b990c2f644291349026d921d327b118ca8f275e4e8fc1

See more details on using hashes here.

Provenance

The following attestation bundles were made for kalign_python-3.5.0-cp313-cp313-macosx_14_0_arm64.whl:

Publisher: wheels.yml on TimoLassmann/kalign

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

File details

Details for the file kalign_python-3.5.0-cp312-cp312-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for kalign_python-3.5.0-cp312-cp312-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 e5018bb855cb0640cd38c2244574a9982b5c953f3fb2395593efb096f5df60b3
MD5 e34ec14c0b1a567bb1c6fc8752583828
BLAKE2b-256 88b76ca6671204daf50b9cad707d87c4e3ff03bfd15a12d2ebc1f8ce19a8740f

See more details on using hashes here.

Provenance

The following attestation bundles were made for kalign_python-3.5.0-cp312-cp312-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl:

Publisher: wheels.yml on TimoLassmann/kalign

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

File details

Details for the file kalign_python-3.5.0-cp312-cp312-macosx_14_0_x86_64.whl.

File metadata

File hashes

Hashes for kalign_python-3.5.0-cp312-cp312-macosx_14_0_x86_64.whl
Algorithm Hash digest
SHA256 de945162378cb8fec80348e499a7b12862741ecb09f02a71da50d903e574dece
MD5 1a50d5ea917ae84c9e1e90af34ee98b1
BLAKE2b-256 40c9bd9a4380a2a03c63d3aebb1794616173ceba54632d7225334a88b46d98c6

See more details on using hashes here.

Provenance

The following attestation bundles were made for kalign_python-3.5.0-cp312-cp312-macosx_14_0_x86_64.whl:

Publisher: wheels.yml on TimoLassmann/kalign

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

File details

Details for the file kalign_python-3.5.0-cp312-cp312-macosx_14_0_arm64.whl.

File metadata

File hashes

Hashes for kalign_python-3.5.0-cp312-cp312-macosx_14_0_arm64.whl
Algorithm Hash digest
SHA256 9686951320ea9e366e008a59f01a7b649234acdb6f8f21378258783f2f6e4cf1
MD5 5b6c4f207de748d573865375d3418c74
BLAKE2b-256 8a58a5913feb673f549f07e3436c58d8b10bf17bc72dc77bddd3c2aa2d719c71

See more details on using hashes here.

Provenance

The following attestation bundles were made for kalign_python-3.5.0-cp312-cp312-macosx_14_0_arm64.whl:

Publisher: wheels.yml on TimoLassmann/kalign

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

File details

Details for the file kalign_python-3.5.0-cp311-cp311-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for kalign_python-3.5.0-cp311-cp311-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 0797f058bae388ead68f762d1d6ed9000a96b4543bb34652c52a85923b51f57b
MD5 500ca38b02f45e63be88deb9882e724a
BLAKE2b-256 fb42b8ba8f19c95fc694cc3eb7f7f636ce61423811064739631f601528fe2eae

See more details on using hashes here.

Provenance

The following attestation bundles were made for kalign_python-3.5.0-cp311-cp311-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl:

Publisher: wheels.yml on TimoLassmann/kalign

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

File details

Details for the file kalign_python-3.5.0-cp311-cp311-macosx_14_0_x86_64.whl.

File metadata

File hashes

Hashes for kalign_python-3.5.0-cp311-cp311-macosx_14_0_x86_64.whl
Algorithm Hash digest
SHA256 7f0d2662ca96b987a4baed4902b2bf4162e2f28c9cbd715faa83f7029ee1a174
MD5 476b0a7a841d6f18a3ee8bac99a21579
BLAKE2b-256 111fb44ade2ea543b3a9ed0e2c275861a18a728eda6c5ca986ddcdcc55f12b42

See more details on using hashes here.

Provenance

The following attestation bundles were made for kalign_python-3.5.0-cp311-cp311-macosx_14_0_x86_64.whl:

Publisher: wheels.yml on TimoLassmann/kalign

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

File details

Details for the file kalign_python-3.5.0-cp311-cp311-macosx_14_0_arm64.whl.

File metadata

File hashes

Hashes for kalign_python-3.5.0-cp311-cp311-macosx_14_0_arm64.whl
Algorithm Hash digest
SHA256 35a479099cd53c3a546344b671bb8a92475c0eeec955d4cc4ed351237e62bf78
MD5 6b3d6b77516b8027d62a60d24a3ec574
BLAKE2b-256 18bcaea98caea2d401b5f3827fb6184c49b355b91388ae5f88008bac8da2f745

See more details on using hashes here.

Provenance

The following attestation bundles were made for kalign_python-3.5.0-cp311-cp311-macosx_14_0_arm64.whl:

Publisher: wheels.yml on TimoLassmann/kalign

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

File details

Details for the file kalign_python-3.5.0-cp310-cp310-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for kalign_python-3.5.0-cp310-cp310-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 61564cdb88fdc4195223938967ad90c56c485839a4b4ad629e1f29cd8b1e28eb
MD5 1b9234e24b6077d4ed8a702ed607a672
BLAKE2b-256 bbada5c89451141c6324f0942fb35d4bfffcff2262ce5f74056dc1e61dbab730

See more details on using hashes here.

Provenance

The following attestation bundles were made for kalign_python-3.5.0-cp310-cp310-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl:

Publisher: wheels.yml on TimoLassmann/kalign

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

File details

Details for the file kalign_python-3.5.0-cp310-cp310-macosx_14_0_x86_64.whl.

File metadata

File hashes

Hashes for kalign_python-3.5.0-cp310-cp310-macosx_14_0_x86_64.whl
Algorithm Hash digest
SHA256 9bab4e0c8f7147dd8d3f34e3633792f79a23065f65a9c9683b446a5e821e6f4f
MD5 bb0b09f6e841c934ca423dbf9d31f239
BLAKE2b-256 6aaf75cd6e75a2632e33b9abd9ecc6700850818c93ff8cd49c8a4f4455ba80ac

See more details on using hashes here.

Provenance

The following attestation bundles were made for kalign_python-3.5.0-cp310-cp310-macosx_14_0_x86_64.whl:

Publisher: wheels.yml on TimoLassmann/kalign

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

File details

Details for the file kalign_python-3.5.0-cp310-cp310-macosx_14_0_arm64.whl.

File metadata

File hashes

Hashes for kalign_python-3.5.0-cp310-cp310-macosx_14_0_arm64.whl
Algorithm Hash digest
SHA256 867f2a8b8b80c2f00307645a3b6c5d611aa4e403ff1ffa32421da9a43fb261c7
MD5 608f3bec8cfbc6a4b22b8c064d4e92ac
BLAKE2b-256 18ed56afa1c0befa50393cc0b50a43393ef1092143a8dd0ea73a01387312ce94

See more details on using hashes here.

Provenance

The following attestation bundles were made for kalign_python-3.5.0-cp310-cp310-macosx_14_0_arm64.whl:

Publisher: wheels.yml on TimoLassmann/kalign

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

File details

Details for the file kalign_python-3.5.0-cp39-cp39-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for kalign_python-3.5.0-cp39-cp39-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 22dbbe18cbb19ccd12bae4afe48e0cb6d3e5a4167441004ab8b6cbf4a79f9173
MD5 b16aed0d901fd1b661484d77d3a181f6
BLAKE2b-256 2a68754025144211ba2f94c1ae10085239d788b494c293893c497e16e82344b6

See more details on using hashes here.

Provenance

The following attestation bundles were made for kalign_python-3.5.0-cp39-cp39-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl:

Publisher: wheels.yml on TimoLassmann/kalign

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

File details

Details for the file kalign_python-3.5.0-cp39-cp39-macosx_14_0_x86_64.whl.

File metadata

File hashes

Hashes for kalign_python-3.5.0-cp39-cp39-macosx_14_0_x86_64.whl
Algorithm Hash digest
SHA256 660f89296f44cdd4b308d97b65dd70735d7a3b464b232981f2c0049722170f5b
MD5 4ed3df716cb83ab30f919986366950b4
BLAKE2b-256 594bd1c2db22d772e67a5aa96a4a945b34786583974f09f216447b1669cbec5f

See more details on using hashes here.

Provenance

The following attestation bundles were made for kalign_python-3.5.0-cp39-cp39-macosx_14_0_x86_64.whl:

Publisher: wheels.yml on TimoLassmann/kalign

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

File details

Details for the file kalign_python-3.5.0-cp39-cp39-macosx_14_0_arm64.whl.

File metadata

File hashes

Hashes for kalign_python-3.5.0-cp39-cp39-macosx_14_0_arm64.whl
Algorithm Hash digest
SHA256 3dadd758eea59a8034107a58b082af171d75adaf175078b1169d7b732ad4846c
MD5 3cb5b26fd25d9b733469bf5175d83c13
BLAKE2b-256 60fe2066c6809a57440486c90c6f3ecf931f76f3caec96c8d00e5921458c986b

See more details on using hashes here.

Provenance

The following attestation bundles were made for kalign_python-3.5.0-cp39-cp39-macosx_14_0_arm64.whl:

Publisher: wheels.yml on TimoLassmann/kalign

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