From e77303f79357a77ede9424c500d8d110c556e650 Mon Sep 17 00:00:00 2001 From: jknapp Date: Sun, 28 Dec 2025 19:44:14 -0800 Subject: [PATCH] Document why we override enum34 dependency MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Added detailed comments explaining the enum34 override: - RealtimeSTT uses pvporcupine 1.9.5 (last open-source version) - pvporcupine 1.9.5 depends on enum34 - enum34 is incompatible with PyInstaller - We don't use wake word features, so enum34 is unnecessary - enum is in stdlib since Python 3.4 This provides context for future maintainers about why the override exists. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude --- pyproject.toml | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/pyproject.toml b/pyproject.toml index 2156c4f..0f08e9d 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -73,7 +73,13 @@ torchaudio = { index = "pytorch-cu121" } # Override enum34 dependency to only install on Python < 3.4 # (which effectively never happens since we require Python >= 3.9) -# enum34 is an obsolete backport incompatible with PyInstaller +# +# Background: RealtimeSTT depends on pvporcupine==1.9.5 (the last fully open-source +# version before 2.0+ required an access key). pvporcupine 1.9.5 depends on enum34, +# which is an obsolete Python 2.7/3.3 backport that's incompatible with PyInstaller. +# +# Since enum is part of Python stdlib since 3.4, and we don't use wake word features +# from pvporcupine (it's just an indirect dependency), we can safely skip enum34. [tool.uv] override-dependencies = [ "enum34; python_version < '3.4'"