Metadata-Version: 2.1
Name: video-utils
Version: 2.3.2
Summary: This library is used for lots of shared functionality around parsing TV shows and movies
License: MIT
Author: Justin Dray
Author-email: justin@dray.be
Requires-Python: >=3.8.1,<4.0.0
Classifier: License :: OSI Approved :: MIT License
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.9
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3 :: Only
Classifier: Programming Language :: Python :: 3.7
Classifier: Programming Language :: Python :: 3.8
Requires-Dist: colorama (>=0.4.6,<0.5.0)
Requires-Dist: ffmpy (>=0.3.0,<0.4.0)
Requires-Dist: iso639 (>=0.1.4,<0.2.0)
Requires-Dist: pymediainfo (>=6.0.1,<7.0.0)
Requires-Dist: rich (>=13.3.5,<14.0.0)
Description-Content-Type: text/markdown

# Video Utils

[![Supported Python Versions](https://img.shields.io/pypi/pyversions/video_utils)](https://pypi.org/project/video_utils/) [![PyPI version](https://badge.fury.io/py/video_utils.svg)](https://badge.fury.io/py/video_utils)

[![Workflow](https://github.com/justin8/video_utils/actions/workflows/workflow.yml/badge.svg)](https://github.com/justin8/video_utils/actions/workflows/workflow.yml)
[![codecov](https://codecov.io/gh/justin8/video_utils/branch/master/graph/badge.svg)](https://codecov.io/gh/justin8/video_utils)
[![Downloads](https://pepy.tech/badge/video_utils/month)](https://pepy.tech/project/video_utils)

This library provides utilities for dealing with TV show and Movie files and the metadata around them.

## Example Usage

```python
from video_utils import FileMap

def run():
    f = FileMap("/path/to/videos")
    f.load() # By default, this will load the cached metadata, and then update files that have changed in size

    for directory in f.contents:
        for video in f.contents[directory]:
            codec = video.codec
            print(codec.pretty_name) # x265
            print(video.quality) # 1080p
            print(video.full_path)
            print(video.size) # in bytes
            print(video)
            video.refresh() # force a refresh of the video metadata, will only occur if filesize has changed.

run()
```

