Repository: voxel51/fiftyone
Pull request: Relax `opencv-python-headless` version requirement
Removes the pin on `opencv-python-headless`. The original reason for this was to prevent building wheels from source for new installs during the few hours the source dist was available, but binary dists were not.

`opencv-python-headless` is popular package, only updated a few times a year, and therefore a loose requirement is likely best.

### Issues

* Resolves #1282 

Problem statement:
[FR] update opencv-python-headless
### Proposal Summary
Currently this repo requires opencv-python-headless<=4.4.0.46. To cut a long story short there are no wheels available for python3.9 and I am unable to install fiftyone (I am using docker `image: jupyter/scipy-notebook:latest`). However version `4.5.3.56` is available for install without issue, and I propose updating the requirement for this dependency.

Hints from issue discussion:

Commit message: rm opencv-python-headless pin

Patch to review:
diff --git a/setup.py b/setup.py
index 84cb5a72929..ed5c33b62d7 100644
--- a/setup.py
+++ b/setup.py
@@ -78,6 +78,7 @@ def get_version():
         "mongoengine==0.20.0",
         "motor>=2.3,<3",
         "numpy",
+        "opencv-python-headless>=4.4,<5",
         "packaging",
         "pandas",
         "Pillow>=6.2",
@@ -96,12 +97,6 @@ def get_version():
         "universal-analytics-python3>=1.0.1,<2",
         # internal packages
         "voxel51-eta>=0.5.2,<0.6",
-        # ETA dependency - restricted to a maximum version known to provide
-        # wheels here because it tends to publish sdists several hours before
-        # wheels. When users install FiftyOne in this window, they will need to
-        # compile OpenCV from source, leading to either errors or a
-        # time-consuming installation.
-        "opencv-python-headless<=4.4.0.46",
     ],
     classifiers=[
         "Development Status :: 4 - Beta",


Code review comments:
diff_hunk: @@ -78,6 +78,7 @@ def get_version():
         "mongoengine==0.20.0",
         "motor>=2.3,<3",
         "numpy",
+        "opencv-python-headless>=4.4,<5",
path: setup.py
text: @user1:
Is there a reason to include a version requirement at all? I'm not aware of anything we're using that has or will change anytime soon.

@author:
I'll remove