Fileseq
A Python library for parsing frame ranges and file sequences commonly used in VFX and Animation applications.
Decision gist · record as of 2026-08-14
Yes. Fileseq is actively maintained, has no dependencies, and solves a real and narrow problem in VFX pipelines where frame sequence notation is ubiquitous. It's production-stable since its early releases, supports current Python versions, carries no known vulnerabilities, and is licensed permissively. Install it if you work with render sequences, animation output, or VFX asset pipelines.AI-flagged interpretation of the facts on this page — verify before relying
Before you install
- Low friction: pure Python wheel with no runtime dependencies.
- Active maintenance with a release 40 days ago and consistent commit history; supports Python 3.8 through 3.12.
License · maintenance · safety
MIT (permissive) — MIT license permits unrestricted use, modification, and distribution in commercial and private projects with minimal obligations.
last release 2026-07-05 (40 days) · last repo commit 2026-07-05 · 280 stars
0 known vulnerabilities (OSV.dev, 2026-08-14) · 236,820 downloads/mo, #8,974 on PyPI
Alternatives
Verify before relying
import fileseq
# Parse a frame range with padding notation
seq = fileseq.FileSequence("/foo/bar.1-10#.exr")
# Iterate expanded file paths
for path in seq:
print(path) # /foo/bar.0001.exr, /foo/bar.0002.exr, ...
# Or work with just the frame set
fs = fileseq.FrameSet("1-100x5")
print(fs.start(), fs.end())- Whether the library handles Windows path separators and UNC paths correctly in production VFX pipelines.
- Performance characteristics when parsing very large frame ranges or deeply nested directory structures.
What it is and what it does
Fileseq is a Python library that decodes frame range shorthand and file sequence patterns used throughout VFX and animation production. It parses compact notations like "1-100x5" (every 5th frame), "1-100y5" (5 frames at a time), and various padding styles (#, @, printf %04d, Houdini $F, UDIM) into expanded sequences of frame numbers or file paths. The library provides FrameSet for working with frame ranges as lists and FileSequence for associating ranges with file paths, supporting both string paths and pathlib.Path objects.
It also includes utilities to discover existing sequences on disk by pattern matching and to format sequences for different VFX software conventions. With no external dependencies, it integrates easily into render management, asset tracking, and pipeline automation scripts where frame sequences are a core data structure.
Use it for
- Generate render output paths from compact frame notation in a render submission tool or asset manager.
- Parse user-provided frame ranges in a VFX pipeline UI and expand them into lists of files to process.
- Discover all image sequences in a render directory and organize them by shot or version for review.
- Convert between different padding conventions (e.g., Houdini $F4 to printf %04d) when integrating tools.
- Validate and normalize frame ranges in a production database or asset tracking system.
- Iterate over subframe sequences (e.g., 1001-1066x0.25) for motion blur or simulation output.
Worth the install?
AI-flagged interpretation of the facts on this page. Verify before relying on it.
Yes.
Fileseq is actively maintained, has no dependencies, and solves a real and narrow problem in VFX pipelines where frame sequence notation is ubiquitous. It's production-stable since its early releases, supports current Python versions, carries no known vulnerabilities, and is licensed permissively. Install it if you work with render sequences, animation output, or VFX asset pipelines.
Install
fileseq on PyPI
Before you install
Low friction: pure Python wheel with no runtime dependencies. Active maintenance with a release 40 days ago and consistent commit history; supports Python 3.8 through 3.12.
License in practice
MIT license permits unrestricted use, modification, and distribution in commercial and private projects with minimal obligations.
Quickstart
import fileseq
# Parse a frame range with padding notation
seq = fileseq.FileSequence("/foo/bar.1-10#.exr")
# Iterate expanded file paths
for path in seq:
print(path) # /foo/bar.0001.exr, /foo/bar.0002.exr, ...
# Or work with just the frame set
fs = fileseq.FrameSet("1-100x5")
print(fs.start(), fs.end())
Verify before relying
- Whether the library handles Windows path separators and UNC paths correctly in production VFX pipelines.
- Performance characteristics when parsing very large frame ranges or deeply nested directory structures.
Package facts
| License | MIT permissive |
| Python support | Supports the current Python release >=3.8 |
| Install friction | Low. Pure-Python wheel |
| Runtime dependencies | None |
| Maintenance | Actively maintained 40 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 236,820 / month, #8,974 on PyPI 30-day window, as of 2026-08-14 |
| Known vulnerabilities | None known OSV.dev, checked 2026-08-14 |
| Classifiers | Development Status :: 5 - Production/StableIntended Audience :: DevelopersProgramming Language :: Python :: 3Programming Language :: Python :: 3.10Programming Language :: Python :: 3.11Programming Language :: Python :: 3.12Programming Language :: Python :: 3.8Programming Language :: Python :: 3.9 |
Evidence: fileseq-3.3.0-py3-none-any.whl
Tags
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 › “frame range parsing”
- FileseqParses frame ranges and file sequences using VFX-industry notation…
- hyperframehyperframe decodes binary HTTP/2 frame streams into structured Python…
- pamqppamqp encodes and decodes AMQP 0-9-1 protocol frames for use by…
Give your agent the search over MCP, or paste the wish link into any chat.
More Graphics packages
Pillow adds image processing capabilities to Python, providing file format support, efficient pixel data handling, and image manipulation operations.
Install it if you need to work with images in Python—it is the de facto standard for this task.
fonttools manipulates font files in multiple formats (TrueType, OpenType, AFM, Type 1, Mac-specific) and includes TTX, a tool to convert fonts to and from XML text format.
Install it if you need to read, write, or manipulate fonts programmatically or via the TTX command-line tool.
Enables matplotlib figures to display inline directly within Jupyter notebooks and IPython environments instead of in separate windows.
PyMuPDF extracts, renders, converts, and manipulates PDF and other document formats (XPS, EPUB, images, Office files via Pro) with high performance, providing text, tables, images, and metadata with precise layout information.
The AGPL license requires careful review if you are building proprietary software—commercial licensing is available from Artifex.
pypdfium2 is a Python binding to PDFium that enables PDF rendering, inspection, manipulation, and creation through a ctypes interface to Google's PDFium library.
Install it if you need PDF rendering, inspection, or manipulation in Python; the medium install friction is offset by comprehensive platform support.
Altair is a declarative Python library for creating interactive statistical visualizations by writing simple, readable code that compiles to Vega-Lite specifications.
See also OpenImageIO · shotgun-api3 · OpenEXR · braceexpand · imageio-ffmpeg · PIMS · decord · decord2 · seqlog · ldfparser