-
Notifications
You must be signed in to change notification settings - Fork 474
Description
TL,DR: pip install scenedetect should just work. I propagated OpenCV as an extra on the requirements because at the time it wasn't available on Windows, but is now, so will make it be batteries included by default from now on. This might have unintended side effects, however, so what I'm thinking right now is to just go with pip install scenedetect[opencv] to simplify things (removing extras shouldn't break anything).
There is also a headless option I'm considering adding as an extra to make it better suited for non-GUI environments (e.g. pip install scenedetect[opencv-headless]). I don't think tqdm has any impact on that part, so I'll likely pull that in as an actual requirement and not have it as an extra.
Lastly, need to restrict the OpenCV version for Python 2.7 now since it's not supported for new versions now.
Right now, for a new installation, to make everything work, you have to type:
pip install scenedetect[opencv,progress_bar]
Based on the traffic statistics for #73, a lot of people are running pip install scenedetect and assuming it will download all dependencies (as they should). Thus I'd like to just get rid of those "features" and just pin PySceneDetect to everything in requirements.txt, since they're not actually features but hard requirements for most users. There is a significant amount of traffic on
The downside of this approach is that certain users using a manually installed version of the cv2 package might need to modify the setup script manually. I'm not sure if there is a way to actually achieve this goal outside of the use of the extra_requires() functionality, so perhaps I should just simplify the command to something like:
pip install scenedetect[opencv]
And drop progress_bar and just throw tqdm as a required package to simplify things. The one optional module is tqdm which I'm not sure if I should leave it as an extra or just make it a requirement to simplify things... Any opinions?