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 — single run with consistency anchors (best general-purpose)
aligned = kalign.align(sequences)
# Fast mode — single run, fastest
aligned = kalign.align(sequences, mode="fast")
# Accurate mode — ensemble, highest precision
aligned = kalign.align(sequences, mode="accurate")
Modes
Kalign v3.5 provides four named modes, exposed identically through the Python API
and the kalign command-line tool. Presets were derived from NSGA-III
multi-objective optimization on BAliBASE v4 (protein) and BRAliBASE (RNA).
| Mode | Python | CLI | Description |
|---|---|---|---|
| fast | mode="fast" |
kalign --mode fast |
Single run, fastest. |
| default | mode="default" or omit |
kalign (or --mode default) |
Single run with consistency anchors. Best general-purpose. |
| recall | mode="recall" |
kalign --mode recall |
Ensemble, optimized for recall. |
| accurate | mode="accurate" |
kalign --mode accurate |
Ensemble, highest precision. |
Explicit parameters always override mode defaults:
# Fast base + 5 ensemble runs
aligned = kalign.align(sequences, mode="fast", ensemble=5)
# Accurate base + custom gap penalty
aligned = kalign.align(sequences, mode="accurate", gap_open=8.0)
Mode constants are also available: kalign.MODE_FAST, kalign.MODE_DEFAULT,
kalign.MODE_RECALL, kalign.MODE_ACCURATE.
Core API
kalign.align()
aligned = kalign.align(
sequences, # list of str
mode=None, # "fast", "default", "recall", "accurate", 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="accurate", # or "fast", "default", "recall"
ensemble=5, # override: 5 runs instead of mode default
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="accurate" (5-run ensemble) or mode="recall" (recall-tuned ensemble). For more control, set ensemble directly.
import kalign
# Accurate mode: 5-run ensemble — highest precision
result = kalign.align_from_file("proteins.fasta", mode="accurate")
# 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 --mode fast -i sequences.fasta -o aligned.fasta # fast mode
kalign-py --mode recall -i sequences.fasta -o aligned.fasta # recall mode
kalign-py --mode accurate -i sequences.fasta -o aligned.fasta # accurate 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.
Metadata
Release files for kalign-python 3.6.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| kalign_python-3.6.0.tar.gz | 1.3 MB | Details |
Built distributions (wheels)
Total release size: 4.3 MB
Release files / kalign_python-3.6.0.tar.gz
| Download URL | kalign_python-3.6.0.tar.gz |
|---|---|
| Size | 1.3 MB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
9fd4b07525ca40988ec66936aedcad799f9d89ae234fded18d2dd00cc68e9669
|
|
BLAKE2b-256 checksum How to use checksums |
a2dea61438488cb03b79673259070e22cfafbd94edc55c9b815e93718b5adc00
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.12
|
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 May 16, 2026.
Transparency logRelease files / kalign_python-3.6.0-cp314-cp314-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
| Download URL | kalign_python-3.6.0-cp314-cp314-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl |
|---|---|
| Size | 273.7 kB |
| Tags | CPython 3.14 Linux glibc 2.24+ x86-64 Linux glibc 2.28+ x86-64 |
|
SHA-256 checksum How to use checksums |
7b1d452852d11c71a3406c53ffefbaf8e9b9f8dd0660a1094aa25000ea24ab23
|
|
BLAKE2b-256 checksum How to use checksums |
9132ebcb8e175f97f6d80bfed984d4823f5028d6282417320c78c7a64908c588
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.12
|
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 May 16, 2026.
Transparency logRelease files / kalign_python-3.6.0-cp314-cp314-macosx_14_0_x86_64.whl
| Download URL | kalign_python-3.6.0-cp314-cp314-macosx_14_0_x86_64.whl |
|---|---|
| Size | 248.8 kB |
| Tags | CPython 3.14 macOS 14.0+ x86-64 |
|
SHA-256 checksum How to use checksums |
c028d19d90cffb9837e228639025f43ef9991892718dff8d1f9d1581c50ba4db
|
|
BLAKE2b-256 checksum How to use checksums |
6cb0fdf68020a6993dd9a60c49c2ac6f6c647d0e4b8dcbfa8368352fb5b891e5
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.12
|
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 May 16, 2026.
Transparency logRelease files / kalign_python-3.6.0-cp314-cp314-macosx_14_0_arm64.whl
| Download URL | kalign_python-3.6.0-cp314-cp314-macosx_14_0_arm64.whl |
|---|---|
| Size | 223.2 kB |
| Tags | CPython 3.14 macOS 14.0+ ARM64 |
|
SHA-256 checksum How to use checksums |
34ddbc23ce0891b2815273a961e2fb461ab63ab954910d7e5359d055aa6e3fda
|
|
BLAKE2b-256 checksum How to use checksums |
5a882dfe2676f6c5946213d08925a861e4e6ec00ca12075fb58255d8ec7cda77
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.12
|
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 May 16, 2026.
Transparency logRelease files / kalign_python-3.6.0-cp313-cp313-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
| Download URL | kalign_python-3.6.0-cp313-cp313-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl |
|---|---|
| Size | 273.6 kB |
| Tags | CPython 3.13 Linux glibc 2.24+ x86-64 Linux glibc 2.28+ x86-64 |
|
SHA-256 checksum How to use checksums |
79f843e54f6eded6cddad27dc0f70c41d625154dff666f16c2df269f3cfa1bbd
|
|
BLAKE2b-256 checksum How to use checksums |
9796ffb4abc3d74aa7fd3e60c6490095784c11598a35af88bdd8cd135af129ab
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.12
|
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 May 16, 2026.
Transparency logRelease files / kalign_python-3.6.0-cp313-cp313-macosx_14_0_x86_64.whl
| Download URL | kalign_python-3.6.0-cp313-cp313-macosx_14_0_x86_64.whl |
|---|---|
| Size | 248.8 kB |
| Tags | CPython 3.13 macOS 14.0+ x86-64 |
|
SHA-256 checksum How to use checksums |
617af8dabbfc8e3e07aa7461f50185f26c7f002a26c04667f5a9e5c8222fb2de
|
|
BLAKE2b-256 checksum How to use checksums |
1dcbf61e6062a801bfa7706fbf0f52df434277b77a5fe1abb7e19c5683bd43fa
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.12
|
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 May 16, 2026.
Transparency logRelease files / kalign_python-3.6.0-cp313-cp313-macosx_14_0_arm64.whl
| Download URL | kalign_python-3.6.0-cp313-cp313-macosx_14_0_arm64.whl |
|---|---|
| Size | 223.0 kB |
| Tags | CPython 3.13 macOS 14.0+ ARM64 |
|
SHA-256 checksum How to use checksums |
59aeb06e7eaf67cef3679733677f0462cbb8f4e49e4d4a79c07a69ea78e41429
|
|
BLAKE2b-256 checksum How to use checksums |
43dd0cbbbe039b78631b5c0d7bf6227319d66e131d6b2d665e3f42f5041aa123
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.12
|
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 May 16, 2026.
Transparency logRelease files / kalign_python-3.6.0-cp312-cp312-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
| Download URL | kalign_python-3.6.0-cp312-cp312-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl |
|---|---|
| Size | 273.6 kB |
| Tags | CPython 3.12 Linux glibc 2.24+ x86-64 Linux glibc 2.28+ x86-64 |
|
SHA-256 checksum How to use checksums |
1a020f59a7fd99c9cbba4eb38a3dbd067b0081ed928e82d865d5a67115be5250
|
|
BLAKE2b-256 checksum How to use checksums |
9dcaa6303412ab412c396a74104f5b2c7391e37b056cd4677364379f6f7a6d03
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.12
|
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 May 16, 2026.
Transparency logRelease files / kalign_python-3.6.0-cp312-cp312-macosx_14_0_x86_64.whl
| Download URL | kalign_python-3.6.0-cp312-cp312-macosx_14_0_x86_64.whl |
|---|---|
| Size | 248.7 kB |
| Tags | CPython 3.12 macOS 14.0+ x86-64 |
|
SHA-256 checksum How to use checksums |
1d2c1cca9080b6d2ce6d2c779df1bc52fc0a4b7d3c6461c5ed13de4264c23517
|
|
BLAKE2b-256 checksum How to use checksums |
4c7219ba270d5faaa35118aaeb964b775389929b7c9848c0070d6ea51230c74b
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.12
|
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 May 16, 2026.
Transparency logRelease files / kalign_python-3.6.0-cp312-cp312-macosx_14_0_arm64.whl
| Download URL | kalign_python-3.6.0-cp312-cp312-macosx_14_0_arm64.whl |
|---|---|
| Size | 222.9 kB |
| Tags | CPython 3.12 macOS 14.0+ ARM64 |
|
SHA-256 checksum How to use checksums |
bc18e3794129f6899d1129a7753e4e5b5f669b0ad5af7bd955949750f1466eb8
|
|
BLAKE2b-256 checksum How to use checksums |
d403ec578df5a6fbb24e2c58d773dac3f52b9e346d46c31187724d96acf71753
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.12
|
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 May 16, 2026.
Transparency logRelease files / kalign_python-3.6.0-cp311-cp311-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
| Download URL | kalign_python-3.6.0-cp311-cp311-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl |
|---|---|
| Size | 272.9 kB |
| Tags | CPython 3.11 Linux glibc 2.24+ x86-64 Linux glibc 2.28+ x86-64 |
|
SHA-256 checksum How to use checksums |
5eeee2a5ddead4abe8f2581921e0fc8d78ea27193510b9c0c4426739cf834760
|
|
BLAKE2b-256 checksum How to use checksums |
b47a2a0cf0885d1d597a769a7ea464c7f4b843cf968b48e253e2300229deed92
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.12
|
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 May 16, 2026.
Transparency logRelease files / kalign_python-3.6.0-cp311-cp311-macosx_14_0_x86_64.whl
| Download URL | kalign_python-3.6.0-cp311-cp311-macosx_14_0_x86_64.whl |
|---|---|
| Size | 247.0 kB |
| Tags | CPython 3.11 macOS 14.0+ x86-64 |
|
SHA-256 checksum How to use checksums |
b74daa7753faaceb6fac3a0722d0d9b57ecdb2dd92c1e81eabd55027106447a7
|
|
BLAKE2b-256 checksum How to use checksums |
2c38139c3ecd1ff4154a89ee1a2e09bfa44f6a73884893c99a6433a5a34beb1e
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.12
|
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 May 16, 2026.
Transparency logRelease files / kalign_python-3.6.0-cp311-cp311-macosx_14_0_arm64.whl
| Download URL | kalign_python-3.6.0-cp311-cp311-macosx_14_0_arm64.whl |
|---|---|
| Size | 221.6 kB |
| Tags | CPython 3.11 macOS 14.0+ ARM64 |
|
SHA-256 checksum How to use checksums |
a409b9ee7235e3c8623674050dc68e90a2ca2144a5f0976655f08b348b0c49ae
|
|
BLAKE2b-256 checksum How to use checksums |
7572955b6fcb50fec7c937b40783081df0e1d825362ff80a7ceef29cf63a0be2
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.12
|
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 May 16, 2026.
Transparency log