Skip to content

Simplify building - #28

Open
sakgoyal wants to merge 5 commits into
pzelasko:mainfrom
sakgoyal:main
Open

Simplify building#28
sakgoyal wants to merge 5 commits into
pzelasko:mainfrom
sakgoyal:main

Conversation

@sakgoyal

@sakgoyal sakgoyal commented Feb 26, 2026

Copy link
Copy Markdown

Related to #27

  • Remove CMake as a dependency and just use pybind11 directly with setuptools.
  • Make maintenance much easier by not having CMake and it's garbage configuration file
  • Update to use newer typing syntax
    • Also add the _kaldialign.pyi file so LSPs can see the extension types

@csukuangfj

Copy link
Copy Markdown
Contributor

If it has been working for several years and it is expected to continue working in the coming years, is there a reason to change it?

@sakgoyal

Copy link
Copy Markdown
Author

reducing complexity and dependencies is almost always a good thing.

less possibilities of things breaking (for example: cmake api changes) over time

@pzelasko

Copy link
Copy Markdown
Owner

Would this PR work out of the box or require other changes to support the automatic release process?

I’m hesitant to merge it as I’ve yet to become more familiar with these newer tools, and the current process works (despite its bulkiness).

@sakgoyal

Copy link
Copy Markdown
Author

I'm not 100% sure on the CI process. I was just following the example from the pybind11 docs:

https://github.com/pybind/python_example

I'm 90% sure CI will need some tweaking to get working smoothly, but I have not published my own packages so I don't want to make changes for it in case I break it

@sakgoyal
sakgoyal marked this pull request as draft February 28, 2026 02:04
@sakgoyal
sakgoyal marked this pull request as ready for review March 3, 2026 23:47
@sakgoyal

sakgoyal commented Mar 3, 2026

Copy link
Copy Markdown
Author

@pzelasko I tested the new CI using pypi test index. it works.

@sakgoyal

sakgoyal commented Mar 3, 2026

Copy link
Copy Markdown
Author

@basnijholt

Copy link
Copy Markdown

That is great @sakgoyal!

@pzelasko, would you consider merging this? I built basnijholt/agent-cli#436 which pulls in kaldialign via NeMo. The annoying bit is that with newer Python versions there are no wheels and the library becomes very hard to install.

@pzelasko

pzelasko commented Jun 3, 2026

Copy link
Copy Markdown
Owner

For which platform / python the wheels are missing? I’ll think about it, fell off my radar. Maybe.

@basnijholt

Copy link
Copy Markdown

Small correction: I realized the remaining blocker for my downstream case is now mostly on the NeMo side.

kaldialign==0.9.3 has the Python 3.14 wheels I need. But latest released NeMo (nemo-toolkit==2.7.3) still caps it at kaldialign<=0.9.1, so users cannot get the fixed wheel through NeMo yet.

I opened this NeMo PR to relax the cap: NVIDIA-NeMo/Speech#15438

It is merged on NeMo main, but not in the current PyPI release yet. So I’m mainly trying to bridge that release gap. Sorry for the confusion.

I just posted about this here too NVIDIA-NeMo/Speech#15438 (comment)

@pzelasko

pzelasko commented Jun 4, 2026

Copy link
Copy Markdown
Owner

There will be a new NeMo release soon, we’ve reorganized NeMo repos and needed more time to get everything in order. Sorry for the trouble.

@sakgoyal

sakgoyal commented Jun 4, 2026

Copy link
Copy Markdown
Author

I have rebased this with the latest changes

@basnijholt

Copy link
Copy Markdown

Thanks!

@pzelasko

For which platform / python the wheels are missing? I’ll think about it, fell off my radar. Maybe.

Actually wheel gaps I’m seeing on PyPI:

  • kaldialign<=0.9.1 has no macOS wheels for Python 3.13/3.14. That matters because NeMo currently pins kaldialign<=0.9.1, so macOS users on newer Python fall back to building from source.
  • kaldialign==0.9.3 fixes that for macOS: it has universal2 wheels for cp313 and cp314.
  • kaldialign==0.10.0 looks like it does not currently have macOS wheels at all, only Linux/Windows wheels plus sdist.

So for the NeMo case, relaxing the cap to allow 0.9.3 would already help a lot, but allowing 0.10.0 would not solve macOS wheel availability unless macOS wheels are added for that release too.

Another source of confusion: GitHub Releases currently only goes up to v0.9.0, while PyPI has 0.9.1, 0.9.3, and 0.10.0, so I’m relying on the PyPI file list above.

There will be a new NeMo release soon, we’ve reorganized NeMo repos and needed more time to get everything in order. Sorry for the trouble.

Any idea how soon? For now I am relying on the worlds ugliest hacks 😭

Comment thread pyproject.toml Outdated
Comment thread tests/test_align.py
@sakgoyal

Copy link
Copy Markdown
Author

rebased again. any updates on if this will get merged?

Co-authored-by: Cursor <cursoragent@cursor.com>
@sakgoyal sakgoyal mentioned this pull request Jul 11, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants