# kaldialign
A small package that exposes edit distance computation functions from [Kaldi](https://github.com/kaldi-asr/kaldi). It uses the original Kaldi code and wraps it using pybind11.
## Installation
```bash
conda install -c kaldialign kaldialign
```
or
```bash
pip install --verbose kaldialign
```
or
```bash
pip install --verbose -U git+https://github.com/pzelasko/kaldialign.git
```
or
```bash
git clone https://github.com/pzelasko/kaldialign.git
cd kaldialign
python3 -m pip install --verbose .
```
## Examples
### Alignment
`align(ref, hyp, epsilon)` - used to obtain the alignment between two string sequences. `epsilon` should be a null symbol (indicating deletion/insertion) that doesn't exist in either sequence.
```python
from kaldialign import align
EPS = '*'
a = ['a', 'b', 'c']
b = ['a', 's', 'x', 'c']
ali = align(a, b, EPS)
assert ali == [('a', 'a'), ('b', 's'), (EPS, 'x'), ('c', 'c')]
```
### Edit distance
`edit_distance(ref, hyp)` - used to obtain the total edit distance, as well as the number of insertions, deletions and substitutions.
```python
from kaldialign import edit_distance
a = ['a', 'b', 'c']
b = ['a', 's', 'x', 'c']
results = edit_distance(a, b)
assert results == {
'ins': 1,
'del': 0,
'sub': 1,
'total': 2
}
```
For alignment and edit distance, you can pass `sclite_mode=True` to compute WER or alignments
based on SCLITE style weights, i.e., insertion/deletion cost 3 and substitution cost 4.
### Bootstrapping method to extract WER 95% confidence intervals
`boostrap_wer_ci(ref, hyp, hyp2=None)` - obtain the 95% confidence intervals for WER using Bisani and Ney boostrapping method.
```python
from kaldialign import bootstrap_wer_ci
ref = [
("a", "b", "c"),
("d", "e", "f"),
]
hyp = [
("a", "b", "d"),
("e", "f", "f"),
]
ans = bootstrap_wer_ci(ref, hyp)
assert ans["wer"] == 0.4989
assert ans["ci95"] == 0.2312
assert ans["ci95min"] == 0.2678
assert ans["ci95max"] == 0.7301
```
It also supports providing hypotheses from system 1 and system 2 to compute the probability of S2 improving over S1:
```python
from kaldialign import bootstrap_wer_ci
ref = [
("a", "b", "c"),
("d", "e", "f"),
]
hyp = [
("a", "b", "d"),
("e", "f", "f"),
]
hyp2 = [
("a", "b", "c"),
("e", "e", "f"),
]
ans = bootstrap_wer_ci(ref, hyp, hyp2)
s = ans["system1"]
assert s["wer"] == 0.4989
assert s["ci95"] == 0.2312
assert s["ci95min"] == 0.2678
assert s["ci95max"] == 0.7301
s = ans["system2"]
assert s["wer"] == 0.1656
assert s["ci95"] == 0.2312
assert s["ci95min"] == -0.0656
assert s["ci95max"] == 0.3968
assert ans["p_s2_improv_over_s1"] == 1.0
```
## Motivation
The need for this arised from the fact that practically all implementations of the Levenshtein distance have slight differences, making it impossible to use a different scoring tool than Kaldi and get the same error rate results. This package copies code from Kaldi directly and wraps it using pybind11, avoiding the issue altogether.
Raw data
{
"_id": null,
"home_page": "https://github.com/pzelasko/kaldialign",
"name": "kaldialign",
"maintainer": "",
"docs_url": null,
"requires_python": "",
"maintainer_email": "",
"keywords": "natural language processing,speech recognition,machine learning",
"author": "Piotr \u017belasko",
"author_email": "pzelasko@jhu.edu",
"download_url": "",
"platform": null,
"description": "# kaldialign\n\nA small package that exposes edit distance computation functions from [Kaldi](https://github.com/kaldi-asr/kaldi). It uses the original Kaldi code and wraps it using pybind11.\n\n## Installation\n\n```bash\nconda install -c kaldialign kaldialign\n```\n\nor\n\n```bash\npip install --verbose kaldialign\n```\n\nor\n\n```bash\npip install --verbose -U git+https://github.com/pzelasko/kaldialign.git\n```\n\nor\n\n```bash\ngit clone https://github.com/pzelasko/kaldialign.git\ncd kaldialign\npython3 -m pip install --verbose .\n```\n\n## Examples\n\n### Alignment\n\n`align(ref, hyp, epsilon)` - used to obtain the alignment between two string sequences. `epsilon` should be a null symbol (indicating deletion/insertion) that doesn't exist in either sequence.\n\n```python\nfrom kaldialign import align\n\nEPS = '*'\na = ['a', 'b', 'c']\nb = ['a', 's', 'x', 'c']\nali = align(a, b, EPS)\nassert ali == [('a', 'a'), ('b', 's'), (EPS, 'x'), ('c', 'c')]\n```\n\n### Edit distance\n\n`edit_distance(ref, hyp)` - used to obtain the total edit distance, as well as the number of insertions, deletions and substitutions.\n\n```python\nfrom kaldialign import edit_distance\n\na = ['a', 'b', 'c']\nb = ['a', 's', 'x', 'c']\nresults = edit_distance(a, b)\nassert results == {\n 'ins': 1,\n 'del': 0,\n 'sub': 1,\n 'total': 2\n}\n```\n\nFor alignment and edit distance, you can pass `sclite_mode=True` to compute WER or alignments\nbased on SCLITE style weights, i.e., insertion/deletion cost 3 and substitution cost 4.\n\n### Bootstrapping method to extract WER 95% confidence intervals\n\n`boostrap_wer_ci(ref, hyp, hyp2=None)` - obtain the 95% confidence intervals for WER using Bisani and Ney boostrapping method.\n\n```python\nfrom kaldialign import bootstrap_wer_ci\n\nref = [\n (\"a\", \"b\", \"c\"),\n (\"d\", \"e\", \"f\"),\n]\nhyp = [\n (\"a\", \"b\", \"d\"),\n (\"e\", \"f\", \"f\"),\n]\nans = bootstrap_wer_ci(ref, hyp)\nassert ans[\"wer\"] == 0.4989\nassert ans[\"ci95\"] == 0.2312\nassert ans[\"ci95min\"] == 0.2678\nassert ans[\"ci95max\"] == 0.7301\n```\n\nIt also supports providing hypotheses from system 1 and system 2 to compute the probability of S2 improving over S1:\n\n```python\nfrom kaldialign import bootstrap_wer_ci\n\nref = [\n (\"a\", \"b\", \"c\"),\n (\"d\", \"e\", \"f\"),\n]\nhyp = [\n (\"a\", \"b\", \"d\"),\n (\"e\", \"f\", \"f\"),\n]\nhyp2 = [\n (\"a\", \"b\", \"c\"),\n (\"e\", \"e\", \"f\"),\n]\nans = bootstrap_wer_ci(ref, hyp, hyp2)\n\ns = ans[\"system1\"]\nassert s[\"wer\"] == 0.4989\nassert s[\"ci95\"] == 0.2312\nassert s[\"ci95min\"] == 0.2678\nassert s[\"ci95max\"] == 0.7301\n\ns = ans[\"system2\"]\nassert s[\"wer\"] == 0.1656\nassert s[\"ci95\"] == 0.2312\nassert s[\"ci95min\"] == -0.0656\nassert s[\"ci95max\"] == 0.3968\n\nassert ans[\"p_s2_improv_over_s1\"] == 1.0\n```\n\n## Motivation\n\nThe need for this arised from the fact that practically all implementations of the Levenshtein distance have slight differences, making it impossible to use a different scoring tool than Kaldi and get the same error rate results. This package copies code from Kaldi directly and wraps it using pybind11, avoiding the issue altogether.\n",
"bugtrack_url": null,
"license": "Apache licensed, as found in the LICENSE file",
"summary": "Kaldi alignment methods wrapped into Python",
"version": "0.9.1",
"project_urls": {
"Homepage": "https://github.com/pzelasko/kaldialign"
},
"split_keywords": [
"natural language processing",
"speech recognition",
"machine learning"
],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "d2a0f94eee8b64d7d20bac0725baf8221223e033a76387f9677845893dbcea4d",
"md5": "3ea8d7e55edf75eb248e572826a9cca4",
"sha256": "026f713cf18e272ef35602acb55294a92a7245ff94a3c45dcce0c3090f20d115"
},
"downloads": -1,
"filename": "kaldialign-0.9.1-cp310-cp310-macosx_10_9_universal2.whl",
"has_sig": false,
"md5_digest": "3ea8d7e55edf75eb248e572826a9cca4",
"packagetype": "bdist_wheel",
"python_version": "cp310",
"requires_python": null,
"size": 113321,
"upload_time": "2024-03-17T23:17:25",
"upload_time_iso_8601": "2024-03-17T23:17:25.378745Z",
"url": "https://files.pythonhosted.org/packages/d2/a0/f94eee8b64d7d20bac0725baf8221223e033a76387f9677845893dbcea4d/kaldialign-0.9.1-cp310-cp310-macosx_10_9_universal2.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "99d06791cf1e0aac7e2dcb4430397b48046654a1109dbe8ab40f92c0c3cd07c7",
"md5": "739d35655878af09087e5d8f561f051f",
"sha256": "8d75a3a1716b299225e8b6f6ec2f6300dccae0ee35cf5bd2b40e493a89f13bb8"
},
"downloads": -1,
"filename": "kaldialign-0.9.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl",
"has_sig": false,
"md5_digest": "739d35655878af09087e5d8f561f051f",
"packagetype": "bdist_wheel",
"python_version": "cp310",
"requires_python": null,
"size": 87360,
"upload_time": "2024-03-17T23:22:28",
"upload_time_iso_8601": "2024-03-17T23:22:28.638790Z",
"url": "https://files.pythonhosted.org/packages/99/d0/6791cf1e0aac7e2dcb4430397b48046654a1109dbe8ab40f92c0c3cd07c7/kaldialign-0.9.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "c7b02d074f332743993f0938021d730fa1f6735f4312ada4245d4ad97295c8a1",
"md5": "86e814eb6e1a8e570bda8ffe44a0e811",
"sha256": "0a3f7af4ee8180d05cba148de79a6c81ea7f17822bb31707c1b00b9d9d5b5d50"
},
"downloads": -1,
"filename": "kaldialign-0.9.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
"has_sig": false,
"md5_digest": "86e814eb6e1a8e570bda8ffe44a0e811",
"packagetype": "bdist_wheel",
"python_version": "cp310",
"requires_python": null,
"size": 91767,
"upload_time": "2024-03-17T23:16:23",
"upload_time_iso_8601": "2024-03-17T23:16:23.476823Z",
"url": "https://files.pythonhosted.org/packages/c7/b0/2d074f332743993f0938021d730fa1f6735f4312ada4245d4ad97295c8a1/kaldialign-0.9.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "61ecd62225522e188bc70950f8c0a07a5c945018f39cb3660ce690c7b2e5ddd1",
"md5": "4db830d37c0484916ed1177d245c9418",
"sha256": "154725a816022632f166ea842c7becd7236f6d7dffc82f6549f36a5c940c8a1e"
},
"downloads": -1,
"filename": "kaldialign-0.9.1-cp310-cp310-win32.whl",
"has_sig": false,
"md5_digest": "4db830d37c0484916ed1177d245c9418",
"packagetype": "bdist_wheel",
"python_version": "cp310",
"requires_python": null,
"size": 61726,
"upload_time": "2024-03-17T23:19:34",
"upload_time_iso_8601": "2024-03-17T23:19:34.868918Z",
"url": "https://files.pythonhosted.org/packages/61/ec/d62225522e188bc70950f8c0a07a5c945018f39cb3660ce690c7b2e5ddd1/kaldialign-0.9.1-cp310-cp310-win32.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "8557d3e270229acd86207d06e1ed5ef0f5aba572877cdd671004f4cd6656b60d",
"md5": "2e076424a8608192f782523cc5528213",
"sha256": "80c17a8723589291f68daece92f25c98bad21d49ecaf8d64b158ba343e79f5bd"
},
"downloads": -1,
"filename": "kaldialign-0.9.1-cp310-cp310-win_amd64.whl",
"has_sig": false,
"md5_digest": "2e076424a8608192f782523cc5528213",
"packagetype": "bdist_wheel",
"python_version": "cp310",
"requires_python": null,
"size": 70277,
"upload_time": "2024-03-17T23:21:26",
"upload_time_iso_8601": "2024-03-17T23:21:26.124254Z",
"url": "https://files.pythonhosted.org/packages/85/57/d3e270229acd86207d06e1ed5ef0f5aba572877cdd671004f4cd6656b60d/kaldialign-0.9.1-cp310-cp310-win_amd64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "1d6f5d4ecd96842e5a6ba1288095daa35264e79d3e72fac326a7a2a80d1220f9",
"md5": "f23bb62ed150dcef74466fda9175db2c",
"sha256": "14991bef6400fe6f93f6ebbc5923b9baa5bb5f979baa66cb5e116496b030192d"
},
"downloads": -1,
"filename": "kaldialign-0.9.1-cp311-cp311-macosx_10_9_universal2.whl",
"has_sig": false,
"md5_digest": "f23bb62ed150dcef74466fda9175db2c",
"packagetype": "bdist_wheel",
"python_version": "cp311",
"requires_python": null,
"size": 113339,
"upload_time": "2024-03-17T23:16:29",
"upload_time_iso_8601": "2024-03-17T23:16:29.101356Z",
"url": "https://files.pythonhosted.org/packages/1d/6f/5d4ecd96842e5a6ba1288095daa35264e79d3e72fac326a7a2a80d1220f9/kaldialign-0.9.1-cp311-cp311-macosx_10_9_universal2.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "a5d91effbcd3e7b8a5975d9661ea232f28d1694748676184e5ce21a61398a940",
"md5": "ee081a9efd36b6fe93ad06fb2ae05469",
"sha256": "886386e06bee54929b5a56ac7693bcd22dd6568e257a0e15a58946eb5cb64bd9"
},
"downloads": -1,
"filename": "kaldialign-0.9.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl",
"has_sig": false,
"md5_digest": "ee081a9efd36b6fe93ad06fb2ae05469",
"packagetype": "bdist_wheel",
"python_version": "cp311",
"requires_python": null,
"size": 87375,
"upload_time": "2024-03-17T23:25:30",
"upload_time_iso_8601": "2024-03-17T23:25:30.547258Z",
"url": "https://files.pythonhosted.org/packages/a5/d9/1effbcd3e7b8a5975d9661ea232f28d1694748676184e5ce21a61398a940/kaldialign-0.9.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "862c6adf305326f48bac470985069036e2eb1ed198fcbd8a5ca04d8055c4373f",
"md5": "f674b04ec7393b32f9889ce087bce2a0",
"sha256": "49a7eb2790acfa9e50409c4253fd785e0ecb0a23cc123bc97f1b06caf6382f8f"
},
"downloads": -1,
"filename": "kaldialign-0.9.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
"has_sig": false,
"md5_digest": "f674b04ec7393b32f9889ce087bce2a0",
"packagetype": "bdist_wheel",
"python_version": "cp311",
"requires_python": null,
"size": 91755,
"upload_time": "2024-03-17T23:16:44",
"upload_time_iso_8601": "2024-03-17T23:16:44.306568Z",
"url": "https://files.pythonhosted.org/packages/86/2c/6adf305326f48bac470985069036e2eb1ed198fcbd8a5ca04d8055c4373f/kaldialign-0.9.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "5a60ddd1d78f85bd093d92eee78a4ae38dc778be8b73918a44153767c5d5c85d",
"md5": "6c9d65bf77ebc6604762e59bcae9a43e",
"sha256": "5b03ee410c8829db325cc4b64a3cebb0614b9a500e41335a0e70604a227c5a29"
},
"downloads": -1,
"filename": "kaldialign-0.9.1-cp311-cp311-win32.whl",
"has_sig": false,
"md5_digest": "6c9d65bf77ebc6604762e59bcae9a43e",
"packagetype": "bdist_wheel",
"python_version": "cp311",
"requires_python": null,
"size": 61841,
"upload_time": "2024-03-17T23:18:36",
"upload_time_iso_8601": "2024-03-17T23:18:36.946191Z",
"url": "https://files.pythonhosted.org/packages/5a/60/ddd1d78f85bd093d92eee78a4ae38dc778be8b73918a44153767c5d5c85d/kaldialign-0.9.1-cp311-cp311-win32.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "76417b0d974b0104d232e69bd30350ce92d7de60ae65f33bbe92ad5d834d81aa",
"md5": "274b51b104882e49a05ad293f574d66d",
"sha256": "c31e613c81fcbdd18496ed79066d44b1a44273eab223327c51e03964f5f561f2"
},
"downloads": -1,
"filename": "kaldialign-0.9.1-cp311-cp311-win_amd64.whl",
"has_sig": false,
"md5_digest": "274b51b104882e49a05ad293f574d66d",
"packagetype": "bdist_wheel",
"python_version": "cp311",
"requires_python": null,
"size": 70082,
"upload_time": "2024-03-17T23:21:37",
"upload_time_iso_8601": "2024-03-17T23:21:37.391718Z",
"url": "https://files.pythonhosted.org/packages/76/41/7b0d974b0104d232e69bd30350ce92d7de60ae65f33bbe92ad5d834d81aa/kaldialign-0.9.1-cp311-cp311-win_amd64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "4299207f45fd2b02f431c40e620cc41b3c6af8078a192482668840df52dad592",
"md5": "7337a4b331415197c310de100d20dc4c",
"sha256": "7112ff9f52c960825293cd3e8586094d700344c625cd4e75138408ace780402e"
},
"downloads": -1,
"filename": "kaldialign-0.9.1-cp312-cp312-macosx_10_9_universal2.whl",
"has_sig": false,
"md5_digest": "7337a4b331415197c310de100d20dc4c",
"packagetype": "bdist_wheel",
"python_version": "cp312",
"requires_python": null,
"size": 115212,
"upload_time": "2024-03-17T23:16:52",
"upload_time_iso_8601": "2024-03-17T23:16:52.041867Z",
"url": "https://files.pythonhosted.org/packages/42/99/207f45fd2b02f431c40e620cc41b3c6af8078a192482668840df52dad592/kaldialign-0.9.1-cp312-cp312-macosx_10_9_universal2.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "f0e4b2c2b4dfb88677b1868ed9366ed415d93360c47615a53e189d375b986de4",
"md5": "1ec149cb5d596553b2a869ff8e56622c",
"sha256": "cdaf85389756a1caf6ad95754480768195aea30e57f4ce741b6d385a84c6efd9"
},
"downloads": -1,
"filename": "kaldialign-0.9.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl",
"has_sig": false,
"md5_digest": "1ec149cb5d596553b2a869ff8e56622c",
"packagetype": "bdist_wheel",
"python_version": "cp312",
"requires_python": null,
"size": 87336,
"upload_time": "2024-03-17T23:23:14",
"upload_time_iso_8601": "2024-03-17T23:23:14.787062Z",
"url": "https://files.pythonhosted.org/packages/f0/e4/b2c2b4dfb88677b1868ed9366ed415d93360c47615a53e189d375b986de4/kaldialign-0.9.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "a125acca269c3b9e219d4611c7f9b966e884521b61c899750343b3548bc6393b",
"md5": "92cd21667a79ffe8cffb685096eda549",
"sha256": "e9dc8455832caf4316a7674676098e4e9cc2c0f50428c7105e24c1c767bebd6e"
},
"downloads": -1,
"filename": "kaldialign-0.9.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
"has_sig": false,
"md5_digest": "92cd21667a79ffe8cffb685096eda549",
"packagetype": "bdist_wheel",
"python_version": "cp312",
"requires_python": null,
"size": 91977,
"upload_time": "2024-03-17T23:17:26",
"upload_time_iso_8601": "2024-03-17T23:17:26.300128Z",
"url": "https://files.pythonhosted.org/packages/a1/25/acca269c3b9e219d4611c7f9b966e884521b61c899750343b3548bc6393b/kaldialign-0.9.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "87564a9cd8468c6a3afd32ee29059e36e9b28dab41c37e49be979def88697166",
"md5": "0da0498249f2312c1a7ff7c3d3d13d2c",
"sha256": "c28620c352ecfb016b35579c3b52a4d049aba54c1e9a448d4bef88de1a8566c8"
},
"downloads": -1,
"filename": "kaldialign-0.9.1-cp312-cp312-win32.whl",
"has_sig": false,
"md5_digest": "0da0498249f2312c1a7ff7c3d3d13d2c",
"packagetype": "bdist_wheel",
"python_version": "cp312",
"requires_python": null,
"size": 62314,
"upload_time": "2024-03-17T23:20:01",
"upload_time_iso_8601": "2024-03-17T23:20:01.936226Z",
"url": "https://files.pythonhosted.org/packages/87/56/4a9cd8468c6a3afd32ee29059e36e9b28dab41c37e49be979def88697166/kaldialign-0.9.1-cp312-cp312-win32.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "83b2aac02ff83128f8068898ad37eb0077cecad0548d1207ec0ff5f61107f8e2",
"md5": "199dd3d651659d79ce2259b694c4b220",
"sha256": "c6090ef4ebdaf95fa78b46d7eda05b7367d8d889228a67696217487d4ceb783c"
},
"downloads": -1,
"filename": "kaldialign-0.9.1-cp312-cp312-win_amd64.whl",
"has_sig": false,
"md5_digest": "199dd3d651659d79ce2259b694c4b220",
"packagetype": "bdist_wheel",
"python_version": "cp312",
"requires_python": null,
"size": 70822,
"upload_time": "2024-03-17T23:22:40",
"upload_time_iso_8601": "2024-03-17T23:22:40.849382Z",
"url": "https://files.pythonhosted.org/packages/83/b2/aac02ff83128f8068898ad37eb0077cecad0548d1207ec0ff5f61107f8e2/kaldialign-0.9.1-cp312-cp312-win_amd64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "593d2c0c45ffa11d98c16e2382ede660fca3e6fb2201b6714fca729f57c2e84f",
"md5": "3a1e20486edc7ba699df76d6b5e29c91",
"sha256": "c422c2cb4242388f7002c8db556cea3c72840bc75ec821dc8c0ff73da2263c8b"
},
"downloads": -1,
"filename": "kaldialign-0.9.1-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl",
"has_sig": false,
"md5_digest": "3a1e20486edc7ba699df76d6b5e29c91",
"packagetype": "bdist_wheel",
"python_version": "cp37",
"requires_python": null,
"size": 89878,
"upload_time": "2024-03-17T23:25:48",
"upload_time_iso_8601": "2024-03-17T23:25:48.054060Z",
"url": "https://files.pythonhosted.org/packages/59/3d/2c0c45ffa11d98c16e2382ede660fca3e6fb2201b6714fca729f57c2e84f/kaldialign-0.9.1-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "8e0a95e389eea98c1440c81422803cdbff7b929c60772ff87882a4d56ec100e9",
"md5": "bccff411f0e9eb0ca7a7ac1f9fdef288",
"sha256": "43e1341d5f7acb9dc47922f06b66dc3530fdef2c5a33e27a65a7d32b296504fa"
},
"downloads": -1,
"filename": "kaldialign-0.9.1-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
"has_sig": false,
"md5_digest": "bccff411f0e9eb0ca7a7ac1f9fdef288",
"packagetype": "bdist_wheel",
"python_version": "cp37",
"requires_python": null,
"size": 93653,
"upload_time": "2024-03-17T23:19:44",
"upload_time_iso_8601": "2024-03-17T23:19:44.464163Z",
"url": "https://files.pythonhosted.org/packages/8e/0a/95e389eea98c1440c81422803cdbff7b929c60772ff87882a4d56ec100e9/kaldialign-0.9.1-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "380c5cb920dcce99e6f03882a6a3d94046adcb8c1b1228e1caaaf1f792034867",
"md5": "dc6b00749ef06160021be0fe5e7b4517",
"sha256": "8669512dd0a964cc8c2a5274f4e3e39969ec063ec0b99ec403efef9d3d3534ca"
},
"downloads": -1,
"filename": "kaldialign-0.9.1-cp37-cp37m-win32.whl",
"has_sig": false,
"md5_digest": "dc6b00749ef06160021be0fe5e7b4517",
"packagetype": "bdist_wheel",
"python_version": "cp37",
"requires_python": null,
"size": 62559,
"upload_time": "2024-03-17T23:19:16",
"upload_time_iso_8601": "2024-03-17T23:19:16.339610Z",
"url": "https://files.pythonhosted.org/packages/38/0c/5cb920dcce99e6f03882a6a3d94046adcb8c1b1228e1caaaf1f792034867/kaldialign-0.9.1-cp37-cp37m-win32.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "d06d0cccd25b04e0e9adb8b1dee3302b4599c30b98d9580a6456e3f700d6385b",
"md5": "aa05ea1070397c2c5b5bbefeb856c89a",
"sha256": "3cfbda69dece6cc1797a51a483707495194b868463dadbb51194e2f284678311"
},
"downloads": -1,
"filename": "kaldialign-0.9.1-cp37-cp37m-win_amd64.whl",
"has_sig": false,
"md5_digest": "aa05ea1070397c2c5b5bbefeb856c89a",
"packagetype": "bdist_wheel",
"python_version": "cp37",
"requires_python": null,
"size": 70691,
"upload_time": "2024-03-17T23:23:29",
"upload_time_iso_8601": "2024-03-17T23:23:29.541297Z",
"url": "https://files.pythonhosted.org/packages/d0/6d/0cccd25b04e0e9adb8b1dee3302b4599c30b98d9580a6456e3f700d6385b/kaldialign-0.9.1-cp37-cp37m-win_amd64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "d875d85fc77208a46c2d0494bfb5a7ecf62a4b7e6eca72e97abe6aed035a4271",
"md5": "73c8a564ee45c54dabca97ff6899aaca",
"sha256": "c5852149e03b542aa9f953cb36dcf5edbd8b14defeecf321ad8fa86c8f29e461"
},
"downloads": -1,
"filename": "kaldialign-0.9.1-cp38-cp38-macosx_10_9_universal2.whl",
"has_sig": false,
"md5_digest": "73c8a564ee45c54dabca97ff6899aaca",
"packagetype": "bdist_wheel",
"python_version": "cp38",
"requires_python": null,
"size": 113322,
"upload_time": "2024-03-17T23:17:30",
"upload_time_iso_8601": "2024-03-17T23:17:30.002346Z",
"url": "https://files.pythonhosted.org/packages/d8/75/d85fc77208a46c2d0494bfb5a7ecf62a4b7e6eca72e97abe6aed035a4271/kaldialign-0.9.1-cp38-cp38-macosx_10_9_universal2.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "1810420bb8b1ab29bca654db258c0844f96f9b330acf4198c18a95078abdf8f0",
"md5": "3f14a12e9110a7dcc14a20c910d00694",
"sha256": "e3e766a27a45c93d351ab54bbd87a5a841af678d7d419fd0b4e24e5daac6189c"
},
"downloads": -1,
"filename": "kaldialign-0.9.1-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl",
"has_sig": false,
"md5_digest": "3f14a12e9110a7dcc14a20c910d00694",
"packagetype": "bdist_wheel",
"python_version": "cp38",
"requires_python": null,
"size": 87274,
"upload_time": "2024-03-17T23:26:20",
"upload_time_iso_8601": "2024-03-17T23:26:20.980817Z",
"url": "https://files.pythonhosted.org/packages/18/10/420bb8b1ab29bca654db258c0844f96f9b330acf4198c18a95078abdf8f0/kaldialign-0.9.1-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "6a9962a646be9ed10f0119c58002656ef8946368d1450ec80611aed8d5c05a71",
"md5": "5239a41264a4bda9a88679dad0e5e501",
"sha256": "83dd99a0953456ec6185e3d2a3ae916d34c0c1ccea879e552584b05fe60c7c49"
},
"downloads": -1,
"filename": "kaldialign-0.9.1-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
"has_sig": false,
"md5_digest": "5239a41264a4bda9a88679dad0e5e501",
"packagetype": "bdist_wheel",
"python_version": "cp38",
"requires_python": null,
"size": 91687,
"upload_time": "2024-03-17T23:18:32",
"upload_time_iso_8601": "2024-03-17T23:18:32.976619Z",
"url": "https://files.pythonhosted.org/packages/6a/99/62a646be9ed10f0119c58002656ef8946368d1450ec80611aed8d5c05a71/kaldialign-0.9.1-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "a3954a0a0f2943384d9e1629cfe99ef97ee31765dee506d44cf7ee408b00f8ac",
"md5": "4703171f74a50364a51316a03e9400b6",
"sha256": "5269cb0aaf9039022e9e73a340dce21c2e00f682949681c551740420d6f669f0"
},
"downloads": -1,
"filename": "kaldialign-0.9.1-cp38-cp38-win32.whl",
"has_sig": false,
"md5_digest": "4703171f74a50364a51316a03e9400b6",
"packagetype": "bdist_wheel",
"python_version": "cp38",
"requires_python": null,
"size": 61730,
"upload_time": "2024-03-17T23:19:34",
"upload_time_iso_8601": "2024-03-17T23:19:34.441575Z",
"url": "https://files.pythonhosted.org/packages/a3/95/4a0a0f2943384d9e1629cfe99ef97ee31765dee506d44cf7ee408b00f8ac/kaldialign-0.9.1-cp38-cp38-win32.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "d3984518b51072391932579e7ba79797f010ae1f8507a44b1d469e32bcf47f3e",
"md5": "1deb5e270e40d6d45d4196188ffe2a1d",
"sha256": "1dcee8cf8e2f7524344aa5d422d8e6eebe7cc347408731625d5b712d503e6fc7"
},
"downloads": -1,
"filename": "kaldialign-0.9.1-cp38-cp38-win_amd64.whl",
"has_sig": false,
"md5_digest": "1deb5e270e40d6d45d4196188ffe2a1d",
"packagetype": "bdist_wheel",
"python_version": "cp38",
"requires_python": null,
"size": 70134,
"upload_time": "2024-03-17T23:25:06",
"upload_time_iso_8601": "2024-03-17T23:25:06.603844Z",
"url": "https://files.pythonhosted.org/packages/d3/98/4518b51072391932579e7ba79797f010ae1f8507a44b1d469e32bcf47f3e/kaldialign-0.9.1-cp38-cp38-win_amd64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "38697742e25757759dc690026edd7e54b505fff343040bb5e40aa5e1470816f1",
"md5": "211e1ba66d711e024945f98c950138b4",
"sha256": "ceab2a7da2d56358570eccf6e05e401e0164a4eff608755353954df57143f11c"
},
"downloads": -1,
"filename": "kaldialign-0.9.1-cp39-cp39-macosx_10_9_universal2.whl",
"has_sig": false,
"md5_digest": "211e1ba66d711e024945f98c950138b4",
"packagetype": "bdist_wheel",
"python_version": "cp39",
"requires_python": null,
"size": 113565,
"upload_time": "2024-03-17T23:17:24",
"upload_time_iso_8601": "2024-03-17T23:17:24.944458Z",
"url": "https://files.pythonhosted.org/packages/38/69/7742e25757759dc690026edd7e54b505fff343040bb5e40aa5e1470816f1/kaldialign-0.9.1-cp39-cp39-macosx_10_9_universal2.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "d18d462123424fca571297dcdd0bf1c9ee16c6b013d06716822e50f6bc040eea",
"md5": "7268bec71a10b79bff8b686b644539a5",
"sha256": "8abb5daffe21987ab34c8ed6e6b5cfd15055d4dc8e5234bf5611279396f49e55"
},
"downloads": -1,
"filename": "kaldialign-0.9.1-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl",
"has_sig": false,
"md5_digest": "7268bec71a10b79bff8b686b644539a5",
"packagetype": "bdist_wheel",
"python_version": "cp39",
"requires_python": null,
"size": 87459,
"upload_time": "2024-03-17T23:26:51",
"upload_time_iso_8601": "2024-03-17T23:26:51.435460Z",
"url": "https://files.pythonhosted.org/packages/d1/8d/462123424fca571297dcdd0bf1c9ee16c6b013d06716822e50f6bc040eea/kaldialign-0.9.1-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "f87ce013269eb08b62d17f95ac3071fce96d39f521974a77665590c38dfdccb5",
"md5": "4135f43aa6fb1ff27b545244e0dc10f1",
"sha256": "f0b6efd8d014f101098642ec2d99ee9a3d0c780c818e6e6ce5c18b6f4240f799"
},
"downloads": -1,
"filename": "kaldialign-0.9.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
"has_sig": false,
"md5_digest": "4135f43aa6fb1ff27b545244e0dc10f1",
"packagetype": "bdist_wheel",
"python_version": "cp39",
"requires_python": null,
"size": 91987,
"upload_time": "2024-03-17T23:19:16",
"upload_time_iso_8601": "2024-03-17T23:19:16.394236Z",
"url": "https://files.pythonhosted.org/packages/f8/7c/e013269eb08b62d17f95ac3071fce96d39f521974a77665590c38dfdccb5/kaldialign-0.9.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "cee8eab1e587d9acca69baa880f0ebbfe5a4f942b494fbcbdfc29dadc8dacbb1",
"md5": "7a97d8d450fff6f90ff29b2eba024eb4",
"sha256": "b5d15974a86f3899aea2557f961b516f0a15157919663b50a89b6e5a17e54801"
},
"downloads": -1,
"filename": "kaldialign-0.9.1-cp39-cp39-win32.whl",
"has_sig": false,
"md5_digest": "7a97d8d450fff6f90ff29b2eba024eb4",
"packagetype": "bdist_wheel",
"python_version": "cp39",
"requires_python": null,
"size": 61956,
"upload_time": "2024-03-17T23:19:37",
"upload_time_iso_8601": "2024-03-17T23:19:37.971952Z",
"url": "https://files.pythonhosted.org/packages/ce/e8/eab1e587d9acca69baa880f0ebbfe5a4f942b494fbcbdfc29dadc8dacbb1/kaldialign-0.9.1-cp39-cp39-win32.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "d3169b215d9cebe397f937c39c890a6ed8eafea941b51d35728565ad386afaef",
"md5": "3f3d714f51a70345e1d85130eee6b2ce",
"sha256": "6a92738abc4100f2e2e5ae9fc50311491550af4fbfe3dddec1438263a4132bc4"
},
"downloads": -1,
"filename": "kaldialign-0.9.1-cp39-cp39-win_amd64.whl",
"has_sig": false,
"md5_digest": "3f3d714f51a70345e1d85130eee6b2ce",
"packagetype": "bdist_wheel",
"python_version": "cp39",
"requires_python": null,
"size": 70359,
"upload_time": "2024-03-17T23:24:35",
"upload_time_iso_8601": "2024-03-17T23:24:35.086302Z",
"url": "https://files.pythonhosted.org/packages/d3/16/9b215d9cebe397f937c39c890a6ed8eafea941b51d35728565ad386afaef/kaldialign-0.9.1-cp39-cp39-win_amd64.whl",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2024-03-17 23:17:25",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "pzelasko",
"github_project": "kaldialign",
"travis_ci": false,
"coveralls": false,
"github_actions": true,
"lcname": "kaldialign"
}