Project dependencies may have API risk issues
Hi, In Augmentor, inappropriate dependency versioning constraints can cause risks.
Below are the dependencies and version constraints that the project is using
Pillow
tqdm
numpy
The version constraint == will introduce the risk of dependency conflicts because the scope of dependencies is too strict. The version constraint No Upper Bound and * will introduce the risk of the missing API Error because the latest version of the dependencies may remove some APIs.
After further analysis, in this project, The version constraint of dependency tqdm can be changed to >=3.4.0,<5.
The above modification suggestions can reduce the dependency conflicts as much as possible, and introduce the latest version as much as possible without calling Error in the projects.
The invocation of the current project includes all the following methods.
In version tqdm-3.1.4, the API tqdm.tqdm.set_description whch is used by the current project in Augmentor/Pipeline.py is missing.

The calling methods from the tqdm
tqdm.tqdm.close tqdm.tqdm.update tqdm.tqdm tqdm.tqdm.set_description
The calling methods from the all methods
numpy.dot numpy.round RotateRange self.add_operation pandas.Categorical setuptools.setup numpy.random.normal PIL.ImageEnhance.Contrast.enhance int float os.path.exists uuid.uuid4 sigmoidf perspective_skew_coefficients_matrix.np.array.reshape polygon_indices.append sorted image.crop.paste max math.ceil sigmoid PIL.ImageOps.equalize concurrent.futures.ThreadPoolExecutor super tempfile.NamedTemporaryFile numpy.asarray.append RotateStandard ValueError self.augmentor_images.remove warnings.simplefilter PIL.ImageOps.grayscale sys.stdout.write print corner image.crop.crop polygons.append os.path.join image.crop.transform self.scan_directory sigmoid.np.vectorize self._check_images self._execute ceil sorted.append file_types.extend ImageUtilities.scan self.distinct_dimensions.add do GaussianDistortion enumerate PIL.ImageEnhance.Color.enhance augmentor_images.append temp_files.append isinstance ZoomRandom numpy.linalg.pinv warnings.warn image2.astype.astype PIL.Image.fromarray.save X.astype.astype Operation.__init__ return_results.append RandomColor ImageUtilities.scan_dataframe math.exp numpy.random.beta HistogramEqualisation Distort operation.perform_operation.append dict tqdm.tqdm.update numpy.array.max matrix.append operation.__dict__.items numpy.random.seed executor.map Invert math.floor os.path.basename numpy.meshgrid random.seed IndexError sys.path.insert PIL.ImageEnhance.Contrast one_hot_encoding.astype.astype numpy.shape image.crop.transpose X.astype.append PIL.ImageOps.invert original_plane.np.array.reshape numpy.array range numpy.vectorize os.makedirs self._execute_with_array numpy.reshape abs numpy.zeros random.randint CropPercentage Flip math.radians list pandas.Categorical.get_values RuntimeError ImageUtilities.AugmentorImage numpy.matrix os.path.isdir numpy.ndim numpy.random.rand scan_directory RandomContrast AugmentorImage generated_mesh.append PIL.ImageEnhance.Brightness.enhance self.distinct_formats.add PIL.Image.fromarray image.resize.crop TypeError numpy.uint8.clip list.append numpy.random.uniform image1.astype.astype self.operations.append PIL.ImageEnhance.Brightness image.crop.getbands dimensions.append os.path.isfile ImportError os.path.splitext warnings.catch_warnings numpy_array.reshape.reshape IOError Shear random.choice tqdm.tqdm numpy.amin random.uniform str.upper self.function_name i.images.save Crop self._populate self.DataFramePipeline.super.__init__ image.crop.convert BlackAndWhite RandomBrightness numpy.arange PIL.Image.open self.sample tqdm.tqdm.close list_of_files.extend batch.append Zoom augmented_images.append Skew temp_directories.append Greyscale round len os.path.dirname Rotate math.sin Resize glob.glob self.operations.pop paths.append zip operation.perform_operation str tempfile.mkdtemp image_path.os.path.splitext.split RandomErasing numpy.linspace tqdm.tqdm.set_description image.crop.rotate numpy.amax hsv.Image.fromarray.convert PIL.ImageEnhance.Color set last_column.append random.sample math.tan Scale os.path.split numpy.uint8 image.crop.resize os.path.abspath numpy.asarray eval image.crop.point
Could please help me check this issue? May I pull a request to fix it? Thank you very much.