Willow icon indicating copy to clipboard operation
Willow copied to clipboard

[RFC] Make OpenCV a separately installed module?

Open kaedroho opened this issue 6 years ago • 3 comments

Just want to gather opinions on whether we should move the OpenCV plugin (along with the face/feature detection operations) into a separate module. This should be easy to do as it's decoupled already.

Reasons:

  • I don't think it's very widely used
  • The majority of the size of Willow's distributions on pypi is taken by one file that's only required by OpenCV https://github.com/wagtail/Willow/blob/master/willow/data/cascades/haarcascade_frontalface_alt2.xml
  • There is an alternative available (https://github.com/torchbox/rustface-py) that's much easier to install than OpenCV. Having OpenCV built in to Willow core would make it less likely for someone to try out alternatives which could be better.

Drawbacks:

  • Breaks backwards compatibility
  • Will make face detection features less discoverable

kaedroho avatar May 29 '18 09:05 kaedroho

I don't think it's very widely used

I imagine this is true, but we don't have any data about it, AFAIK.

Breaks backwards compatibility

Could / should we have a deprecation path?

I'm generally in favour.

tomdyson avatar May 29 '18 09:05 tomdyson

Could / should we have a deprecation path?

We could follow Wagtail's deprecation policy for this:

  • Versions 1.2 and 1.3 still have the plugin built in, but show a deprecation warning if it's used
  • Completely remove in 1.4

Willow doesn't have a fixed release cycle and there's not many new features on the horizon for the core library, so two releases might be quite a long time!

kaedroho avatar May 29 '18 09:05 kaedroho

Since we don't deprecate things very often, I'm thinking we should mark this, and other deprecated features, for removal in 2.0.

I won't set a date for 2.0 yet. We'll probably decide to make a 2.0 when there are too many deprecated features for us to handle!

kaedroho avatar Oct 30 '18 12:10 kaedroho