mdbloice / Augmentor

Image augmentation library in Python for machine learning.
https://augmentor.readthedocs.io/en/stable
MIT License
5.08k stars 866 forks source link

Project dependencies may have API risk issues #253

Open PyDeps opened 1 year ago

PyDeps commented 1 year ago

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.

image
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.