Skip to content

feat: add multimodal extras and remove pydub for Python 3.13 compatibility#91

Merged
rdheekonda merged 8 commits into
mainfrom
feature/multimodal-extras-remove-pydub
Jun 26, 2025
Merged

feat: add multimodal extras and remove pydub for Python 3.13 compatibility#91
rdheekonda merged 8 commits into
mainfrom
feature/multimodal-extras-remove-pydub

Conversation

@rdheekonda
Copy link
Copy Markdown
Contributor

@rdheekonda rdheekonda commented Jun 26, 2025

Reorganizes optional dependencies into a multimodal extras group and removes pydub dependency to ensure Python 3.13 compatibility.

📋 Changes

Dependencies

  • Group multimodal dependencies: soundfile, moviepy
  • Remove pydub dependency (Python 3.13 compatibility issue)
  • Add multimodal extras: pip install dreadnode[multimodal]
  • Keep training extras separate: pip install dreadnode[training]

Code Changes

  • Update Audio class to remove pydub AudioSegment support
  • Add graceful import guards with helpful error messages
  • Add VideoClip detection when moviepy not installed
  • Version bump to v1.0.9

Documentation

  • Add installation instructions for multimodal extras

🔧 Installation

Users can now install with:

# Core package
pip install dreadnode

# With multimodal support  
pip install dreadnode[multimodal]

# Training only
pip install dreadnode[training]

# Everything
pip install dreadnode[multimodal,training]
---

## Generated Summary:

- Updated `README.md` to include installation instructions for optional multimodal extras, enhancing users' ability to install additional media processing capabilities.
- Removed support for `pydub.AudioSegment` in both the `Audio` data type and the related example notebook, simplifying the audio handling functionality.
- Added ImportError checks in the codebase to ensure that required dependencies like `soundfile` and `moviepy` are available when using specific audio or video functionalities, improving error handling and user experience.
- Updated the version in `pyproject.toml` from `1.0.8` to `1.0.9`, reflecting these changes and ensuring version consistency across the project.
- Adjusted example Jupyter notebooks to remove references to `pydub.AudioSegment` and included notes for users to install multimodal extras for full functionality.

This summary was generated with ❤️ by [rigging](https://rigging.dreadnode.io/)

@dreadnode-renovate-bot dreadnode-renovate-bot Bot added area/docs Changes to documentation and guides area/python Changes to Python package configuration and dependencies area/examples Changes to example code and demonstrations type/core Changes to core repository files and configurations type/docs Documentation updates and improvements labels Jun 26, 2025
@rdheekonda rdheekonda merged commit 3841b13 into main Jun 26, 2025
8 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

area/docs Changes to documentation and guides area/examples Changes to example code and demonstrations area/python Changes to Python package configuration and dependencies type/core Changes to core repository files and configurations type/docs Documentation updates and improvements

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant