Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

It's mostly torch, I think. It pulls in NVIDIA libs (which … makes sense, I guess), and NVIDIA is just not at all judicious when it comes to disk space. I literally run out of disk trying to install this on Linux.

On macOS, it's a markedly different experience: it's only ~700 MiB there; I'm assuming b/c no NVIDIA libs get pulled in, b/c why would they.

For anyone who might want to play around with this: I can get down to ~3 GiB (& about 1.3 GiB if you wipe your uv cache afterwards) on Linux if I add the following to the end of `pyproject.toml`:

  [tool.uv.sources]
  # This tells uv to use the specific index for torch, torchvision, and torchaudio
  torch = [
      {index = "pytorch-cpu"}
  ]
  torchvision = [
      {index = "pytorch-cpu"}
  ]
  torchaudio = [
      {index = "pytorch-cpu"}
  ]
  
  [[tool.uv.index]]
  name = "pytorch-cpu"
  url = "https://download.pytorch.org/whl/cpu"
& add "torch" to the direct dependencies, b/c otherwise it seems like uv is ignoring the source? (… which of course downloads a CPU-only torch.)

This is an example of what one sees under Linux:

  nvidia-nvjitlink-cu12      ------------------------------ 23.83 MiB/37.44 MiB
  nvidia-curand-cu12         ------------------------------ 23.79 MiB/60.67 MiB
  nvidia-cuda-nvrtc-cu12     ------------------------------ 23.87 MiB/83.96 MiB
  nvidia-nvshmem-cu12        ------------------------------ 23.62 MiB/132.66 MiB
  triton                     ------------------------------ 23.82 MiB/179.55 MiB
  nvidia-cufft-cu12          ------------------------------ 23.76 MiB/184.17 MiB
  nvidia-cusolver-cu12       ------------------------------ 23.84 MiB/255.11 MiB
  nvidia-cusparselt-cu12     ------------------------------ 23.99 MiB/273.89 MiB
  nvidia-cusparse-cu12       ------------------------------ 23.96 MiB/274.86 MiB
  nvidia-nccl-cu12           ------------------------------ 23.79 MiB/307.42 MiB
  nvidia-cublas-cu12         ------------------------------ 23.73 MiB/566.81 MiB
  nvidia-cudnn-cu12          ------------------------------ 23.56 MiB/674.02 MiB
  torch                      ------------------------------ 23.75 MiB/873.22 MiB
That's not all the libraries, either, but you can see NVIDIA here is easily over 1 GiB.

It also then crashes for me, with:

  File "KittenTTS/.venv/lib/python3.14/site-packages/pydantic/v1/fields.py", line 576, in _set_default_and_type
    raise errors_.ConfigError(f'unable to infer type for attribute "{self.name}"')
  pydantic.v1.errors.ConfigError: unable to infer type for attribute "REGEX"
Which seems to be [this bug in spacey](https://github.com/explosion/spaCy/issues/13895), so I'm going to have to try adding `<3.14` to `requires-python` in `pyproject.toml` too I think. That is, for anyone wanting to try this out:

  -requires-python = ">=3.8"
  +requires-python = ">=3.8,<3.14"
(This isn't really something KittenTTS should have to do, since this is a bug in spacey … and ideally, at some point, spacey will fix it.)

Also:

  + curated-tokenizers==0.0.9
This version is so utterly ancient that there aren't wheels for it anymore, so that means a loooong wait while this builds. It's pulled in via misaki, and my editor says your one import of misaki is unused.

Hilariously, removing it breaks but only on macOS machine. I think you're using it solely for the side-effect that it tweaks phonemizer to use espeakng, but you can just do that tweak yourself, & then I think that dependency can be dropped. That drops a good number of dependencies & really speeds up the installation since we're not compiling a bunch of stuff.

You need to add `phonemizer-fork` to your dependencies. (If you remove misaki, you'll find this missing.)



thanks a lot for sharing this, its v helpful for fixing the env issues. we'll fix all of them by the weekend.




Consider applying for YC's Summer 2026 batch! Applications are open till May 4

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: