blue-assistant 4.53.1__py3-none-any.whl → 4.66.1__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- blue_assistant/README.py +13 -10
- blue_assistant/__init__.py +1 -1
- blue_assistant/config.env +3 -1
- blue_assistant/env.py +8 -2
- blue_assistant/script/__main__.py +3 -2
- blue_assistant/script/actions/__init__.py +1 -27
- blue_assistant/script/actions/functions.py +48 -0
- blue_assistant/script/actions/generate_image.py +8 -8
- blue_assistant/script/actions/generate_text.py +81 -9
- blue_assistant/script/actions/generic.py +14 -5
- blue_assistant/script/load.py +18 -8
- blue_assistant/script/repository/__init__.py +1 -1
- blue_assistant/script/repository/generic/classes.py +36 -71
- {blue_assistant-4.53.1.dist-info → blue_assistant-4.66.1.dist-info}/METADATA +6 -2
- {blue_assistant-4.53.1.dist-info → blue_assistant-4.66.1.dist-info}/RECORD +18 -17
- {blue_assistant-4.53.1.dist-info → blue_assistant-4.66.1.dist-info}/LICENSE +0 -0
- {blue_assistant-4.53.1.dist-info → blue_assistant-4.66.1.dist-info}/WHEEL +0 -0
- {blue_assistant-4.53.1.dist-info → blue_assistant-4.66.1.dist-info}/top_level.txt +0 -0
blue_assistant/README.py
CHANGED
@@ -17,14 +17,17 @@ items = [
|
|
17
17
|
|
18
18
|
|
19
19
|
def build():
|
20
|
-
return
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
|
20
|
+
return all(
|
21
|
+
README.build(
|
22
|
+
items=readme.get("items", []),
|
23
|
+
path=os.path.join(file.path(__file__), readme["path"]),
|
24
|
+
ICON=ICON,
|
25
|
+
NAME=NAME,
|
26
|
+
VERSION=VERSION,
|
27
|
+
REPO_NAME=REPO_NAME,
|
28
|
+
)
|
29
|
+
for readme in [
|
30
|
+
{"items": items, "path": ".."},
|
31
|
+
{"path": "docs/blue-amo-01.md"},
|
32
|
+
]
|
27
33
|
)
|
28
|
-
|
29
|
-
|
30
|
-
|
blue_assistant/__init__.py
CHANGED
blue_assistant/config.env
CHANGED
blue_assistant/env.py
CHANGED
@@ -5,7 +5,13 @@ load_env(__name__)
|
|
5
5
|
load_config(__name__)
|
6
6
|
|
7
7
|
|
8
|
-
|
9
|
-
"
|
8
|
+
BLUE_ASSISTANT_DEFAULT_MODEL = os.getenv(
|
9
|
+
"BLUE_ASSISTANT_DEFAULT_MODEL",
|
10
10
|
"",
|
11
11
|
)
|
12
|
+
|
13
|
+
BLUE_ASSISTANT_MAX_TOKEN_str = os.getenv("BLUE_ASSISTANT_MAX_TOKEN", "")
|
14
|
+
try:
|
15
|
+
BLUE_ASSISTANT_MAX_TOKEN = int(BLUE_ASSISTANT_MAX_TOKEN_str)
|
16
|
+
except Exception:
|
17
|
+
BLUE_ASSISTANT_MAX_TOKEN = 2000
|
@@ -28,7 +28,7 @@ parser.add_argument(
|
|
28
28
|
parser.add_argument(
|
29
29
|
"--verbose",
|
30
30
|
type=int,
|
31
|
-
default=
|
31
|
+
default=1,
|
32
32
|
help="0 | 1",
|
33
33
|
)
|
34
34
|
parser.add_argument(
|
@@ -58,11 +58,12 @@ if args.task == "list":
|
|
58
58
|
elif args.task == "run":
|
59
59
|
success, script = load_script(
|
60
60
|
script_name=args.script_name,
|
61
|
+
object_name=args.object_name,
|
61
62
|
verbose=args.verbose == 1,
|
62
63
|
)
|
63
64
|
|
64
65
|
if success:
|
65
|
-
success = script.run(
|
66
|
+
success = script.run()
|
66
67
|
else:
|
67
68
|
success = None
|
68
69
|
|
@@ -1,4 +1,4 @@
|
|
1
|
-
from typing import List
|
1
|
+
from typing import List
|
2
2
|
|
3
3
|
from blue_assistant.script.actions.generic import GenericAction
|
4
4
|
from blue_assistant.script.actions.generate_image import GenerateImageAction
|
@@ -12,29 +12,3 @@ list_of_actions: List[GenericAction] = [
|
|
12
12
|
GenerateTextAction,
|
13
13
|
WorkInProgressAction,
|
14
14
|
]
|
15
|
-
|
16
|
-
|
17
|
-
def get_action_class(
|
18
|
-
action_name: str,
|
19
|
-
) -> Tuple[bool, Type[GenericAction]]:
|
20
|
-
for action_class in list_of_actions:
|
21
|
-
if action_class.name == action_name:
|
22
|
-
return True, action_class
|
23
|
-
|
24
|
-
logger.error(f"{action_name}: action not found.")
|
25
|
-
return False, GenericAction
|
26
|
-
|
27
|
-
|
28
|
-
def perform_action(
|
29
|
-
action_name: str,
|
30
|
-
node: Dict,
|
31
|
-
) -> Tuple[bool, Dict]:
|
32
|
-
success, action_class = get_action_class(action_name=action_name)
|
33
|
-
if not success:
|
34
|
-
return False, {
|
35
|
-
"error": f"{action_name}: action not found.",
|
36
|
-
}
|
37
|
-
|
38
|
-
action_object = action_class(node=node)
|
39
|
-
|
40
|
-
return action_object.perform()
|
@@ -0,0 +1,48 @@
|
|
1
|
+
from typing import List, Dict, Tuple, Type
|
2
|
+
|
3
|
+
from blueness import module
|
4
|
+
from blue_assistant.script.actions.generic import GenericAction
|
5
|
+
from blue_assistant.script.repository.base.classes import BaseScript
|
6
|
+
from blue_assistant.script.actions import list_of_actions
|
7
|
+
|
8
|
+
from blue_assistant import NAME
|
9
|
+
from blue_assistant.logger import logger
|
10
|
+
|
11
|
+
NAME = module.name(__file__, NAME)
|
12
|
+
|
13
|
+
|
14
|
+
def get_action_class(
|
15
|
+
action_name: str,
|
16
|
+
) -> Tuple[bool, Type[GenericAction]]:
|
17
|
+
for action_class in list_of_actions:
|
18
|
+
if action_class.name == action_name:
|
19
|
+
return True, action_class
|
20
|
+
|
21
|
+
logger.error(f"{action_name}: action not found.")
|
22
|
+
return False, GenericAction
|
23
|
+
|
24
|
+
|
25
|
+
def perform_action(
|
26
|
+
script: BaseScript,
|
27
|
+
node_name: str,
|
28
|
+
) -> bool:
|
29
|
+
action_name = script.nodes[node_name].get("action", "unknown")
|
30
|
+
|
31
|
+
success, action_class = get_action_class(action_name=action_name)
|
32
|
+
if not success:
|
33
|
+
return success
|
34
|
+
|
35
|
+
logger.info(
|
36
|
+
"{}.perform_action: {} == {} on {}".format(
|
37
|
+
NAME,
|
38
|
+
action_name,
|
39
|
+
action_class.__name__,
|
40
|
+
node_name,
|
41
|
+
)
|
42
|
+
)
|
43
|
+
|
44
|
+
action_object = action_class(
|
45
|
+
script=script,
|
46
|
+
)
|
47
|
+
|
48
|
+
return action_object.perform(node_name=node_name)
|
@@ -9,13 +9,13 @@ from blue_assistant.logger import logger
|
|
9
9
|
class GenerateImageAction(GenericAction):
|
10
10
|
name = file.name(__file__)
|
11
11
|
|
12
|
-
def perform(
|
13
|
-
|
14
|
-
|
15
|
-
|
12
|
+
def perform(
|
13
|
+
self,
|
14
|
+
node_name: str,
|
15
|
+
) -> bool:
|
16
|
+
if not super().perform(node_name=node_name):
|
17
|
+
return False
|
16
18
|
|
17
|
-
logger.info(f"🪄 generating image ...: {
|
18
|
-
metadata = {}
|
19
|
+
logger.info(f"🪄 generating image ...: {node_name}")
|
19
20
|
|
20
|
-
|
21
|
-
return True, metadata
|
21
|
+
return True
|
@@ -1,21 +1,93 @@
|
|
1
|
-
from typing import Dict, Tuple
|
1
|
+
from typing import Dict, Tuple, List
|
2
|
+
from openai import OpenAI
|
3
|
+
import pprint
|
2
4
|
|
5
|
+
from blueness import module
|
3
6
|
from blue_objects import file
|
7
|
+
from openai_commands.env import OPENAI_API_KEY
|
4
8
|
|
9
|
+
from blue_assistant import NAME
|
10
|
+
from blue_assistant.env import BLUE_ASSISTANT_DEFAULT_MODEL, BLUE_ASSISTANT_MAX_TOKEN
|
5
11
|
from blue_assistant.script.actions.generic import GenericAction
|
6
12
|
from blue_assistant.logger import logger
|
7
13
|
|
14
|
+
NAME = module.name(__file__, NAME)
|
15
|
+
|
8
16
|
|
9
17
|
class GenerateTextAction(GenericAction):
|
10
18
|
name = file.name(__file__)
|
11
19
|
|
12
|
-
def perform(
|
13
|
-
|
14
|
-
|
15
|
-
|
20
|
+
def perform(
|
21
|
+
self,
|
22
|
+
node_name: str,
|
23
|
+
) -> bool:
|
24
|
+
if not OPENAI_API_KEY:
|
25
|
+
logger.error("OPENAI_API_KEY is not set.")
|
26
|
+
return False
|
27
|
+
|
28
|
+
if not super().perform(node_name=node_name):
|
29
|
+
return False
|
30
|
+
|
31
|
+
messages: List = []
|
32
|
+
node_history = self.script.get_history(node_name)
|
33
|
+
logger.info("node history: {}".format(node_history))
|
34
|
+
for successor in reversed(node_history):
|
35
|
+
messages += [
|
36
|
+
{
|
37
|
+
"role": "user",
|
38
|
+
"content": [
|
39
|
+
{
|
40
|
+
"type": "text",
|
41
|
+
"text": self.script.apply_vars(
|
42
|
+
self.script.nodes[successor]["prompt"]
|
43
|
+
),
|
44
|
+
}
|
45
|
+
],
|
46
|
+
}
|
47
|
+
]
|
48
|
+
|
49
|
+
if self.script.G.nodes[successor]["completed"]:
|
50
|
+
messages += [
|
51
|
+
{
|
52
|
+
"role": "assistant",
|
53
|
+
"content": [
|
54
|
+
{
|
55
|
+
"type": "text",
|
56
|
+
"text": self.script.nodes[successor]["output"],
|
57
|
+
}
|
58
|
+
],
|
59
|
+
}
|
60
|
+
]
|
61
|
+
|
62
|
+
if self.script.verbose:
|
63
|
+
logger.info(f"messages: {pprint.pformat(messages)}")
|
64
|
+
|
65
|
+
client = OpenAI(api_key=OPENAI_API_KEY)
|
66
|
+
|
67
|
+
try:
|
68
|
+
response = client.chat.completions.create(
|
69
|
+
messages=messages,
|
70
|
+
model=BLUE_ASSISTANT_DEFAULT_MODEL,
|
71
|
+
max_tokens=BLUE_ASSISTANT_MAX_TOKEN,
|
72
|
+
)
|
73
|
+
except Exception as e:
|
74
|
+
logger.error(str(e))
|
75
|
+
return False
|
76
|
+
|
77
|
+
if self.script.verbose:
|
78
|
+
logger.info("response: {}".format(response))
|
79
|
+
|
80
|
+
if not response.choices:
|
81
|
+
logger.error("no choice.")
|
82
|
+
return False
|
83
|
+
|
84
|
+
output = response.choices[0].message.content
|
85
|
+
logger.info(f"🗣️ output: {output}")
|
86
|
+
|
87
|
+
self.script.G.nodes[node_name]["output"] = output
|
16
88
|
|
17
|
-
|
18
|
-
|
89
|
+
var_name = self.script.nodes[node_name].get("output", "")
|
90
|
+
if var_name:
|
91
|
+
self.script.vars[var_name] = output
|
19
92
|
|
20
|
-
|
21
|
-
return True, metadata
|
93
|
+
return True
|
@@ -4,6 +4,7 @@ from blueness import module
|
|
4
4
|
from blue_objects import file
|
5
5
|
|
6
6
|
from blue_assistant import NAME
|
7
|
+
from blue_assistant.script.repository.base.classes import BaseScript
|
7
8
|
from blue_assistant.logger import logger
|
8
9
|
|
9
10
|
NAME = module.name(__file__, NAME)
|
@@ -12,14 +13,22 @@ NAME = module.name(__file__, NAME)
|
|
12
13
|
class GenericAction:
|
13
14
|
name = file.name(__file__)
|
14
15
|
|
15
|
-
def __init__(
|
16
|
-
self
|
16
|
+
def __init__(
|
17
|
+
self,
|
18
|
+
script: BaseScript,
|
19
|
+
):
|
20
|
+
self.script = script
|
17
21
|
|
18
|
-
def perform(
|
22
|
+
def perform(
|
23
|
+
self,
|
24
|
+
node_name: str,
|
25
|
+
) -> bool:
|
19
26
|
logger.info(
|
20
|
-
"{}.perform({}) ...".format(
|
27
|
+
"{}.perform({}) on {}.{} ...".format(
|
21
28
|
NAME,
|
22
29
|
self.__class__.__name__,
|
30
|
+
self.script.name,
|
31
|
+
node_name,
|
23
32
|
),
|
24
33
|
)
|
25
|
-
return True
|
34
|
+
return True
|
blue_assistant/script/load.py
CHANGED
@@ -1,17 +1,27 @@
|
|
1
|
-
from typing import Tuple
|
1
|
+
from typing import Tuple, Type
|
2
2
|
|
3
3
|
from blue_assistant.script.repository import list_of_script_classes
|
4
|
-
from blue_assistant.script.repository.
|
4
|
+
from blue_assistant.script.repository.base.classes import BaseScript
|
5
5
|
from blue_assistant.logger import logger
|
6
6
|
|
7
7
|
|
8
8
|
def load_script(
|
9
9
|
script_name: str,
|
10
|
+
object_name: str,
|
10
11
|
verbose: bool = False,
|
11
|
-
) -> Tuple[bool,
|
12
|
-
|
13
|
-
|
14
|
-
|
12
|
+
) -> Tuple[bool, BaseScript]:
|
13
|
+
found: bool = False
|
14
|
+
script_class: Type[BaseScript] = BaseScript
|
15
|
+
for script_class_option in list_of_script_classes:
|
16
|
+
if script_class_option.name == script_name:
|
17
|
+
found = True
|
18
|
+
script_class = script_class_option
|
19
|
+
break
|
15
20
|
|
16
|
-
|
17
|
-
|
21
|
+
if not found:
|
22
|
+
logger.error(f"{script_name}: script not found.")
|
23
|
+
|
24
|
+
return found, script_class(
|
25
|
+
object_name=object_name,
|
26
|
+
verbose=verbose,
|
27
|
+
)
|
@@ -1,6 +1,6 @@
|
|
1
1
|
from typing import List, Type
|
2
2
|
|
3
|
-
from blue_assistant.script.repository.generic import GenericScript
|
3
|
+
from blue_assistant.script.repository.generic.classes import GenericScript
|
4
4
|
from blue_assistant.script.repository.blue_amo.classes import BlueAmoScript
|
5
5
|
from blue_assistant.script.repository.hue.classes import HueScript
|
6
6
|
from blue_assistant.script.repository.moon_datasets.classes import MiningOnMoonScript
|
@@ -8,94 +8,59 @@ from blue_objects import file, path
|
|
8
8
|
from blue_objects.metadata import post_to_object
|
9
9
|
|
10
10
|
from blue_assistant import NAME
|
11
|
-
from blue_assistant.script.
|
11
|
+
from blue_assistant.script.repository.base.classes import BaseScript
|
12
|
+
from blue_assistant.script.actions.functions import perform_action
|
12
13
|
from blue_assistant.logger import logger
|
13
14
|
|
14
15
|
|
15
16
|
NAME = module.name(__file__, NAME)
|
16
17
|
|
17
18
|
|
18
|
-
class GenericScript:
|
19
|
+
class GenericScript(BaseScript):
|
19
20
|
name = path.name(file.path(__file__))
|
20
21
|
|
21
|
-
def __init__(
|
22
|
-
self,
|
23
|
-
verbose: bool = False,
|
24
|
-
):
|
25
|
-
self.verbose = verbose
|
26
|
-
|
27
|
-
metadata_filename = os.path.join(
|
28
|
-
file.path(__file__),
|
29
|
-
f"../{self.name}",
|
30
|
-
"metadata.yaml",
|
31
|
-
)
|
32
|
-
self.metadata: Dict
|
33
|
-
success, self.metadata = file.load_yaml(metadata_filename)
|
34
|
-
assert success, f"cannot load {self.name}/metadata.yaml"
|
35
|
-
|
36
|
-
logger.info("loaded {} node(s)".format(len(self.nodes)))
|
37
|
-
|
38
|
-
logger.info("loaded {} variable(s)".format(len(self.vars)))
|
39
|
-
if verbose:
|
40
|
-
for var_name, var_value in self.vars.items():
|
41
|
-
logger.info("{}: {}".format(var_name, var_value))
|
42
|
-
|
43
|
-
@property
|
44
|
-
def script(self) -> str:
|
45
|
-
return self.metadata.get("script", {})
|
46
|
-
|
47
|
-
@property
|
48
|
-
def nodes(self) -> str:
|
49
|
-
return self.metadata.get("script", {}).get("nodes", [])
|
50
|
-
|
51
|
-
@property
|
52
|
-
def vars(self) -> str:
|
53
|
-
return self.metadata.get("script", {}).get("vars", {})
|
54
|
-
|
55
22
|
def run(
|
56
23
|
self,
|
57
|
-
object_name: str,
|
58
24
|
) -> bool:
|
59
|
-
|
60
|
-
"{}.run: {}:{} -> {}".format(
|
61
|
-
NAME,
|
62
|
-
self.__class__.__name__,
|
63
|
-
self.name,
|
64
|
-
object_name,
|
65
|
-
)
|
66
|
-
)
|
67
|
-
|
68
|
-
if not post_to_object(
|
69
|
-
object_name,
|
70
|
-
"script",
|
71
|
-
self.script,
|
72
|
-
):
|
25
|
+
if not super().run():
|
73
26
|
return False
|
74
27
|
|
75
28
|
metadata: Dict[Dict] = {"nodes": {}}
|
76
29
|
success: bool = True
|
77
|
-
|
78
|
-
|
79
|
-
|
80
|
-
|
81
|
-
|
82
|
-
|
83
|
-
|
84
|
-
|
85
|
-
|
86
|
-
|
87
|
-
|
88
|
-
|
89
|
-
|
90
|
-
|
91
|
-
|
92
|
-
|
93
|
-
|
94
|
-
|
95
|
-
|
30
|
+
while (
|
31
|
+
not all(self.G.nodes[node]["completed"] for node in self.G.nodes)
|
32
|
+
and success
|
33
|
+
):
|
34
|
+
for node_name in tqdm(self.G.nodes):
|
35
|
+
if self.G.nodes[node_name]["completed"]:
|
36
|
+
continue
|
37
|
+
|
38
|
+
pending_dependencies = [
|
39
|
+
node_name_
|
40
|
+
for node_name_ in self.G.successors(node_name)
|
41
|
+
if not self.G.nodes[node_name_]["completed"]
|
42
|
+
]
|
43
|
+
if pending_dependencies:
|
44
|
+
logger.info(
|
45
|
+
'node "{}": {} pending dependenci(es): {}'.format(
|
46
|
+
node_name,
|
47
|
+
len(pending_dependencies),
|
48
|
+
", ".join(pending_dependencies),
|
49
|
+
)
|
50
|
+
)
|
51
|
+
continue
|
52
|
+
|
53
|
+
if not perform_action(
|
54
|
+
script=self,
|
55
|
+
node_name=node_name,
|
56
|
+
):
|
57
|
+
success = False
|
58
|
+
break
|
59
|
+
|
60
|
+
self.G.nodes[node_name]["completed"] = True
|
96
61
|
|
97
62
|
if not post_to_object(
|
98
|
-
object_name,
|
63
|
+
self.object_name,
|
99
64
|
"output",
|
100
65
|
metadata,
|
101
66
|
):
|
@@ -1,6 +1,6 @@
|
|
1
1
|
Metadata-Version: 2.2
|
2
2
|
Name: blue_assistant
|
3
|
-
Version: 4.
|
3
|
+
Version: 4.66.1
|
4
4
|
Summary: 🧠 An AI Assistant.
|
5
5
|
Home-page: https://github.com/kamangir/blue-assistant
|
6
6
|
Author: Arash Abadpour (Kamangir)
|
@@ -16,7 +16,9 @@ Requires-Dist: blueness
|
|
16
16
|
Requires-Dist: blue-options
|
17
17
|
Requires-Dist: abcli
|
18
18
|
Requires-Dist: openai_commands
|
19
|
+
Requires-Dist: blueflow
|
19
20
|
Requires-Dist: boto3
|
21
|
+
Requires-Dist: openai
|
20
22
|
Requires-Dist: geojson
|
21
23
|
Requires-Dist: geopandas
|
22
24
|
Requires-Dist: matplotlib
|
@@ -28,6 +30,8 @@ Requires-Dist: pylint
|
|
28
30
|
Requires-Dist: pytest
|
29
31
|
Requires-Dist: python-dotenv[cli]
|
30
32
|
Requires-Dist: tqdm
|
33
|
+
Requires-Dist: networkx
|
34
|
+
Requires-Dist: pydot
|
31
35
|
Dynamic: author
|
32
36
|
Dynamic: author-email
|
33
37
|
Dynamic: classifier
|
@@ -68,4 +72,4 @@ graph LR
|
|
68
72
|
|
69
73
|
[](https://github.com/kamangir/blue-assistant/actions/workflows/pylint.yml) [](https://github.com/kamangir/blue-assistant/actions/workflows/pytest.yml) [](https://github.com/kamangir/blue-assistant/actions/workflows/bashtest.yml) [](https://pypi.org/project/blue-assistant/) [](https://pypistats.org/packages/blue-assistant)
|
70
74
|
|
71
|
-
built by 🌀 [`blue_options-4.207.1`](https://github.com/kamangir/awesome-bash-cli), based on 🧠 [`blue_assistant-4.
|
75
|
+
built by 🌀 [`blue_options-4.207.1`](https://github.com/kamangir/awesome-bash-cli), based on 🧠 [`blue_assistant-4.66.1`](https://github.com/kamangir/blue-assistant).
|
@@ -1,8 +1,8 @@
|
|
1
|
-
blue_assistant/README.py,sha256=
|
2
|
-
blue_assistant/__init__.py,sha256=
|
1
|
+
blue_assistant/README.py,sha256=Nzr3v-VSa8CISkqkLHd8ILyY_WiJ7x2igYPH-lYpzEY,795
|
2
|
+
blue_assistant/__init__.py,sha256=0v_LdK6vN-oGFPitqPD_ntVE3VlcyYyrddqz4xbjDnM,310
|
3
3
|
blue_assistant/__main__.py,sha256=URtal70XZc0--3FDTYWcLtnGOqBYjMX9gt-L1k8hDXI,361
|
4
|
-
blue_assistant/config.env,sha256=
|
5
|
-
blue_assistant/env.py,sha256=
|
4
|
+
blue_assistant/config.env,sha256=JV9zx17FflIPmV1hK-yuM0GlrUjkGuaQ_EzPFPTkoXM,66
|
5
|
+
blue_assistant/env.py,sha256=rgIlKVsALrRD1sYJV3SkFfzIvWNavix2HN0sSy2cCi4,391
|
6
6
|
blue_assistant/functions.py,sha256=ajz1GSNU9xYVrFEDSz6Xwg7amWQ_yvW75tQa1ZvRIWc,3
|
7
7
|
blue_assistant/host.py,sha256=SapEe4s9J-7gV3F9JuWEmSfslCeWuJ5f7a-nFObFBrI,208
|
8
8
|
blue_assistant/logger.py,sha256=3MfsXwivdRfVPjAjqdQld3iOg9JB6olbACL8t8gIRgI,105
|
@@ -26,22 +26,23 @@ blue_assistant/help/__main__.py,sha256=cVejR7OpoWPg0qLbm-PZf5TuJS27x49jzfiyCLyzE
|
|
26
26
|
blue_assistant/help/functions.py,sha256=9WsmXGMN-R7sqlkGLK0nY90Peg8Gah4rIu75QbLhImo,689
|
27
27
|
blue_assistant/help/script.py,sha256=wvS_5FWu9LAsaDDq7UoxXEadRwGseYqwu2P-9dNc5Bo,1077
|
28
28
|
blue_assistant/script/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
29
|
-
blue_assistant/script/__main__.py,sha256=
|
30
|
-
blue_assistant/script/load.py,sha256=
|
31
|
-
blue_assistant/script/actions/__init__.py,sha256=
|
32
|
-
blue_assistant/script/actions/
|
33
|
-
blue_assistant/script/actions/
|
34
|
-
blue_assistant/script/actions/
|
29
|
+
blue_assistant/script/__main__.py,sha256=D5APoSVe-l5H0Nrgyq5do4cSbmRyYmflq1x_Dd5d1fM,1529
|
30
|
+
blue_assistant/script/load.py,sha256=Bd5L9HBL0Yh1MLGAyGrQX3XQLH-UiOWLsHJvzCmNs3g,773
|
31
|
+
blue_assistant/script/actions/__init__.py,sha256=8Sp6avoJGDXVORvx5mvkxTNaxjz_KevKN4Wb8qLZHsQ,487
|
32
|
+
blue_assistant/script/actions/functions.py,sha256=0fiihOWbFiwZEXV6t9oxJaxJ5E5X-k3weqGTOKTu3sA,1233
|
33
|
+
blue_assistant/script/actions/generate_image.py,sha256=bGDdP9XfBtFFFNL4d7DA7_FJvsFKadPOgwVAXkFgyjE,477
|
34
|
+
blue_assistant/script/actions/generate_text.py,sha256=rKDjY_keN_E_vdboQ_SqG2APyUanpAKRDVGCxzghO3k,2817
|
35
|
+
blue_assistant/script/actions/generic.py,sha256=dIjqocIEpLEb1BI76kHivVpDUG5QpeZHLA2onsYn1SU,731
|
35
36
|
blue_assistant/script/actions/wip.py,sha256=K4kJE4bn3u6o-QWTESPydO_eD54zOwZbU9WLAO94z1Q,171
|
36
|
-
blue_assistant/script/repository/__init__.py,sha256=
|
37
|
+
blue_assistant/script/repository/__init__.py,sha256=WFkbe-6yyljpmeVpXgLhOPt-YRc7BwkRNzPO-7Wz0Dg,573
|
37
38
|
blue_assistant/script/repository/blue_amo/__init__.py,sha256=WjL9GIlN-DBnbUMJ8O_FxTp0rcVGlsIS3H9YtXEefTk,76
|
38
39
|
blue_assistant/script/repository/blue_amo/classes.py,sha256=RY1gjZVPX8xu7nfeiZoTL8RTpu73RsoaNv4ZoGv9NNs,234
|
39
40
|
blue_assistant/script/repository/generic/__init__.py,sha256=kLffGsQMQAFJTw6IZBE5eBxvshP1x9wwHHR4hsDJblo,75
|
40
|
-
blue_assistant/script/repository/generic/classes.py,sha256=
|
41
|
+
blue_assistant/script/repository/generic/classes.py,sha256=X6h-cWFleUQF9flyq6ClYSdi5ysGOTsy156w8jT1wvY,1964
|
41
42
|
blue_assistant/script/repository/moon_datasets/__init__.py,sha256=aCtmP2avh3yKAJ668S3GsLR9vbBOm5zt9FSFCqy_tAs,86
|
42
43
|
blue_assistant/script/repository/moon_datasets/classes.py,sha256=68zThDhjF9gGRnsw8EKNLGOMBFbCSljt0jGovuOzCAc,197
|
43
|
-
blue_assistant-4.
|
44
|
-
blue_assistant-4.
|
45
|
-
blue_assistant-4.
|
46
|
-
blue_assistant-4.
|
47
|
-
blue_assistant-4.
|
44
|
+
blue_assistant-4.66.1.dist-info/LICENSE,sha256=ogEPNDSH0_dhiv_lT3ifVIdgIzHAqNA_SemnxUfPBJk,7048
|
45
|
+
blue_assistant-4.66.1.dist-info/METADATA,sha256=o9HM9_F9s8xZ0lhJhtngCE2qqdbASHaRGOMzhuFw4XE,2625
|
46
|
+
blue_assistant-4.66.1.dist-info/WHEEL,sha256=In9FTNxeP60KnTkGw7wk6mJPYd_dQSjEZmXdBdMCI-8,91
|
47
|
+
blue_assistant-4.66.1.dist-info/top_level.txt,sha256=ud0BkBbdOVze13bNqHuhZj1rwCztaBtDf5ChEYzASOs,15
|
48
|
+
blue_assistant-4.66.1.dist-info/RECORD,,
|
File without changes
|
File without changes
|
File without changes
|