wukong-robot icon indicating copy to clipboard operation
wukong-robot copied to clipboard

Project dependencies may have API risk issues

Open PyDeps opened this issue 2 years ago • 0 comments

Hi, In wukong-robot, inappropriate dependency versioning constraints can cause risks.

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

pyyaml>=4.2b1
requests==2.21.0
baidu-aip==2.0.0.1
pydub==0.23.1
python-dateutil==2.7.5
watchdog==0.9.0
pytz==2018.9
fire==0.1.3
tornado==5.1.1
markdown==3.0.1
semver==2.8.1
websocket==0.2.1
websocket-client==1.3.2
pypinyin*
jieba*

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 semver can be changed to >=2.4.2,<=3.0.0.dev1.

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 semver
semver.compare
The calling methods from the all methods
_snowboydetect.SnowboyVad_SetAudioGain
self.thread.start
self.getDate
ret.json
RGB_MAP.get
urllib3.disable_warnings
req.content.decode
self.detector.SampleRate
tempfile.NamedTemporaryFile
timezone
hasattr
AliSpeech.asr
FileSystemEventHandler.__init__
config.get
logger.debug
self.conversation.tts.say
request.content.decode
self.init
self.cond.notify_all
len
sign
self.detector.RunDetection
subclasses.add
self.ai.chat
_snowboydetect.new_SnowboyDetect
self.set_secure_cookie
logger.info
vc.set
wukong.help
fromstr.find.fromstr.find.fromstr.strip
subclasses.update
AipSpeech
time.time.dest_path.os.path.join.replace
pixels.think
conversation.doConverse
hashlib.md5
os.path.exists
smtplib.SMTP
text.replace
file_handler.setFormatter
self.tts.get_speech
pixels.off
self.saveMessage
ws.send
solr_format.append
audio.open
self.con.say
pixels.speak
self.onSay
self.player.stop
self.con.setImmersiveMode
self.conversation.say
self._buf.clear
RotatingFileHandler
requests.post
stream_out.start_stream
snowboydecoder.ActiveListener
clear_documents
self._pull
conversation.getHistory.cond.wait
os.path.splitext
self.doConverse
_swig_getattr
res.stdout.replace
self.plugin.say
file.close
msg.encode
wukong.restart
self.isValidImmersive
class_type.__swig_setmethods__.get
TencentSpeech.tencentSpeech
file_object.read
command.append
_updater.fetch
urllib.request.urlopen
self.queue.get
os.path.normpath
self._onCompleted
res.values
sys.exit
_snowboydetect.SnowboyDetect_NumHotwords
help
utils.validjson
sorted
chr
constants.getConfigPath
os.path.dirname
json.loads
plugin_list.append
_get_error_message
upload_documents
self.validate
command.extend
conversation.doResponse
enumerate
self.spi.xfer2
os.path.basename
self.recordedData.append
mp3_path.AudioSegment.from_mp3.export
random.choice
self.conversation.setImmersiveMode
plugin.restore
self.get_cookie
BODY.encode
line.decode
self.queue.put
config.dump
self._wakeup.clear
hashlib.sha1.sign_bytes.secret_bytes.hmac.new.digest
res.stdout.strip.replace
datetime.datetime
getUUID
spidev.SpiDev
self.this.append
s.pr.pstats.Stats.sort_stats
bytes
_snowboydetect.SnowboyDetect_GetSensitivity
loader.load_module
urllib.request.Request
self._conversation.interrupt
solr_tools.upload_documents
self.isValid
MusicPlayer
dsp.Dispatcher
self.next.set
getPlayerByFileName
list
_snowboydetect.SnowboyDetect_SetAudioGain
self.audio.get_format_from_width
self.write
filter
robot.get_instance
preprocess
wf.setsampwidth
urlencode
object.__setattr__
res.stdout.strip
time.strptime
utils.clean
self.history.add_message
result.export
date.split.split.strip
base64.b64encode
plugin.isValid
class_type.__swig_getmethods__.get
self.stream_in.stop_stream
ding_wav.getframerate
sensitivity_str.encode
snowboydetect.SnowboyDetect
query.strip
unit.zfill
datetime.now
self.nlu.hasIntent
wavfile.writeframes
platform.system
replace
constants.getQAPath
get_unknown_response
dparser.parse
bytearray
osc_process.start
time.strftime
config_dict.items
ulist.append
get_robots
self.con.play
res.stdout.strip.endswith
constants.getHotwordModel
fp.close
os.getenv
self.client.asr
ttsWsParam.create_url
utils.get_do_not_bother_on_hotword
int
thread.start_new_thread
timedelta
config.init
os.access
self.get_argument.encode
XunfeiSpeech.synthesize
os.path.isdir
SnowboyDetect_swigregister
self.get_song_list
self.formatSignString
params.urllib.parse.urlencode.encode
textUrlencode.replace
self.ring_buffer.get
get_path
self.this.own
ReportThread
self.resume
parser.parse
self.conversation.getImmersiveMode
logging.getLogger
imaplib.IMAP4
tail
MessageBuffer.MessageBuffer
self.cache.append
result.get
items.split
self.nlu.getSlotWords
Queue.Queue
self.run
ValueError
conversation.getHistory
filename.os.path.splitext.lower
data.decode
tornado.ioloop.IOLoop.instance.start
self.APISecret.encode
password.str.encode
get_robot_by_slug
websocket.WebSocketApp
self.nlu.getSlots
temp.append
authorization_origin.encode.base64.b64encode.decode
utils.convert_wav_to_mp3
wf.close
self.spi.open
self.audio.get_sample_size
get_subclasses
self.brain.pause
AIY
file_handler.setLevel
self.stream_in.close
super.play
set
getSlots
response.append
ding_wav.readframes
wavfile.setparams
config.has
Observer
utils.lruCache
SECRET_KEY.encode
init
range
server.serve_forever
make_json.run
pr.enable
wf.setnchannels
self.player.appendOnCompleted
argArr.append
semver.compare
email.message_from_string
unit.getSlots
text.endswith
updater.fetch
_swig_setattr_nondynamic
dict
reversed
call_function
self.player.is_playing
self._wakeup
self.Plugin.super.__init__
self.con.doResponse
self.redirect
any
self.activeListen
BCI.MuseBCI
os.path.abspath
Path
interrupt_check
body.set
task.setDaemon
mutex.release
self.dev.set_pixel
self.brain.restore
self.player.pause
self.bci.start
self.Text.encode
now.timetuple
session.close
f.read
fire.Fire
_snowboydetect.SnowboyDetect_UpdateModel
AudioSegment.from_wav
MIMEText
_snowboydetect.SnowboyDetect_SampleRate
self.getSender
self.player.turnUp
self.init_music_player
super
result.overlay
os.execl
ERROR_HANDLER_FUNC
format_date_time
datetime.datetime.now
listener.listen
get_mac
board.button.wait_for_press
logger.warning.format
fetch
self.player.turnDown
imp.find_module
http.client.HTTPConnection
_snowboydetect.SnowboyDetect_ApplyFrontend
server.run
updater.update
binary_data.encode
conn.getresponse
plugin_loader.get_plugins
snowboydecoder.HotwordDetector
self.player.play
self.fetch_token
Pattern.blink
self.request.connection.stream.closed
hashlib.sha256.signature_origin.encode.self.APISecret.encode.hmac.new.digest
self.get_secure_cookie
uuid.getnode
self._observer.schedule
threading.Thread
self.render
self.update_info.pop
atc.num2chinese
ding_wav.getnframes
getConfigData
get_engines
f.readlines
TTS_Ws_Param
re.match
self.conversation.asr.transcribe
nameSet.add
self.doResponse
AudioSegment.silent
player.play
randstr
AttributeError
multiprocessing.Event
ff.write
myhmac.digest
r.raise_for_status
self.spi.close
email.header.decode_header
Wukong
f.write
ElementTree.SubElement
collections.deque
constants.getData
self.doPlay
utils.get_pcm_from_wav
file_object.seek
self.brain.printPlugins
getConfigPath
input
getData
self.player.resume
nd.lstrip.split
content.base64.b64encode.decode
line.strip.split
utils.write_temp_file
make_body
constants.newConfig
sa.append
msg.endswith
method
msg.as_string
self.detector.start
requests.get
self.conversation.doParse
self.interrupt
random.randint
self.set_pixel
logger.addHandler
intresult.append
callback
s.getvalue
self.audio.terminate
self.proc.terminate
src.startswith
_snowboydetect.SnowboyVad_Reset
self.next.clear
_plugins_query.append
self._conversation.say
platform.mac_ver
r.json
response.getheader
os.makedirs
pkgutil.walk_packages
time.localtime
solr_tools.add_engine
RingBuffer
utils.is_proper_time
CFUNCTYPE
is_json
_plugins_query.sort
self.checkRestore
self.reInit
plugin.pause
apa102.APA102
io.StringIO
processPOSTRequest
getUnit
model_str.encode
json_file.close
self.combine_color
sender.decode
ConfigMonitor
ceil
issubclass
self.client.synthesis
validation.replace
asyncio.set_event_loop
LED.think
engine.get_instance
result.append
fromstr.find
unit.getIntent
self.onResp
func
solr_tools.clear_documents
unit.getUnit
importlib.util.find_spec
utils.check_and_delete
json_file.write
self._get_version
upload_batch
osc_server.ThreadingOSCUDPServer
shutil.copyfile
self.fetchUnreadEmails
self.switch_on_do_not_bother
self.SoxPlayer.super.__init__
session.login
self.match
tornado.locks.Condition
order.lower
utils.validyaml
wf.setframerate
multiprocessing.Process
session.starttls
_snowboydetect.new_SnowboyVad
itertools.groupby
_snowboydetect.SnowboyVad_BitsPerSample
exit
max
cls.__subclasses__
self.clock_end_frame
wav_path.AudioSegment.from_wav.export
res_data.read
logger.critical
onCompleted
self.onCompleteds.append
utils.setRecordable
run
syllable.replace
ws.close
urllib.parse.urlencode
ai.chat
signature_sha.base64.b64encode.decode
self.onAsk
os.path.isfile
mutex.acquire
line.strip
session.connect
self.fetch
logger.warning
res_data.read.decode
tornado.web.Application
init_plugins
sendEmail
asyncio.new_event_loop
uuid.uuid1
self.MusicPlayer.super.__init__
upload_file
self.engine.ASR
getDefaultConfigPath
threading.Lock
Leds.rgb_pattern
subprocess.call
hmacstr.base64.b64encode.decode
pstats.Stats
utils.saveCache
constants.getDefaultConfigPath
t.ReportThread.start
asound.snd_lib_error_set_handler
ding_wav.getnchannels
self.detector.NumHotwords
pr.disable
self.finish
Leds
get_token
intresult.revuniq.strip
self.SLUG.config.get.strip
process
_make_smart_hint
SnowboyVad_swigregister
self.detector.BitsPerSample
cdll.LoadLibrary
importlib.import_module
yes_no.lower
_snowboydetect.SnowboyDetect_SetHighSensitivity
os.remove
solr_tools.delete_engine
conn.fetch
_snowboydetect.SnowboyVad_NumChannels
ff.close
LED.off
dispatcher.map
self.say
lazy_pinyin
_snowboydetect.SnowboyDetect_RunDetection
s.endswith
self.isValidated
text.lower.replace.replace
dates.sort
format
conn.request
audio_recorder_callback
os.listdir
d.endswith
XunfeiSpeech.transcribe
ps.print_stats
stream_out.stop_stream
task.join
ding_wav.getsampwidth
file.read
wukong.run
query_arr.items
self.self.__class__.super.__init__
json.load
asrWsParam.create_url
threading.Event
plugin.isValidImmersive
self.ring_buffer.extend
sub.strip
self._conversation.reInit
password.str.encode.hashlib.md5.hexdigest
BaiduSpeech.baiduSpeech
TTS.get_engine_by_slug
response.read
wukong.switch_off_do_not_bother
ElementTree.tostring
cache.close
signal.signal
logging.readLog
shutil.rmtree
fromstr.split
swig_import_helper
self.player.prev
self.show
pixels.wakeup
results.reverse
_snowboydetect.SnowboyVad_RunVad
AudioSegment.from_mp3
requests.session
MIMEMultipart
self.asr.transcribe
revuniq
wave.open
email.get
_snowboydetect.SnowboyVad_ApplyFrontend
utils.get_do_not_bother_off_hotword
mod.Plugin
words.append
mktime
ws.run_forever
self.get_argument
formatSignString
self.nlu.parse
self._observer.stop
no_alsa_error
self.get_argument.encode.hashlib.md5.hexdigest
self.oneSentenceRecognition
_snowboydetect.SnowboyDetect_BitsPerSample
audio.get_format_from_width
make_json.convert
mp3_path.replace
self.getSubject
json.dumps
utils.isRecordable
finder.find_module
self.proc.wait
_snowboydetect.SnowboyDetect_NumChannels
NLU.get_engine_by_slug
logger.setLevel
self.this.__repr__
logging.Formatter
SoxPlayer
self.clearImmersive
pcmfile.read
self.load
result.keys
re.findall
file_object.tell
_snowboydetect.SnowboyDetect_SetSensitivity
res.stdout.endswith
threading.Thread.__init__
stream_out.write
text.lower.replace
yaml.load
wukong.update
hmac.new
cache.readlines
self.brain.query
type
conversation.getHistory.get_messages_since
msgs.append
file_object.close
self._pip
self.detector.SetAudioGain
attach.open.read
print
f.seek
text.lower
_snowboydetect.SnowboyDetect_Reset
self.isImmersive
messages.split
wf.writeframes
subprocess.Popen
self._conversation.activeListen
utils.stripPunctuation
self.player.is_pausing
self.detector.terminate
logger.off
fromstr.find.fromstr.str.strip
date.split
tornado.ioloop.IOLoop.instance
task.start
t.start
application.listen
conn.search
TypeError
Pattern.breathe
os.path.join
idx_container.batch_docs.append
open
self.proc.kill
start_server
uuid.UUID
audio.terminate
_swig_setattr
Player.SoxPlayer
self.clock_start_frame
sound_file.is_file
ElementTree.Element
Updater
time.sleep
cProfile.Profile
unit.getSlotWords
Pixels
authorization_origin.encode
self.textToSpeech
urllib.parse.quote_plus
ASR.get_engine_by_slug
__name__.rpartition
imp.load_module
self._buf.extend
has_path
yaml.safe_load
self.player.next
self.detector.SetSensitivity
self._wakeup.wait
cls.get_config
self.nlu.getSay
resource.encode
results.append
dirname
Conversation
conn.select
logger.error
cls
signature_origin.encode
pkg.join.lstrip
self.initDetector
doInit
call
wav.readframes
isinstance
stream_out.close
wav_path.replace
float
cutlength.str.isdigit
self._observer.start
statistic.report
self.encode_sign
self._off
base64.b64decode
signstr.encode
time.time
wukong.switch_on_do_not_bother
syllable.isdigit
self.next.is_set
websocket.enableTrace
Brain
self.detector.NumChannels
nd.lstrip
self._conversation.doResponse
abs
self.audio.open
AI.get_robot_by_slug
pyaudio.PyAudio
faq_file.close
self.AbstractPlayer.super.__init__
markdown.markdown
self.switch_off_do_not_bother
config.getText
conn.close
conn.login
conn.logout
self.appendHistory
subprocess.run
self._wakeup_event.set
unit.hasIntent
self.pardon
sys.path.append
res.stdout.replace.strip
leds.update
AliSpeech.tts
super.stop
f.read.strip
ls.str.strip
self.engine.TTS
code.base64.b64encode.decode
LED.wakeup
subject.decode
wav.getnframes
thread_task.append
Board
ASR_Ws_Param
os.kill
self.dev.show
unit.getSay
str
msg.encode.hashlib.md5.hexdigest
Player.play
utils.getCache
self.wait_future.cancel
join
Updater.fetch
date.split.split
result.split
http.client.HTTPSConnection
self.con.activeListen
fp.read
self.play
os.path.expanduser
self.detector.ApplyFrontend
session.sendmail
config.reload
_snowboydetect.SnowboyVad_SampleRate
self.sess.post
plugin.handle
msg.attach
urllib.parse.quote

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

PyDeps avatar Jul 16 '22 17:07 PyDeps