Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

fix: cap PILLOW<10 to avoid moviepy compatibility issues #5

Merged
merged 3 commits into from
Aug 21, 2023
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
20 changes: 0 additions & 20 deletions Makefile

This file was deleted.

18 changes: 18 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -87,6 +87,24 @@ It can also be installed in development/editable mode after cloning this git rep
pip install --upgrade -e .
```

## Known issues

There are a few known issues, due to the fact that moviepy, the library that we use to process videos, is [currently not actively maintained as of August 2023 since at least December 2022](https://github.com/Zulko/moviepy/issues/1874). Here is a list of downstream issues:
* PILLOW 10.0.0 introduced a breaking change with moviepy, and although [a fix](https://github.com/Zulko/moviepy/pull/2003) was merged upstream into moviepy, there is no pypi release. Two solutions: cap PILLOW below 10, or install moviepy from github. Since the future of moviepy is uncertain, we chose to cap PILLOW, to ensure this tool continues to work in venvs.
* On Windows, after saving the output, the following exception may arise:
```
Exception ignored in: <function FFMPEG_VideoReader.__del__ at 0x00000253011BF920>
Traceback (most recent call last):
File "C:\Users\33632\miniconda3\Lib\site-packages\moviepy\video\io\ffmpeg_reader.py", line 199, in __del__
self.close()
File "C:\Users\33632\miniconda3\Lib\site-packages\moviepy\video\io\ffmpeg_reader.py", line 190, in close
self.proc.terminate()
File "C:\Users\33632\miniconda3\Lib\subprocess.py", line 1671, in terminate
_winapi.TerminateProcess(self._handle, 1)
OSError: [WinError 6] Descripteur non valide
```
Again this was [fixed](https://github.com/Zulko/moviepy/pull/1296) on github but not in the latest pypi release of MoviePy. This remain unfixed, it does not prevent usage of the tool, it is just inelegant.

## License

Created by Eamonn O'Brien-Strain.
Expand Down
3 changes: 2 additions & 1 deletion pyproject.toml
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ build-backend = "setuptools.build_meta"

[project] # beware if using setuptools: setup.py still gets executed, and even if pyproject.toml fields take precedence, if there is any code error in setup.py, building will fail!
name = "videogestalt"
version = "0.2.9" # see PEP 440 https://peps.python.org/pep-0440/#pre-releases and https://packaging.python.org/en/latest/guides/single-sourcing-package-version/
version = "0.2.10" # see PEP 440 https://peps.python.org/pep-0440/#pre-releases and https://packaging.python.org/en/latest/guides/single-sourcing-package-version/
description = "One-Glance Overview of Any Video"
authors = [
{name = "Eamonn O'Brien-Strain", email = "[email protected]"},
Expand Down Expand Up @@ -46,6 +46,7 @@ classifiers = [
'Topic :: Utilities',
]
dependencies = [
"PILLOW<10", # PILLOW 10.0.0 introduced a breaking change with moviepy, and unfortunately MoviePy is unmaintained as of august 2023 (since december 2022) so a new release is unlikely, see https://github.com/Zulko/moviepy/pull/2003 -- an easy solution is to cap PILLOW
"moviepy",
]

Expand Down