Spaces:
Runtime error
Runtime error
update
Browse files- connectfour/app.py +1 -3
- connectfour/checkpoint/.Rhistory +0 -0
- connectfour/checkpoint/.is_checkpoint +0 -0
- connectfour/checkpoint/.tune_metadata +0 -0
- connectfour/checkpoint/__init__.py +0 -3
- connectfour/training/__init__.py +0 -0
- connectfour/training/__pycache__/__init__.cpython-38.pyc +0 -0
- connectfour/training/__pycache__/callbacks.cpython-38.pyc +0 -0
- connectfour/training/__pycache__/dummy_policies.cpython-38.pyc +0 -0
- connectfour/training/__pycache__/models.cpython-38.pyc +0 -0
- connectfour/training/__pycache__/wrappers.cpython-38.pyc +0 -0
- connectfour/training/callbacks.py +0 -130
- connectfour/training/dummy_policies.py +0 -134
- connectfour/training/models.py +0 -119
- connectfour/training/train.py +0 -220
- connectfour/{training/wrappers.py → wrappers.py} +0 -0
- poetry.lock +237 -558
- pyproject.toml +0 -5
- requirements.txt +14 -12
connectfour/app.py
CHANGED
@@ -6,16 +6,14 @@ from pettingzoo.classic import connect_four_v3
|
|
6 |
from ray.rllib.utils.framework import try_import_torch
|
7 |
from ray.tune import register_env
|
8 |
|
9 |
-
from connectfour.
|
10 |
from models import MODEL_PATH
|
11 |
import onnxruntime as ort
|
12 |
from ray.rllib.algorithms.algorithm import Algorithm
|
13 |
-
from connectfour.checkpoint import CHECKPOINT
|
14 |
|
15 |
torch, nn = try_import_torch()
|
16 |
|
17 |
# poetry export -f requirements.txt --output requirements.txt --without-hashes
|
18 |
-
# tensorboard --logdir ~/ray_results/
|
19 |
# gradio connectfour/app.py
|
20 |
|
21 |
|
|
|
6 |
from ray.rllib.utils.framework import try_import_torch
|
7 |
from ray.tune import register_env
|
8 |
|
9 |
+
from connectfour.wrappers import Connect4Env
|
10 |
from models import MODEL_PATH
|
11 |
import onnxruntime as ort
|
12 |
from ray.rllib.algorithms.algorithm import Algorithm
|
|
|
13 |
|
14 |
torch, nn = try_import_torch()
|
15 |
|
16 |
# poetry export -f requirements.txt --output requirements.txt --without-hashes
|
|
|
17 |
# gradio connectfour/app.py
|
18 |
|
19 |
|
connectfour/checkpoint/.Rhistory
DELETED
File without changes
|
connectfour/checkpoint/.is_checkpoint
DELETED
File without changes
|
connectfour/checkpoint/.tune_metadata
DELETED
Binary file (15.6 kB)
|
|
connectfour/checkpoint/__init__.py
DELETED
@@ -1,3 +0,0 @@
|
|
1 |
-
from pathlib import Path
|
2 |
-
|
3 |
-
CHECKPOINT = Path(__file__).parent.absolute()
|
|
|
|
|
|
|
|
connectfour/training/__init__.py
DELETED
File without changes
|
connectfour/training/__pycache__/__init__.cpython-38.pyc
DELETED
Binary file (182 Bytes)
|
|
connectfour/training/__pycache__/callbacks.cpython-38.pyc
DELETED
Binary file (4.42 kB)
|
|
connectfour/training/__pycache__/dummy_policies.cpython-38.pyc
DELETED
Binary file (5.55 kB)
|
|
connectfour/training/__pycache__/models.cpython-38.pyc
DELETED
Binary file (2.91 kB)
|
|
connectfour/training/__pycache__/wrappers.cpython-38.pyc
DELETED
Binary file (1 kB)
|
|
connectfour/training/callbacks.py
DELETED
@@ -1,130 +0,0 @@
|
|
1 |
-
from collections import deque
|
2 |
-
|
3 |
-
import numpy as np
|
4 |
-
from ray.rllib.algorithms.callbacks import DefaultCallbacks
|
5 |
-
|
6 |
-
from connectfour.training.dummy_policies import (
|
7 |
-
AlwaysSameHeuristic,
|
8 |
-
BeatLastHeuristic,
|
9 |
-
LinearHeuristic,
|
10 |
-
RandomHeuristic,
|
11 |
-
)
|
12 |
-
|
13 |
-
|
14 |
-
def create_self_play_callback(win_rate_thr, opponent_policies, opponent_count=10):
|
15 |
-
class SelfPlayCallback(DefaultCallbacks):
|
16 |
-
win_rate_threshold = win_rate_thr
|
17 |
-
|
18 |
-
def __init__(self):
|
19 |
-
super().__init__()
|
20 |
-
self.current_opponent = 0
|
21 |
-
self.opponent_policies = deque(opponent_policies, maxlen=opponent_count)
|
22 |
-
self.policy_to_remove = None
|
23 |
-
self.frozen_policies = {
|
24 |
-
"always_same": AlwaysSameHeuristic,
|
25 |
-
"linear": LinearHeuristic,
|
26 |
-
"beat_last": BeatLastHeuristic,
|
27 |
-
"random": RandomHeuristic,
|
28 |
-
}
|
29 |
-
|
30 |
-
def on_train_result(self, *, algorithm, result, **kwargs):
|
31 |
-
"""Called at the end of Algorithm.train().
|
32 |
-
|
33 |
-
Args:
|
34 |
-
algorithm: Current Algorithm instance.
|
35 |
-
result: Dict of results returned from Algorithm.train() call.
|
36 |
-
You can mutate this object to add additional metrics.
|
37 |
-
kwargs: Forward compatibility placeholder.
|
38 |
-
"""
|
39 |
-
main_rew = result["hist_stats"].pop("policy_learned_reward")
|
40 |
-
opponent_rew = result["hist_stats"].pop("episode_reward")
|
41 |
-
|
42 |
-
won = 0
|
43 |
-
for r_main, r_opponent in zip(main_rew, opponent_rew):
|
44 |
-
if r_main > r_opponent:
|
45 |
-
won += 1
|
46 |
-
win_rate = won / len(main_rew)
|
47 |
-
|
48 |
-
result["win_rate"] = win_rate
|
49 |
-
print(f"Iter={algorithm.iteration} win-rate={win_rate}")
|
50 |
-
|
51 |
-
if win_rate > self.win_rate_threshold:
|
52 |
-
if len(self.opponent_policies) == self.opponent_policies.maxlen:
|
53 |
-
self.policy_to_remove = self.opponent_policies[0]
|
54 |
-
|
55 |
-
new_pol_id = None
|
56 |
-
while new_pol_id is None:
|
57 |
-
if np.random.choice(range(6)) == 0:
|
58 |
-
new_pol_id = np.random.choice(list(self.frozen_policies.keys()))
|
59 |
-
else:
|
60 |
-
self.current_opponent += 1
|
61 |
-
new_pol_id = f"learned_v{self.current_opponent}"
|
62 |
-
|
63 |
-
if new_pol_id in self.opponent_policies:
|
64 |
-
new_pol_id = None
|
65 |
-
else:
|
66 |
-
self.opponent_policies.append(new_pol_id)
|
67 |
-
|
68 |
-
print("Non trainable policies", list(self.opponent_policies))
|
69 |
-
|
70 |
-
def policy_mapping_fn(agent_id, episode, worker, **kwargs):
|
71 |
-
return (
|
72 |
-
"learned"
|
73 |
-
if episode.episode_id % 2 == int(agent_id[-1:])
|
74 |
-
else np.random.choice(list(self.opponent_policies))
|
75 |
-
)
|
76 |
-
|
77 |
-
print(
|
78 |
-
f"Iter={algorithm.iteration} Adding new opponent to the mix ({new_pol_id}). League size {len(self.opponent_policies) + 1}"
|
79 |
-
)
|
80 |
-
|
81 |
-
if new_pol_id in list(self.frozen_policies.keys()):
|
82 |
-
new_policy = algorithm.add_policy(
|
83 |
-
policy_id=new_pol_id,
|
84 |
-
policy_cls=self.frozen_policies[new_pol_id],
|
85 |
-
policy_mapping_fn=policy_mapping_fn,
|
86 |
-
)
|
87 |
-
else:
|
88 |
-
new_policy = algorithm.add_policy(
|
89 |
-
policy_id=new_pol_id,
|
90 |
-
policy_cls=type(algorithm.get_policy("learned")),
|
91 |
-
policy_mapping_fn=policy_mapping_fn,
|
92 |
-
)
|
93 |
-
learned_state = algorithm.get_policy("learned").get_state()
|
94 |
-
new_policy.set_state(learned_state)
|
95 |
-
algorithm.workers.sync_weights()
|
96 |
-
|
97 |
-
else:
|
98 |
-
print("Not good enough... Keep learning ...")
|
99 |
-
|
100 |
-
result["league_size"] = len(self.opponent_policies) + 1
|
101 |
-
|
102 |
-
def on_evaluate_end(self, *, algorithm, evaluation_metrics, **kwargs):
|
103 |
-
"""Runs when the evaluation is done.
|
104 |
-
|
105 |
-
Runs at the end of Algorithm.evaluate().
|
106 |
-
|
107 |
-
Args:
|
108 |
-
algorithm: Reference to the algorithm instance.
|
109 |
-
evaluation_metrics: Results dict to be returned from algorithm.evaluate().
|
110 |
-
You can mutate this object to add additional metrics.
|
111 |
-
kwargs: Forward compatibility placeholder.
|
112 |
-
"""
|
113 |
-
|
114 |
-
def policy_mapping_fn(agent_id, episode, worker, **kwargs):
|
115 |
-
return (
|
116 |
-
"learned"
|
117 |
-
if episode.episode_id % 2 == int(agent_id[-1:])
|
118 |
-
else np.random.choice(list(self.opponent_policies))
|
119 |
-
)
|
120 |
-
|
121 |
-
if self.policy_to_remove is not None:
|
122 |
-
print("Remove ", self.policy_to_remove, "from opponent policies")
|
123 |
-
algorithm.remove_policy(
|
124 |
-
self.policy_to_remove,
|
125 |
-
policy_mapping_fn=policy_mapping_fn,
|
126 |
-
)
|
127 |
-
self.policy_to_remove = None
|
128 |
-
algorithm.workers.sync_weights()
|
129 |
-
|
130 |
-
return SelfPlayCallback
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
connectfour/training/dummy_policies.py
DELETED
@@ -1,134 +0,0 @@
|
|
1 |
-
import numpy as np
|
2 |
-
import random
|
3 |
-
from ray.rllib.policy.policy import Policy
|
4 |
-
from ray.rllib.utils.annotations import override
|
5 |
-
from ray.rllib.models.modelv2 import restore_original_dimensions
|
6 |
-
|
7 |
-
|
8 |
-
class HeuristicBase(Policy):
|
9 |
-
def __init__(self, *args, **kwargs):
|
10 |
-
super().__init__(*args, **kwargs)
|
11 |
-
self.exploration = self._create_exploration()
|
12 |
-
|
13 |
-
def learn_on_batch(self, samples):
|
14 |
-
pass
|
15 |
-
|
16 |
-
@override(Policy)
|
17 |
-
def get_weights(self):
|
18 |
-
"""No weights to save."""
|
19 |
-
return {}
|
20 |
-
|
21 |
-
@override(Policy)
|
22 |
-
def set_weights(self, weights):
|
23 |
-
"""No weights to set."""
|
24 |
-
pass
|
25 |
-
|
26 |
-
@override(Policy)
|
27 |
-
def export_model(self, export_dir: str, onnx=None) -> None:
|
28 |
-
pass
|
29 |
-
|
30 |
-
@override(Policy)
|
31 |
-
def compute_actions(
|
32 |
-
self,
|
33 |
-
obs_batch,
|
34 |
-
state_batches=None,
|
35 |
-
prev_action_batch=None,
|
36 |
-
prev_reward_batch=None,
|
37 |
-
info_batch=None,
|
38 |
-
episodes=None,
|
39 |
-
**kwargs
|
40 |
-
):
|
41 |
-
obs_batch = restore_original_dimensions(
|
42 |
-
np.array(obs_batch, dtype=np.float32), self.observation_space, tensorlib=np
|
43 |
-
)
|
44 |
-
return self._do_compute_actions(obs_batch)
|
45 |
-
|
46 |
-
def pick_legal_action(self, legal_action):
|
47 |
-
legal_choices = np.arange(len(legal_action))[legal_action == 1]
|
48 |
-
return np.random.choice(legal_choices)
|
49 |
-
|
50 |
-
|
51 |
-
class AlwaysSameHeuristic(HeuristicBase):
|
52 |
-
"""
|
53 |
-
Pick a random move and stick with it for the entire episode.
|
54 |
-
"""
|
55 |
-
|
56 |
-
_rand_choice = random.choice(range(7))
|
57 |
-
|
58 |
-
def _do_compute_actions(self, obs_batch):
|
59 |
-
def select_action(legal_action):
|
60 |
-
legal_choices = np.arange(len(legal_action))[legal_action == 1]
|
61 |
-
|
62 |
-
if self._rand_choice not in legal_choices:
|
63 |
-
self._rand_choice = np.random.choice(legal_choices)
|
64 |
-
|
65 |
-
return self._rand_choice
|
66 |
-
|
67 |
-
return [select_action(x) for x in obs_batch["action_mask"]], [], {}
|
68 |
-
|
69 |
-
|
70 |
-
class LinearHeuristic(HeuristicBase):
|
71 |
-
"""
|
72 |
-
Pick a random move and increment column index
|
73 |
-
"""
|
74 |
-
|
75 |
-
_rand_choice = random.choice(range(7))
|
76 |
-
_rand_sign = np.random.choice([-1, 1])
|
77 |
-
|
78 |
-
def _do_compute_actions(self, obs_batch):
|
79 |
-
def select_action(legal_action):
|
80 |
-
legal_choices = np.arange(len(legal_action))[legal_action == 1]
|
81 |
-
|
82 |
-
self._rand_choice += 1 * self._rand_sign
|
83 |
-
|
84 |
-
if self._rand_choice not in legal_choices:
|
85 |
-
self._rand_choice = np.random.choice(legal_choices)
|
86 |
-
|
87 |
-
return self._rand_choice
|
88 |
-
|
89 |
-
return [select_action(x) for x in obs_batch["action_mask"]], [], {}
|
90 |
-
|
91 |
-
|
92 |
-
class BeatLastHeuristic(HeuristicBase):
|
93 |
-
"""
|
94 |
-
Play the move the last move of the opponent.
|
95 |
-
"""
|
96 |
-
|
97 |
-
def _do_compute_actions(self, obs_batch):
|
98 |
-
def select_action(legal_action, observation):
|
99 |
-
legal_choices = np.arange(len(legal_action))[legal_action == 1]
|
100 |
-
|
101 |
-
obs_sums = np.sum(observation, axis=0)
|
102 |
-
|
103 |
-
desired_actions = np.squeeze(np.argwhere(obs_sums[:, 0] < obs_sums[:, 1]))
|
104 |
-
if desired_actions.size == 0:
|
105 |
-
return np.random.choice(legal_choices)
|
106 |
-
|
107 |
-
if desired_actions.size == 1:
|
108 |
-
desired_action = desired_actions[()]
|
109 |
-
else:
|
110 |
-
desired_action = np.random.choice(desired_actions)
|
111 |
-
if desired_action in legal_choices:
|
112 |
-
return desired_action
|
113 |
-
|
114 |
-
return np.random.choice(legal_choices)
|
115 |
-
|
116 |
-
return (
|
117 |
-
[
|
118 |
-
select_action(x, y)
|
119 |
-
for x, y in zip(obs_batch["action_mask"], obs_batch["observation"])
|
120 |
-
],
|
121 |
-
[],
|
122 |
-
{},
|
123 |
-
)
|
124 |
-
|
125 |
-
|
126 |
-
class RandomHeuristic(HeuristicBase):
|
127 |
-
"""
|
128 |
-
Just pick a random legal action
|
129 |
-
The outputted state of the environment needs to be a dictionary with an
|
130 |
-
'action_mask' key containing the legal actions for the agent.
|
131 |
-
"""
|
132 |
-
|
133 |
-
def _do_compute_actions(self, obs_batch):
|
134 |
-
return [self.pick_legal_action(x) for x in obs_batch["action_mask"]], [], {}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
connectfour/training/models.py
DELETED
@@ -1,119 +0,0 @@
|
|
1 |
-
from ray.rllib.models.torch.fcnet import FullyConnectedNetwork as TorchFC
|
2 |
-
from ray.rllib.models.torch.torch_modelv2 import TorchModelV2
|
3 |
-
from gymnasium.spaces import Dict
|
4 |
-
from ray.rllib.utils.torch_utils import FLOAT_MIN
|
5 |
-
from ray.rllib.utils.framework import try_import_torch
|
6 |
-
from ray.rllib.algorithms.sac.sac_torch_model import SACTorchModel
|
7 |
-
from ray.rllib.utils import override
|
8 |
-
|
9 |
-
torch, nn = try_import_torch()
|
10 |
-
|
11 |
-
|
12 |
-
class Connect4MaskModel(TorchModelV2, nn.Module):
|
13 |
-
"""PyTorch version of above ActionMaskingModel."""
|
14 |
-
|
15 |
-
def __init__(
|
16 |
-
self,
|
17 |
-
obs_space,
|
18 |
-
action_space,
|
19 |
-
num_outputs,
|
20 |
-
model_config,
|
21 |
-
name,
|
22 |
-
**kwargs,
|
23 |
-
):
|
24 |
-
orig_space = getattr(obs_space, "original_space", obs_space)
|
25 |
-
|
26 |
-
assert isinstance(orig_space, Dict)
|
27 |
-
assert "action_mask" in orig_space.spaces
|
28 |
-
assert "observation" in orig_space.spaces
|
29 |
-
|
30 |
-
TorchModelV2.__init__(
|
31 |
-
self, obs_space, action_space, num_outputs, model_config, name, **kwargs
|
32 |
-
)
|
33 |
-
nn.Module.__init__(self)
|
34 |
-
|
35 |
-
self.internal_model = TorchFC(
|
36 |
-
orig_space["observation"],
|
37 |
-
action_space,
|
38 |
-
num_outputs,
|
39 |
-
model_config,
|
40 |
-
name + "_internal",
|
41 |
-
)
|
42 |
-
|
43 |
-
def forward(self, input_dict, state, seq_lens):
|
44 |
-
# Extract the available actions tensor from the observation.
|
45 |
-
action_mask = input_dict["obs"]["action_mask"]
|
46 |
-
|
47 |
-
# Compute the unmasked logits.
|
48 |
-
logits, _ = self.internal_model({"obs": input_dict["obs"]["observation"]})
|
49 |
-
|
50 |
-
# Convert action_mask into a [0.0 || -inf]-type mask.
|
51 |
-
inf_mask = torch.clamp(torch.log(action_mask), min=FLOAT_MIN)
|
52 |
-
masked_logits = logits + inf_mask
|
53 |
-
|
54 |
-
# Return masked logits.
|
55 |
-
return masked_logits, state
|
56 |
-
|
57 |
-
def value_function(self):
|
58 |
-
return self.internal_model.value_function()
|
59 |
-
|
60 |
-
|
61 |
-
class SacConnect4MaskModel(SACTorchModel):
|
62 |
-
def __init__(
|
63 |
-
self,
|
64 |
-
obs_space,
|
65 |
-
action_space,
|
66 |
-
num_outputs,
|
67 |
-
model_config,
|
68 |
-
name: str,
|
69 |
-
policy_model_config=None,
|
70 |
-
q_model_config=None,
|
71 |
-
twin_q=False,
|
72 |
-
initial_alpha=1.0,
|
73 |
-
target_entropy=None,
|
74 |
-
**kwargs,
|
75 |
-
):
|
76 |
-
orig_space = getattr(obs_space, "original_space", obs_space)
|
77 |
-
|
78 |
-
assert isinstance(orig_space, Dict)
|
79 |
-
assert "action_mask" in orig_space.spaces
|
80 |
-
assert "observation" in orig_space.spaces
|
81 |
-
|
82 |
-
super().__init__(
|
83 |
-
obs_space,
|
84 |
-
action_space,
|
85 |
-
num_outputs,
|
86 |
-
model_config,
|
87 |
-
policy_model_config,
|
88 |
-
q_model_config,
|
89 |
-
twin_q,
|
90 |
-
initial_alpha,
|
91 |
-
target_entropy,
|
92 |
-
**kwargs,
|
93 |
-
)
|
94 |
-
|
95 |
-
self.internal_model = TorchFC(
|
96 |
-
orig_space["observation"],
|
97 |
-
action_space,
|
98 |
-
num_outputs,
|
99 |
-
model_config,
|
100 |
-
name + "_internal",
|
101 |
-
)
|
102 |
-
|
103 |
-
@override(SACTorchModel)
|
104 |
-
def forward(self, input_dict, state, seq_lens):
|
105 |
-
# Extract the available actions tensor from the observation.
|
106 |
-
action_mask = input_dict["obs"]["action_mask"]
|
107 |
-
|
108 |
-
# Compute the unmasked logits.
|
109 |
-
logits, _ = self.internal_model({"obs": input_dict["obs"]["observation"]})
|
110 |
-
|
111 |
-
# Convert action_mask into a [0.0 || -inf]-type mask.
|
112 |
-
inf_mask = torch.clamp(torch.log(action_mask), min=FLOAT_MIN)
|
113 |
-
masked_logits = logits + inf_mask
|
114 |
-
|
115 |
-
# Return masked logits.
|
116 |
-
return masked_logits, state
|
117 |
-
|
118 |
-
def value_function(self):
|
119 |
-
return self.internal_model.value_function()
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
connectfour/training/train.py
DELETED
@@ -1,220 +0,0 @@
|
|
1 |
-
import argparse
|
2 |
-
import random
|
3 |
-
|
4 |
-
import ray
|
5 |
-
import ray.rllib.algorithms.ppo as ppo
|
6 |
-
from pettingzoo.classic import connect_four_v3
|
7 |
-
from ray import air, tune
|
8 |
-
from ray.rllib.policy.policy import PolicySpec
|
9 |
-
from ray.rllib.utils.framework import try_import_torch
|
10 |
-
from ray.tune import CLIReporter, register_env
|
11 |
-
from ray.rllib.algorithms.algorithm import Algorithm
|
12 |
-
|
13 |
-
from connectfour.training.callbacks import create_self_play_callback
|
14 |
-
from connectfour.training.dummy_policies import (
|
15 |
-
AlwaysSameHeuristic,
|
16 |
-
BeatLastHeuristic,
|
17 |
-
LinearHeuristic,
|
18 |
-
RandomHeuristic,
|
19 |
-
)
|
20 |
-
from connectfour.training.models import Connect4MaskModel
|
21 |
-
from connectfour.training.wrappers import Connect4Env
|
22 |
-
|
23 |
-
torch, nn = try_import_torch()
|
24 |
-
|
25 |
-
|
26 |
-
def get_cli_args():
|
27 |
-
"""
|
28 |
-
Create CLI parser and return parsed arguments
|
29 |
-
|
30 |
-
python connectfour/training/train.py --num-cpus 4 --num-gpus 1 --stop-iters 10 --win-rate-threshold 0.50
|
31 |
-
python connectfour/training/train.py --num-gpus 1 --stop-iters 1 --win-rate-threshold 0.50
|
32 |
-
python connectfour/training/train.py --num-cpus 5 --num-gpus 1 --stop-iters 200
|
33 |
-
python connectfour/training/train.py --num-cpus 5 --num-gpus 1 --win-rate-threshold 0.95 --stop-iters 2000 > training.log 2>&1
|
34 |
-
python connectfour/training/train.py --num-cpus 5 --num-gpus 1 --win-rate-threshold 0.96 --stop-iters 10000 > training.log 2>&1
|
35 |
-
python connectfour/training/train.py --num-cpus 5 --num-gpus 1 --win-rate-threshold 0.99 --stop-iters 5000 --from-checkpoint ~/ray_results/PPO/PPO_connect4_8414a_00000_0_2023-04-03_12-44-31/checkpoint_004000 > training.log 2>&1
|
36 |
-
"""
|
37 |
-
parser = argparse.ArgumentParser()
|
38 |
-
parser.add_argument("--num-cpus", type=int, default=0)
|
39 |
-
parser.add_argument("--num-gpus", type=int, default=0)
|
40 |
-
parser.add_argument("--num-workers", type=int, default=2)
|
41 |
-
parser.add_argument(
|
42 |
-
"--from-checkpoint",
|
43 |
-
type=str,
|
44 |
-
default=None,
|
45 |
-
help="Full path to a experiment directory to resume tuning from "
|
46 |
-
"a previously saved Algorithm state.",
|
47 |
-
)
|
48 |
-
parser.add_argument(
|
49 |
-
"--stop-iters", type=int, default=200, help="Number of iterations to train."
|
50 |
-
)
|
51 |
-
parser.add_argument(
|
52 |
-
"--stop-timesteps",
|
53 |
-
type=int,
|
54 |
-
default=10000000,
|
55 |
-
help="Number of timesteps to train.",
|
56 |
-
)
|
57 |
-
parser.add_argument(
|
58 |
-
"--win-rate-threshold",
|
59 |
-
type=float,
|
60 |
-
default=0.95,
|
61 |
-
help="Win-rate at which we setup another opponent by freezing the "
|
62 |
-
"current main policy and playing against a uniform distribution "
|
63 |
-
"of previously frozen 'main's from here on.",
|
64 |
-
)
|
65 |
-
args = parser.parse_args()
|
66 |
-
print(f"Running with following CLI args: {args}")
|
67 |
-
return args
|
68 |
-
|
69 |
-
|
70 |
-
if __name__ == "__main__":
|
71 |
-
args = get_cli_args()
|
72 |
-
|
73 |
-
ray.init(
|
74 |
-
num_cpus=args.num_cpus or None,
|
75 |
-
num_gpus=args.num_gpus,
|
76 |
-
include_dashboard=False,
|
77 |
-
resources={"accelerator_type:RTX": 1},
|
78 |
-
)
|
79 |
-
|
80 |
-
# define how to make the environment
|
81 |
-
env_creator = lambda config: connect_four_v3.env(render_mode="rgb_array")
|
82 |
-
|
83 |
-
# register that way to make the environment under an rllib name
|
84 |
-
register_env("connect4", lambda config: Connect4Env(env_creator(config)))
|
85 |
-
|
86 |
-
def select_policy(agent_id, episode, **kwargs):
|
87 |
-
if episode.episode_id % 2 == int(agent_id[-1:]):
|
88 |
-
return "learned"
|
89 |
-
else:
|
90 |
-
return random.choice(["always_same", "beat_last", "random", "linear"])
|
91 |
-
|
92 |
-
config = (
|
93 |
-
(
|
94 |
-
ppo.PPOConfig()
|
95 |
-
.environment("connect4")
|
96 |
-
.framework("torch")
|
97 |
-
.training(model={"custom_model": Connect4MaskModel})
|
98 |
-
.rollouts(
|
99 |
-
num_rollout_workers=args.num_workers,
|
100 |
-
num_envs_per_worker=5,
|
101 |
-
)
|
102 |
-
# .checkpointing(checkpoint_trainable_policies_only=True)
|
103 |
-
)
|
104 |
-
.multi_agent(
|
105 |
-
policies={
|
106 |
-
"learned": PolicySpec(),
|
107 |
-
"always_same": PolicySpec(policy_class=AlwaysSameHeuristic),
|
108 |
-
"linear": PolicySpec(policy_class=LinearHeuristic),
|
109 |
-
"beat_last": PolicySpec(policy_class=BeatLastHeuristic),
|
110 |
-
"random": PolicySpec(policy_class=RandomHeuristic),
|
111 |
-
},
|
112 |
-
policy_mapping_fn=select_policy,
|
113 |
-
policies_to_train=["learned"],
|
114 |
-
)
|
115 |
-
.callbacks(
|
116 |
-
create_self_play_callback(
|
117 |
-
win_rate_thr=args.win_rate_threshold,
|
118 |
-
opponent_policies=["always_same", "beat_last", "random", "linear"],
|
119 |
-
opponent_count=15,
|
120 |
-
)
|
121 |
-
)
|
122 |
-
.evaluation(evaluation_interval=1)
|
123 |
-
)
|
124 |
-
|
125 |
-
if args.from_checkpoint is None:
|
126 |
-
stop = {
|
127 |
-
"timesteps_total": args.stop_timesteps,
|
128 |
-
"training_iteration": args.stop_iters,
|
129 |
-
}
|
130 |
-
|
131 |
-
results = tune.Tuner(
|
132 |
-
"PPO",
|
133 |
-
param_space=config.to_dict(),
|
134 |
-
run_config=air.RunConfig(
|
135 |
-
stop=stop,
|
136 |
-
verbose=2,
|
137 |
-
progress_reporter=CLIReporter(
|
138 |
-
metric_columns={
|
139 |
-
"training_iteration": "iter",
|
140 |
-
"time_total_s": "time_total_s",
|
141 |
-
"timesteps_total": "ts",
|
142 |
-
"episodes_this_iter": "train_episodes",
|
143 |
-
"policy_reward_mean/learned": "reward",
|
144 |
-
"win_rate": "win_rate",
|
145 |
-
"league_size": "league_size",
|
146 |
-
},
|
147 |
-
mode="max",
|
148 |
-
metric="win_rate",
|
149 |
-
sort_by_metric=True,
|
150 |
-
),
|
151 |
-
checkpoint_config=air.CheckpointConfig(
|
152 |
-
num_to_keep=10,
|
153 |
-
checkpoint_at_end=True,
|
154 |
-
checkpoint_frequency=10,
|
155 |
-
checkpoint_score_order="max",
|
156 |
-
),
|
157 |
-
),
|
158 |
-
).fit()
|
159 |
-
|
160 |
-
best_checkpoint = results.get_best_result(
|
161 |
-
metric="win_rate", mode="max"
|
162 |
-
).checkpoint
|
163 |
-
print("Best checkpoint", best_checkpoint)
|
164 |
-
|
165 |
-
else:
|
166 |
-
algo = Algorithm.from_checkpoint(checkpoint=args.from_checkpoint)
|
167 |
-
|
168 |
-
config = algo.config.copy(False)
|
169 |
-
config.checkpointing(export_native_model_files=True)
|
170 |
-
|
171 |
-
opponent_policies = list(algo.workers.local_worker().policy_map.keys())
|
172 |
-
opponent_policies.remove("learned")
|
173 |
-
opponent_policies.sort()
|
174 |
-
|
175 |
-
config.callbacks(
|
176 |
-
create_self_play_callback(
|
177 |
-
win_rate_thr=args.win_rate_threshold,
|
178 |
-
opponent_policies=opponent_policies,
|
179 |
-
opponent_count=len(opponent_policies),
|
180 |
-
)
|
181 |
-
)
|
182 |
-
config.evaluation(evaluation_interval=None)
|
183 |
-
|
184 |
-
analysis = tune.run(
|
185 |
-
"PPO",
|
186 |
-
config=config.to_dict(),
|
187 |
-
restore=args.from_checkpoint,
|
188 |
-
checkpoint_freq=10,
|
189 |
-
checkpoint_at_end=True,
|
190 |
-
keep_checkpoints_num=10,
|
191 |
-
mode="max",
|
192 |
-
metric="win_rate",
|
193 |
-
stop={
|
194 |
-
"win_rate": args.win_rate_threshold,
|
195 |
-
"training_iteration": args.stop_iters,
|
196 |
-
},
|
197 |
-
progress_reporter=CLIReporter(
|
198 |
-
metric_columns={
|
199 |
-
"training_iteration": "iter",
|
200 |
-
"time_total_s": "time_total_s",
|
201 |
-
"timesteps_total": "ts",
|
202 |
-
"episodes_this_iter": "train_episodes",
|
203 |
-
"policy_reward_mean/learned": "reward",
|
204 |
-
"win_rate": "win_rate",
|
205 |
-
"league_size": "league_size",
|
206 |
-
}
|
207 |
-
),
|
208 |
-
)
|
209 |
-
|
210 |
-
algo = Algorithm.from_checkpoint(analysis.best_checkpoint)
|
211 |
-
ppo_policy = algo.get_policy("learned")
|
212 |
-
|
213 |
-
# Save as torch model
|
214 |
-
ppo_policy.export_model("models")
|
215 |
-
# Save as ONNX model
|
216 |
-
ppo_policy.export_model("models", onnx=11)
|
217 |
-
|
218 |
-
print("Best checkpoint", analysis.best_checkpoint)
|
219 |
-
|
220 |
-
ray.shutdown()
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
connectfour/{training/wrappers.py → wrappers.py}
RENAMED
File without changes
|
poetry.lock
CHANGED
@@ -1,17 +1,5 @@
|
|
1 |
# This file is automatically @generated by Poetry and should not be changed by hand.
|
2 |
|
3 |
-
[[package]]
|
4 |
-
name = "absl-py"
|
5 |
-
version = "1.4.0"
|
6 |
-
description = "Abseil Python Common Libraries, see https://github.com/abseil/abseil-py."
|
7 |
-
category = "main"
|
8 |
-
optional = false
|
9 |
-
python-versions = ">=3.6"
|
10 |
-
files = [
|
11 |
-
{file = "absl-py-1.4.0.tar.gz", hash = "sha256:d2c244d01048ba476e7c080bd2c6df5e141d211de80223460d5b3b8a2a58433d"},
|
12 |
-
{file = "absl_py-1.4.0-py3-none-any.whl", hash = "sha256:0d3fe606adfa4f7db64792dd4c7aee4ee0c38ab75dfd353b7a83ed3e957fcb47"},
|
13 |
-
]
|
14 |
-
|
15 |
[[package]]
|
16 |
name = "aiofiles"
|
17 |
version = "23.1.0"
|
@@ -194,14 +182,14 @@ trio = ["trio (>=0.16,<0.22)"]
|
|
194 |
|
195 |
[[package]]
|
196 |
name = "astroid"
|
197 |
-
version = "2.15.
|
198 |
description = "An abstract syntax tree for Python with inference support."
|
199 |
category = "dev"
|
200 |
optional = false
|
201 |
python-versions = ">=3.7.2"
|
202 |
files = [
|
203 |
-
{file = "astroid-2.15.
|
204 |
-
{file = "astroid-2.15.
|
205 |
]
|
206 |
|
207 |
[package.dependencies]
|
@@ -290,18 +278,6 @@ d = ["aiohttp (>=3.7.4)"]
|
|
290 |
jupyter = ["ipython (>=7.8.0)", "tokenize-rt (>=3.2.0)"]
|
291 |
uvloop = ["uvloop (>=0.15.2)"]
|
292 |
|
293 |
-
[[package]]
|
294 |
-
name = "cachetools"
|
295 |
-
version = "5.3.0"
|
296 |
-
description = "Extensible memoizing collections and decorators"
|
297 |
-
category = "main"
|
298 |
-
optional = false
|
299 |
-
python-versions = "~=3.7"
|
300 |
-
files = [
|
301 |
-
{file = "cachetools-5.3.0-py3-none-any.whl", hash = "sha256:429e1a1e845c008ea6c85aa35d4b98b65d6a9763eeef3e37e92728a12d1de9d4"},
|
302 |
-
{file = "cachetools-5.3.0.tar.gz", hash = "sha256:13dfddc7b8df938c21a940dfa6557ce6e94a2f1cdfa58eb90c805721d58f2c14"},
|
303 |
-
]
|
304 |
-
|
305 |
[[package]]
|
306 |
name = "certifi"
|
307 |
version = "2022.12.7"
|
@@ -573,18 +549,6 @@ files = [
|
|
573 |
{file = "cycler-0.11.0.tar.gz", hash = "sha256:9c87405839a19696e837b3b818fed3f5f69f16f1eec1a1ad77e043dcea9c772f"},
|
574 |
]
|
575 |
|
576 |
-
[[package]]
|
577 |
-
name = "decorator"
|
578 |
-
version = "5.1.1"
|
579 |
-
description = "Decorators for Humans"
|
580 |
-
category = "main"
|
581 |
-
optional = false
|
582 |
-
python-versions = ">=3.5"
|
583 |
-
files = [
|
584 |
-
{file = "decorator-5.1.1-py3-none-any.whl", hash = "sha256:b8c3f85900b9dc423225913c5aace94729fe1fa9763b38939a95226f02d37186"},
|
585 |
-
{file = "decorator-5.1.1.tar.gz", hash = "sha256:637996211036b6385ef91435e4fae22989472f9d571faba8927ba8253acbc330"},
|
586 |
-
]
|
587 |
-
|
588 |
[[package]]
|
589 |
name = "dill"
|
590 |
version = "0.3.6"
|
@@ -878,72 +842,16 @@ smb = ["smbprotocol"]
|
|
878 |
ssh = ["paramiko"]
|
879 |
tqdm = ["tqdm"]
|
880 |
|
881 |
-
[[package]]
|
882 |
-
name = "gast"
|
883 |
-
version = "0.5.3"
|
884 |
-
description = "Python AST that abstracts the underlying Python version"
|
885 |
-
category = "main"
|
886 |
-
optional = false
|
887 |
-
python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*"
|
888 |
-
files = [
|
889 |
-
{file = "gast-0.5.3-py3-none-any.whl", hash = "sha256:211aac1e58c167b25d3504998f2db694454a24bb1fb1225bce99420166f21d6a"},
|
890 |
-
{file = "gast-0.5.3.tar.gz", hash = "sha256:cfbea25820e653af9c7d1807f659ce0a0a9c64f2439421a7bba4f0983f532dea"},
|
891 |
-
]
|
892 |
-
|
893 |
-
[[package]]
|
894 |
-
name = "google-auth"
|
895 |
-
version = "2.17.1"
|
896 |
-
description = "Google Authentication Library"
|
897 |
-
category = "main"
|
898 |
-
optional = false
|
899 |
-
python-versions = ">=2.7,!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*,!=3.4.*,!=3.5.*"
|
900 |
-
files = [
|
901 |
-
{file = "google-auth-2.17.1.tar.gz", hash = "sha256:8f379b46bad381ad2a0b989dfb0c13ad28d3c2a79f27348213f8946a1d15d55a"},
|
902 |
-
{file = "google_auth-2.17.1-py2.py3-none-any.whl", hash = "sha256:357ff22a75b4c0f6093470f21816a825d2adee398177569824e37b6c10069e19"},
|
903 |
-
]
|
904 |
-
|
905 |
-
[package.dependencies]
|
906 |
-
cachetools = ">=2.0.0,<6.0"
|
907 |
-
pyasn1-modules = ">=0.2.1"
|
908 |
-
rsa = {version = ">=3.1.4,<5", markers = "python_version >= \"3.6\""}
|
909 |
-
six = ">=1.9.0"
|
910 |
-
|
911 |
-
[package.extras]
|
912 |
-
aiohttp = ["aiohttp (>=3.6.2,<4.0.0dev)", "requests (>=2.20.0,<3.0.0dev)"]
|
913 |
-
enterprise-cert = ["cryptography (==36.0.2)", "pyopenssl (==22.0.0)"]
|
914 |
-
pyopenssl = ["cryptography (>=38.0.3)", "pyopenssl (>=20.0.0)"]
|
915 |
-
reauth = ["pyu2f (>=0.1.5)"]
|
916 |
-
requests = ["requests (>=2.20.0,<3.0.0dev)"]
|
917 |
-
|
918 |
-
[[package]]
|
919 |
-
name = "google-auth-oauthlib"
|
920 |
-
version = "0.4.6"
|
921 |
-
description = "Google Authentication Library"
|
922 |
-
category = "main"
|
923 |
-
optional = false
|
924 |
-
python-versions = ">=3.6"
|
925 |
-
files = [
|
926 |
-
{file = "google-auth-oauthlib-0.4.6.tar.gz", hash = "sha256:a90a072f6993f2c327067bf65270046384cda5a8ecb20b94ea9a687f1f233a7a"},
|
927 |
-
{file = "google_auth_oauthlib-0.4.6-py2.py3-none-any.whl", hash = "sha256:3f2a6e802eebbb6fb736a370fbf3b055edcb6b52878bf2f26330b5e041316c73"},
|
928 |
-
]
|
929 |
-
|
930 |
-
[package.dependencies]
|
931 |
-
google-auth = ">=1.0.0"
|
932 |
-
requests-oauthlib = ">=0.7.0"
|
933 |
-
|
934 |
-
[package.extras]
|
935 |
-
tool = ["click (>=6.0.0)"]
|
936 |
-
|
937 |
[[package]]
|
938 |
name = "gradio"
|
939 |
-
version = "3.24.
|
940 |
description = "Python library for easily interacting with trained machine learning models"
|
941 |
category = "main"
|
942 |
optional = false
|
943 |
python-versions = ">=3.7"
|
944 |
files = [
|
945 |
-
{file = "gradio-3.24.
|
946 |
-
{file = "gradio-3.24.
|
947 |
]
|
948 |
|
949 |
[package.dependencies]
|
@@ -1551,24 +1459,6 @@ files = [
|
|
1551 |
{file = "lazy_object_proxy-1.9.0-cp39-cp39-win_amd64.whl", hash = "sha256:db1c1722726f47e10e0b5fdbf15ac3b8adb58c091d12b3ab713965795036985f"},
|
1552 |
]
|
1553 |
|
1554 |
-
[[package]]
|
1555 |
-
name = "libclang"
|
1556 |
-
version = "15.0.6.1"
|
1557 |
-
description = "Clang Python Bindings, mirrored from the official LLVM repo: https://github.com/llvm/llvm-project/tree/main/clang/bindings/python, to make the installation process easier."
|
1558 |
-
category = "main"
|
1559 |
-
optional = false
|
1560 |
-
python-versions = "*"
|
1561 |
-
files = [
|
1562 |
-
{file = "libclang-15.0.6.1-py2.py3-none-macosx_10_9_x86_64.whl", hash = "sha256:8621795e07b87e17fc7aac9f071bc7fe6b52ed6110c0a96a9975d8113c8c2527"},
|
1563 |
-
{file = "libclang-15.0.6.1-py2.py3-none-manylinux2010_x86_64.whl", hash = "sha256:69b01a23ab543908a661532595daa23cf88bd96d80e41f58ba0eaa6a378fe0d8"},
|
1564 |
-
{file = "libclang-15.0.6.1-py2.py3-none-manylinux2014_aarch64.whl", hash = "sha256:4a5188184b937132c198ee9de9a8a2316d5fdd1a825398d5ad1a8f5e06f9b40e"},
|
1565 |
-
{file = "libclang-15.0.6.1-py2.py3-none-manylinux2014_armv7l.whl", hash = "sha256:f7ffa02ac5e586cfffde039dcccc439d88d0feac7d77bf9426d9ba7543d16545"},
|
1566 |
-
{file = "libclang-15.0.6.1-py2.py3-none-musllinux_1_2_x86_64.whl", hash = "sha256:aaebb6aa1db73bac3a0ac41e57ef78743079eb68728adbf7e80ee917ae171529"},
|
1567 |
-
{file = "libclang-15.0.6.1-py2.py3-none-win_amd64.whl", hash = "sha256:85afb47630d2070e74b886040ceea1846097ca53cc88d0f1d7751d0f49220028"},
|
1568 |
-
{file = "libclang-15.0.6.1-py2.py3-none-win_arm64.whl", hash = "sha256:687d8549c110c700fece58dd87727421d0710fdd111aa7eecb01faf8e3f50d4e"},
|
1569 |
-
{file = "libclang-15.0.6.1.tar.gz", hash = "sha256:a1a8fe038af2962c787c5bac81bfa4b82bb8e279e61e70cc934c10f6e20c73ec"},
|
1570 |
-
]
|
1571 |
-
|
1572 |
[[package]]
|
1573 |
name = "linkify-it-py"
|
1574 |
version = "2.0.0"
|
@@ -1651,24 +1541,6 @@ docs = ["sphinx (>=1.6.0)", "sphinx-bootstrap-theme"]
|
|
1651 |
flake8 = ["flake8"]
|
1652 |
tests = ["psutil", "pytest (!=3.3.0)", "pytest-cov"]
|
1653 |
|
1654 |
-
[[package]]
|
1655 |
-
name = "markdown"
|
1656 |
-
version = "3.4.3"
|
1657 |
-
description = "Python implementation of John Gruber's Markdown."
|
1658 |
-
category = "main"
|
1659 |
-
optional = false
|
1660 |
-
python-versions = ">=3.7"
|
1661 |
-
files = [
|
1662 |
-
{file = "Markdown-3.4.3-py3-none-any.whl", hash = "sha256:065fd4df22da73a625f14890dd77eb8040edcbd68794bcd35943be14490608b2"},
|
1663 |
-
{file = "Markdown-3.4.3.tar.gz", hash = "sha256:8bf101198e004dc93e84a12a7395e31aac6a9c9942848ae1d99b9d72cf9b3520"},
|
1664 |
-
]
|
1665 |
-
|
1666 |
-
[package.dependencies]
|
1667 |
-
importlib-metadata = {version = ">=4.4", markers = "python_version < \"3.10\""}
|
1668 |
-
|
1669 |
-
[package.extras]
|
1670 |
-
testing = ["coverage", "pyyaml"]
|
1671 |
-
|
1672 |
[[package]]
|
1673 |
name = "markdown-it-py"
|
1674 |
version = "2.2.0"
|
@@ -2322,62 +2194,6 @@ files = [
|
|
2322 |
setuptools = "*"
|
2323 |
wheel = "*"
|
2324 |
|
2325 |
-
[[package]]
|
2326 |
-
name = "oauthlib"
|
2327 |
-
version = "3.2.2"
|
2328 |
-
description = "A generic, spec-compliant, thorough implementation of the OAuth request-signing logic"
|
2329 |
-
category = "main"
|
2330 |
-
optional = false
|
2331 |
-
python-versions = ">=3.6"
|
2332 |
-
files = [
|
2333 |
-
{file = "oauthlib-3.2.2-py3-none-any.whl", hash = "sha256:8139f29aac13e25d502680e9e19963e83f16838d48a0d71c287fe40e7067fbca"},
|
2334 |
-
{file = "oauthlib-3.2.2.tar.gz", hash = "sha256:9859c40929662bec5d64f34d01c99e093149682a3f38915dc0655d5a633dd918"},
|
2335 |
-
]
|
2336 |
-
|
2337 |
-
[package.extras]
|
2338 |
-
rsa = ["cryptography (>=3.0.0)"]
|
2339 |
-
signals = ["blinker (>=1.4.0)"]
|
2340 |
-
signedtoken = ["cryptography (>=3.0.0)", "pyjwt (>=2.0.0,<3)"]
|
2341 |
-
|
2342 |
-
[[package]]
|
2343 |
-
name = "onnx"
|
2344 |
-
version = "1.12.0"
|
2345 |
-
description = "Open Neural Network Exchange"
|
2346 |
-
category = "main"
|
2347 |
-
optional = false
|
2348 |
-
python-versions = "*"
|
2349 |
-
files = [
|
2350 |
-
{file = "onnx-1.12.0-cp310-cp310-macosx_10_12_x86_64.whl", hash = "sha256:bdbd2578424c70836f4d0f9dda16c21868ddb07cc8192f9e8a176908b43d694b"},
|
2351 |
-
{file = "onnx-1.12.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:213e73610173f6b2e99f99a4b0636f80b379c417312079d603806e48ada4ca8b"},
|
2352 |
-
{file = "onnx-1.12.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:9fd2f4e23078df197bb76a59b9cd8f5a43a6ad2edc035edb3ecfb9042093e05a"},
|
2353 |
-
{file = "onnx-1.12.0-cp310-cp310-win32.whl", hash = "sha256:23781594bb8b7ee985de1005b3c601648d5b0568a81e01365c48f91d1f5648e4"},
|
2354 |
-
{file = "onnx-1.12.0-cp310-cp310-win_amd64.whl", hash = "sha256:81a3555fd67be2518bf86096299b48fb9154652596219890abfe90bd43a9ec13"},
|
2355 |
-
{file = "onnx-1.12.0-cp37-cp37m-macosx_10_12_x86_64.whl", hash = "sha256:5578b93dc6c918cec4dee7fb7d9dd3b09d338301ee64ca8b4f28bc217ed42dca"},
|
2356 |
-
{file = "onnx-1.12.0-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:c11162ffc487167da140f1112f49c4f82d815824f06e58bc3095407699f05863"},
|
2357 |
-
{file = "onnx-1.12.0-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:341c7016e23273e9ffa9b6e301eee95b8c37d0f04df7cedbdb169d2c39524c96"},
|
2358 |
-
{file = "onnx-1.12.0-cp37-cp37m-win32.whl", hash = "sha256:3c6e6bcffc3f5c1e148df3837dc667fa4c51999788c1b76b0b8fbba607e02da8"},
|
2359 |
-
{file = "onnx-1.12.0-cp37-cp37m-win_amd64.whl", hash = "sha256:8a7aa61aea339bd28f310f4af4f52ce6c4b876386228760b16308efd58f95059"},
|
2360 |
-
{file = "onnx-1.12.0-cp38-cp38-macosx_10_12_x86_64.whl", hash = "sha256:56ceb7e094c43882b723cfaa107d85ad673cfdf91faeb28d7dcadacca4f43a07"},
|
2361 |
-
{file = "onnx-1.12.0-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:b3629e8258db15d4e2c9b7f1be91a3186719dd94661c218c6f5fde3cc7de3d4d"},
|
2362 |
-
{file = "onnx-1.12.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:2d9a7db54e75529160337232282a4816cc50667dc7dc34be178fd6f6b79d4705"},
|
2363 |
-
{file = "onnx-1.12.0-cp38-cp38-win32.whl", hash = "sha256:fea5156a03398fe0e23248042d8651c1eaac5f6637d4dd683b4c1f1320b9f7b4"},
|
2364 |
-
{file = "onnx-1.12.0-cp38-cp38-win_amd64.whl", hash = "sha256:f66d2996e65f490a57b3ae952e4e9189b53cc9fe3f75e601d50d4db2dc1b1cd9"},
|
2365 |
-
{file = "onnx-1.12.0-cp39-cp39-macosx_10_12_x86_64.whl", hash = "sha256:c39a7a0352c856f1df30dccf527eb6cb4909052e5eaf6fa2772a637324c526aa"},
|
2366 |
-
{file = "onnx-1.12.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:fab13feb4d94342aae6d357d480f2e47d41b9f4e584367542b21ca6defda9e0a"},
|
2367 |
-
{file = "onnx-1.12.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:c7a9b3ea02c30efc1d2662337e280266aca491a8e86be0d8a657f874b7cccd1e"},
|
2368 |
-
{file = "onnx-1.12.0-cp39-cp39-win32.whl", hash = "sha256:f8800f28c746ab06e51ef8449fd1215621f4ddba91be3ffc264658937d38a2af"},
|
2369 |
-
{file = "onnx-1.12.0-cp39-cp39-win_amd64.whl", hash = "sha256:af90427ca04c6b7b8107c2021e1273227a3ef1a7a01f3073039cae7855a59833"},
|
2370 |
-
{file = "onnx-1.12.0.tar.gz", hash = "sha256:13b3e77d27523b9dbf4f30dfc9c959455859d5e34e921c44f712d69b8369eff9"},
|
2371 |
-
]
|
2372 |
-
|
2373 |
-
[package.dependencies]
|
2374 |
-
numpy = ">=1.16.6"
|
2375 |
-
protobuf = ">=3.12.2,<=3.20.1"
|
2376 |
-
typing-extensions = ">=3.6.2.1"
|
2377 |
-
|
2378 |
-
[package.extras]
|
2379 |
-
lint = ["clang-format (==13.0.0)", "flake8", "mypy (==0.782)", "types-protobuf (==3.18.4)"]
|
2380 |
-
|
2381 |
[[package]]
|
2382 |
name = "onnxruntime"
|
2383 |
version = "1.14.1"
|
@@ -2500,39 +2316,37 @@ files = [
|
|
2500 |
|
2501 |
[[package]]
|
2502 |
name = "pandas"
|
2503 |
-
version = "
|
2504 |
description = "Powerful data structures for data analysis, time series, and statistics"
|
2505 |
category = "main"
|
2506 |
optional = false
|
2507 |
python-versions = ">=3.8"
|
2508 |
files = [
|
2509 |
-
{file = "pandas-
|
2510 |
-
{file = "pandas-
|
2511 |
-
{file = "pandas-
|
2512 |
-
{file = "pandas-
|
2513 |
-
{file = "pandas-
|
2514 |
-
{file = "pandas-
|
2515 |
-
{file = "pandas-
|
2516 |
-
{file = "pandas-
|
2517 |
-
{file = "pandas-
|
2518 |
-
{file = "pandas-
|
2519 |
-
{file = "pandas-
|
2520 |
-
{file = "pandas-
|
2521 |
-
{file = "pandas-
|
2522 |
-
{file = "pandas-
|
2523 |
-
{file = "pandas-
|
2524 |
-
{file = "pandas-
|
2525 |
-
{file = "pandas-
|
2526 |
-
{file = "pandas-
|
2527 |
-
{file = "pandas-
|
2528 |
-
{file = "pandas-
|
2529 |
-
{file = "pandas-
|
2530 |
-
{file = "pandas-
|
2531 |
-
{file = "pandas-
|
2532 |
-
{file = "pandas-
|
2533 |
-
{file = "pandas-
|
2534 |
-
{file = "pandas-1.5.3-cp39-cp39-win_amd64.whl", hash = "sha256:dfd681c5dc216037e0b0a2c821f5ed99ba9f03ebcf119c7dac0e9a7b960b9ec9"},
|
2535 |
-
{file = "pandas-1.5.3.tar.gz", hash = "sha256:74a3fd7e5a7ec052f183273dc7b0acd3a863edf7520f5d3a1765c04ffdb3b0b1"},
|
2536 |
]
|
2537 |
|
2538 |
[package.dependencies]
|
@@ -2540,11 +2354,32 @@ numpy = [
|
|
2540 |
{version = ">=1.20.3", markers = "python_version < \"3.10\""},
|
2541 |
{version = ">=1.21.0", markers = "python_version >= \"3.10\""},
|
2542 |
]
|
2543 |
-
python-dateutil = ">=2.8.
|
2544 |
pytz = ">=2020.1"
|
2545 |
-
|
2546 |
-
|
2547 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2548 |
|
2549 |
[[package]]
|
2550 |
name = "pathspec"
|
@@ -2586,86 +2421,82 @@ testing = ["AutoROM", "pre-commit", "pynput", "pytest", "pytest-cov"]
|
|
2586 |
|
2587 |
[[package]]
|
2588 |
name = "pillow"
|
2589 |
-
version = "9.
|
2590 |
description = "Python Imaging Library (Fork)"
|
2591 |
category = "main"
|
2592 |
optional = false
|
2593 |
python-versions = ">=3.7"
|
2594 |
files = [
|
2595 |
-
{file = "Pillow-9.
|
2596 |
-
{file = "Pillow-9.
|
2597 |
-
{file = "Pillow-9.
|
2598 |
-
{file = "Pillow-9.
|
2599 |
-
{file = "Pillow-9.
|
2600 |
-
{file = "Pillow-9.
|
2601 |
-
{file = "Pillow-9.
|
2602 |
-
{file = "Pillow-9.
|
2603 |
-
{file = "Pillow-9.
|
2604 |
-
{file = "Pillow-9.
|
2605 |
-
{file = "Pillow-9.
|
2606 |
-
{file = "Pillow-9.
|
2607 |
-
{file = "Pillow-9.
|
2608 |
-
{file = "Pillow-9.
|
2609 |
-
{file = "Pillow-9.
|
2610 |
-
{file = "Pillow-9.
|
2611 |
-
{file = "Pillow-9.
|
2612 |
-
{file = "Pillow-9.
|
2613 |
-
{file = "Pillow-9.
|
2614 |
-
{file = "Pillow-9.
|
2615 |
-
{file = "Pillow-9.
|
2616 |
-
{file = "Pillow-9.
|
2617 |
-
{file = "Pillow-9.
|
2618 |
-
{file = "Pillow-9.
|
2619 |
-
{file = "Pillow-9.
|
2620 |
-
{file = "Pillow-9.
|
2621 |
-
{file = "Pillow-9.
|
2622 |
-
{file = "Pillow-9.
|
2623 |
-
{file = "Pillow-9.
|
2624 |
-
{file = "Pillow-9.
|
2625 |
-
{file = "Pillow-9.
|
2626 |
-
{file = "Pillow-9.
|
2627 |
-
{file = "Pillow-9.
|
2628 |
-
{file = "Pillow-9.
|
2629 |
-
{file = "Pillow-9.
|
2630 |
-
{file = "Pillow-9.
|
2631 |
-
{file = "Pillow-9.
|
2632 |
-
{file = "Pillow-9.
|
2633 |
-
{file = "Pillow-9.
|
2634 |
-
{file = "Pillow-9.
|
2635 |
-
{file = "Pillow-9.
|
2636 |
-
{file = "Pillow-9.
|
2637 |
-
{file = "Pillow-9.
|
2638 |
-
{file = "Pillow-9.
|
2639 |
-
{file = "Pillow-9.
|
2640 |
-
{file = "Pillow-9.
|
2641 |
-
{file = "Pillow-9.
|
2642 |
-
{file = "Pillow-9.
|
2643 |
-
{file = "Pillow-9.
|
2644 |
-
{file = "Pillow-9.
|
2645 |
-
{file = "Pillow-9.
|
2646 |
-
{file = "Pillow-9.
|
2647 |
-
{file = "Pillow-9.
|
2648 |
-
{file = "Pillow-9.
|
2649 |
-
{file = "Pillow-9.
|
2650 |
-
{file = "Pillow-9.
|
2651 |
-
{file = "Pillow-9.
|
2652 |
-
{file = "Pillow-9.
|
2653 |
-
{file = "Pillow-9.
|
2654 |
-
{file = "Pillow-9.
|
2655 |
-
{file = "Pillow-9.
|
2656 |
-
{file = "Pillow-9.
|
2657 |
-
{file = "Pillow-9.
|
2658 |
-
{file = "Pillow-9.
|
2659 |
-
{file = "Pillow-9.
|
2660 |
-
{file = "Pillow-9.
|
2661 |
-
|
2662 |
-
|
2663 |
-
|
2664 |
-
|
2665 |
-
]
|
2666 |
-
|
2667 |
-
[package.extras]
|
2668 |
-
docs = ["furo", "olefile", "sphinx (>=2.4)", "sphinx-copybutton", "sphinx-inline-tabs", "sphinx-issues (>=3.0.1)", "sphinx-removed-in", "sphinxext-opengraph"]
|
2669 |
tests = ["check-manifest", "coverage", "defusedxml", "markdown2", "olefile", "packaging", "pyroma", "pytest", "pytest-cov", "pytest-timeout"]
|
2670 |
|
2671 |
[[package]]
|
@@ -2714,66 +2545,27 @@ testing = ["pytest", "pytest-benchmark"]
|
|
2714 |
|
2715 |
[[package]]
|
2716 |
name = "protobuf"
|
2717 |
-
version = "
|
2718 |
-
description = "
|
2719 |
-
category = "main"
|
2720 |
-
optional = false
|
2721 |
-
python-versions = ">=3.5"
|
2722 |
-
files = [
|
2723 |
-
{file = "protobuf-3.19.6-cp310-cp310-manylinux2014_aarch64.whl", hash = "sha256:010be24d5a44be7b0613750ab40bc8b8cedc796db468eae6c779b395f50d1fa1"},
|
2724 |
-
{file = "protobuf-3.19.6-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:11478547958c2dfea921920617eb457bc26867b0d1aa065ab05f35080c5d9eb6"},
|
2725 |
-
{file = "protobuf-3.19.6-cp310-cp310-win32.whl", hash = "sha256:559670e006e3173308c9254d63facb2c03865818f22204037ab76f7a0ff70b5f"},
|
2726 |
-
{file = "protobuf-3.19.6-cp310-cp310-win_amd64.whl", hash = "sha256:347b393d4dd06fb93a77620781e11c058b3b0a5289262f094379ada2920a3730"},
|
2727 |
-
{file = "protobuf-3.19.6-cp36-cp36m-macosx_10_9_x86_64.whl", hash = "sha256:a8ce5ae0de28b51dff886fb922012dad885e66176663950cb2344c0439ecb473"},
|
2728 |
-
{file = "protobuf-3.19.6-cp36-cp36m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:90b0d02163c4e67279ddb6dc25e063db0130fc299aefabb5d481053509fae5c8"},
|
2729 |
-
{file = "protobuf-3.19.6-cp36-cp36m-win32.whl", hash = "sha256:30f5370d50295b246eaa0296533403961f7e64b03ea12265d6dfce3a391d8992"},
|
2730 |
-
{file = "protobuf-3.19.6-cp36-cp36m-win_amd64.whl", hash = "sha256:0c0714b025ec057b5a7600cb66ce7c693815f897cfda6d6efb58201c472e3437"},
|
2731 |
-
{file = "protobuf-3.19.6-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:5057c64052a1f1dd7d4450e9aac25af6bf36cfbfb3a1cd89d16393a036c49157"},
|
2732 |
-
{file = "protobuf-3.19.6-cp37-cp37m-manylinux2014_aarch64.whl", hash = "sha256:bb6776bd18f01ffe9920e78e03a8676530a5d6c5911934c6a1ac6eb78973ecb6"},
|
2733 |
-
{file = "protobuf-3.19.6-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:84a04134866861b11556a82dd91ea6daf1f4925746b992f277b84013a7cc1229"},
|
2734 |
-
{file = "protobuf-3.19.6-cp37-cp37m-win32.whl", hash = "sha256:4bc98de3cdccfb5cd769620d5785b92c662b6bfad03a202b83799b6ed3fa1fa7"},
|
2735 |
-
{file = "protobuf-3.19.6-cp37-cp37m-win_amd64.whl", hash = "sha256:aa3b82ca1f24ab5326dcf4ea00fcbda703e986b22f3d27541654f749564d778b"},
|
2736 |
-
{file = "protobuf-3.19.6-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:2b2d2913bcda0e0ec9a784d194bc490f5dc3d9d71d322d070b11a0ade32ff6ba"},
|
2737 |
-
{file = "protobuf-3.19.6-cp38-cp38-manylinux2014_aarch64.whl", hash = "sha256:d0b635cefebd7a8a0f92020562dead912f81f401af7e71f16bf9506ff3bdbb38"},
|
2738 |
-
{file = "protobuf-3.19.6-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:7a552af4dc34793803f4e735aabe97ffc45962dfd3a237bdde242bff5a3de684"},
|
2739 |
-
{file = "protobuf-3.19.6-cp38-cp38-win32.whl", hash = "sha256:0469bc66160180165e4e29de7f445e57a34ab68f49357392c5b2f54c656ab25e"},
|
2740 |
-
{file = "protobuf-3.19.6-cp38-cp38-win_amd64.whl", hash = "sha256:91d5f1e139ff92c37e0ff07f391101df77e55ebb97f46bbc1535298d72019462"},
|
2741 |
-
{file = "protobuf-3.19.6-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:c0ccd3f940fe7f3b35a261b1dd1b4fc850c8fde9f74207015431f174be5976b3"},
|
2742 |
-
{file = "protobuf-3.19.6-cp39-cp39-manylinux2014_aarch64.whl", hash = "sha256:30a15015d86b9c3b8d6bf78d5b8c7749f2512c29f168ca259c9d7727604d0e39"},
|
2743 |
-
{file = "protobuf-3.19.6-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:878b4cd080a21ddda6ac6d1e163403ec6eea2e206cf225982ae04567d39be7b0"},
|
2744 |
-
{file = "protobuf-3.19.6-cp39-cp39-win32.whl", hash = "sha256:5a0d7539a1b1fb7e76bf5faa0b44b30f812758e989e59c40f77a7dab320e79b9"},
|
2745 |
-
{file = "protobuf-3.19.6-cp39-cp39-win_amd64.whl", hash = "sha256:bbf5cea5048272e1c60d235c7bd12ce1b14b8a16e76917f371c718bd3005f045"},
|
2746 |
-
{file = "protobuf-3.19.6-py2.py3-none-any.whl", hash = "sha256:14082457dc02be946f60b15aad35e9f5c69e738f80ebbc0900a19bc83734a5a4"},
|
2747 |
-
{file = "protobuf-3.19.6.tar.gz", hash = "sha256:5f5540d57a43042389e87661c6eaa50f47c19c6176e8cf1c4f287aeefeccb5c4"},
|
2748 |
-
]
|
2749 |
-
|
2750 |
-
[[package]]
|
2751 |
-
name = "pyasn1"
|
2752 |
-
version = "0.4.8"
|
2753 |
-
description = "ASN.1 types and codecs"
|
2754 |
-
category = "main"
|
2755 |
-
optional = false
|
2756 |
-
python-versions = "*"
|
2757 |
-
files = [
|
2758 |
-
{file = "pyasn1-0.4.8-py2.py3-none-any.whl", hash = "sha256:39c7e2ec30515947ff4e87fb6f456dfc6e84857d34be479c9d4a4ba4bf46aa5d"},
|
2759 |
-
{file = "pyasn1-0.4.8.tar.gz", hash = "sha256:aef77c9fb94a3ac588e87841208bdec464471d9871bd5050a287cc9a475cd0ba"},
|
2760 |
-
]
|
2761 |
-
|
2762 |
-
[[package]]
|
2763 |
-
name = "pyasn1-modules"
|
2764 |
-
version = "0.2.8"
|
2765 |
-
description = "A collection of ASN.1-based protocols modules."
|
2766 |
category = "main"
|
2767 |
optional = false
|
2768 |
-
python-versions = "
|
2769 |
files = [
|
2770 |
-
{file = "
|
2771 |
-
{file = "
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2772 |
]
|
2773 |
|
2774 |
-
[package.dependencies]
|
2775 |
-
pyasn1 = ">=0.4.6,<0.5.0"
|
2776 |
-
|
2777 |
[[package]]
|
2778 |
name = "pydantic"
|
2779 |
version = "1.10.7"
|
@@ -2934,18 +2726,18 @@ plugins = ["importlib-metadata"]
|
|
2934 |
|
2935 |
[[package]]
|
2936 |
name = "pylint"
|
2937 |
-
version = "2.17.
|
2938 |
description = "python code static checker"
|
2939 |
category = "dev"
|
2940 |
optional = false
|
2941 |
python-versions = ">=3.7.2"
|
2942 |
files = [
|
2943 |
-
{file = "pylint-2.17.
|
2944 |
-
{file = "pylint-2.17.
|
2945 |
]
|
2946 |
|
2947 |
[package.dependencies]
|
2948 |
-
astroid = ">=2.15.
|
2949 |
colorama = {version = ">=0.4.5", markers = "sys_platform == \"win32\""}
|
2950 |
dill = {version = ">=0.2", markers = "python_version < \"3.11\""}
|
2951 |
isort = ">=4.2.5,<6"
|
@@ -3278,25 +3070,6 @@ urllib3 = ">=1.21.1,<1.27"
|
|
3278 |
socks = ["PySocks (>=1.5.6,!=1.5.7)"]
|
3279 |
use-chardet-on-py3 = ["chardet (>=3.0.2,<6)"]
|
3280 |
|
3281 |
-
[[package]]
|
3282 |
-
name = "requests-oauthlib"
|
3283 |
-
version = "1.3.1"
|
3284 |
-
description = "OAuthlib authentication support for Requests."
|
3285 |
-
category = "main"
|
3286 |
-
optional = false
|
3287 |
-
python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*"
|
3288 |
-
files = [
|
3289 |
-
{file = "requests-oauthlib-1.3.1.tar.gz", hash = "sha256:75beac4a47881eeb94d5ea5d6ad31ef88856affe2332b9aafb52c6452ccf0d7a"},
|
3290 |
-
{file = "requests_oauthlib-1.3.1-py2.py3-none-any.whl", hash = "sha256:2577c501a2fb8d05a304c09d090d6e47c306fef15809d102b327cf8364bddab5"},
|
3291 |
-
]
|
3292 |
-
|
3293 |
-
[package.dependencies]
|
3294 |
-
oauthlib = ">=3.0.0"
|
3295 |
-
requests = ">=2.0.0"
|
3296 |
-
|
3297 |
-
[package.extras]
|
3298 |
-
rsa = ["oauthlib[signedtoken] (>=3.0.0)"]
|
3299 |
-
|
3300 |
[[package]]
|
3301 |
name = "rfc3986"
|
3302 |
version = "1.5.0"
|
@@ -3335,21 +3108,6 @@ typing-extensions = {version = ">=4.0.0,<5.0", markers = "python_version < \"3.9
|
|
3335 |
[package.extras]
|
3336 |
jupyter = ["ipywidgets (>=7.5.1,<9)"]
|
3337 |
|
3338 |
-
[[package]]
|
3339 |
-
name = "rsa"
|
3340 |
-
version = "4.9"
|
3341 |
-
description = "Pure-Python RSA implementation"
|
3342 |
-
category = "main"
|
3343 |
-
optional = false
|
3344 |
-
python-versions = ">=3.6,<4"
|
3345 |
-
files = [
|
3346 |
-
{file = "rsa-4.9-py3-none-any.whl", hash = "sha256:90260d9058e514786967344d0ef75fa8727eed8a7d2e43ce9f4bcf1b536174f7"},
|
3347 |
-
{file = "rsa-4.9.tar.gz", hash = "sha256:e38464a49c6c85d7f1351b0126661487a7e0a14a50f1675ec50eb34d4f20ef21"},
|
3348 |
-
]
|
3349 |
-
|
3350 |
-
[package.dependencies]
|
3351 |
-
pyasn1 = ">=0.1.3"
|
3352 |
-
|
3353 |
[[package]]
|
3354 |
name = "scikit-image"
|
3355 |
version = "0.20.0"
|
@@ -3546,96 +3304,22 @@ files = [
|
|
3546 |
[package.extras]
|
3547 |
widechars = ["wcwidth"]
|
3548 |
|
3549 |
-
[[package]]
|
3550 |
-
name = "tensorboard"
|
3551 |
-
version = "2.12.0"
|
3552 |
-
description = "TensorBoard lets you watch Tensors Flow"
|
3553 |
-
category = "main"
|
3554 |
-
optional = false
|
3555 |
-
python-versions = ">=3.8"
|
3556 |
-
files = [
|
3557 |
-
{file = "tensorboard-2.12.0-py3-none-any.whl", hash = "sha256:3cbdc32448d7a28dc1bf0b1754760c08b8e0e2e37c451027ebd5ff4896613012"},
|
3558 |
-
]
|
3559 |
-
|
3560 |
-
[package.dependencies]
|
3561 |
-
absl-py = ">=0.4"
|
3562 |
-
google-auth = ">=1.6.3,<3"
|
3563 |
-
google-auth-oauthlib = ">=0.4.1,<0.5"
|
3564 |
-
grpcio = ">=1.48.2"
|
3565 |
-
markdown = ">=2.6.8"
|
3566 |
-
numpy = ">=1.12.0"
|
3567 |
-
protobuf = ">=3.19.6"
|
3568 |
-
requests = ">=2.21.0,<3"
|
3569 |
-
setuptools = ">=41.0.0"
|
3570 |
-
tensorboard-data-server = ">=0.7.0,<0.8.0"
|
3571 |
-
tensorboard-plugin-wit = ">=1.6.0"
|
3572 |
-
werkzeug = ">=1.0.1"
|
3573 |
-
wheel = ">=0.26"
|
3574 |
-
|
3575 |
-
[[package]]
|
3576 |
-
name = "tensorboard-data-server"
|
3577 |
-
version = "0.7.0"
|
3578 |
-
description = "Fast data loading for TensorBoard"
|
3579 |
-
category = "main"
|
3580 |
-
optional = false
|
3581 |
-
python-versions = ">=3.7"
|
3582 |
-
files = [
|
3583 |
-
{file = "tensorboard_data_server-0.7.0-py3-none-any.whl", hash = "sha256:753d4214799b31da7b6d93837959abebbc6afa86e69eacf1e9a317a48daa31eb"},
|
3584 |
-
{file = "tensorboard_data_server-0.7.0-py3-none-macosx_10_9_x86_64.whl", hash = "sha256:eb7fa518737944dbf4f0cf83c2e40a7ac346bf91be2e6a0215de98be74e85454"},
|
3585 |
-
{file = "tensorboard_data_server-0.7.0-py3-none-manylinux2014_x86_64.whl", hash = "sha256:64aa1be7c23e80b1a42c13b686eb0875bb70f5e755f4d2b8de5c1d880cf2267f"},
|
3586 |
-
]
|
3587 |
-
|
3588 |
-
[[package]]
|
3589 |
-
name = "tensorboard-plugin-wit"
|
3590 |
-
version = "1.8.1"
|
3591 |
-
description = "What-If Tool TensorBoard plugin."
|
3592 |
-
category = "main"
|
3593 |
-
optional = false
|
3594 |
-
python-versions = "*"
|
3595 |
-
files = [
|
3596 |
-
{file = "tensorboard_plugin_wit-1.8.1-py3-none-any.whl", hash = "sha256:ff26bdd583d155aa951ee3b152b3d0cffae8005dc697f72b44a8e8c2a77a8cbe"},
|
3597 |
-
]
|
3598 |
-
|
3599 |
[[package]]
|
3600 |
name = "tensorboardx"
|
3601 |
-
version = "2.
|
3602 |
description = "TensorBoardX lets you watch Tensors Flow without Tensorflow"
|
3603 |
category = "main"
|
3604 |
optional = false
|
3605 |
python-versions = "*"
|
3606 |
files = [
|
3607 |
-
{file = "tensorboardX-2.
|
3608 |
-
{file = "tensorboardX-2.
|
3609 |
]
|
3610 |
|
3611 |
[package.dependencies]
|
3612 |
numpy = "*"
|
3613 |
-
|
3614 |
-
|
3615 |
-
|
3616 |
-
[[package]]
|
3617 |
-
name = "tensorflow-probability"
|
3618 |
-
version = "0.19.0"
|
3619 |
-
description = "Probabilistic modeling and statistical inference in TensorFlow"
|
3620 |
-
category = "main"
|
3621 |
-
optional = false
|
3622 |
-
python-versions = "*"
|
3623 |
-
files = [
|
3624 |
-
{file = "tensorflow_probability-0.19.0-py2.py3-none-any.whl", hash = "sha256:ee70967fbd52b09e9c5ec148a9437c4cf3f9e9d689cdca400a1bc921f21cdcac"},
|
3625 |
-
]
|
3626 |
-
|
3627 |
-
[package.dependencies]
|
3628 |
-
absl-py = "*"
|
3629 |
-
cloudpickle = ">=1.3"
|
3630 |
-
decorator = "*"
|
3631 |
-
dm-tree = "*"
|
3632 |
-
gast = ">=0.3.2"
|
3633 |
-
numpy = ">=1.13.3"
|
3634 |
-
six = ">=1.10.0"
|
3635 |
-
|
3636 |
-
[package.extras]
|
3637 |
-
jax = ["jax", "jaxlib"]
|
3638 |
-
tfds = ["tensorflow-datasets (>=2.2.0)"]
|
3639 |
|
3640 |
[[package]]
|
3641 |
name = "tifffile"
|
@@ -3839,6 +3523,18 @@ files = [
|
|
3839 |
{file = "typing_extensions-4.5.0.tar.gz", hash = "sha256:5cb5f4a79139d699607b3ef622a1dedafa84e115ab0024e0d9c044a9479ca7cb"},
|
3840 |
]
|
3841 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
3842 |
[[package]]
|
3843 |
name = "uc-micro-py"
|
3844 |
version = "1.0.1"
|
@@ -3913,101 +3609,84 @@ test = ["covdefaults (>=2.2.2)", "coverage (>=7.1)", "coverage-enable-subprocess
|
|
3913 |
|
3914 |
[[package]]
|
3915 |
name = "websockets"
|
3916 |
-
version = "
|
3917 |
description = "An implementation of the WebSocket Protocol (RFC 6455 & 7692)"
|
3918 |
category = "main"
|
3919 |
optional = false
|
3920 |
python-versions = ">=3.7"
|
3921 |
files = [
|
3922 |
-
{file = "websockets-
|
3923 |
-
{file = "websockets-
|
3924 |
-
{file = "websockets-
|
3925 |
-
{file = "websockets-
|
3926 |
-
{file = "websockets-
|
3927 |
-
{file = "websockets-
|
3928 |
-
{file = "websockets-
|
3929 |
-
{file = "websockets-
|
3930 |
-
{file = "websockets-
|
3931 |
-
{file = "websockets-
|
3932 |
-
{file = "websockets-
|
3933 |
-
{file = "websockets-
|
3934 |
-
{file = "websockets-
|
3935 |
-
{file = "websockets-
|
3936 |
-
{file = "websockets-
|
3937 |
-
{file = "websockets-
|
3938 |
-
{file = "websockets-
|
3939 |
-
{file = "websockets-
|
3940 |
-
{file = "websockets-
|
3941 |
-
{file = "websockets-
|
3942 |
-
{file = "websockets-
|
3943 |
-
{file = "websockets-
|
3944 |
-
{file = "websockets-
|
3945 |
-
{file = "websockets-
|
3946 |
-
{file = "websockets-
|
3947 |
-
{file = "websockets-
|
3948 |
-
{file = "websockets-
|
3949 |
-
{file = "websockets-
|
3950 |
-
{file = "websockets-
|
3951 |
-
{file = "websockets-
|
3952 |
-
{file = "websockets-
|
3953 |
-
{file = "websockets-
|
3954 |
-
{file = "websockets-
|
3955 |
-
{file = "websockets-
|
3956 |
-
{file = "websockets-
|
3957 |
-
{file = "websockets-
|
3958 |
-
{file = "websockets-
|
3959 |
-
{file = "websockets-
|
3960 |
-
{file = "websockets-
|
3961 |
-
{file = "websockets-
|
3962 |
-
{file = "websockets-
|
3963 |
-
{file = "websockets-
|
3964 |
-
{file = "websockets-
|
3965 |
-
{file = "websockets-
|
3966 |
-
{file = "websockets-
|
3967 |
-
{file = "websockets-
|
3968 |
-
{file = "websockets-
|
3969 |
-
{file = "websockets-
|
3970 |
-
{file = "websockets-
|
3971 |
-
{file = "websockets-
|
3972 |
-
{file = "websockets-
|
3973 |
-
{file = "websockets-
|
3974 |
-
{file = "websockets-
|
3975 |
-
{file = "websockets-
|
3976 |
-
{file = "websockets-
|
3977 |
-
{file = "websockets-
|
3978 |
-
{file = "websockets-
|
3979 |
-
{file = "websockets-
|
3980 |
-
{file = "websockets-
|
3981 |
-
{file = "websockets-
|
3982 |
-
{file = "websockets-
|
3983 |
-
{file = "websockets-
|
3984 |
-
{file = "websockets-
|
3985 |
-
{file = "websockets-
|
3986 |
-
{file = "websockets-
|
3987 |
-
{file = "websockets-
|
3988 |
-
{file = "websockets-
|
3989 |
-
{file = "websockets-
|
3990 |
-
{file = "websockets-
|
3991 |
-
|
3992 |
-
|
3993 |
-
[[package]]
|
3994 |
-
name = "werkzeug"
|
3995 |
-
version = "2.2.3"
|
3996 |
-
description = "The comprehensive WSGI web application library."
|
3997 |
-
category = "main"
|
3998 |
-
optional = false
|
3999 |
-
python-versions = ">=3.7"
|
4000 |
-
files = [
|
4001 |
-
{file = "Werkzeug-2.2.3-py3-none-any.whl", hash = "sha256:56433961bc1f12533306c624f3be5e744389ac61d722175d543e1751285da612"},
|
4002 |
-
{file = "Werkzeug-2.2.3.tar.gz", hash = "sha256:2e1ccc9417d4da358b9de6f174e3ac094391ea1d4fbef2d667865d819dfd0afe"},
|
4003 |
]
|
4004 |
|
4005 |
-
[package.dependencies]
|
4006 |
-
MarkupSafe = ">=2.1.1"
|
4007 |
-
|
4008 |
-
[package.extras]
|
4009 |
-
watchdog = ["watchdog"]
|
4010 |
-
|
4011 |
[[package]]
|
4012 |
name = "wheel"
|
4013 |
version = "0.40.0"
|
@@ -4215,4 +3894,4 @@ testing = ["big-O", "flake8 (<5)", "jaraco.functools", "jaraco.itertools", "more
|
|
4215 |
[metadata]
|
4216 |
lock-version = "2.0"
|
4217 |
python-versions = ">=3.8,<3.11"
|
4218 |
-
content-hash = "
|
|
|
1 |
# This file is automatically @generated by Poetry and should not be changed by hand.
|
2 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
3 |
[[package]]
|
4 |
name = "aiofiles"
|
5 |
version = "23.1.0"
|
|
|
182 |
|
183 |
[[package]]
|
184 |
name = "astroid"
|
185 |
+
version = "2.15.2"
|
186 |
description = "An abstract syntax tree for Python with inference support."
|
187 |
category = "dev"
|
188 |
optional = false
|
189 |
python-versions = ">=3.7.2"
|
190 |
files = [
|
191 |
+
{file = "astroid-2.15.2-py3-none-any.whl", hash = "sha256:dea89d9f99f491c66ac9c04ebddf91e4acf8bd711722175fe6245c0725cc19bb"},
|
192 |
+
{file = "astroid-2.15.2.tar.gz", hash = "sha256:6e61b85c891ec53b07471aec5878f4ac6446a41e590ede0f2ce095f39f7d49dd"},
|
193 |
]
|
194 |
|
195 |
[package.dependencies]
|
|
|
278 |
jupyter = ["ipython (>=7.8.0)", "tokenize-rt (>=3.2.0)"]
|
279 |
uvloop = ["uvloop (>=0.15.2)"]
|
280 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
281 |
[[package]]
|
282 |
name = "certifi"
|
283 |
version = "2022.12.7"
|
|
|
549 |
{file = "cycler-0.11.0.tar.gz", hash = "sha256:9c87405839a19696e837b3b818fed3f5f69f16f1eec1a1ad77e043dcea9c772f"},
|
550 |
]
|
551 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
552 |
[[package]]
|
553 |
name = "dill"
|
554 |
version = "0.3.6"
|
|
|
842 |
ssh = ["paramiko"]
|
843 |
tqdm = ["tqdm"]
|
844 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
845 |
[[package]]
|
846 |
name = "gradio"
|
847 |
+
version = "3.24.1"
|
848 |
description = "Python library for easily interacting with trained machine learning models"
|
849 |
category = "main"
|
850 |
optional = false
|
851 |
python-versions = ">=3.7"
|
852 |
files = [
|
853 |
+
{file = "gradio-3.24.1-py3-none-any.whl", hash = "sha256:a9b2fb94007b370ba5442159775a0987b27810451582525fe10711517082b1d2"},
|
854 |
+
{file = "gradio-3.24.1.tar.gz", hash = "sha256:19f11c8b5d9b23a22a7e0e3a32332146474d215588674afdfdbe2f86fe0a7811"},
|
855 |
]
|
856 |
|
857 |
[package.dependencies]
|
|
|
1459 |
{file = "lazy_object_proxy-1.9.0-cp39-cp39-win_amd64.whl", hash = "sha256:db1c1722726f47e10e0b5fdbf15ac3b8adb58c091d12b3ab713965795036985f"},
|
1460 |
]
|
1461 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1462 |
[[package]]
|
1463 |
name = "linkify-it-py"
|
1464 |
version = "2.0.0"
|
|
|
1541 |
flake8 = ["flake8"]
|
1542 |
tests = ["psutil", "pytest (!=3.3.0)", "pytest-cov"]
|
1543 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1544 |
[[package]]
|
1545 |
name = "markdown-it-py"
|
1546 |
version = "2.2.0"
|
|
|
2194 |
setuptools = "*"
|
2195 |
wheel = "*"
|
2196 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2197 |
[[package]]
|
2198 |
name = "onnxruntime"
|
2199 |
version = "1.14.1"
|
|
|
2316 |
|
2317 |
[[package]]
|
2318 |
name = "pandas"
|
2319 |
+
version = "2.0.0"
|
2320 |
description = "Powerful data structures for data analysis, time series, and statistics"
|
2321 |
category = "main"
|
2322 |
optional = false
|
2323 |
python-versions = ">=3.8"
|
2324 |
files = [
|
2325 |
+
{file = "pandas-2.0.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:bbb2c5e94d6aa4e632646a3bacd05c2a871c3aa3e85c9bec9be99cb1267279f2"},
|
2326 |
+
{file = "pandas-2.0.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:b5337c87c4e963f97becb1217965b6b75c6fe5f54c4cf09b9a5ac52fc0bd03d3"},
|
2327 |
+
{file = "pandas-2.0.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:6ded51f7e3dd9b4f8b87f2ceb7bd1a8df2491f7ee72f7074c6927a512607199e"},
|
2328 |
+
{file = "pandas-2.0.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:52c858de9e9fc422d25e67e1592a6e6135d7bcf9a19fcaf4d0831a0be496bf21"},
|
2329 |
+
{file = "pandas-2.0.0-cp310-cp310-win32.whl", hash = "sha256:2d1d138848dd71b37e3cbe7cd952ff84e2ab04d8988972166e18567dcc811245"},
|
2330 |
+
{file = "pandas-2.0.0-cp310-cp310-win_amd64.whl", hash = "sha256:d08e41d96bc4de6f500afe80936c68fce6099d5a434e2af7c7fd8e7c72a3265d"},
|
2331 |
+
{file = "pandas-2.0.0-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:24472cfc7ced511ac90608728b88312be56edc8f19b9ed885a7d2e47ffaf69c0"},
|
2332 |
+
{file = "pandas-2.0.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:4ffb14f50c74ee541610668137830bb93e9dfa319b1bef2cedf2814cd5ac9c70"},
|
2333 |
+
{file = "pandas-2.0.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:c24c7d12d033a372a9daf9ff2c80f8b0af6f98d14664dbb0a4f6a029094928a7"},
|
2334 |
+
{file = "pandas-2.0.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:8318de0f886e4dcb8f9f36e45a3d6a6c3d1cfdc508354da85e739090f0222991"},
|
2335 |
+
{file = "pandas-2.0.0-cp311-cp311-win32.whl", hash = "sha256:57c34b79c13249505e850d0377b722961b99140f81dafbe6f19ef10239f6284a"},
|
2336 |
+
{file = "pandas-2.0.0-cp311-cp311-win_amd64.whl", hash = "sha256:8f987ec26e96a8490909bc5d98c514147236e49830cba7df8690f6087c12bbae"},
|
2337 |
+
{file = "pandas-2.0.0-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:b3ba8f5dd470d8bfbc4259829589f4a32881151c49e36384d9eb982b35a12020"},
|
2338 |
+
{file = "pandas-2.0.0-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:fcd471c9d9f60926ab2f15c6c29164112f458acb42280365fbefa542d0c2fc74"},
|
2339 |
+
{file = "pandas-2.0.0-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:9253edfd015520ce77a9343eb7097429479c039cd3ebe81d7810ea11b4b24695"},
|
2340 |
+
{file = "pandas-2.0.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:977326039bd1ded620001a1889e2ed4798460a6bc5a24fbaebb5f07a41c32a55"},
|
2341 |
+
{file = "pandas-2.0.0-cp38-cp38-win32.whl", hash = "sha256:78425ca12314b23356c28b16765639db10ebb7d8983f705d6759ff7fe41357fa"},
|
2342 |
+
{file = "pandas-2.0.0-cp38-cp38-win_amd64.whl", hash = "sha256:d93b7fcfd9f3328072b250d6d001dcfeec5d3bb66c1b9c8941e109a46c0c01a8"},
|
2343 |
+
{file = "pandas-2.0.0-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:425705cee8be54db2504e8dd2a730684790b15e5904b750c367611ede49098ab"},
|
2344 |
+
{file = "pandas-2.0.0-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:a4f789b7c012a608c08cda4ff0872fd979cb18907a37982abe884e6f529b8793"},
|
2345 |
+
{file = "pandas-2.0.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:3bb9d840bf15656805f6a3d87eea9dcb7efdf1314a82adcf7f00b820427c5570"},
|
2346 |
+
{file = "pandas-2.0.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:0778ab54c8f399d83d98ffb674d11ec716449956bc6f6821891ab835848687f2"},
|
2347 |
+
{file = "pandas-2.0.0-cp39-cp39-win32.whl", hash = "sha256:70db5c278bbec0306d32bf78751ff56b9594c05a5098386f6c8a563659124f91"},
|
2348 |
+
{file = "pandas-2.0.0-cp39-cp39-win_amd64.whl", hash = "sha256:4f3320bb55f34af4193020158ef8118ee0fb9aec7cc47d2084dbfdd868a0a24f"},
|
2349 |
+
{file = "pandas-2.0.0.tar.gz", hash = "sha256:cda9789e61b44463c1c4fe17ef755de77bcd13b09ba31c940d20f193d63a5dc8"},
|
|
|
|
|
2350 |
]
|
2351 |
|
2352 |
[package.dependencies]
|
|
|
2354 |
{version = ">=1.20.3", markers = "python_version < \"3.10\""},
|
2355 |
{version = ">=1.21.0", markers = "python_version >= \"3.10\""},
|
2356 |
]
|
2357 |
+
python-dateutil = ">=2.8.2"
|
2358 |
pytz = ">=2020.1"
|
2359 |
+
tzdata = ">=2022.1"
|
2360 |
+
|
2361 |
+
[package.extras]
|
2362 |
+
all = ["PyQt5 (>=5.15.1)", "SQLAlchemy (>=1.4.16)", "beautifulsoup4 (>=4.9.3)", "bottleneck (>=1.3.2)", "brotlipy (>=0.7.0)", "fastparquet (>=0.6.3)", "fsspec (>=2021.07.0)", "gcsfs (>=2021.07.0)", "html5lib (>=1.1)", "hypothesis (>=6.34.2)", "jinja2 (>=3.0.0)", "lxml (>=4.6.3)", "matplotlib (>=3.6.1)", "numba (>=0.53.1)", "numexpr (>=2.7.3)", "odfpy (>=1.4.1)", "openpyxl (>=3.0.7)", "pandas-gbq (>=0.15.0)", "psycopg2 (>=2.8.6)", "pyarrow (>=7.0.0)", "pymysql (>=1.0.2)", "pyreadstat (>=1.1.2)", "pytest (>=7.0.0)", "pytest-asyncio (>=0.17.0)", "pytest-xdist (>=2.2.0)", "python-snappy (>=0.6.0)", "pyxlsb (>=1.0.8)", "qtpy (>=2.2.0)", "s3fs (>=2021.08.0)", "scipy (>=1.7.1)", "tables (>=3.6.1)", "tabulate (>=0.8.9)", "xarray (>=0.21.0)", "xlrd (>=2.0.1)", "xlsxwriter (>=1.4.3)", "zstandard (>=0.15.2)"]
|
2363 |
+
aws = ["s3fs (>=2021.08.0)"]
|
2364 |
+
clipboard = ["PyQt5 (>=5.15.1)", "qtpy (>=2.2.0)"]
|
2365 |
+
compression = ["brotlipy (>=0.7.0)", "python-snappy (>=0.6.0)", "zstandard (>=0.15.2)"]
|
2366 |
+
computation = ["scipy (>=1.7.1)", "xarray (>=0.21.0)"]
|
2367 |
+
excel = ["odfpy (>=1.4.1)", "openpyxl (>=3.0.7)", "pyxlsb (>=1.0.8)", "xlrd (>=2.0.1)", "xlsxwriter (>=1.4.3)"]
|
2368 |
+
feather = ["pyarrow (>=7.0.0)"]
|
2369 |
+
fss = ["fsspec (>=2021.07.0)"]
|
2370 |
+
gcp = ["gcsfs (>=2021.07.0)", "pandas-gbq (>=0.15.0)"]
|
2371 |
+
hdf5 = ["tables (>=3.6.1)"]
|
2372 |
+
html = ["beautifulsoup4 (>=4.9.3)", "html5lib (>=1.1)", "lxml (>=4.6.3)"]
|
2373 |
+
mysql = ["SQLAlchemy (>=1.4.16)", "pymysql (>=1.0.2)"]
|
2374 |
+
output-formatting = ["jinja2 (>=3.0.0)", "tabulate (>=0.8.9)"]
|
2375 |
+
parquet = ["pyarrow (>=7.0.0)"]
|
2376 |
+
performance = ["bottleneck (>=1.3.2)", "numba (>=0.53.1)", "numexpr (>=2.7.1)"]
|
2377 |
+
plot = ["matplotlib (>=3.6.1)"]
|
2378 |
+
postgresql = ["SQLAlchemy (>=1.4.16)", "psycopg2 (>=2.8.6)"]
|
2379 |
+
spss = ["pyreadstat (>=1.1.2)"]
|
2380 |
+
sql-other = ["SQLAlchemy (>=1.4.16)"]
|
2381 |
+
test = ["hypothesis (>=6.34.2)", "pytest (>=7.0.0)", "pytest-asyncio (>=0.17.0)", "pytest-xdist (>=2.2.0)"]
|
2382 |
+
xml = ["lxml (>=4.6.3)"]
|
2383 |
|
2384 |
[[package]]
|
2385 |
name = "pathspec"
|
|
|
2421 |
|
2422 |
[[package]]
|
2423 |
name = "pillow"
|
2424 |
+
version = "9.5.0"
|
2425 |
description = "Python Imaging Library (Fork)"
|
2426 |
category = "main"
|
2427 |
optional = false
|
2428 |
python-versions = ">=3.7"
|
2429 |
files = [
|
2430 |
+
{file = "Pillow-9.5.0-cp310-cp310-macosx_10_10_x86_64.whl", hash = "sha256:ace6ca218308447b9077c14ea4ef381ba0b67ee78d64046b3f19cf4e1139ad16"},
|
2431 |
+
{file = "Pillow-9.5.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:d3d403753c9d5adc04d4694d35cf0391f0f3d57c8e0030aac09d7678fa8030aa"},
|
2432 |
+
{file = "Pillow-9.5.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:5ba1b81ee69573fe7124881762bb4cd2e4b6ed9dd28c9c60a632902fe8db8b38"},
|
2433 |
+
{file = "Pillow-9.5.0-cp310-cp310-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:fe7e1c262d3392afcf5071df9afa574544f28eac825284596ac6db56e6d11062"},
|
2434 |
+
{file = "Pillow-9.5.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:8f36397bf3f7d7c6a3abdea815ecf6fd14e7fcd4418ab24bae01008d8d8ca15e"},
|
2435 |
+
{file = "Pillow-9.5.0-cp310-cp310-manylinux_2_28_aarch64.whl", hash = "sha256:252a03f1bdddce077eff2354c3861bf437c892fb1832f75ce813ee94347aa9b5"},
|
2436 |
+
{file = "Pillow-9.5.0-cp310-cp310-manylinux_2_28_x86_64.whl", hash = "sha256:85ec677246533e27770b0de5cf0f9d6e4ec0c212a1f89dfc941b64b21226009d"},
|
2437 |
+
{file = "Pillow-9.5.0-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:b416f03d37d27290cb93597335a2f85ed446731200705b22bb927405320de903"},
|
2438 |
+
{file = "Pillow-9.5.0-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:1781a624c229cb35a2ac31cc4a77e28cafc8900733a864870c49bfeedacd106a"},
|
2439 |
+
{file = "Pillow-9.5.0-cp310-cp310-win32.whl", hash = "sha256:8507eda3cd0608a1f94f58c64817e83ec12fa93a9436938b191b80d9e4c0fc44"},
|
2440 |
+
{file = "Pillow-9.5.0-cp310-cp310-win_amd64.whl", hash = "sha256:d3c6b54e304c60c4181da1c9dadf83e4a54fd266a99c70ba646a9baa626819eb"},
|
2441 |
+
{file = "Pillow-9.5.0-cp311-cp311-macosx_10_10_x86_64.whl", hash = "sha256:7ec6f6ce99dab90b52da21cf0dc519e21095e332ff3b399a357c187b1a5eee32"},
|
2442 |
+
{file = "Pillow-9.5.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:560737e70cb9c6255d6dcba3de6578a9e2ec4b573659943a5e7e4af13f298f5c"},
|
2443 |
+
{file = "Pillow-9.5.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:96e88745a55b88a7c64fa49bceff363a1a27d9a64e04019c2281049444a571e3"},
|
2444 |
+
{file = "Pillow-9.5.0-cp311-cp311-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:d9c206c29b46cfd343ea7cdfe1232443072bbb270d6a46f59c259460db76779a"},
|
2445 |
+
{file = "Pillow-9.5.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:cfcc2c53c06f2ccb8976fb5c71d448bdd0a07d26d8e07e321c103416444c7ad1"},
|
2446 |
+
{file = "Pillow-9.5.0-cp311-cp311-manylinux_2_28_aarch64.whl", hash = "sha256:a0f9bb6c80e6efcde93ffc51256d5cfb2155ff8f78292f074f60f9e70b942d99"},
|
2447 |
+
{file = "Pillow-9.5.0-cp311-cp311-manylinux_2_28_x86_64.whl", hash = "sha256:8d935f924bbab8f0a9a28404422da8af4904e36d5c33fc6f677e4c4485515625"},
|
2448 |
+
{file = "Pillow-9.5.0-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:fed1e1cf6a42577953abbe8e6cf2fe2f566daebde7c34724ec8803c4c0cda579"},
|
2449 |
+
{file = "Pillow-9.5.0-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:c1170d6b195555644f0616fd6ed929dfcf6333b8675fcca044ae5ab110ded296"},
|
2450 |
+
{file = "Pillow-9.5.0-cp311-cp311-win32.whl", hash = "sha256:54f7102ad31a3de5666827526e248c3530b3a33539dbda27c6843d19d72644ec"},
|
2451 |
+
{file = "Pillow-9.5.0-cp311-cp311-win_amd64.whl", hash = "sha256:cfa4561277f677ecf651e2b22dc43e8f5368b74a25a8f7d1d4a3a243e573f2d4"},
|
2452 |
+
{file = "Pillow-9.5.0-cp311-cp311-win_arm64.whl", hash = "sha256:965e4a05ef364e7b973dd17fc765f42233415974d773e82144c9bbaaaea5d089"},
|
2453 |
+
{file = "Pillow-9.5.0-cp312-cp312-win32.whl", hash = "sha256:22baf0c3cf0c7f26e82d6e1adf118027afb325e703922c8dfc1d5d0156bb2eeb"},
|
2454 |
+
{file = "Pillow-9.5.0-cp312-cp312-win_amd64.whl", hash = "sha256:432b975c009cf649420615388561c0ce7cc31ce9b2e374db659ee4f7d57a1f8b"},
|
2455 |
+
{file = "Pillow-9.5.0-cp37-cp37m-macosx_10_10_x86_64.whl", hash = "sha256:5d4ebf8e1db4441a55c509c4baa7a0587a0210f7cd25fcfe74dbbce7a4bd1906"},
|
2456 |
+
{file = "Pillow-9.5.0-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:375f6e5ee9620a271acb6820b3d1e94ffa8e741c0601db4c0c4d3cb0a9c224bf"},
|
2457 |
+
{file = "Pillow-9.5.0-cp37-cp37m-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:99eb6cafb6ba90e436684e08dad8be1637efb71c4f2180ee6b8f940739406e78"},
|
2458 |
+
{file = "Pillow-9.5.0-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:2dfaaf10b6172697b9bceb9a3bd7b951819d1ca339a5ef294d1f1ac6d7f63270"},
|
2459 |
+
{file = "Pillow-9.5.0-cp37-cp37m-manylinux_2_28_aarch64.whl", hash = "sha256:763782b2e03e45e2c77d7779875f4432e25121ef002a41829d8868700d119392"},
|
2460 |
+
{file = "Pillow-9.5.0-cp37-cp37m-manylinux_2_28_x86_64.whl", hash = "sha256:35f6e77122a0c0762268216315bf239cf52b88865bba522999dc38f1c52b9b47"},
|
2461 |
+
{file = "Pillow-9.5.0-cp37-cp37m-win32.whl", hash = "sha256:aca1c196f407ec7cf04dcbb15d19a43c507a81f7ffc45b690899d6a76ac9fda7"},
|
2462 |
+
{file = "Pillow-9.5.0-cp37-cp37m-win_amd64.whl", hash = "sha256:322724c0032af6692456cd6ed554bb85f8149214d97398bb80613b04e33769f6"},
|
2463 |
+
{file = "Pillow-9.5.0-cp38-cp38-macosx_10_10_x86_64.whl", hash = "sha256:a0aa9417994d91301056f3d0038af1199eb7adc86e646a36b9e050b06f526597"},
|
2464 |
+
{file = "Pillow-9.5.0-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:f8286396b351785801a976b1e85ea88e937712ee2c3ac653710a4a57a8da5d9c"},
|
2465 |
+
{file = "Pillow-9.5.0-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:c830a02caeb789633863b466b9de10c015bded434deb3ec87c768e53752ad22a"},
|
2466 |
+
{file = "Pillow-9.5.0-cp38-cp38-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:fbd359831c1657d69bb81f0db962905ee05e5e9451913b18b831febfe0519082"},
|
2467 |
+
{file = "Pillow-9.5.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f8fc330c3370a81bbf3f88557097d1ea26cd8b019d6433aa59f71195f5ddebbf"},
|
2468 |
+
{file = "Pillow-9.5.0-cp38-cp38-manylinux_2_28_aarch64.whl", hash = "sha256:7002d0797a3e4193c7cdee3198d7c14f92c0836d6b4a3f3046a64bd1ce8df2bf"},
|
2469 |
+
{file = "Pillow-9.5.0-cp38-cp38-manylinux_2_28_x86_64.whl", hash = "sha256:229e2c79c00e85989a34b5981a2b67aa079fd08c903f0aaead522a1d68d79e51"},
|
2470 |
+
{file = "Pillow-9.5.0-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:9adf58f5d64e474bed00d69bcd86ec4bcaa4123bfa70a65ce72e424bfb88ed96"},
|
2471 |
+
{file = "Pillow-9.5.0-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:662da1f3f89a302cc22faa9f14a262c2e3951f9dbc9617609a47521c69dd9f8f"},
|
2472 |
+
{file = "Pillow-9.5.0-cp38-cp38-win32.whl", hash = "sha256:6608ff3bf781eee0cd14d0901a2b9cc3d3834516532e3bd673a0a204dc8615fc"},
|
2473 |
+
{file = "Pillow-9.5.0-cp38-cp38-win_amd64.whl", hash = "sha256:e49eb4e95ff6fd7c0c402508894b1ef0e01b99a44320ba7d8ecbabefddcc5569"},
|
2474 |
+
{file = "Pillow-9.5.0-cp39-cp39-macosx_10_10_x86_64.whl", hash = "sha256:482877592e927fd263028c105b36272398e3e1be3269efda09f6ba21fd83ec66"},
|
2475 |
+
{file = "Pillow-9.5.0-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:3ded42b9ad70e5f1754fb7c2e2d6465a9c842e41d178f262e08b8c85ed8a1d8e"},
|
2476 |
+
{file = "Pillow-9.5.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:c446d2245ba29820d405315083d55299a796695d747efceb5717a8b450324115"},
|
2477 |
+
{file = "Pillow-9.5.0-cp39-cp39-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:8aca1152d93dcc27dc55395604dcfc55bed5f25ef4c98716a928bacba90d33a3"},
|
2478 |
+
{file = "Pillow-9.5.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:608488bdcbdb4ba7837461442b90ea6f3079397ddc968c31265c1e056964f1ef"},
|
2479 |
+
{file = "Pillow-9.5.0-cp39-cp39-manylinux_2_28_aarch64.whl", hash = "sha256:60037a8db8750e474af7ffc9faa9b5859e6c6d0a50e55c45576bf28be7419705"},
|
2480 |
+
{file = "Pillow-9.5.0-cp39-cp39-manylinux_2_28_x86_64.whl", hash = "sha256:07999f5834bdc404c442146942a2ecadd1cb6292f5229f4ed3b31e0a108746b1"},
|
2481 |
+
{file = "Pillow-9.5.0-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:a127ae76092974abfbfa38ca2d12cbeddcdeac0fb71f9627cc1135bedaf9d51a"},
|
2482 |
+
{file = "Pillow-9.5.0-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:489f8389261e5ed43ac8ff7b453162af39c3e8abd730af8363587ba64bb2e865"},
|
2483 |
+
{file = "Pillow-9.5.0-cp39-cp39-win32.whl", hash = "sha256:9b1af95c3a967bf1da94f253e56b6286b50af23392a886720f563c547e48e964"},
|
2484 |
+
{file = "Pillow-9.5.0-cp39-cp39-win_amd64.whl", hash = "sha256:77165c4a5e7d5a284f10a6efaa39a0ae8ba839da344f20b111d62cc932fa4e5d"},
|
2485 |
+
{file = "Pillow-9.5.0-pp38-pypy38_pp73-macosx_10_10_x86_64.whl", hash = "sha256:833b86a98e0ede388fa29363159c9b1a294b0905b5128baf01db683672f230f5"},
|
2486 |
+
{file = "Pillow-9.5.0-pp38-pypy38_pp73-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:aaf305d6d40bd9632198c766fb64f0c1a83ca5b667f16c1e79e1661ab5060140"},
|
2487 |
+
{file = "Pillow-9.5.0-pp38-pypy38_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:0852ddb76d85f127c135b6dd1f0bb88dbb9ee990d2cd9aa9e28526c93e794fba"},
|
2488 |
+
{file = "Pillow-9.5.0-pp38-pypy38_pp73-manylinux_2_28_x86_64.whl", hash = "sha256:91ec6fe47b5eb5a9968c79ad9ed78c342b1f97a091677ba0e012701add857829"},
|
2489 |
+
{file = "Pillow-9.5.0-pp38-pypy38_pp73-win_amd64.whl", hash = "sha256:cb841572862f629b99725ebaec3287fc6d275be9b14443ea746c1dd325053cbd"},
|
2490 |
+
{file = "Pillow-9.5.0-pp39-pypy39_pp73-macosx_10_10_x86_64.whl", hash = "sha256:c380b27d041209b849ed246b111b7c166ba36d7933ec6e41175fd15ab9eb1572"},
|
2491 |
+
{file = "Pillow-9.5.0-pp39-pypy39_pp73-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:7c9af5a3b406a50e313467e3565fc99929717f780164fe6fbb7704edba0cebbe"},
|
2492 |
+
{file = "Pillow-9.5.0-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:5671583eab84af046a397d6d0ba25343c00cd50bce03787948e0fff01d4fd9b1"},
|
2493 |
+
{file = "Pillow-9.5.0-pp39-pypy39_pp73-manylinux_2_28_x86_64.whl", hash = "sha256:84a6f19ce086c1bf894644b43cd129702f781ba5751ca8572f08aa40ef0ab7b7"},
|
2494 |
+
{file = "Pillow-9.5.0-pp39-pypy39_pp73-win_amd64.whl", hash = "sha256:1e7723bd90ef94eda669a3c2c19d549874dd5badaeefabefd26053304abe5799"},
|
2495 |
+
{file = "Pillow-9.5.0.tar.gz", hash = "sha256:bf548479d336726d7a0eceb6e767e179fbde37833ae42794602631a070d630f1"},
|
2496 |
+
]
|
2497 |
+
|
2498 |
+
[package.extras]
|
2499 |
+
docs = ["furo", "olefile", "sphinx (>=2.4)", "sphinx-copybutton", "sphinx-inline-tabs", "sphinx-removed-in", "sphinxext-opengraph"]
|
|
|
|
|
|
|
|
|
2500 |
tests = ["check-manifest", "coverage", "defusedxml", "markdown2", "olefile", "packaging", "pyroma", "pytest", "pytest-cov", "pytest-timeout"]
|
2501 |
|
2502 |
[[package]]
|
|
|
2545 |
|
2546 |
[[package]]
|
2547 |
name = "protobuf"
|
2548 |
+
version = "4.22.1"
|
2549 |
+
description = ""
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2550 |
category = "main"
|
2551 |
optional = false
|
2552 |
+
python-versions = ">=3.7"
|
2553 |
files = [
|
2554 |
+
{file = "protobuf-4.22.1-cp310-abi3-win32.whl", hash = "sha256:85aa9acc5a777adc0c21b449dafbc40d9a0b6413ff3a4f77ef9df194be7f975b"},
|
2555 |
+
{file = "protobuf-4.22.1-cp310-abi3-win_amd64.whl", hash = "sha256:8bc971d76c03f1dd49f18115b002254f2ddb2d4b143c583bb860b796bb0d399e"},
|
2556 |
+
{file = "protobuf-4.22.1-cp37-abi3-macosx_10_9_universal2.whl", hash = "sha256:5917412347e1da08ce2939eb5cd60650dfb1a9ab4606a415b9278a1041fb4d19"},
|
2557 |
+
{file = "protobuf-4.22.1-cp37-abi3-manylinux2014_aarch64.whl", hash = "sha256:9e12e2810e7d297dbce3c129ae5e912ffd94240b050d33f9ecf023f35563b14f"},
|
2558 |
+
{file = "protobuf-4.22.1-cp37-abi3-manylinux2014_x86_64.whl", hash = "sha256:953fc7904ef46900262a26374b28c2864610b60cdc8b272f864e22143f8373c4"},
|
2559 |
+
{file = "protobuf-4.22.1-cp37-cp37m-win32.whl", hash = "sha256:6e100f7bc787cd0a0ae58dbf0ab8bbf1ee7953f862b89148b6cf5436d5e9eaa1"},
|
2560 |
+
{file = "protobuf-4.22.1-cp37-cp37m-win_amd64.whl", hash = "sha256:87a6393fa634f294bf24d1cfe9fdd6bb605cbc247af81b9b10c4c0f12dfce4b3"},
|
2561 |
+
{file = "protobuf-4.22.1-cp38-cp38-win32.whl", hash = "sha256:e3fb58076bdb550e75db06ace2a8b3879d4c4f7ec9dd86e4254656118f4a78d7"},
|
2562 |
+
{file = "protobuf-4.22.1-cp38-cp38-win_amd64.whl", hash = "sha256:651113695bc2e5678b799ee5d906b5d3613f4ccfa61b12252cfceb6404558af0"},
|
2563 |
+
{file = "protobuf-4.22.1-cp39-cp39-win32.whl", hash = "sha256:67b7d19da0fda2733702c2299fd1ef6cb4b3d99f09263eacaf1aa151d9d05f02"},
|
2564 |
+
{file = "protobuf-4.22.1-cp39-cp39-win_amd64.whl", hash = "sha256:b8700792f88e59ccecfa246fa48f689d6eee6900eddd486cdae908ff706c482b"},
|
2565 |
+
{file = "protobuf-4.22.1-py3-none-any.whl", hash = "sha256:3e19dcf4adbf608924d3486ece469dd4f4f2cf7d2649900f0efcd1a84e8fd3ba"},
|
2566 |
+
{file = "protobuf-4.22.1.tar.gz", hash = "sha256:dce7a55d501c31ecf688adb2f6c3f763cf11bc0be815d1946a84d74772ab07a7"},
|
2567 |
]
|
2568 |
|
|
|
|
|
|
|
2569 |
[[package]]
|
2570 |
name = "pydantic"
|
2571 |
version = "1.10.7"
|
|
|
2726 |
|
2727 |
[[package]]
|
2728 |
name = "pylint"
|
2729 |
+
version = "2.17.2"
|
2730 |
description = "python code static checker"
|
2731 |
category = "dev"
|
2732 |
optional = false
|
2733 |
python-versions = ">=3.7.2"
|
2734 |
files = [
|
2735 |
+
{file = "pylint-2.17.2-py3-none-any.whl", hash = "sha256:001cc91366a7df2970941d7e6bbefcbf98694e00102c1f121c531a814ddc2ea8"},
|
2736 |
+
{file = "pylint-2.17.2.tar.gz", hash = "sha256:1b647da5249e7c279118f657ca28b6aaebb299f86bf92affc632acf199f7adbb"},
|
2737 |
]
|
2738 |
|
2739 |
[package.dependencies]
|
2740 |
+
astroid = ">=2.15.2,<=2.17.0-dev0"
|
2741 |
colorama = {version = ">=0.4.5", markers = "sys_platform == \"win32\""}
|
2742 |
dill = {version = ">=0.2", markers = "python_version < \"3.11\""}
|
2743 |
isort = ">=4.2.5,<6"
|
|
|
3070 |
socks = ["PySocks (>=1.5.6,!=1.5.7)"]
|
3071 |
use-chardet-on-py3 = ["chardet (>=3.0.2,<6)"]
|
3072 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
3073 |
[[package]]
|
3074 |
name = "rfc3986"
|
3075 |
version = "1.5.0"
|
|
|
3108 |
[package.extras]
|
3109 |
jupyter = ["ipywidgets (>=7.5.1,<9)"]
|
3110 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
3111 |
[[package]]
|
3112 |
name = "scikit-image"
|
3113 |
version = "0.20.0"
|
|
|
3304 |
[package.extras]
|
3305 |
widechars = ["wcwidth"]
|
3306 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
3307 |
[[package]]
|
3308 |
name = "tensorboardx"
|
3309 |
+
version = "2.5"
|
3310 |
description = "TensorBoardX lets you watch Tensors Flow without Tensorflow"
|
3311 |
category = "main"
|
3312 |
optional = false
|
3313 |
python-versions = "*"
|
3314 |
files = [
|
3315 |
+
{file = "tensorboardX-2.5-py2.py3-none-any.whl", hash = "sha256:b1d8903f8106e2f4484640a293f9680f9757d5f7d2e699e0672bb2382d988e07"},
|
3316 |
+
{file = "tensorboardX-2.5.tar.gz", hash = "sha256:5238ac5eac4a26d8f8381d7f54a2fcd530a134db841af9a9a6427beca93c6776"},
|
3317 |
]
|
3318 |
|
3319 |
[package.dependencies]
|
3320 |
numpy = "*"
|
3321 |
+
protobuf = ">=3.8.0"
|
3322 |
+
six = "*"
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
3323 |
|
3324 |
[[package]]
|
3325 |
name = "tifffile"
|
|
|
3523 |
{file = "typing_extensions-4.5.0.tar.gz", hash = "sha256:5cb5f4a79139d699607b3ef622a1dedafa84e115ab0024e0d9c044a9479ca7cb"},
|
3524 |
]
|
3525 |
|
3526 |
+
[[package]]
|
3527 |
+
name = "tzdata"
|
3528 |
+
version = "2023.3"
|
3529 |
+
description = "Provider of IANA time zone data"
|
3530 |
+
category = "main"
|
3531 |
+
optional = false
|
3532 |
+
python-versions = ">=2"
|
3533 |
+
files = [
|
3534 |
+
{file = "tzdata-2023.3-py2.py3-none-any.whl", hash = "sha256:7e65763eef3120314099b6939b5546db7adce1e7d6f2e179e3df563c70511eda"},
|
3535 |
+
{file = "tzdata-2023.3.tar.gz", hash = "sha256:11ef1e08e54acb0d4f95bdb1be05da659673de4acbd21bf9c69e94cc5e907a3a"},
|
3536 |
+
]
|
3537 |
+
|
3538 |
[[package]]
|
3539 |
name = "uc-micro-py"
|
3540 |
version = "1.0.1"
|
|
|
3609 |
|
3610 |
[[package]]
|
3611 |
name = "websockets"
|
3612 |
+
version = "11.0"
|
3613 |
description = "An implementation of the WebSocket Protocol (RFC 6455 & 7692)"
|
3614 |
category = "main"
|
3615 |
optional = false
|
3616 |
python-versions = ">=3.7"
|
3617 |
files = [
|
3618 |
+
{file = "websockets-11.0-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:269e3547877a6ca55f62acdf291b256b01bc3469535e892af36afd3e17de284a"},
|
3619 |
+
{file = "websockets-11.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:70a4e03d2416c1dad16ccfab97c975192337c6481b07167c90221f1926893e1e"},
|
3620 |
+
{file = "websockets-11.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:4100dc8566ea3b9c0528dee73284be524ab053aebd77e3fc7439a90e0d57745b"},
|
3621 |
+
{file = "websockets-11.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a8e0505c556b2b48078291b300d930f2fb8ba81d1e36379b637c060cfa561ae4"},
|
3622 |
+
{file = "websockets-11.0-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:1d5bc68cec8269b4b52ab6d1d8690f56dba35f7bcb83a5487518406300f81cf1"},
|
3623 |
+
{file = "websockets-11.0-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:067ac1f6153fc5218afc4563491dcbdb7384895cfc588a0afee962ca77fe0b58"},
|
3624 |
+
{file = "websockets-11.0-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:910c84c0cfe4f872905b6ebe1866c579582070331abcb7a58621935eca95c18a"},
|
3625 |
+
{file = "websockets-11.0-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:df0f7769450ca67a53182f917910e2b0b6dd3f8268f88cbfe54ee6be96812889"},
|
3626 |
+
{file = "websockets-11.0-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:fe23605f5c351773b6fb82fcf680549980d63e126fab5213ed875686c0cec25d"},
|
3627 |
+
{file = "websockets-11.0-cp310-cp310-win32.whl", hash = "sha256:eb2e7cd654a05c36fccf726385c64a0e1027997d05ba0859f4d84c3d87db1623"},
|
3628 |
+
{file = "websockets-11.0-cp310-cp310-win_amd64.whl", hash = "sha256:fb26c333751a1e3805ecc416a85dcfa3657676b185acd515fd6992f0cea898ef"},
|
3629 |
+
{file = "websockets-11.0-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:b4a939963bae1055f14976ef2cf53e797c1997f8835ca9cf23060afc3e7d6718"},
|
3630 |
+
{file = "websockets-11.0-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:d7fc189fb632f8b31af8a5b32105919662a1bbaac20912320482415b7fed9c96"},
|
3631 |
+
{file = "websockets-11.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:6e3cfc890f1326c95fd7d4cc50f2bd496d3f014fb2da36b4525a10f226be565d"},
|
3632 |
+
{file = "websockets-11.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:9093f4c72c23ed5e475970c6a37e77c4f3a8856223421b9eb405b9fb2170629f"},
|
3633 |
+
{file = "websockets-11.0-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:5c56547f97bc76293522ccfcfbdde12442420f1a2c0218ff45d733a0030046df"},
|
3634 |
+
{file = "websockets-11.0-cp311-cp311-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ffb406b4449d4fa41ebc47faa3b9153a082f6fe0e4a0891f596a5ddb69fdeccd"},
|
3635 |
+
{file = "websockets-11.0-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:8fad76be2c5e36fb3620ad507ac8004e9f358f5c4a9a1b756dbe7918d58884a0"},
|
3636 |
+
{file = "websockets-11.0-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:17eb1988d320e2f1f20e4a3523f1068a0bb08318ab123962fc99fd90c90ab0d6"},
|
3637 |
+
{file = "websockets-11.0-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:9873288db9c673a2ba9c0f7b59a130576c50fc75f3336a706fff686009c41631"},
|
3638 |
+
{file = "websockets-11.0-cp311-cp311-win32.whl", hash = "sha256:cf4ef6343478bf63098d3060fe06baf54d9c011b4b1b05e65e7957091cc87ef4"},
|
3639 |
+
{file = "websockets-11.0-cp311-cp311-win_amd64.whl", hash = "sha256:713cd5fc1fd40436495c90a259274e1a4a39416c65447a256434941ddaf2f424"},
|
3640 |
+
{file = "websockets-11.0-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:649ddddcbafd318d427b843425c92b1c035660c32507645c472c77356226cf07"},
|
3641 |
+
{file = "websockets-11.0-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:564c53d84b95da527e96778f2cc873ef186038924abee601f9e8f12ebda9ad46"},
|
3642 |
+
{file = "websockets-11.0-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:66d8df2db9801063e4093efe01458b1705c9f76382ad32617c005eeeb201a730"},
|
3643 |
+
{file = "websockets-11.0-cp37-cp37m-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:bbcd876ed166a82d250fcf012b729315489e9d653cb659c2e013c19daba2eb8f"},
|
3644 |
+
{file = "websockets-11.0-cp37-cp37m-musllinux_1_1_aarch64.whl", hash = "sha256:cb00963b49d343210ebbdbe69a35004fbecad73da2158e83d481cd2a6716cf19"},
|
3645 |
+
{file = "websockets-11.0-cp37-cp37m-musllinux_1_1_i686.whl", hash = "sha256:3d6f7c2f822e439f47f3492ee3e48c87c7d134d619a42c6dba1a318504501bfb"},
|
3646 |
+
{file = "websockets-11.0-cp37-cp37m-musllinux_1_1_x86_64.whl", hash = "sha256:c4b2ae9c0f1acec5d2f8000eb496eebb9db19055a63716ee166cf0694b945982"},
|
3647 |
+
{file = "websockets-11.0-cp37-cp37m-win32.whl", hash = "sha256:2b363e0f9b4247a0c7482e22c70ef39fb3259a14f7c0791c9200b93145f60b4b"},
|
3648 |
+
{file = "websockets-11.0-cp37-cp37m-win_amd64.whl", hash = "sha256:3d372c3426f165a0a22be9250526b1cd12e3556e80b4b2afaa6fd6649c99b086"},
|
3649 |
+
{file = "websockets-11.0-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:7eb914d37e0574246c63b995f9ca8d7bb7c2f2d53a8d4e9b00200ea856aa43c4"},
|
3650 |
+
{file = "websockets-11.0-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:a8717a5f3a00cde308e2971064bd5fcb14e0cc08f8234b97f4eb92b505ea95d4"},
|
3651 |
+
{file = "websockets-11.0-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:a17151722349c4af221616cca2f28e79237738bfbc53e7155240e2a8a7cc02f4"},
|
3652 |
+
{file = "websockets-11.0-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a4b60686d9b2ba500847c045595eb5887f4cca7102b4615773b6f490aa611107"},
|
3653 |
+
{file = "websockets-11.0-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:eededf25ef6b838e650eeeb1511804b82e9ece566fe6cdc11aa909d2992dcdaf"},
|
3654 |
+
{file = "websockets-11.0-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:7587f339f016f0e1b0b6f013e98c83e382c5929774f2b8234c1b2d3f01dd1339"},
|
3655 |
+
{file = "websockets-11.0-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:26369646078e16e7364729ed3e3b1a4315ab1a22ca3c48b4e25dea48fcc1a881"},
|
3656 |
+
{file = "websockets-11.0-cp38-cp38-musllinux_1_1_i686.whl", hash = "sha256:92f51fbe87381ff76c1791dd44d599152b400f1adfa8453613f1ff6857200ee7"},
|
3657 |
+
{file = "websockets-11.0-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:b5bb04a77c326d727c0b986c37a76147916d79db95629267307d1be47788a020"},
|
3658 |
+
{file = "websockets-11.0-cp38-cp38-win32.whl", hash = "sha256:50ac95111009178e58b9a25aa51702cdaad4ed843b98eb9b58d69b323ccb224e"},
|
3659 |
+
{file = "websockets-11.0-cp38-cp38-win_amd64.whl", hash = "sha256:7a4076cd6a3678def988668fc4b1779da598e1e5c9fa26319af5499f00c23e1c"},
|
3660 |
+
{file = "websockets-11.0-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:26559e8a385f71ce2a58f3bb1d005ddd3db7d3328ddbfbff1034f4039d46c4ec"},
|
3661 |
+
{file = "websockets-11.0-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:f10d283697dec8d91fa983eb8e217c9cac27bc1032057768129b89780009318e"},
|
3662 |
+
{file = "websockets-11.0-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:f74efe229e078bf5595e207e9a7b135ff37a10858263ed86be66003c4c98d47b"},
|
3663 |
+
{file = "websockets-11.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:f048c88bfcc5bf0e038630cfb970b2c479f913819fd9653db920eef3b105a2b1"},
|
3664 |
+
{file = "websockets-11.0-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:ceab6c1827fa14ad10c6b0806941d577b21d17012a3648787ac2b946182285b4"},
|
3665 |
+
{file = "websockets-11.0-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:817227e23897808c4bb621da7f57b1f83ee18345bdc44f5c9c1bbd3a094a73f6"},
|
3666 |
+
{file = "websockets-11.0-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:6fdcc17348d8697c1f88bba38680cca94131f2a9db727a61fe067284e1e59e8d"},
|
3667 |
+
{file = "websockets-11.0-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:8b21ad915b747075f29fe2fa5590111d98988d6730d2cd212acfe52bbe6a2545"},
|
3668 |
+
{file = "websockets-11.0-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:9ae401ad881d5329062b9b2d8160f0b2a147430974f2a3f32e6cedadddc2d634"},
|
3669 |
+
{file = "websockets-11.0-cp39-cp39-win32.whl", hash = "sha256:ee84660927293f449760badfe010e06409edb99d72e1910e2e404d2eeff6990f"},
|
3670 |
+
{file = "websockets-11.0-cp39-cp39-win_amd64.whl", hash = "sha256:2b4e704a9dac1faf4994e63dceae9e2f504913ff0f865bd3e5a097cbd5874a8f"},
|
3671 |
+
{file = "websockets-11.0-pp37-pypy37_pp73-macosx_10_9_x86_64.whl", hash = "sha256:c2d6429c9bcd70ed8126a1f9ca6069e4ab95c96a3cc141fc84ce02917f7b45ec"},
|
3672 |
+
{file = "websockets-11.0-pp37-pypy37_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:ff3f67567862a853af2c0db362ede8249be50c576cd9eaf380736c6fce840414"},
|
3673 |
+
{file = "websockets-11.0-pp37-pypy37_pp73-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:b86ce3d17bcc4b6556b2a2e1277beed74ff6b1de23f002f9763e9875e8ba361d"},
|
3674 |
+
{file = "websockets-11.0-pp37-pypy37_pp73-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:59c4b458cc09ea6470a5eee98b06ccaa84f2a193b92e337a879612614df0f8eb"},
|
3675 |
+
{file = "websockets-11.0-pp37-pypy37_pp73-win_amd64.whl", hash = "sha256:e5e21aeb350906dfcff321bfa6c60541a1d05cadb6d431ecf9d6376365be60d4"},
|
3676 |
+
{file = "websockets-11.0-pp38-pypy38_pp73-macosx_10_9_x86_64.whl", hash = "sha256:8731189f6985b239a6c34a353c36b45cb3c9fed1c287fbcf7f61df9e4a7ac392"},
|
3677 |
+
{file = "websockets-11.0-pp38-pypy38_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:ee3aa7660ae0d3a4e47517bb5a545b9a02ff7b9632a640f617e755990ef65f66"},
|
3678 |
+
{file = "websockets-11.0-pp38-pypy38_pp73-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:027aabfd053715ce0f5f6fc5107e5093e05b3c94fa555fb65375aa09cb845a66"},
|
3679 |
+
{file = "websockets-11.0-pp38-pypy38_pp73-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:1e8c729aa179ef105f096cad12070aef230be9e2ae509eb47c3cdd9257213c14"},
|
3680 |
+
{file = "websockets-11.0-pp38-pypy38_pp73-win_amd64.whl", hash = "sha256:ff607c6e16409ac83f1ae59cc96167fead577bc652e8dff48f7458ce082372ff"},
|
3681 |
+
{file = "websockets-11.0-pp39-pypy39_pp73-macosx_10_9_x86_64.whl", hash = "sha256:ca3d7c08f472c40f28bb9fb99610d28dc97137612ab5308f80dac7ce79f87fe1"},
|
3682 |
+
{file = "websockets-11.0-pp39-pypy39_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:3f179deef8288dd8ec227d644ba5b711609093b634008643561f6d9c74938c3c"},
|
3683 |
+
{file = "websockets-11.0-pp39-pypy39_pp73-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:269d33f1573a31130da9afd63a2558f60131522d3fe86d0aa2d1612ad065d27c"},
|
3684 |
+
{file = "websockets-11.0-pp39-pypy39_pp73-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:eb0b306c1180d0268341447982b415aca7c072c84b4a59688dbc1d7d2ec25df9"},
|
3685 |
+
{file = "websockets-11.0-pp39-pypy39_pp73-win_amd64.whl", hash = "sha256:6ae209f11e433575e17d5d6e61a2f77ceda53b4bce07df55af614aa1d618e2e7"},
|
3686 |
+
{file = "websockets-11.0-py3-none-any.whl", hash = "sha256:6ebd971b9b2c0aaa2188c472016e4dad93108b3db425a33ad584bdc41b22026d"},
|
3687 |
+
{file = "websockets-11.0.tar.gz", hash = "sha256:19d638549c470f5fd3b67b52b2a08f2edba5a04e05323a706937e35f5f19d056"},
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
3688 |
]
|
3689 |
|
|
|
|
|
|
|
|
|
|
|
|
|
3690 |
[[package]]
|
3691 |
name = "wheel"
|
3692 |
version = "0.40.0"
|
|
|
3894 |
[metadata]
|
3895 |
lock-version = "2.0"
|
3896 |
python-versions = ">=3.8,<3.11"
|
3897 |
+
content-hash = "cebae9adbf845433c1a6de1af62a021ecc2c54a22d04aebee7c7959b63511c36"
|
pyproject.toml
CHANGED
@@ -21,12 +21,7 @@ ray = {extras = ["rllib"], version = "^2.2.0"}
|
|
21 |
pettingzoo = "^1.22.4"
|
22 |
pygame = "^2.3.0"
|
23 |
torch = "^2.0.0"
|
24 |
-
libclang = "15.0.6.1"
|
25 |
-
tensorflow-probability = "^0.19.0"
|
26 |
-
protobuf = "3.19.6"
|
27 |
scipy = ">=1.8,<1.9.2"
|
28 |
-
onnx = "1.12.0"
|
29 |
-
tensorboard = "^2.12.0"
|
30 |
onnxruntime = "^1.14.1"
|
31 |
|
32 |
[tool.poetry.dev-dependencies]
|
|
|
21 |
pettingzoo = "^1.22.4"
|
22 |
pygame = "^2.3.0"
|
23 |
torch = "^2.0.0"
|
|
|
|
|
|
|
24 |
scipy = ">=1.8,<1.9.2"
|
|
|
|
|
25 |
onnxruntime = "^1.14.1"
|
26 |
|
27 |
[tool.poetry.dev-dependencies]
|
requirements.txt
CHANGED
@@ -1,4 +1,3 @@
|
|
1 |
-
absl-py==1.4.0 ; python_version >= "3.8" and python_version < "3.11"
|
2 |
aiofiles==23.1.0 ; python_version >= "3.8" and python_version < "3.11"
|
3 |
aiohttp==3.8.4 ; python_version >= "3.8" and python_version < "3.11"
|
4 |
aiosignal==1.3.1 ; python_version >= "3.8" and python_version < "3.11"
|
@@ -12,20 +11,21 @@ click==8.1.3 ; python_version >= "3.8" and python_version < "3.11"
|
|
12 |
cloudpickle==2.2.1 ; python_version >= "3.8" and python_version < "3.11"
|
13 |
cmake==3.26.1 ; platform_system == "Linux" and platform_machine == "x86_64" and python_version >= "3.8" and python_version < "3.11"
|
14 |
colorama==0.4.6 ; python_version >= "3.8" and python_version < "3.11" and platform_system == "Windows"
|
|
|
15 |
contourpy==1.0.7 ; python_version >= "3.8" and python_version < "3.11"
|
16 |
cycler==0.11.0 ; python_version >= "3.8" and python_version < "3.11"
|
17 |
-
decorator==5.1.1 ; python_version >= "3.8" and python_version < "3.11"
|
18 |
distlib==0.3.6 ; python_version >= "3.8" and python_version < "3.11"
|
19 |
dm-tree==0.1.8 ; python_version >= "3.8" and python_version < "3.11"
|
20 |
entrypoints==0.4 ; python_version >= "3.8" and python_version < "3.11"
|
21 |
fastapi==0.95.0 ; python_version >= "3.8" and python_version < "3.11"
|
22 |
ffmpy==0.3.0 ; python_version >= "3.8" and python_version < "3.11"
|
23 |
filelock==3.10.7 ; python_version >= "3.8" and python_version < "3.11"
|
|
|
24 |
fonttools==4.39.3 ; python_version >= "3.8" and python_version < "3.11"
|
25 |
frozenlist==1.3.3 ; python_version >= "3.8" and python_version < "3.11"
|
26 |
fsspec==2023.3.0 ; python_version >= "3.8" and python_version < "3.11"
|
27 |
-
|
28 |
-
gradio==3.
|
29 |
grpcio==1.49.1 ; python_version >= "3.8" and python_version < "3.11" and sys_platform == "darwin"
|
30 |
grpcio==1.53.0 ; python_version >= "3.8" and python_version < "3.11" and sys_platform != "darwin"
|
31 |
gymnasium-notices==0.0.1 ; python_version >= "3.8" and python_version < "3.11"
|
@@ -34,6 +34,7 @@ h11==0.14.0 ; python_version >= "3.8" and python_version < "3.11"
|
|
34 |
httpcore==0.16.3 ; python_version >= "3.8" and python_version < "3.11"
|
35 |
httpx==0.23.3 ; python_version >= "3.8" and python_version < "3.11"
|
36 |
huggingface-hub==0.13.3 ; python_version >= "3.8" and python_version < "3.11"
|
|
|
37 |
idna==3.4 ; python_version >= "3.8" and python_version < "3.11"
|
38 |
imageio==2.27.0 ; python_version >= "3.8" and python_version < "3.11"
|
39 |
importlib-metadata==6.1.0 ; python_version >= "3.8" and python_version < "3.10"
|
@@ -42,7 +43,6 @@ jinja2==3.1.2 ; python_version >= "3.8" and python_version < "3.11"
|
|
42 |
jsonschema==4.17.3 ; python_version >= "3.8" and python_version < "3.11"
|
43 |
kiwisolver==1.4.4 ; python_version >= "3.8" and python_version < "3.11"
|
44 |
lazy-loader==0.2 ; python_version >= "3.8" and python_version < "3.11"
|
45 |
-
libclang==15.0.6.1 ; python_version >= "3.8" and python_version < "3.11"
|
46 |
linkify-it-py==2.0.0 ; python_version >= "3.8" and python_version < "3.11"
|
47 |
lit==16.0.0 ; platform_system == "Linux" and platform_machine == "x86_64" and python_version >= "3.8" and python_version < "3.11"
|
48 |
lz4==4.3.2 ; python_version >= "3.8" and python_version < "3.11"
|
@@ -68,19 +68,21 @@ nvidia-cusolver-cu11==11.4.0.1 ; platform_system == "Linux" and platform_machine
|
|
68 |
nvidia-cusparse-cu11==11.7.4.91 ; platform_system == "Linux" and platform_machine == "x86_64" and python_version >= "3.8" and python_version < "3.11"
|
69 |
nvidia-nccl-cu11==2.14.3 ; platform_system == "Linux" and platform_machine == "x86_64" and python_version >= "3.8" and python_version < "3.11"
|
70 |
nvidia-nvtx-cu11==11.7.91 ; platform_system == "Linux" and platform_machine == "x86_64" and python_version >= "3.8" and python_version < "3.11"
|
|
|
71 |
orjson==3.8.8 ; python_version >= "3.8" and python_version < "3.11"
|
72 |
packaging==23.0 ; python_version < "3.11" and python_version >= "3.8"
|
73 |
-
pandas==
|
74 |
pettingzoo==1.22.4 ; python_version >= "3.8" and python_version < "3.11"
|
75 |
-
pillow==9.
|
76 |
pkgutil-resolve-name==1.3.10 ; python_version >= "3.8" and python_version < "3.9"
|
77 |
platformdirs==3.2.0 ; python_version >= "3.8" and python_version < "3.11"
|
78 |
-
protobuf==
|
79 |
pydantic==1.10.7 ; python_version >= "3.8" and python_version < "3.11"
|
80 |
pydub==0.25.1 ; python_version >= "3.8" and python_version < "3.11"
|
81 |
pygame==2.3.0 ; python_version >= "3.8" and python_version < "3.11"
|
82 |
pygments==2.14.0 ; python_version >= "3.8" and python_version < "3.11"
|
83 |
pyparsing==3.0.9 ; python_version >= "3.8" and python_version < "3.11"
|
|
|
84 |
pyrsistent==0.19.3 ; python_version >= "3.8" and python_version < "3.11"
|
85 |
python-dateutil==2.8.2 ; python_version >= "3.8" and python_version < "3.11"
|
86 |
python-multipart==0.0.6 ; python_version >= "3.8" and python_version < "3.11"
|
@@ -95,13 +97,12 @@ scikit-image==0.20.0 ; python_version >= "3.8" and python_version < "3.11"
|
|
95 |
scipy==1.9.1 ; python_version < "3.11" and python_version >= "3.8"
|
96 |
semantic-version==2.10.0 ; python_version >= "3.8" and python_version < "3.11"
|
97 |
setuptools==67.6.1 ; platform_system == "Linux" and platform_machine == "x86_64" and python_version >= "3.8" and python_version < "3.11"
|
98 |
-
six==1.16.0 ; python_version
|
99 |
sniffio==1.3.0 ; python_version >= "3.8" and python_version < "3.11"
|
100 |
starlette==0.26.1 ; python_version >= "3.8" and python_version < "3.11"
|
101 |
sympy==1.11.1 ; python_version >= "3.8" and python_version < "3.11"
|
102 |
tabulate==0.9.0 ; python_version >= "3.8" and python_version < "3.11"
|
103 |
-
tensorboardx==2.
|
104 |
-
tensorflow-probability==0.19.0 ; python_version >= "3.8" and python_version < "3.11"
|
105 |
tifffile==2023.3.21 ; python_version >= "3.8" and python_version < "3.11"
|
106 |
toolz==0.12.0 ; python_version >= "3.8" and python_version < "3.11"
|
107 |
torch==2.0.0 ; python_version >= "3.8" and python_version < "3.11"
|
@@ -109,11 +110,12 @@ tqdm==4.65.0 ; python_version >= "3.8" and python_version < "3.11"
|
|
109 |
triton==2.0.0 ; platform_system == "Linux" and platform_machine == "x86_64" and python_version >= "3.8" and python_version < "3.11"
|
110 |
typer==0.7.0 ; python_version >= "3.8" and python_version < "3.11"
|
111 |
typing-extensions==4.5.0 ; python_version >= "3.8" and python_version < "3.11"
|
|
|
112 |
uc-micro-py==1.0.1 ; python_version >= "3.8" and python_version < "3.11"
|
113 |
urllib3==1.26.15 ; python_version >= "3.8" and python_version < "3.11"
|
114 |
uvicorn==0.21.1 ; python_version >= "3.8" and python_version < "3.11"
|
115 |
virtualenv==20.21.0 ; python_version >= "3.8" and python_version < "3.11"
|
116 |
-
websockets==
|
117 |
wheel==0.40.0 ; platform_system == "Linux" and platform_machine == "x86_64" and python_version >= "3.8" and python_version < "3.11"
|
118 |
yarl==1.8.2 ; python_version >= "3.8" and python_version < "3.11"
|
119 |
zipp==3.15.0 ; python_version >= "3.8" and python_version < "3.10"
|
|
|
|
|
1 |
aiofiles==23.1.0 ; python_version >= "3.8" and python_version < "3.11"
|
2 |
aiohttp==3.8.4 ; python_version >= "3.8" and python_version < "3.11"
|
3 |
aiosignal==1.3.1 ; python_version >= "3.8" and python_version < "3.11"
|
|
|
11 |
cloudpickle==2.2.1 ; python_version >= "3.8" and python_version < "3.11"
|
12 |
cmake==3.26.1 ; platform_system == "Linux" and platform_machine == "x86_64" and python_version >= "3.8" and python_version < "3.11"
|
13 |
colorama==0.4.6 ; python_version >= "3.8" and python_version < "3.11" and platform_system == "Windows"
|
14 |
+
coloredlogs==15.0.1 ; python_version >= "3.8" and python_version < "3.11"
|
15 |
contourpy==1.0.7 ; python_version >= "3.8" and python_version < "3.11"
|
16 |
cycler==0.11.0 ; python_version >= "3.8" and python_version < "3.11"
|
|
|
17 |
distlib==0.3.6 ; python_version >= "3.8" and python_version < "3.11"
|
18 |
dm-tree==0.1.8 ; python_version >= "3.8" and python_version < "3.11"
|
19 |
entrypoints==0.4 ; python_version >= "3.8" and python_version < "3.11"
|
20 |
fastapi==0.95.0 ; python_version >= "3.8" and python_version < "3.11"
|
21 |
ffmpy==0.3.0 ; python_version >= "3.8" and python_version < "3.11"
|
22 |
filelock==3.10.7 ; python_version >= "3.8" and python_version < "3.11"
|
23 |
+
flatbuffers==23.3.3 ; python_version >= "3.8" and python_version < "3.11"
|
24 |
fonttools==4.39.3 ; python_version >= "3.8" and python_version < "3.11"
|
25 |
frozenlist==1.3.3 ; python_version >= "3.8" and python_version < "3.11"
|
26 |
fsspec==2023.3.0 ; python_version >= "3.8" and python_version < "3.11"
|
27 |
+
gradio-client==0.0.5 ; python_version >= "3.8" and python_version < "3.11"
|
28 |
+
gradio==3.24.1 ; python_version >= "3.8" and python_version < "3.11"
|
29 |
grpcio==1.49.1 ; python_version >= "3.8" and python_version < "3.11" and sys_platform == "darwin"
|
30 |
grpcio==1.53.0 ; python_version >= "3.8" and python_version < "3.11" and sys_platform != "darwin"
|
31 |
gymnasium-notices==0.0.1 ; python_version >= "3.8" and python_version < "3.11"
|
|
|
34 |
httpcore==0.16.3 ; python_version >= "3.8" and python_version < "3.11"
|
35 |
httpx==0.23.3 ; python_version >= "3.8" and python_version < "3.11"
|
36 |
huggingface-hub==0.13.3 ; python_version >= "3.8" and python_version < "3.11"
|
37 |
+
humanfriendly==10.0 ; python_version >= "3.8" and python_version < "3.11"
|
38 |
idna==3.4 ; python_version >= "3.8" and python_version < "3.11"
|
39 |
imageio==2.27.0 ; python_version >= "3.8" and python_version < "3.11"
|
40 |
importlib-metadata==6.1.0 ; python_version >= "3.8" and python_version < "3.10"
|
|
|
43 |
jsonschema==4.17.3 ; python_version >= "3.8" and python_version < "3.11"
|
44 |
kiwisolver==1.4.4 ; python_version >= "3.8" and python_version < "3.11"
|
45 |
lazy-loader==0.2 ; python_version >= "3.8" and python_version < "3.11"
|
|
|
46 |
linkify-it-py==2.0.0 ; python_version >= "3.8" and python_version < "3.11"
|
47 |
lit==16.0.0 ; platform_system == "Linux" and platform_machine == "x86_64" and python_version >= "3.8" and python_version < "3.11"
|
48 |
lz4==4.3.2 ; python_version >= "3.8" and python_version < "3.11"
|
|
|
68 |
nvidia-cusparse-cu11==11.7.4.91 ; platform_system == "Linux" and platform_machine == "x86_64" and python_version >= "3.8" and python_version < "3.11"
|
69 |
nvidia-nccl-cu11==2.14.3 ; platform_system == "Linux" and platform_machine == "x86_64" and python_version >= "3.8" and python_version < "3.11"
|
70 |
nvidia-nvtx-cu11==11.7.91 ; platform_system == "Linux" and platform_machine == "x86_64" and python_version >= "3.8" and python_version < "3.11"
|
71 |
+
onnxruntime==1.14.1 ; python_version >= "3.8" and python_version < "3.11"
|
72 |
orjson==3.8.8 ; python_version >= "3.8" and python_version < "3.11"
|
73 |
packaging==23.0 ; python_version < "3.11" and python_version >= "3.8"
|
74 |
+
pandas==2.0.0 ; python_version >= "3.8" and python_version < "3.11"
|
75 |
pettingzoo==1.22.4 ; python_version >= "3.8" and python_version < "3.11"
|
76 |
+
pillow==9.5.0 ; python_version >= "3.8" and python_version < "3.11"
|
77 |
pkgutil-resolve-name==1.3.10 ; python_version >= "3.8" and python_version < "3.9"
|
78 |
platformdirs==3.2.0 ; python_version >= "3.8" and python_version < "3.11"
|
79 |
+
protobuf==4.22.1 ; python_version >= "3.8" and python_version < "3.11"
|
80 |
pydantic==1.10.7 ; python_version >= "3.8" and python_version < "3.11"
|
81 |
pydub==0.25.1 ; python_version >= "3.8" and python_version < "3.11"
|
82 |
pygame==2.3.0 ; python_version >= "3.8" and python_version < "3.11"
|
83 |
pygments==2.14.0 ; python_version >= "3.8" and python_version < "3.11"
|
84 |
pyparsing==3.0.9 ; python_version >= "3.8" and python_version < "3.11"
|
85 |
+
pyreadline3==3.4.1 ; sys_platform == "win32" and python_version >= "3.8" and python_version < "3.11"
|
86 |
pyrsistent==0.19.3 ; python_version >= "3.8" and python_version < "3.11"
|
87 |
python-dateutil==2.8.2 ; python_version >= "3.8" and python_version < "3.11"
|
88 |
python-multipart==0.0.6 ; python_version >= "3.8" and python_version < "3.11"
|
|
|
97 |
scipy==1.9.1 ; python_version < "3.11" and python_version >= "3.8"
|
98 |
semantic-version==2.10.0 ; python_version >= "3.8" and python_version < "3.11"
|
99 |
setuptools==67.6.1 ; platform_system == "Linux" and platform_machine == "x86_64" and python_version >= "3.8" and python_version < "3.11"
|
100 |
+
six==1.16.0 ; python_version >= "3.8" and python_version < "3.11"
|
101 |
sniffio==1.3.0 ; python_version >= "3.8" and python_version < "3.11"
|
102 |
starlette==0.26.1 ; python_version >= "3.8" and python_version < "3.11"
|
103 |
sympy==1.11.1 ; python_version >= "3.8" and python_version < "3.11"
|
104 |
tabulate==0.9.0 ; python_version >= "3.8" and python_version < "3.11"
|
105 |
+
tensorboardx==2.5 ; python_version >= "3.8" and python_version < "3.11"
|
|
|
106 |
tifffile==2023.3.21 ; python_version >= "3.8" and python_version < "3.11"
|
107 |
toolz==0.12.0 ; python_version >= "3.8" and python_version < "3.11"
|
108 |
torch==2.0.0 ; python_version >= "3.8" and python_version < "3.11"
|
|
|
110 |
triton==2.0.0 ; platform_system == "Linux" and platform_machine == "x86_64" and python_version >= "3.8" and python_version < "3.11"
|
111 |
typer==0.7.0 ; python_version >= "3.8" and python_version < "3.11"
|
112 |
typing-extensions==4.5.0 ; python_version >= "3.8" and python_version < "3.11"
|
113 |
+
tzdata==2023.3 ; python_version >= "3.8" and python_version < "3.11"
|
114 |
uc-micro-py==1.0.1 ; python_version >= "3.8" and python_version < "3.11"
|
115 |
urllib3==1.26.15 ; python_version >= "3.8" and python_version < "3.11"
|
116 |
uvicorn==0.21.1 ; python_version >= "3.8" and python_version < "3.11"
|
117 |
virtualenv==20.21.0 ; python_version >= "3.8" and python_version < "3.11"
|
118 |
+
websockets==11.0 ; python_version >= "3.8" and python_version < "3.11"
|
119 |
wheel==0.40.0 ; platform_system == "Linux" and platform_machine == "x86_64" and python_version >= "3.8" and python_version < "3.11"
|
120 |
yarl==1.8.2 ; python_version >= "3.8" and python_version < "3.11"
|
121 |
zipp==3.15.0 ; python_version >= "3.8" and python_version < "3.10"
|