Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Project dependencies may have API risk issues #28

Open
PyDeps opened this issue Oct 26, 2022 · 0 comments
Open

Project dependencies may have API risk issues #28

PyDeps opened this issue Oct 26, 2022 · 0 comments

Comments

@PyDeps
Copy link

PyDeps commented Oct 26, 2022

Hi, In Mesh-RenameBot, inappropriate dependency versioning constraints can cause risks.

Below are the dependencies and version constraints that the project is using

pyrogram
tgcrypto
async-timeout
aiohttp
psycopg2-binary
pillow
hachoir
pymongo
dnspython

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 pyrogram can be changed to >=1.1.0,<=2.0.57.
The version constraint of dependency pillow can be changed to ==9.2.0.
The version constraint of dependency pillow can be changed to >=2.0.0,<=9.1.1.
The version constraint of dependency pymongo can be changed to >=2.4,<=4.1.1.

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.

The calling methods from the pyrogram
pyrogram.types.bots_and_keyboards.inline_keyboard_markup.InlineKeyboardMarkup
pyrogram.handlers.CallbackQueryHandler
pyrogram.types.bots_and_keyboards.inline_keyboard_button.InlineKeyboardButton
pyrogram.filters.regex
pyrogram.StopTransmission
pyrogram.file_id.FileId.decode
pyrogram.handlers.MessageHandler
The calling methods from the pillow
PIL.Image.open
The calling methods from the pymongo
pymongo.MongoClient
The calling methods from the all methods
self._client.send_track
self.set_mode
maneuvers.ExecutorManager.ExecutorManager
translations.trans.Trans.ADDITION_FILTER_SUCCESS_RIGHT.format
signal.signal
database.user_db.UserDB
self._connection_users.pop
super
len
maneuvers.ExecutorManager.ExecutorManager.create_maneuver
math.floor
maneuvers.ExecutorManager.ExecutorManager.canceled_uids.append
FilterUtils.get_type_str
format
userin.track_users.keys
msg.from_user.mention
logging.getLogger.error
translations.trans.Trans.FLTR_ADD_RIGHT_STR.format
utils.c_filter.FilterUtils
self._conn.close
im.convert.save
file_handle.read
maneuvers.ExecutorManager.ExecutorManager.stop
epipe.decode.strip.decode
hachoir.parser.createParser
pymongo.MongoClient
client.get_chat_member
time.time
client.get_file_id
pyrogram.handlers.CallbackQueryHandler
join
time.sleep
open
json.dumps
rem_this
self.all_maneuvers_log.append
round
self.create_executors
self.scur.execute
self.shared_users.get
core.get_config.get_var
new_val.split.lower
translations.trans.Trans.WRONG_VALUE_ERROR.format
pieces.append
translations.trans.Trans.REMOVE_FILTER_SUCCESS.format
self.maneuvers_queue.put
msg.continue_propagation
replace_filters.append
logging.getLogger.setLevel
MeshRenameBot.database.user_db.UserDB.get_mode
FilterUtils.get_filters
os.path.exists
remove_filters.append
self._current_maneuver.cancel
self._cmd_message.from_user.mention
currline.append
super.__init__
database.user_db.UserDB.get_thumbnail
PIL.Image.open.save
user_input.userin.get_value
msg.reply
mesh_bot.MeshRenameBot
translations.trans.Trans.FLTR_RM_STR.format
original_name.replace.replace
cursor.close
self._connection_users.append
client.add_handler
msg.data.str.split
pyrogram.handlers.MessageHandler
getattr
self._media_message.reply
self._media_message.reply.edit_text
asyncio.sleep
isinstance
self.active_executors.append
message.edit_text
pyrogram.types.InlineKeyboardMarkup
self.get_filters.values
core.handlers.add_handlers
logging.getLogger.info
os.getcwd
adjust_image
datetime.timedelta
database.user_db.UserDB.set_mode
hachoir.metadata.extractMetadata
message.edit_caption
inob.get_value.split
FilterUtils.add_filer
users.insert_one
translations.trans.Trans.FLTR_ADD_LEFT_STR.format
self.execute
users.find.count
logging.getLogger
time.time.str.replace
psycopg2.connect
PIL.Image.open.convert
self._user_db.get_var
os.remove
Executor.Executor
os.rename
translations.trans.Trans.REPLACE_FILTER_SUCCESS.format
asyncio.get_event_loop.create_task
rfile.write
i.stop
os.path.dirname
self.maneuvers_queue.get.execute
self._conn.commit
hachoir.metadata.extractMetadata.has
os.path.basename
pyrogram.filters.regex
print
os.makedirs
self.scur.fetchone
e.from_user.id.self.track_users.pop.delete
logging.getLogger.debug
hasattr
self.ccur
translations.trans.Trans.FLTR_REPLACE_STR.format
new_val.split.split
pyrogram.types.bots_and_keyboards.inline_keyboard_markup.InlineKeyboardMarkup
pyrogram.types.bots_and_keyboards.inline_keyboard_button.InlineKeyboardButton
int
fsu.get_filters.keys
self.maneuvers_queue.get
self._client.send_document
json.loads.get
os.environ.get
self._user_db.set_var
PIL.Image.open.thumbnail
self._media_message.document.mime_type.split
filter_controller
os.path.join
NotImplementedError
self._client.send_video
e.from_user.id.self.track_users.pop
self.maneuvers_queue.get.done
add_filters.append
gen_ss
self._active_connections.append
users.update
self.re_establish
random.randint
self._fltr_obj.filtered_name
client.send_track
range
translations.trans.Trans.ADDITION_FILTER_SUCCESS_LEFT.format
msg.data.split
pyrogram.StopTransmission
json.loads.pop
msg.from_user.id.userin.track_users.append
pyrogram.file_id.FileId.decode
original_message.download
msg.message.edit_text
PIL.Image.open
e.from_user.id.self.track_users.pop.download
self._cmd_message.reply_text
self.track_users.pop
human_format.human_readable_timedelta
FilterUtils.remove_filter
resize_img
database.user_db.UserDB.set_thumbnail
asyncio.Queue
asyncio.get_event_loop
self.scur
pyrogram.types.InlineKeyboardButton
self._cmd_message.text.split
self.close_executors
FilterUtils
cur.fetchone.get
msg.reply_photo
spipe.decode.strip
self._client.send_audio
MeshRenameBot.database.user_db.UserDB
human_format.human_readable_bytes
json.loads
logging.getLogger.exception
msg.answer
self._conn.cursor
asyncio.create_subprocess_exec
spipe.decode.strip.decode
self._fltr_obj.has_filters
self._media_message.download
self.get_filters
f.read
os.path.getsize
users.find
core.thumb_manage.get_thumbnail
self.send_message
MeshRenameBot.core.get_config.get_var
str
user_input.userin
os.mkdir
hachoir.metadata.extractMetadata.get
logging.basicConfig
maneuvers.Rename.RenameManeuver
database.user_db.UserDB.get_mode
epipe.decode.strip
mesh_bot.MeshRenameBot.run
msg.reply_text
pyrogram.types.InlineKeyboardMarkup.append
asyncio.create_subprocess_exec.communicate

@developer
Could please help me check this issue?
May I pull a request to fix it?
Thank you very much.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant