ara-cli 0.1.9.59__py3-none-any.whl → 0.1.9.61__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.

Potentially problematic release.


This version of ara-cli might be problematic. Click here for more details.

@@ -59,9 +59,9 @@ class ArtefactCreator:
59
59
 
60
60
  return True
61
61
 
62
- def handle_existing_files(self, file_exists, dir_exists):
63
- if file_exists or dir_exists:
64
- user_choice = input("File or directory already exists. Do you want to overwrite the existing file and directory? (y/N): ")
62
+ def handle_existing_files(self, file_exists):
63
+ if file_exists:
64
+ user_choice = input("File already exists. Do you want to overwrite the existing file and directory? (y/N): ")
65
65
  if user_choice.lower() != "y":
66
66
  print("No changes were made to the existing file and directory.")
67
67
  return False
@@ -102,12 +102,8 @@ class ArtefactCreator:
102
102
  dir_path = self.file_system.path.join(sub_directory, f"{filename}.data")
103
103
 
104
104
  file_exists = self.file_system.path.exists(file_path)
105
- dir_exists = self.file_system.path.exists(dir_path)
106
105
 
107
- if dir_exists and not os.listdir(dir_path):
108
- dir_exists = False
109
-
110
- if not self.handle_existing_files(file_exists, dir_exists):
106
+ if not self.handle_existing_files(file_exists):
111
107
  return
112
108
 
113
109
  artefact = template_artefact_of_type(classifier, filename)
@@ -119,7 +115,7 @@ class ArtefactCreator:
119
115
  )
120
116
 
121
117
  artefact_content = artefact.serialize()
122
- rmtree(dir_path)
118
+ rmtree(dir_path, ignore_errors=True)
123
119
  os.makedirs(dir_path, exist_ok=True)
124
120
  with open(file_path, 'w') as artefact_file:
125
121
  artefact_file.write(artefact_content)
@@ -48,6 +48,7 @@ class BusinessgoalIntent(Intent):
48
48
 
49
49
  in_order_to_prefix = "In order to "
50
50
  as_a_prefix = "As a "
51
+ as_a_prefix_alt = "As an "
51
52
  i_want_prefix = "I want "
52
53
 
53
54
  index = start_index
@@ -57,6 +58,8 @@ class BusinessgoalIntent(Intent):
57
58
  in_order_to = line[len(in_order_to_prefix):].strip()
58
59
  elif line.startswith(as_a_prefix) and not as_a:
59
60
  as_a = line[len(as_a_prefix):].strip()
61
+ elif line.startswith(as_a_prefix_alt) and not as_a:
62
+ as_a = line[len(as_a_prefix_alt):].strip()
60
63
  elif line.startswith(i_want_prefix) and not i_want:
61
64
  i_want = line[len(i_want_prefix):].strip()
62
65
  index += 1
@@ -49,6 +49,7 @@ class EpicIntent(Intent):
49
49
 
50
50
  in_order_to_prefix = "In order to "
51
51
  as_a_prefix = "As a "
52
+ as_a_prefix_alt = "As an "
52
53
  i_want_prefix = "I want "
53
54
 
54
55
  index = start_index
@@ -58,6 +59,8 @@ class EpicIntent(Intent):
58
59
  in_order_to = line[len(in_order_to_prefix):].strip()
59
60
  elif line.startswith(as_a_prefix) and not as_a:
60
61
  as_a = line[len(as_a_prefix):].strip()
62
+ elif line.startswith(as_a_prefix_alt) and not as_a:
63
+ as_a = line[len(as_a_prefix_alt):].strip()
61
64
  elif line.startswith(i_want_prefix) and not i_want:
62
65
  i_want = line[len(i_want_prefix):].strip()
63
66
  index += 1
@@ -1,5 +1,5 @@
1
1
  from pydantic import BaseModel, field_validator, model_validator, Field
2
- from typing import Optional, List, Dict, Tuple, Union
2
+ from typing import List, Dict, Tuple, Union
3
3
  from ara_cli.artefact_models.artefact_model import Artefact, ArtefactType, Intent
4
4
  import re
5
5
 
@@ -48,6 +48,7 @@ class FeatureIntent(Intent):
48
48
  so_that = None
49
49
 
50
50
  as_a_prefix = "As a "
51
+ as_a_prefix_alt = "As an "
51
52
  i_want_to_prefix = "I want to "
52
53
  so_that_prefix = "So that "
53
54
 
@@ -56,6 +57,8 @@ class FeatureIntent(Intent):
56
57
  line = lines[index]
57
58
  if line.startswith(as_a_prefix) and not as_a:
58
59
  as_a = line[len(as_a_prefix):].strip()
60
+ if line.startswith(as_a_prefix_alt) and not as_a:
61
+ as_a = line[len(as_a_prefix_alt):].strip()
59
62
  elif line.startswith(i_want_to_prefix) and not i_want_to:
60
63
  i_want_to = line[len(i_want_to_prefix):].strip()
61
64
  elif line.startswith(so_that_prefix) and not so_that:
@@ -48,6 +48,7 @@ class KeyfeatureIntent(Intent):
48
48
 
49
49
  in_order_to_prefix = "In order to "
50
50
  as_a_prefix = "As a "
51
+ as_a_prefix_alt = "As an "
51
52
  i_want_prefix = "I want "
52
53
 
53
54
  index = start_index
@@ -57,6 +58,8 @@ class KeyfeatureIntent(Intent):
57
58
  in_order_to = line[len(in_order_to_prefix):].strip()
58
59
  elif line.startswith(as_a_prefix) and not as_a:
59
60
  as_a = line[len(as_a_prefix):].strip()
61
+ elif line.startswith(as_a_prefix_alt) and not as_a:
62
+ as_a = line[len(as_a_prefix_alt):].strip()
60
63
  elif line.startswith(i_want_prefix) and not i_want:
61
64
  i_want = line[len(i_want_prefix):].strip()
62
65
  index += 1
@@ -48,6 +48,7 @@ class UserstoryIntent(Intent):
48
48
 
49
49
  in_order_to_prefix = "In order to "
50
50
  as_a_prefix = "As a "
51
+ as_a_prefix_alt = "As an "
51
52
  i_want_prefix = "I want "
52
53
 
53
54
  index = start_index
@@ -57,6 +58,8 @@ class UserstoryIntent(Intent):
57
58
  in_order_to = line[len(in_order_to_prefix):].strip()
58
59
  elif line.startswith(as_a_prefix) and not as_a:
59
60
  as_a = line[len(as_a_prefix):].strip()
61
+ elif line.startswith(as_a_prefix_alt) and not as_a:
62
+ as_a = line[len(as_a_prefix_alt):].strip()
60
63
  elif line.startswith(i_want_prefix) and not i_want:
61
64
  i_want = line[len(i_want_prefix):].strip()
62
65
  index += 1
ara_cli/artefact_scan.py CHANGED
@@ -1,3 +1,6 @@
1
+ from textwrap import indent
2
+
3
+
1
4
  def check_file(file_path, artefact_class):
2
5
  from pydantic import ValidationError
3
6
  try:
@@ -38,7 +41,8 @@ def show_results(invalid_artefacts):
38
41
  print(f"\nIncompatible {classifier} Files:")
39
42
  report.write(f"## {classifier}\n")
40
43
  for file, reason in files:
41
- print(f"\t- {file}")
44
+ indented_reason = indent(reason, prefix="\t\t")
45
+ print(f"\t- {file}\n{indented_reason}")
42
46
  report.write(f"- `{file}`: {reason}\n")
43
47
  report.write("\n")
44
48
  if not has_issues:
@@ -68,6 +68,8 @@ class FileClassifier:
68
68
  files_by_classifier = {classifier: [] for classifier in Classifier.ordered_classifiers()}
69
69
 
70
70
  for root, _, files in self.file_system.walk("."):
71
+ if root.endswith(".data"):
72
+ continue
71
73
  for file in files:
72
74
  file_path = self.file_system.path.join(root, file)
73
75
  classifier = self.classify_file(file_path, tags)
@@ -647,6 +647,7 @@ def test_scan_action_with_issues(capsys):
647
647
  expected_output = (
648
648
  "\nIncompatible classifier1 Files:\n"
649
649
  "\t- file1.txt\n"
650
+ "\t\treason1\n"
650
651
  )
651
652
  assert captured.out == expected_output
652
653
  m.assert_called_once_with("incompatible_artefacts_report.md", "w")
@@ -106,9 +106,12 @@ def test_show_results_with_issues(capsys):
106
106
  expected_output = (
107
107
  "\nIncompatible classifier1 Files:\n"
108
108
  "\t- file1.txt\n"
109
+ "\t\treason1\n"
109
110
  "\t- file2.txt\n"
111
+ "\t\treason2\n"
110
112
  "\nIncompatible classifier2 Files:\n"
111
113
  "\t- file3.txt\n"
114
+ "\t\treason3\n"
112
115
  )
113
116
  assert captured.out == expected_output
114
117
  m.assert_called_once_with("incompatible_artefacts_report.md", "w")
@@ -247,4 +247,25 @@ def test_find_closest_artefact_name_match(mock_file_system):
247
247
  mock_fuzzy.assert_called_once_with('file3', ['file1', 'file2'])
248
248
 
249
249
  # No match for classifier
250
- assert classifier.find_closest_artefact_name_match('file1', 'txt') is None
250
+ assert classifier.find_closest_artefact_name_match('file1', 'txt') is None
251
+
252
+
253
+ @pytest.mark.parametrize("walk_return_value, expected_result", [
254
+ (
255
+ [('.', ['subdir'], ['file1.py']), ('subdir.data', [], ['file_in_data.txt'])],
256
+ {'py': [{'file_path': './file1.py', 'title': 'file1'}], 'txt': [], 'bin': []}
257
+ ),
258
+ (
259
+ [('.', ['subdir'], ['file1.py']), ('subdir', [], ['file2.txt'])],
260
+ {'py': [{'file_path': './file1.py', 'title': 'file1'}], 'txt': [{'file_path': 'subdir/file2.txt', 'title': 'file2'}], 'bin': []}
261
+ )
262
+ ])
263
+ def test_classify_files_skips_data_directories(mock_file_system, mock_classifier, walk_return_value, expected_result):
264
+ mock_file_system.walk.return_value = walk_return_value
265
+ mock_file_system.path.join.side_effect = lambda root, file: f"{root}/{file}"
266
+
267
+ classifier = FileClassifier(mock_file_system)
268
+
269
+ result = classifier.classify_files()
270
+
271
+ assert result == expected_result
ara_cli/version.py CHANGED
@@ -1,2 +1,2 @@
1
1
  # version.py
2
- __version__ = "0.1.9.59" # fith parameter like .0 for local install test purposes only. official numbers should be 4 digit numbers
2
+ __version__ = "0.1.9.61" # fith parameter like .0 for local install test purposes only. official numbers should be 4 digit numbers
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: ara_cli
3
- Version: 0.1.9.59
3
+ Version: 0.1.9.61
4
4
  Requires-Dist: litellm
5
5
  Requires-Dist: llama-index
6
6
  Requires-Dist: llama-index-llms-openai
@@ -4,21 +4,21 @@ ara_cli/analyse_artefacts.py,sha256=JwA2zxkCy8vNOHoU9f3TICJesXRRXndHi2hT5m_uQ8Q,
4
4
  ara_cli/ara_command_action.py,sha256=OsmNJ9XHVMPveVO0kxlYNU5vR16bX9Sn7mGKaOieZqg,18925
5
5
  ara_cli/ara_command_parser.py,sha256=HluFJimQbxS_yuZ2IzLcsfUPrmIJbKJB71YvsGiUXQE,16883
6
6
  ara_cli/ara_config.py,sha256=_Arkr-b9XnrNHbBlFKb9tAo3OmdP4ZZiWvbY9m6Sbo0,4178
7
- ara_cli/artefact_creator.py,sha256=7d4iuh2sx73gy7MRZ_zzfN7P1Mt9KuGGWTY0Q4O5pPY,6139
7
+ ara_cli/artefact_creator.py,sha256=mkxKHkVIK2GdmUrKHAjKvhq66eg21S3x_cvK1ZA9DPw,5964
8
8
  ara_cli/artefact_deleter.py,sha256=Co4wwCH3yW8H9NrOq7_2p5571EeHr0TsfE-H8KqoOfY,1900
9
9
  ara_cli/artefact_fuzzy_search.py,sha256=XAvoiRafd1u21uKbX5-bow7hdq7uiLLy1KtxHNAFbCk,1337
10
10
  ara_cli/artefact_link_updater.py,sha256=itMS_Z64jE8bBly9WA01z8PqkBeNW6ntTO7ryMeCTRg,3703
11
11
  ara_cli/artefact_lister.py,sha256=jhk4n4eqp7hDIq07q43QzS7-36BM3OfZ4EABxCeOGcw,4764
12
12
  ara_cli/artefact_reader.py,sha256=qNaMPWShmWtDU5LLdh9efFB27djI4NAoq6zEFwdTd38,6983
13
13
  ara_cli/artefact_renamer.py,sha256=loIn1DF9kVnjhH7wP1v5qUvt3s0uKeWXuQPrHXenQGE,4025
14
- ara_cli/artefact_scan.py,sha256=DgFGv4hnbCjYdIgPA2PbAuGDWg1q2fCjtIqxGs57b9w,1762
14
+ ara_cli/artefact_scan.py,sha256=bIk_xa_nB2oQHjBeYChwHwHIxo5hDjYhzq-KWCWmUFE,1879
15
15
  ara_cli/chat.py,sha256=7xTtPEDk052_wmIzoti7GavEJ1vpRxe5c084WQ1C7dg,28617
16
16
  ara_cli/classifier.py,sha256=zWskj7rBYdqYBGjksBm46iTgVU5IIf2PZsJr4qeiwVU,1878
17
17
  ara_cli/codefusionretriever.py,sha256=fCHgXdIBRzkVAnapX-KI2NQ44XbrrF4tEQmn5J6clUI,1980
18
18
  ara_cli/codehierachieretriever.py,sha256=Xd3EgEWWhkSf1TmTWtf8X5_YvyE_4B66nRrqarwSiTU,1182
19
19
  ara_cli/commandline_completer.py,sha256=b00Dqb5n7SecpxYIDLxAfYhp8X6e3c8a5qYz6ko0i3E,1192
20
20
  ara_cli/directory_navigator.py,sha256=6QbSAjJrJ5a6Lutol9J4HFgVDMiAQ672ny9TATrh04U,3318
21
- ara_cli/file_classifier.py,sha256=rKgF2_tyxHUlpr_vclaZN1CKzidErRXzOng3SbSYR6Q,3903
21
+ ara_cli/file_classifier.py,sha256=JsY7Y_D8WL-fiWz57zwzttg6SEajxWVxpDkFG_149-Q,3967
22
22
  ara_cli/file_lister.py,sha256=VFpUmHU1d6sQvJWSeuFqkZZ0Ci3ZYCUtAUfvgWypaYU,2314
23
23
  ara_cli/filename_validator.py,sha256=Aw9PL8d5-Ymhp3EY6lDrUBk3cudaNqo1Uw5RzPpI1jA,118
24
24
  ara_cli/list_filter.py,sha256=Not17hIngI37gZsLtIKxopB-BmyWoOGlBzSqBwh-Zpc,5273
@@ -31,20 +31,20 @@ ara_cli/run_file_lister.py,sha256=XbrrDTJXp1LFGx9Lv91SNsEHZPP-PyEMBF_P4btjbDA,23
31
31
  ara_cli/tag_extractor.py,sha256=R5T103Y60NppYifKV7b8KoI5kE1M66fULz6f_Fdc9VU,1081
32
32
  ara_cli/template_manager.py,sha256=YXPj2jGNDb-diIHFEK_vGJ-ZucodnXSGAPofKTnOofI,6633
33
33
  ara_cli/update_config_prompt.py,sha256=PZgNIN3dTw6p80GyX8Sp5apkAhSoykwnkEbHo3IOkUo,4571
34
- ara_cli/version.py,sha256=96UGMMnHR8CYMHP9Ai6qBVKbtLO4hpk3ZjYQaSuTzhc,146
34
+ ara_cli/version.py,sha256=UnoKKtqPp3m-W25FpDjhgC_5DzQxM2ExEc0zhVw6wiA,146
35
35
  ara_cli/artefact_models/artefact_load.py,sha256=dNcwZDW2Dk0bts9YnPZ0ESmWD2NbsLIvl4Z-qQeGmTQ,401
36
36
  ara_cli/artefact_models/artefact_mapping.py,sha256=8aD0spBjkJ8toMAmFawc6UTUxB6-tEEViZXv2I-r88Q,1874
37
37
  ara_cli/artefact_models/artefact_model.py,sha256=vV-Hhtl6DwVt7qcFTnxxr_WqyTZnKtkFU-nryVnTbUg,14853
38
38
  ara_cli/artefact_models/artefact_templates.py,sha256=Vd7SwoRVKNGKZmxBKS6f9FE1ThUOCqZLScu0ClPfIu8,8321
39
- ara_cli/artefact_models/businessgoal_artefact_model.py,sha256=u9-Rr7VDYoNP6Vy2iKE64yAxDPOnrJJFozO6Ji9s8pI,4570
39
+ ara_cli/artefact_models/businessgoal_artefact_model.py,sha256=mgLOgVRR8MrUqWX6ovcHo7octdfi8AaJiJcbrL4F9R4,4728
40
40
  ara_cli/artefact_models/capability_artefact_model.py,sha256=SZqHx4O2mj4urn77Stnj4_Jxtlq3-LgBBU9SMkByppI,3079
41
- ara_cli/artefact_models/epic_artefact_model.py,sha256=MuK6n0Tl0TM3364pH_j5R8XvwJZFyNwrZGCYaaqzxvs,5490
41
+ ara_cli/artefact_models/epic_artefact_model.py,sha256=KKwW-vZkdso2L-wAWNWbLfGXGQK8M4A10sldDxi8QVE,5648
42
42
  ara_cli/artefact_models/example_artefact_model.py,sha256=UXrKbaPotg1jwcrVSdCeo-XH4tTD_-U1e3giaBn5_xg,1384
43
- ara_cli/artefact_models/feature_artefact_model.py,sha256=HuHLPZW4HptHhKaDHekobB29ZDWXqU4LXMHUP7gMIS8,12979
43
+ ara_cli/artefact_models/feature_artefact_model.py,sha256=7QgX0C5WC0QCUX29xbZFwUNaD74gb7l4PQFcA8GhULU,13125
44
44
  ara_cli/artefact_models/issue_artefact_model.py,sha256=v6CpKnkqiUh6Wch2kkEmyyW49c8ysdy1qz8l1Ft9uJA,2552
45
- ara_cli/artefact_models/keyfeature_artefact_model.py,sha256=nkRNQyoJrDqmRxmqJZBQId6fNv6gI3EoKtXsI7BPqdY,3968
45
+ ara_cli/artefact_models/keyfeature_artefact_model.py,sha256=sD4tBgQQGTZ-PcYVDb3cp81rT2SQy8kQ-V9NxRGrYu8,4126
46
46
  ara_cli/artefact_models/task_artefact_model.py,sha256=kHMw_Tr-Ud3EeHWpRWy4jI0xFnPzGZ-FT52c5rSrT1k,3558
47
- ara_cli/artefact_models/userstory_artefact_model.py,sha256=qDT6TJyP4eKO4ETsx8kPQoHWFZmerl739k_5Wood538,6307
47
+ ara_cli/artefact_models/userstory_artefact_model.py,sha256=oJ8sHX-RbqGotehfUF43xs-5TsZh8PTmEtgjUfc7lWQ,6465
48
48
  ara_cli/artefact_models/vision_artefact_model.py,sha256=KcNE3QQjyT29ZMMhCQo4pOcXKTkI6pXLvyfqoN2kuUQ,5920
49
49
  ara_cli/templates/agile.artefacts,sha256=nTA8dp98HWKAD-0qhmNpVYIfkVGoJshZqMJGnphiOsE,7932
50
50
  ara_cli/templates/template.businessgoal,sha256=3OU-y8dOCRbRsB9ovBzwFPxHSbG0dqbkok0uJnZIOd4,524
@@ -130,26 +130,26 @@ ara_cli/templates/specification_breakdown_files/template.step.md,sha256=nzDRl9Xo
130
130
  ara_cli/templates/specification_breakdown_files/template.technology.exploration.md,sha256=zQyiJcmbUfXdte-5uZwZUpT6ey0zwfZ00P4VwI97jQk,2274
131
131
  ara_cli/templates/specification_breakdown_files/template.technology.md,sha256=bySiksz-8xtq0Nnj4svqe2MgUftWrVkbK9AcrDUE3KY,952
132
132
  ara_cli/tests/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
133
- ara_cli/tests/test_ara_command_action.py,sha256=N7712HbmN86ziGBKI5GoHQPp75OSyD0kHsHRxna8d9w,25446
133
+ ara_cli/tests/test_ara_command_action.py,sha256=vxTaDGThNz8vxazGuYt1ufDaPZbYiIYpN7alISXAi9s,25474
134
134
  ara_cli/tests/test_ara_config.py,sha256=1LWby_iSestTIIqK-1clggL8kmbGGbtlYfsxAHaMMF8,2232
135
135
  ara_cli/tests/test_artefact_fuzzy_search.py,sha256=5Sh3_l9QK8-WHn6JpGPU1b6h4QEnl2JoMq1Tdp2cj1U,1261
136
136
  ara_cli/tests/test_artefact_link_updater.py,sha256=gN5KFF1uY7OoBh8Mr5jWpqXp02YCU5OSIpSU76Rm4Gs,2137
137
137
  ara_cli/tests/test_artefact_lister.py,sha256=VCEOCgDgnAOeUUgIoGAbWgz60hf9UT-tdHg18LGfB34,22656
138
138
  ara_cli/tests/test_artefact_reader.py,sha256=660K-d8ed-j8hulsUB_7baPD2-hhbg9TffUR5yVc4Uo,927
139
139
  ara_cli/tests/test_artefact_renamer.py,sha256=syL3qH8pPRmxPkpmKXInZ7WTI8X487YJXsgiZOtv2C4,3490
140
- ara_cli/tests/test_artefact_scan.py,sha256=m0V3HMLJtrOBXpJIRUI0D6MbHssgxDU_c935Wc3jatQ,4696
140
+ ara_cli/tests/test_artefact_scan.py,sha256=I2rpSoRQ2auBbWjmGnm7VdTSS811tkAgUyK2dS69KVQ,4780
141
141
  ara_cli/tests/test_chat.py,sha256=V75baLk2ZFz5WDSFTlvdbmMb6Dm7o12xoFEulmMgMDI,46765
142
142
  ara_cli/tests/test_classifier.py,sha256=grYGPksydNdPsaEBQxYHZTuTdcJWz7VQtikCKA6BNaQ,1920
143
143
  ara_cli/tests/test_directory_navigator.py,sha256=7G0MVrBbtBvbrFUpL0zb_9EkEWi1dulWuHsrQxMJxDY,140
144
- ara_cli/tests/test_file_classifier.py,sha256=6OYM-lYVYjxq4Qwl8U1btv_FYJhc5t3rKjYr2CXZ4uI,10069
144
+ ara_cli/tests/test_file_classifier.py,sha256=hbGp0-_A_LgQ0pGv1jWDEIyCgvDyfChcvvVfbxjNY2U,10938
145
145
  ara_cli/tests/test_file_creator.py,sha256=G257M1duenDrgLCSql3wVWNuzcxyQqLQDybfbxiGYN0,2100
146
146
  ara_cli/tests/test_file_lister.py,sha256=f6B_vIv-wAulKH2ZGgNg4SG79XqGGbfwoIvZlbEnYyM,4306
147
147
  ara_cli/tests/test_list_filter.py,sha256=gSRKirTtFuhRS3QlFHqWl89WvCvAdVEnFsCWTYmgB2o,7928
148
148
  ara_cli/tests/test_tag_extractor.py,sha256=n2xNApbDciqKO3QuaveEWSPXU1PCUa_EhxlZMrukONw,2074
149
149
  ara_cli/tests/test_template_manager.py,sha256=bRxka6cxHsCAOvXjfG8MrVO8qSZXhxW01tnph80UtNk,3143
150
150
  ara_cli/tests/test_update_config_prompt.py,sha256=vSsLvc18HZdVjVM93qXWVbJt752xTLL6VGjSVCrPufk,6729
151
- ara_cli-0.1.9.59.dist-info/METADATA,sha256=_L6D_eKlZKaC4Ltua2K2WPQr3Y0sZeJue6AdNtLtRm0,388
152
- ara_cli-0.1.9.59.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
153
- ara_cli-0.1.9.59.dist-info/entry_points.txt,sha256=v4h7MzysTgSIDYfEo3oj4Kz_8lzsRa3hq-KJHEcLVX8,45
154
- ara_cli-0.1.9.59.dist-info/top_level.txt,sha256=zzee_PwFmKqfBi9XgIunP6xy2S4TIt593CLLxenNaAE,8
155
- ara_cli-0.1.9.59.dist-info/RECORD,,
151
+ ara_cli-0.1.9.61.dist-info/METADATA,sha256=oUtK5-Prz7S1ln3cAuDIDFTpWOjwFSAVUR242nhxtYo,388
152
+ ara_cli-0.1.9.61.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
153
+ ara_cli-0.1.9.61.dist-info/entry_points.txt,sha256=v4h7MzysTgSIDYfEo3oj4Kz_8lzsRa3hq-KJHEcLVX8,45
154
+ ara_cli-0.1.9.61.dist-info/top_level.txt,sha256=zzee_PwFmKqfBi9XgIunP6xy2S4TIt593CLLxenNaAE,8
155
+ ara_cli-0.1.9.61.dist-info/RECORD,,