Releases: samuelmukoti/censorbot
v0.0.7: Simplified Installation
Simplified Installation with Automatic Hardware Acceleration
This release makes CensorBot even easier to use by automatically installing the best dependencies for your platform. No more manual extras selection!
What's New
🎯 Simplified Installation
- MLX dependencies now auto-install on Apple Silicon (M1/M2/M3 Macs)
- Single command works everywhere with optimal performance
- No need to specify
[mlx]extras anymore
📦 Before (v0.0.6)
# Had to choose the right variant
pipx run --spec 'censorbot[mlx]' censorbot -i video.mp4 -o output.mp4 # Apple Silicon
pipx run censorbot -i video.mp4 -o output.mp4 # Other platforms✨ After (v0.0.7)
# One command for all platforms
pipx run censorbot -i video.mp4 -o output.mp4Technical Details
Platform-Specific Dependencies
- Uses Python environment markers:
platform_system=='Darwin' and platform_machine=='arm64' - MLX automatically installed only on Apple Silicon
- Torch installed on all platforms (CPU/CUDA support)
- No unnecessary dependencies on other platforms
Hardware Acceleration (Automatic)
- Apple Silicon: Metal/Neural Engine via MLX (auto-installed)
- NVIDIA GPU: CUDA acceleration (requires CUDA toolkit)
- CPU: Multi-threaded processing (works everywhere)
Installation
# Install from PyPI
pip install censorbot
# Or use pipx
pipx install censorbot
# Run without installing
pipx run censorbot -i input.mp4 -o output.mp4Requirements
- FFmpeg (must be installed separately)
- macOS:
brew install ffmpeg - Ubuntu/Debian:
sudo apt-get install ffmpeg - Windows: Download from ffmpeg.org
- macOS:
- Python 3.8+
Full Changelog
- Added platform-specific MLX dependencies with environment markers
- Simplified README installation instructions
- Removed manual extras selection complexity
- Version bump: 0.0.6 → 0.0.7
🤖 Generated with Claude Code
Installation
Via Pip
pip install censorbot==0.0.7Via Docker
docker pull samuelmukoti/censorbot:0.0.7v0.0.6: Critical Bug Fix - Missing torch Dependency
v0.0.6 - CRITICAL BUG FIX 🚨
🔴 Critical Issue Fixed
Problem: pipx run censorbot and pip install censorbot completely failed due to missing torch dependency.
# Previously FAILED with ImportError
pipx run censorbot -i video.mp4 -o output.mp4
# Error: ModuleNotFoundError: No module named 'torch'Root Cause: torch was not included in package dependencies, only installed in Docker images.
✅ What's Fixed
- Added
torch>=2.0.0to main dependencies - pip/pipx installations now work correctly
- CPU/GPU/Metal platform detection works
- Hardware acceleration properly detected
📦 Installation Now Works
# All of these now work correctly:
pip install censorbot
pipx install censorbot
pipx run censorbot -i video.mp4 -o output.mp4
# With Apple Silicon Metal acceleration:
pip install 'censorbot[mlx]'
pipx install 'censorbot[mlx]'
pipx run --spec 'censorbot[mlx]' censorbot -i video.mp4 -o output.mp4🚀 Hardware Acceleration
Now Fully Supported via pip/pipx:
- ✅ CPU: Multi-threaded processing (default, included with torch)
- ✅ NVIDIA GPU: CUDA acceleration (if CUDA toolkit installed)
- ✅ Apple Silicon: Metal/Neural Engine via
[mlx]extras
📝 Migration Guide
If you installed v0.0.5 and it failed:
# Upgrade to v0.0.6
pip install --upgrade censorbot
# or
pipx upgrade censorbot
# Now it works!
censorbot -i video.mp4 -o output.mp4🔗 Installation Methods
| Method | Command | Use Case |
|---|---|---|
| pip | pip install censorbot |
Permanent installation |
| pipx | pipx install censorbot |
Isolated CLI tool |
| pipx run | pipx run censorbot -i video.mp4 -o out.mp4 |
One-time use, no install |
| Docker | docker pull samuelmukoti/censorbot:0.0.6 |
Containerized, FFmpeg included |
⚠️ System Requirements
All pip/pipx methods require:
- Python 3.8+
- FFmpeg (install separately):
- macOS:
brew install ffmpeg - Ubuntu:
sudo apt install ffmpeg - Windows: Download from ffmpeg.org
- macOS:
Docker method includes FFmpeg (no separate installation needed).
📊 What Changed
setup.py & pyproject.toml:
dependencies = [
+ "torch>=2.0.0", # ← ADDED (critical fix)
"faster-whisper>=1.0.0",
"numpy>=1.24.0,<2.0.0",
...
]README.md:
- Added pipx installation instructions
- Added hardware acceleration notes
- Clarified MLX extras for Apple Silicon
🔗 Links
- PyPI: https://pypi.org/project/censorbot/0.0.6/
- Docker Hub: https://hub.docker.com/r/samuelmukoti/censorbot
- Documentation: https://github.com/samuelmukoti/censorbot#readme
Apologies to early adopters - v0.0.5 was broken for pip/pipx users. This is now fixed! 🙏
Installation
Via Pip
pip install censorbot==0.0.6Via Docker
docker pull samuelmukoti/censorbot:0.0.6v0.0.5: Audio Volume Normalization & Metadata Improvements
v0.0.5 - Audio Volume Normalization & Metadata Improvements
🔊 Fixed Audio Issues
Volume Normalization ✅
- Censored audio track now properly matches original volume levels
- Applied 4dB boost to compensate for re-encoding volume loss
- Volume gap reduced from 3.2 dB → 0.9 dB (70% improvement)
- Affects both dual-audio and single-audio modes
Audio Metadata ✅
- Language tags properly set to "eng" for both audio tracks
- Censored track set as default for automatic playback
- Better media player compatibility and track identification
🎯 Container Format Preservation
- Output maintains original container format (MP4→MP4, MKV→MKV)
- No unnecessary format conversion
- Maximum compatibility with source files
📦 Installation
Via Pip:
pip install censorbot==0.0.5Via pipx (recommended for CLI tools):
# Run without installing
pipx run censorbot -i video.mp4 -o output.mp4
# Or install in isolated environment
pipx install censorbot
censorbot -i video.mp4 -o output.mp4Via Docker:
docker pull samuelmukoti/censorbot:0.0.5
docker pull samuelmukoti/censorbot:latest🧪 Test Results
Tested with Seven Pounds (2hr movie):
- ✅ Volume levels: Censored track within 1dB of original
- ✅ Language metadata: Both tracks labeled "eng"
- ✅ Default track: Censored audio auto-selected
- ✅ Container format: MP4 preserved correctly
📝 Technical Details
Volume Filter Applied:
"-filter:a:1", "volume=4dB" # Dual audio mode
"-filter:a", "volume=4dB" # Single audio modeMetadata & Disposition:
"-metadata:s:a:0", "language=eng"
"-metadata:s:a:1", "language=eng"
"-disposition:a:1", "default" # Censored as default🔗 Resources
- Documentation: README.md
- PyPI: https://pypi.org/project/censorbot/
- Docker Hub: https://hub.docker.com/r/samuelmukoti/censorbot
- Report Issues: https://github.com/samuelmukoti/censorbot/issues
Note: System dependency required: FFmpeg must be installed separately when using pip/pipx.
# macOS
brew install ffmpeg
# Ubuntu/Debian
sudo apt install ffmpegInstallation
Via Pip
pip install censorbot==0.0.5Via Docker
docker pull samuelmukoti/censorbot:0.0.5v0.0.4: Legal Disclaimer + Complete Automation
v0.0.4 - Legal Disclaimer and Full Automation
Added
⚠️ Legal Disclaimer: Added comprehensive legal disclaimer to README clarifying that:- Tool is for personal, educational, and lawful use only
- Users must legally own or have authorization for media they process
- No endorsement of piracy or copyright infringement
- Users are solely responsible for legal compliance
Fixed
- Fixed Docker build shell interpretation issue with numpy version specifier
- Quoted
numpy>=1.24.0,<2.0.0to prevent shell from interpreting<as file redirect - Docker Hub multi-platform builds now working correctly
Automation Status
- ✅ PyPI trusted publishing: WORKING
- ✅ Docker Hub multi-platform builds: WORKING
- ✅ Full automation tested and validated
Installation
Via Pip:
```bash
pip install censorbot==0.0.4
```
Via Docker:
```bash
docker pull samuelmukoti/censorbot:0.0.4
docker pull samuelmukoti/censorbot:latest
```
See README.md for full documentation and legal disclaimer.
v0.0.3: Docker Publishing Fix
v0.0.3 - Docker Publishing Fix
Fixed
- Fixed Dockerfile COPY syntax that was causing Docker Hub publishing to fail
- Removed unsupported shell redirection syntax from Dockerfile
Automation Status
- ✅ PyPI trusted publishing working
- ✅ Docker Hub multi-platform builds working
Installation
Via Pip:
```bash
pip install censorbot==0.0.3
```
Via Docker:
```bash
docker pull samuelmukoti/censorbot:0.0.3
docker pull samuelmukoti/censorbot:latest
```
See README.md for full documentation.
v0.0.2: Test Automated Publishing
v0.0.2 - Testing Automated Release Pipeline
This is a test release to validate automated publishing to PyPI and Docker Hub.
Changes
- Testing automated PyPI trusted publishing
- Testing automated Docker Hub multi-platform builds
Installation
Via Pip:
```bash
pip install censorbot==0.0.2
```
Via Docker:
```bash
docker pull samuelmukoti/censorbot:0.0.2
```
See README.md for full documentation.
v0.0.1: Initial Release
What's New in v0.0.1
Major Features
- ✅ Complete rewrite with simplified FFmpeg filtering
- ✅ Real MLX hardware acceleration for Apple Silicon
- ✅ Automatic fallback mechanism (MLX → CPU)
- ✅ PyPI distribution:
pip install censorbot
New Productivity Features
- 🎯 Dry-run mode: Preview before processing
- 📄 Export censored subtitles (SRT)
- 📊 Word statistics reports
- 🔊 Custom beep sounds
- ⚙️ YAML configuration files
- 📊 Real-time progress bars
Installation
Via Pip:
```bash
pip install censorbot
```
Via Docker:
```bash
docker pull samuelmukoti/censorbot:0.0.1
```
See README.md for full documentation.