Skip to content

Releases: samuelmukoti/censorbot

v0.0.7: Simplified Installation

14 Nov 19:30

Choose a tag to compare

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.mp4

Technical 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.mp4

Requirements

  • FFmpeg (must be installed separately)
    • macOS: brew install ffmpeg
    • Ubuntu/Debian: sudo apt-get install ffmpeg
    • Windows: Download from ffmpeg.org
  • 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.7

Via Docker

docker pull samuelmukoti/censorbot:0.0.7

v0.0.6: Critical Bug Fix - Missing torch Dependency

14 Nov 19:25

Choose a tag to compare

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.0 to 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

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


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.6

Via Docker

docker pull samuelmukoti/censorbot:0.0.6

v0.0.5: Audio Volume Normalization & Metadata Improvements

14 Nov 18:46

Choose a tag to compare

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.5

Via 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.mp4

Via 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 mode

Metadata & Disposition:

"-metadata:s:a:0", "language=eng"
"-metadata:s:a:1", "language=eng"
"-disposition:a:1", "default"  # Censored as default

🔗 Resources


Note: System dependency required: FFmpeg must be installed separately when using pip/pipx.

# macOS
brew install ffmpeg

# Ubuntu/Debian
sudo apt install ffmpeg

Installation

Via Pip

pip install censorbot==0.0.5

Via Docker

docker pull samuelmukoti/censorbot:0.0.5

v0.0.4: Legal Disclaimer + Complete Automation

14 Nov 16:55

Choose a tag to compare

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.0 to 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

14 Nov 16:51

Choose a tag to compare

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

14 Nov 16:42

Choose a tag to compare

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

14 Nov 16:17

Choose a tag to compare

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.