$npx skillfedfor your agent

moviepy

Video editing with Python

With conditionsPyPI MultimediaReleased May 20258.2M downloads / moMIT LicensePure Python

Decision gist · record as of 2026-08-14

pure-Python wheel — moviepy-2.2.1-py3-none-any.whl
v2.2.1 · released 2025-05-21 · 7 runtime deps: decorator, imageio, imageio_ffmpeg, numpy, proglog, python-dotenv, pillow

Yes, if you need to automate video editing workflows in Python and can accept slower performance than raw ffmpeg. The low install friction, permissive license, and stable API make it a solid choice for scripted video tasks. The aging maintenance status (450 days since last release) is a minor concern but not a blocker given the Production/Stable classifier and active maintainers. Be aware of v2 breaking changes if upgrading from v1.AI-flagged interpretation of the facts on this page — verify before relying

Before you install

  • Requires Python 3.9+ and ffmpeg installed on the system (imageio_ffmpeg handles this on most platforms, but custom ffmpeg setups may need manual configuration).
  • Low install friction with a pure-Python wheel distribution.
  • Maintenance status is aging—last release was 450 days ago—though the project remains in Production/Stable status with active maintainers listed.

License · maintenance · safety

MIT License (permissive) — MIT License (permissive) means you can use, modify, and distribute MoviePy freely in commercial and private projects with minimal restrictions, provided you include the license notice.

last release 2025-05-21 (450 days)

0 known vulnerabilities (OSV.dev, 2026-08-14) · 8,186,009 downloads/mo, #1,654 on PyPI

Verify before relying

pip install moviepy

from moviepy import VideoFileClip, TextClip, CompositeVideoClip

clip = VideoFileClip("video.mp4").subclipped(10, 20)
txt_clip = TextClip(text="Hello", font_size=70, color='white').with_duration(10)
final = CompositeVideoClip([clip, txt_clip])
final.write_videofile("output.mp4")
  • Whether v2's breaking changes affect common workflows or only edge cases.
  • Performance characteristics for large video files or real-time processing.
  • Current state of issue backlog and typical response time for bug reports.
Same gist for agents: .md · .json

What it is and what it does

MoviePy converts video and audio files into Python objects (numpy arrays) so you can access individual frames and apply effects programmatically. It handles reading multiple formats (mp4, webm, gif), compositing clips together, adding text overlays, adjusting volume, and writing the result back to disk. The library trades raw speed for flexibility—operations are slower than calling ffmpeg directly because of the overhead of importing and exporting media as arrays, but this makes it approachable for developers who want to script video workflows in pure Python.

The package depends on imageio for media I/O, imageio_ffmpeg to provide ffmpeg binaries, numpy for array operations, and several utility libraries (decorator, proglog, python-dotenv, pillow). It runs on Windows, Mac, and Linux with Python 3.9+. Version 2.2.1 is a recent stable release, though the project entered v2 with significant breaking changes from v1, so upgrading existing code may require work.

Use it for

  • Batch-process video files: cut, concatenate, or resize multiple videos programmatically.
  • Add dynamic overlays: insert text, images, or watermarks at specific times or positions.
  • Generate animated GIFs from video clips or sequences of images.
  • Build video pipelines: chain effects, transitions, and compositing operations in code.
  • Extract and manipulate audio: adjust volume, mix tracks, or sync with video frames.

Worth the install?

AI-flagged interpretation of the facts on this page. Verify before relying on it.

With conditions

Yes, if you need to automate video editing workflows in Python and can accept slower performance than raw ffmpeg.

The low install friction, permissive license, and stable API make it a solid choice for scripted video tasks. The aging maintenance status (450 days since last release) is a minor concern but not a blocker given the Production/Stable classifier and active maintainers. Be aware of v2 breaking changes if upgrading from v1.

Install

moviepy on PyPI

Before you install

Low install friction with a pure-Python wheel distribution. Maintenance status is aging—last release was 450 days ago—though the project remains in Production/Stable status with active maintainers listed. The v2 upgrade introduced breaking changes, so existing codebases may require migration effort.

Requires Python 3.9+ and ffmpeg installed on the system (imageio_ffmpeg handles this on most platforms, but custom ffmpeg setups may need manual configuration).

License in practice

MIT License (permissive) means you can use, modify, and distribute MoviePy freely in commercial and private projects with minimal restrictions, provided you include the license notice.

Quickstart

pip install moviepy

from moviepy import VideoFileClip, TextClip, CompositeVideoClip

clip = VideoFileClip("video.mp4").subclipped(10, 20)
txt_clip = TextClip(text="Hello", font_size=70, color='white').with_duration(10)
final = CompositeVideoClip([clip, txt_clip])
final.write_videofile("output.mp4")

Verify before relying

  • Whether v2's breaking changes affect common workflows or only edge cases.
  • Performance characteristics for large video files or real-time processing.
  • Current state of issue backlog and typical response time for bug reports.

Package facts

LicenseMIT License permissive
Python supportNot specified
Install frictionLow. Pure-Python wheel
Runtime dependencies
7 packages
decoratorimageioimageio_ffmpegnumpyproglogpython-dotenvpillow
MaintenanceAging 450 days since the last release
First released
Downloads8,186,009 / month, #1,654 on PyPI 30-day window, as of 2026-08-14
Known vulnerabilitiesNone known OSV.dev, checked 2026-08-14
Classifiers
Development Status :: 5 - Production/StableIntended Audience :: DevelopersLicense :: OSI Approved :: MIT LicenseNatural Language :: EnglishProgramming Language :: PythonProgramming Language :: Python :: 3.10Programming Language :: Python :: 3.11Programming Language :: Python :: 3.9Topic :: MultimediaTopic :: Multimedia :: Sound/AudioTopic :: Multimedia :: Sound/Audio :: AnalysisTopic :: Multimedia :: VideoTopic :: Multimedia :: Video :: CaptureTopic :: Multimedia :: Video :: Conversion

Evidence: moviepy-2.2.1-py3-none-any.whl

Tags

Capabilities
python video editing libraryvideo compositing and effectsffmpeg python wrappervideo frame manipulationaudio video processing pythoncreate videos programmaticallyvideo concatenation and cutting
Topics
video-editingffmpeg-wrappermedia-processing
PyPI keywords
videoeditingaudiocompositingffmpeg

Let your AI agent find packages like this

Example. Real query, live index.

You found this page by searching. An agent finds it by wishing: SkillFed indexes 14,416 PyPI packages by what they can do, searchable in plain language.

wish › “python video editing library”

  • moviepyMoviePy is a Python library for video editing that reads, processes,…
  • pyaaf2Read, write, and modify Advanced Authoring Format (AAF) files used in…
  • OpenTimelineIOOpenTimelineIO provides an interchange format and Python API for…

Give your agent the search over MCP, or paste the wish link into any chat.

More Multimedia packages

tinytag Worth it
PyPI · WWW/HTTP · released Jul 2026

Reads metadata (artist, title, duration, bitrate, and more) from audio files in formats including MP3, MP4, FLAC, OGG, WAV, and others, without writing or modifying tags.

Install it if you need to extract metadata from audio files without the overhead of a heavier library.

MITpure Python · 3.7+
5.5Mdownloads / mo
xhtml2pdf With conditions
PyPI · Utilities · released Feb 2025

Converts HTML and CSS to PDF documents using Python, enabling developers with web skills to generate PDF templates without learning specialized PDF libraries.

However, the aging maintenance status (last release 537 days ago) warrants caution in production: verify that its rendering quality and feature set meet your specific…

Apache-2.0pure Python · 3.8+aging
4.3Mdownloads / mo
ffmpy With conditions
PyPI · Multimedia · released Nov 2025

ffmpy is a Python wrapper around FFmpeg that lets you build and execute FFmpeg command lines programmatically without writing shell commands directly.

MITpure Python · 3.9+aging
4.3Mdownloads / mo
piexif Worth it
PyPI · Multimedia · released Jul 2019

Piexif reads, writes, and manipulates EXIF metadata in JPEG and WebP images using pure Python with no compiled dependencies.

Install it if you need to read or edit EXIF in JPEG or WebP files without external dependencies.

MITpure Pythondormant
2.8Mdownloads / mo
torch-audiomentations With conditions
PyPI · Scientific/Engineering · released Jan 2025

Provides PyTorch-native audio data augmentation transforms that run on CPU or GPU, designed to integrate directly into neural network models as differentiable modules.

However, be aware that maintenance is aging (last release 576 days ago), multiprocessing and multi-GPU setups have known limitations, and some transforms have edge…

MITpure Python · 3.6+aging
2.1Mdownloads / mo
art Worth it
PyPI · Utilities · released Apr 2025

Converts text and generates one-line ASCII art symbols, rendering them as multi-line ASCII text using various fonts and decorative styles.

MITpure Python · 3.6+
1.6Mdownloads / mo

See also typed-ffmpeg · ffmpeg · mediapy · sk-video · imageio-ffmpeg · pyaaf2 · pymp4 · scikit-video · scenedetect