dickreuter/neuron_poker

Project dependencies may have API risk issues

PyDeps opened this issue · 0 comments

Hi, In neuron_poker, inappropriate dependency versioning constraints can cause risks.

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

pandas
pytest
pylint
pydocstyle
gym
numpy
matplotlib
pyglet
keras-rl2
docopt
tensorflow==2.3.2
tensorboard
pybind11
cppimport

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 pandas can be changed to >=0.7.0,<=1.4.2.
The version constraint of dependency numpy can be changed to >=1.5.0,<=1.23.0rc3.
The version constraint of dependency pyglet can be changed to >=1.3.0rc2,<=1.4.11.

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 pandas
pandas.concat
The calling methods from the numpy
distutils.core.setup
The calling methods from the pyglet
pyglet.graphics.vertex_list
pyglet.clock.tick
datetime.date.today
time.strftime
pyglet.graphics.draw
The calling methods from the all methods
ValueError
self.player_cycle.deactivate_current
agents.agent_keras_rl_dqn.Player.train
collections.Counter
float
self.player_cycle.next_player
self._distribute_cards
numpy.ceil
arr3.arr2.arr1.np.concatenate.flatten
logging.getLogger.setLevel
gym.envs.registration.register
pyglet.graphics.vertex_list
MonteCarlo.get_two_short_notation
type
self.player_cycle.next_dealer
tools.hand_evaluator.SUITS_ORIGINAL.find
pyglet.clock.tick
info.keys
numpy.maximum
cppimport.imp
self.player_data.__dict__.values
self.get_multiplecards
self._save_funds_history
Memoise
matplotlib.pyplot.show
numpy.random.seed
numpy.mean
logging.getLogger.error
numpy.array
join
this_player_action_space.intersection
format
numpy.sum
time.time
self.distribute_cards
pandas.Series
logging.getLogger.removeHandler
gym.make.add_player
SelfPlay.random_agents
player_alive.append
preflop_state.get_reverse_sheetname
logging.StreamHandler.setFormatter
MonteCarlo
self._get_legal_moves
ui_action_and_signals.signal_progressbar_increase.emit
gym_env.rendering.PygletWindow
self.dqn.compile
winner_in_episodes.pd.Series.value_counts
traceback.format_exception
self._get_environment
os.path.isfile
self.community_data.__dict__.values
logging.getLogger.removeFilter
tensorflow.compat.v1.disable_eager_execution
max
self.get_four_of_a_kind
self._end_round
self._create_card_deck
self._end_hand
self.winnerCardTypeList.items
pyglet.graphics.vertex_list.draw
self.config.read
deck.index
self._award_winner
multiprocessing.pool.ThreadPool.map
self._close_round
flatten
get_multiprocessing_config
logging.getLogger.warning
self.preflop_equities.items
Action
hasattr
player.cards.append
os.getenv
self.get_straightflush
eval_best_hand
self.player_cycle.deactivate_player
numpy.squeeze
agents.agent_keras_rl_dqn.Player.initiate_agent
get_config
SelfPlay.dqn_train_keras_rl
numpy.argsort
datetime.date.today
pickle.dumps
self.get_two_short_notation
pool_fn
self.model.add
numpy.diff
numpy.sort
self.viewer.text
self.legal_moves.append
pyglet.text.Label
pyglet.gl.glClear
gym.spaces.Discrete
agents.agent_custom_q1.Player
self._calculate_reward
preflop_state.get_rangecards_from_sheetname
pyglet.graphics.draw.draw
cls.Singleton.super.__call__
os.path.abspath
self._process_decision
self._next_dealer
self.callers.append
datetime.date.today.strftime
self.model.load_weights
os.environ.get
self.viewer.circle
self.get_highcard
hand._.r.r.hand.join.count.r.CARD_RANKS_ORIGINAL.find.items
setuptools.find_packages
self.player_cycle.mark_checker
PlayerShell
Exception
numpy.all
str
self._game_over
copy.copy.append
super
compiled_args.append
numpy.argmax
numpy.random.randint
kwargs.items
self._check_game_over
t.PlayerCardList_and_others.append
self.current_player.agent_obj.action
logging.Formatter
numpy.round
self.table_cards.append
PlayerCycle
logging.handlers.RotatingFileHandler.setLevel
self.deck.append
CustomProcessor
int
tensorflow.keras.models.model_from_json
_calc_score
self.raisers.append
numpy.logical_and
self.player_cycle.mark_out_of_cash_but_contributed
random.choice
agents.agent_keras_rl_dqn.TrumpPolicy
os.path.dirname
Evaluation.run_evaluation
SelfPlay.key_press_agents
StageData
sum
self.calc_score
self.func
numpy.tile
PygletWindow.update
self.card_to_num
numpy.minimum
SelfPlay
self.viewer.reset
json.dump
highCardsVal.sum.sum
self.player_cycle.mark_folder
isinstance
self._agent_is_autoplay
deck.pop
numpy.stack
player_cards_with_table_cards.index
agents.agent_keypress.Player
self.player_cycle.update_alive
tools.helper.init_logger
print
hand.join.count
self.player_cycle.new_round_reset
logging.getLogger.info
self.current_player.actions.append
numpy.delete
get_config.get
self.create_card_deck.index
self.render
pyglet.window.Window
cards_combined_array.append
multiprocessing.pool.ThreadPool.starmap
self.step
multiprocessing.cpu_count
self.display_surface.flip
os.path.realpath
tensorflow.keras.layers.Dense
rl.memory.SequentialMemory
self.create_card_deck
logging.handlers.RotatingFileHandler.setFormatter
open
configparser.ConfigParser
input
multiplier.self.sorted_5flushcards.sum
os.path.join
self.dqn.test
pyglet.text.Label.draw
filename.replace.replace
self.counts.sum
numpy.cos
table_card_list.append
winner_in_episodes.append
copy.copy.pop
agents.agent_keras_rl_dqn.Player
self.env.action_space.sample
math.cos
multiprocessing.pool.ThreadPool
known_player.append
SelfPlay.dqn_play_keras_rl
self.player_cycle.mark_raiser
CARD_RANKS_ORIGINAL.find
math.radians
self.get_opponent_allowed_cards_list
self._start_new_hand
self.deck.pop
tuple
player_cards.append
list
self.env.reset
self.distribute_cards_to_table
PlayerFinalCardsWithTableCards.index
sorted
tensorflow.keras.layers.Dropout
copy.copy
self._next_player
CustomConfigParser
self.get_counts
gym_env.env.Action
self.viewer.rectangle
math.sin
numpy.concatenate
PygletWindow
agents.agent_consider_equity.Player
configparser.ExtendedInterpolation
self._distribute_cards_to_table
set
numpy.logical_or
self.get_three_of_a_kind
logging.getLogger.debug
self.cards.np.arange.sum
numpy.any
self.dqn.fit
round
MonteCarlo.run_montecarlo
docopt.docopt
self._get_winner
distutils.core.setup
suits.count
self.set_args
strided
pyglet.graphics.draw
numpy.logical_not
CardsOnTable.append
self.display_surface.switch_to
self.player_cycle.get_potential_winners
tools.helper.flatten
self.update_alive
PlayerData
self.current_player.temp_stack.append
numpy.insert
numpy.random.choice
numpy.exp
logging.StreamHandler
self.distribute_cards_to_players
sd.__dict__.values
docopt.docopt.upper
SelfPlay.equity_vs_random
command_line_parser
logging.getLogger.addHandler
zip
pandas.DataFrame
random_player.append
PygletWindow.circle
setuptools.setup
CommunityData
self.winner_in_episodes.pd.Series.value_counts
tools.hand_evaluator.eval_best_hand
numpy.zeros
self.new_hand_reset
self.funds_history.reset_index
tensorflow.keras.callbacks.TensorBoard
self.get_kickers
winnerCardTypeList.append
self.funds_history.reset_index.plot
TrumpPolicy
get_dir
t.PlayerCardList.append
min
logging.handlers.RotatingFileHandler
tools.hand_evaluator.get_winner
Cython.Build.cythonize
pandas.concat
self.get_straight
ui_action_and_signals.signal_status.emit
tensorflow.keras.optimizers.Adam
get_config.getboolean
table_cards_numeric.append
flush_hand._.r.r.flush_hand.join.count.r.CARD_RANKS_ORIGINAL.find.items
rl.agents.DQNAgent
self._clean_up_pots
json.load
numpy.append
operator.itemgetter
self.create_card_deck.pop
player_cards_with_table_cards.append
readme.read
numpy.random.random
len
self.players.append
tensorflow.keras.models.Sequential
tools.hand_evaluator.CARD_RANKS_ORIGINAL.find
tableCardList.append
numpy.amax
time.strftime
L.get_collusion_cards
self.deactivate_current
numpy.sin
agents.agent_random.Player
self.load
self.get_pair_score
enumerate
numpy.isin
self.stage_data.sd.sd.__dict__.values.flatten.list.np.array.flatten
MyWinnerMask.Winners.all
self.log.info
self.get_flush
tools.helper.get_config
self.player_cycle.mark_bb
PygletWindow.reset
gym_env.env.PlayerShell
agents.agent_keras_rl_dqn.Player.play
self.player_status.append
self.display_surface.dispatch_events
os.path.relpath
self.env.add_player
self._initiate_round
self.get_fullhouse
PlayerFinalCardsWithTableCards.append
gym.make
SelfPlay.equity_self_improvement
all_players.append
range
self.reset
numpy.arange.self.suits.sum
self._illegal_move
self.model.to_json
self.player_cycle.new_hand_reset
numpy.clip
getattr
pyglet.gl.glColor4f
numpy.arange
get_config.getint
logging.StreamHandler.setLevel
_keys_to_tuple
self.dqn.save_weights
gym.make.seed
self.winner_in_episodes.append
flush_hand.join.count
PygletWindow.text
logging.getLogger
Evaluation
self.viewer.update
self.get_equity
self.get_two_pair_score
q_values.astype.astype
RuntimeError
self._execute_step
gym.make.reset

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