janus-llm 4.3.1__py3-none-any.whl → 4.4.5__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.
Files changed (136) hide show
  1. janus/__init__.py +1 -1
  2. janus/__main__.py +1 -1
  3. janus/_tests/evaluator_tests/EvalReadMe.md +85 -0
  4. janus/_tests/evaluator_tests/incose_tests/incose_large_test.json +39 -0
  5. janus/_tests/evaluator_tests/incose_tests/incose_small_test.json +17 -0
  6. janus/_tests/evaluator_tests/inline_comment_tests/mumps_inline_comment_test.m +71 -0
  7. janus/_tests/test_cli.py +3 -2
  8. janus/cli/aggregate.py +135 -0
  9. janus/cli/cli.py +117 -0
  10. janus/cli/constants.py +49 -0
  11. janus/cli/database.py +289 -0
  12. janus/cli/diagram.py +207 -0
  13. janus/cli/document.py +183 -0
  14. janus/cli/embedding.py +122 -0
  15. janus/cli/llm.py +191 -0
  16. janus/cli/partition.py +134 -0
  17. janus/cli/pipeline.py +123 -0
  18. janus/cli/self_eval.py +147 -0
  19. janus/cli/translate.py +192 -0
  20. janus/converter/__init__.py +1 -1
  21. janus/converter/_tests/test_translate.py +7 -5
  22. janus/converter/chain.py +180 -0
  23. janus/converter/converter.py +444 -153
  24. janus/converter/diagram.py +8 -6
  25. janus/converter/document.py +27 -16
  26. janus/converter/evaluate.py +143 -144
  27. janus/converter/partition.py +2 -10
  28. janus/converter/requirements.py +4 -40
  29. janus/converter/translate.py +3 -59
  30. janus/embedding/collections.py +1 -1
  31. janus/language/alc/_tests/alc.asm +3779 -0
  32. janus/language/binary/_tests/hello.bin +0 -0
  33. janus/language/block.py +78 -14
  34. janus/language/file.py +1 -1
  35. janus/language/mumps/_tests/mumps.m +235 -0
  36. janus/language/treesitter/_tests/languages/fortran.f90 +416 -0
  37. janus/language/treesitter/_tests/languages/ibmhlasm.asm +16 -0
  38. janus/language/treesitter/_tests/languages/matlab.m +225 -0
  39. janus/llm/models_info.py +9 -1
  40. janus/metrics/_tests/asm_test_file.asm +10 -0
  41. janus/metrics/_tests/mumps_test_file.m +6 -0
  42. janus/metrics/_tests/test_treesitter_metrics.py +1 -1
  43. janus/metrics/metric.py +47 -124
  44. janus/metrics/prompts/clarity.txt +8 -0
  45. janus/metrics/prompts/completeness.txt +16 -0
  46. janus/metrics/prompts/faithfulness.txt +10 -0
  47. janus/metrics/prompts/hallucination.txt +16 -0
  48. janus/metrics/prompts/quality.txt +8 -0
  49. janus/metrics/prompts/readability.txt +16 -0
  50. janus/metrics/prompts/usefulness.txt +16 -0
  51. janus/parsers/code_parser.py +4 -4
  52. janus/parsers/doc_parser.py +12 -9
  53. janus/parsers/parser.py +7 -0
  54. janus/parsers/partition_parser.py +6 -4
  55. janus/parsers/reqs_parser.py +11 -8
  56. janus/parsers/uml.py +5 -4
  57. janus/prompts/prompt.py +2 -2
  58. janus/prompts/templates/README.md +30 -0
  59. janus/prompts/templates/basic_aggregation/human.txt +6 -0
  60. janus/prompts/templates/basic_aggregation/system.txt +1 -0
  61. janus/prompts/templates/basic_refinement/human.txt +14 -0
  62. janus/prompts/templates/basic_refinement/system.txt +1 -0
  63. janus/prompts/templates/diagram/human.txt +9 -0
  64. janus/prompts/templates/diagram/system.txt +1 -0
  65. janus/prompts/templates/diagram_with_documentation/human.txt +15 -0
  66. janus/prompts/templates/diagram_with_documentation/system.txt +1 -0
  67. janus/prompts/templates/document/human.txt +10 -0
  68. janus/prompts/templates/document/system.txt +1 -0
  69. janus/prompts/templates/document_cloze/human.txt +11 -0
  70. janus/prompts/templates/document_cloze/system.txt +1 -0
  71. janus/prompts/templates/document_cloze/variables.json +4 -0
  72. janus/prompts/templates/document_cloze/variables_asm.json +4 -0
  73. janus/prompts/templates/document_inline/human.txt +13 -0
  74. janus/prompts/templates/eval_prompts/incose/human.txt +32 -0
  75. janus/prompts/templates/eval_prompts/incose/system.txt +1 -0
  76. janus/prompts/templates/eval_prompts/incose/variables.json +3 -0
  77. janus/prompts/templates/eval_prompts/inline_comments/human.txt +49 -0
  78. janus/prompts/templates/eval_prompts/inline_comments/system.txt +1 -0
  79. janus/prompts/templates/eval_prompts/inline_comments/variables.json +3 -0
  80. janus/prompts/templates/micromanaged_mumps_v1.0/human.txt +23 -0
  81. janus/prompts/templates/micromanaged_mumps_v1.0/system.txt +3 -0
  82. janus/prompts/templates/micromanaged_mumps_v2.0/human.txt +28 -0
  83. janus/prompts/templates/micromanaged_mumps_v2.0/system.txt +3 -0
  84. janus/prompts/templates/micromanaged_mumps_v2.1/human.txt +29 -0
  85. janus/prompts/templates/micromanaged_mumps_v2.1/system.txt +3 -0
  86. janus/prompts/templates/multidocument/human.txt +15 -0
  87. janus/prompts/templates/multidocument/system.txt +1 -0
  88. janus/prompts/templates/partition/human.txt +22 -0
  89. janus/prompts/templates/partition/system.txt +1 -0
  90. janus/prompts/templates/partition/variables.json +4 -0
  91. janus/prompts/templates/pseudocode/human.txt +7 -0
  92. janus/prompts/templates/pseudocode/system.txt +7 -0
  93. janus/prompts/templates/refinement/fix_exceptions/human.txt +19 -0
  94. janus/prompts/templates/refinement/fix_exceptions/system.txt +1 -0
  95. janus/prompts/templates/refinement/format/code_format/human.txt +12 -0
  96. janus/prompts/templates/refinement/format/code_format/system.txt +1 -0
  97. janus/prompts/templates/refinement/format/requirements_format/human.txt +14 -0
  98. janus/prompts/templates/refinement/format/requirements_format/system.txt +1 -0
  99. janus/prompts/templates/refinement/hallucination/human.txt +13 -0
  100. janus/prompts/templates/refinement/hallucination/system.txt +1 -0
  101. janus/prompts/templates/refinement/reflection/human.txt +15 -0
  102. janus/prompts/templates/refinement/reflection/incose/human.txt +26 -0
  103. janus/prompts/templates/refinement/reflection/incose/system.txt +1 -0
  104. janus/prompts/templates/refinement/reflection/incose_deduplicate/human.txt +16 -0
  105. janus/prompts/templates/refinement/reflection/incose_deduplicate/system.txt +1 -0
  106. janus/prompts/templates/refinement/reflection/system.txt +1 -0
  107. janus/prompts/templates/refinement/revision/human.txt +16 -0
  108. janus/prompts/templates/refinement/revision/incose/human.txt +16 -0
  109. janus/prompts/templates/refinement/revision/incose/system.txt +1 -0
  110. janus/prompts/templates/refinement/revision/incose_deduplicate/human.txt +17 -0
  111. janus/prompts/templates/refinement/revision/incose_deduplicate/system.txt +1 -0
  112. janus/prompts/templates/refinement/revision/system.txt +1 -0
  113. janus/prompts/templates/refinement/uml/alc_fix_variables/human.txt +15 -0
  114. janus/prompts/templates/refinement/uml/alc_fix_variables/system.txt +2 -0
  115. janus/prompts/templates/refinement/uml/fix_connections/human.txt +15 -0
  116. janus/prompts/templates/refinement/uml/fix_connections/system.txt +2 -0
  117. janus/prompts/templates/requirements/human.txt +13 -0
  118. janus/prompts/templates/requirements/system.txt +2 -0
  119. janus/prompts/templates/retrieval/language_docs/human.txt +10 -0
  120. janus/prompts/templates/retrieval/language_docs/system.txt +1 -0
  121. janus/prompts/templates/simple/human.txt +16 -0
  122. janus/prompts/templates/simple/system.txt +3 -0
  123. janus/refiners/format.py +49 -0
  124. janus/refiners/refiner.py +113 -4
  125. janus/utils/enums.py +127 -112
  126. janus/utils/logger.py +2 -0
  127. {janus_llm-4.3.1.dist-info → janus_llm-4.4.5.dist-info}/METADATA +18 -18
  128. janus_llm-4.4.5.dist-info/RECORD +210 -0
  129. {janus_llm-4.3.1.dist-info → janus_llm-4.4.5.dist-info}/WHEEL +1 -1
  130. janus_llm-4.4.5.dist-info/entry_points.txt +3 -0
  131. janus/cli.py +0 -1488
  132. janus/metrics/_tests/test_llm.py +0 -90
  133. janus/metrics/llm_metrics.py +0 -202
  134. janus_llm-4.3.1.dist-info/RECORD +0 -115
  135. janus_llm-4.3.1.dist-info/entry_points.txt +0 -3
  136. {janus_llm-4.3.1.dist-info → janus_llm-4.4.5.dist-info}/LICENSE +0 -0
@@ -1,90 +0,0 @@
1
- import unittest
2
- from unittest.mock import patch
3
-
4
- import pytest
5
-
6
- from janus.llm.models_info import load_model
7
- from janus.metrics.llm_metrics import llm_evaluate_option, llm_evaluate_ref_option
8
-
9
-
10
- class TestLLMMetrics(unittest.TestCase):
11
- def setUp(self):
12
- self.bad_code = """
13
- if __name__ == "__main__":
14
- a1, a2, b3, b4 = 0, [1, 2000, "a"], 2, (1, 2)
15
- for a in a2:
16
- if b3:
17
- elif not b3:
18
- try:
19
- pass
20
- except:
21
- raise ValueError
22
- elif 1:
23
- print(1)
24
- else:
25
- print(b4[0])
26
- for (x, y) in range(a1, b3):
27
- for i in range(003300):
28
- for z in a2:
29
- printf(b4[2])
30
- """
31
- self.impressive_code = """
32
- # This program prints out Hello, world!
33
-
34
- print('Hello, world!')
35
- """
36
- self.impressive_code_reference = """
37
- # An implementation of python Hello, world!
38
-
39
- print("'Hello, world!")
40
- """
41
-
42
- @patch(".llm.models_info.load_model")
43
- @patch("janus.metrics.llm_metrics.llm_evaluate")
44
- @pytest.mark.llm_eval
45
- def test_llm_self_eval_quality(self, mock_llm_evaluate, mock_load_model):
46
- """Test that the quality llm self eval recognizes bad_code as bad code
47
- (<5 on a scale of 1-10)"""
48
- mock_llm_evaluate.return_value = 4 # return a value less than 5
49
- mock_load_model.return_value = [None] # return a dummy model
50
-
51
- bad_code_quality = llm_evaluate_option(
52
- self.bad_code,
53
- self.bad_code,
54
- metric="quality",
55
- language="python",
56
- llm=load_model("gpt-4o")[0],
57
- )
58
- self.assertLess(bad_code_quality, 5)
59
-
60
- mock_llm_evaluate.return_value = 6 # return a value greater than 5
61
- impressive_code_quality = llm_evaluate_option(
62
- self.impressive_code,
63
- self.impressive_code,
64
- metric="quality",
65
- language="python",
66
- llm=load_model("gpt-4o")[0],
67
- )
68
- self.assertGreater(impressive_code_quality, 5)
69
-
70
- @patch("janus.llm.models_info.load_model")
71
- @patch("janus.metrics.llm_metrics.llm_evaluate")
72
- @pytest.mark.llm_eval
73
- def test_llm_self_eval_faithfulness(self, mock_llm_evaluate, mock_load_model):
74
- """The two Hello, world! samples are more or less the same,
75
- so the faithfulness score should be high"""
76
- mock_llm_evaluate.return_value = 9 # return a high value
77
- mock_load_model.return_value = [None] # return a dummy model
78
-
79
- faithfulness = llm_evaluate_ref_option(
80
- self.impressive_code,
81
- self.impressive_code_reference,
82
- metric="faithfulness",
83
- language="python",
84
- llm=load_model("gpt-4o")[0],
85
- )
86
- self.assertGreater(faithfulness, 8)
87
-
88
-
89
- if __name__ == "__main__":
90
- unittest.main()
@@ -1,202 +0,0 @@
1
- from pathlib import Path
2
- from typing import Any
3
-
4
- import click
5
- import typer
6
- from langchain_core.exceptions import OutputParserException
7
- from langchain_core.output_parsers import BaseOutputParser, JsonOutputParser
8
- from langchain_core.prompts import PromptTemplate
9
- from langchain_core.pydantic_v1 import BaseModel, Field
10
- from typing_extensions import Annotated
11
-
12
- from janus.metrics.metric import metric
13
-
14
-
15
- class LLMMetricOutput(BaseModel):
16
- """The output of an LLM evaluation metric."""
17
-
18
- thought: str = Field(
19
- ...,
20
- description=(
21
- "The thought process that you took to reach your value determination."
22
- ),
23
- )
24
- value: str | float | int = Field(
25
- ..., description="The value of the metric described in the prompt."
26
- )
27
-
28
-
29
- def load_prompt(path: Path, language: str, parser: BaseOutputParser) -> PromptTemplate:
30
- """Load a default prompt from a file.
31
-
32
- Arguments:
33
- path: The path to the file.
34
- language: The language of the prompt.
35
- pydantic_model: The Pydantic model to use for parsing the output.
36
-
37
- Returns:
38
- The prompt text.
39
- """
40
- if not path.exists():
41
- raise FileNotFoundError(f"File not found: {path}")
42
- prompt = PromptTemplate.from_template(
43
- path.read_text(),
44
- template_format="f-string",
45
- partial_variables={
46
- "language": language,
47
- "format_instructions": parser.get_format_instructions(),
48
- },
49
- )
50
- return prompt
51
-
52
-
53
- def evaluate(
54
- target: str,
55
- language: str,
56
- model: str,
57
- prompt_path: Path,
58
- reference: str | None = None,
59
- ):
60
- """Calculate the LLM self evaluation score.
61
-
62
- Arguments:
63
- target: The target text.
64
- language: The language that the target code is written in.
65
- prompt_path: The filepath of the prompt text
66
- reference: The reference text.
67
-
68
- Returns:
69
- The LLM Evaluation score.
70
- """
71
- parser = JsonOutputParser(pydantic_object=LLMMetricOutput)
72
- prompt = load_prompt(prompt_path, language, parser)
73
- chain = prompt | model | parser
74
- try:
75
- output = (
76
- chain.invoke(dict(target=target, reference=reference))
77
- if reference
78
- else chain.invoke(dict(target=target))
79
- )
80
- return output["value"]
81
- except OutputParserException:
82
- return False
83
-
84
-
85
- @metric(use_reference=False, name="llm", help="LLM self-evaluation on a target file")
86
- def llm_evaluate_option(
87
- target: str,
88
- metric: Annotated[
89
- str,
90
- typer.Option(
91
- "--metric",
92
- "-m",
93
- help=("The pre-defined metric to use for evaluation."),
94
- click_type=click.Choice(
95
- [
96
- "quality",
97
- "clarity",
98
- "faithfulness",
99
- "completeness",
100
- "hallucination",
101
- "readability",
102
- "usefulness",
103
- ]
104
- ),
105
- ),
106
- ] = "quality",
107
- prompt: Annotated[
108
- str,
109
- None,
110
- typer.Option(
111
- "--prompt",
112
- "-P",
113
- help=("A custom prompt in a .txt file to use for evaluation."),
114
- ),
115
- ] = None,
116
- num_eval: Annotated[
117
- int,
118
- typer.Option(
119
- "-n",
120
- "--num-eval",
121
- help="Number of times to run the evaluation",
122
- ),
123
- ] = 1,
124
- **kwargs,
125
- ) -> Any:
126
- """CLI option to calculate the LLM self evaluation score.
127
-
128
- Arguments:
129
- target: The target text.
130
- reference: The reference text.
131
- metric: The pre-defined metric to use for evaluation.
132
- prompt: The prompt text.
133
-
134
- Returns:
135
- The LLM Evaluation score.
136
- """
137
- prompt_path: Path = (
138
- Path(prompt) if prompt else Path(__file__).parent / "prompts" / f"{metric}.txt"
139
- )
140
- if num_eval == 1:
141
- return evaluate(target, kwargs["language"], kwargs["llm"], prompt_path)
142
- else:
143
- return [
144
- evaluate(target, kwargs["language"], kwargs["llm"], prompt_path)
145
- for _ in range(num_eval)
146
- ]
147
-
148
-
149
- @metric(name="llm-ref", help="LLM self-evaluation on a target file and a reference file")
150
- def llm_evaluate_ref_option(
151
- target: str,
152
- reference: str,
153
- metric: Annotated[
154
- str,
155
- typer.Option(
156
- "--metric",
157
- "-m",
158
- help=("The pre-defined metric to use for evaluation."),
159
- click_type=click.Choice(["faithfulness"]),
160
- ),
161
- ] = "faithfulness",
162
- prompt: Annotated[
163
- str,
164
- None,
165
- typer.Option(
166
- "--prompt",
167
- "-P",
168
- help=("A custom prompt in a .txt file to use for evaluation."),
169
- ),
170
- ] = None,
171
- num_eval: Annotated[
172
- int,
173
- typer.Option(
174
- "-n",
175
- "--num-eval",
176
- help="Number of times to run evaluation for pair",
177
- ),
178
- ] = 1,
179
- **kwargs,
180
- ) -> Any:
181
- """CLI option to calculate the LLM self evaluation score, for evaluations which
182
- require a reference file (e.g. faithfulness)
183
-
184
- Arguments:
185
- target: The target text.
186
- reference: The reference text.
187
- metric: The pre-defined metric to use for evaluation.
188
- prompt: The prompt text.
189
-
190
- Returns:
191
- The LLM Evaluation score.
192
- """
193
- prompt_path: Path = (
194
- Path(prompt) if prompt else Path(__file__).parent / "prompts" / f"{metric}.txt"
195
- )
196
- if num_eval == 1:
197
- return evaluate(target, kwargs["language"], kwargs["llm"], prompt_path, reference)
198
- else:
199
- return [
200
- evaluate(target, kwargs["language"], kwargs["llm"], prompt_path, reference)
201
- for _ in range(num_eval)
202
- ]
@@ -1,115 +0,0 @@
1
- janus/__init__.py,sha256=hbiNcSyVowLc5sEqV1GU1B22molrn1w3rOxtKlgrl2E,361
2
- janus/__main__.py,sha256=lEkpNtLVPtFo8ySDZeXJ_NXDHb0GVdZFPWB4gD4RPS8,64
3
- janus/_tests/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
4
- janus/_tests/conftest.py,sha256=V7uW-oq3YbFiRPvrq15YoVVrA1n_83pjgiyTZ-IUGW8,963
5
- janus/_tests/test_cli.py,sha256=6ef7h11bg4i7Q6L1-r0ZdcY7YrH4n472kvDiA03T4c8,4275
6
- janus/cli.py,sha256=zo8EEp0Y33jPCzMUGGRXxjr629ZPMIrVGk3FxinpyDQ,46851
7
- janus/converter/__init__.py,sha256=Jnp3TsJ4M1LWDAzXFSyxzMpygbYOxkR-qYxU-G6Gi1k,395
8
- janus/converter/_tests/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
9
- janus/converter/_tests/test_translate.py,sha256=T5CzNrwHqJWfb39Izq84R9WvM3toSlJq31SeA_U7d_4,5641
10
- janus/converter/aggregator.py,sha256=MuAXMKmq6PuUo_w6ljyiuDn81Gk2dN-Ci7FVeLc6vhs,1966
11
- janus/converter/converter.py,sha256=citSpcCsI1bDfckK38smGNafDHsc8DC9quSoXD2J-Kc,26253
12
- janus/converter/diagram.py,sha256=-wktVBPrSBgNIQfHIfa2bJNg6L9CYJQgrr9-xU8DFPw,1646
13
- janus/converter/document.py,sha256=qNt2UncMheUBadXCFHGq74tqCrvZub5DCgZpd3Qa54o,4564
14
- janus/converter/evaluate.py,sha256=Bdue1ESQfMVFFRK4l0CvqwLyzt5bqOKy1LB9a8Hqub0,9150
15
- janus/converter/partition.py,sha256=ASvv4hAue44qHobO4kqr_tKr-eJsXCPPdD3NtNd9V-E,993
16
- janus/converter/requirements.py,sha256=9tvQ40FZJtG8niIFn45gPQCgKKHVPPoFLinBv6RAqO4,2027
17
- janus/converter/translate.py,sha256=S1DPZdmX9Vrn_sJPcobvXmhmS8U53yl5cRXjsmXPtas,4246
18
- janus/embedding/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
19
- janus/embedding/_tests/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
20
- janus/embedding/_tests/test_collections.py,sha256=llg-JSuRRFhKkHFiWWSHEWV3iaT6Lwue0lp2tEml9io,2668
21
- janus/embedding/_tests/test_database.py,sha256=BhsdCVz3eNZJN69y5XQcEajcBjPNF2pEM4qJGOEYRxU,1033
22
- janus/embedding/_tests/test_vectorize.py,sha256=StnjQ46blp6tl9hIVfwnU9R8vf5GaMvcrUlz4lMqRP8,1984
23
- janus/embedding/collections.py,sha256=wVAi9a0bvDewV7Yb6-bVnoBDG1qUebDhcFTaiIH-hwA,5430
24
- janus/embedding/database.py,sha256=WnH5Vq-uQaq8vxkNglNwlpaudGvXAekSA0j5cbUTQuo,3300
25
- janus/embedding/embedding_models_info.py,sha256=ZV0Ve4_Zq_B_fnL3QohAQUHlRvQGg0minm3IbILL3vs,5078
26
- janus/embedding/vectorize.py,sha256=s5DWrWuH0M9qYbLl4oqvwZzZo-ISjGU8Inc9KERQkSc,6449
27
- janus/language/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
28
- janus/language/_tests/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
29
- janus/language/_tests/test_combine.py,sha256=sjVVPUg4LYkAmazXGUw_S1xPrzWm67_0tCxhjemNdtI,1843
30
- janus/language/_tests/test_splitter.py,sha256=Hqexa39LLEXlK3ZUw7Zot4PUIACvye2vkq0Jaox0T10,373
31
- janus/language/alc/__init__.py,sha256=j7vOMGhT1Vri6p8dsjSaY-fkO5uFn0sJ0nrNGGvcizM,42
32
- janus/language/alc/_tests/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
33
- janus/language/alc/_tests/test_alc.py,sha256=8LKidOPJDlMonRBX9w8AVOKHhyR-O2srW4ntzw5rEEs,1018
34
- janus/language/alc/alc.py,sha256=YteDO6DR5hnQULjI3j8Je-w05MH50ZARtXB66FqkZi4,7088
35
- janus/language/binary/__init__.py,sha256=AlNAe12ZA366kcGSrQ1FJyOdbwxFqGBFkYR2K6yL818,51
36
- janus/language/binary/_tests/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
37
- janus/language/binary/_tests/test_binary.py,sha256=cIKIxjj6kIY3rcxLwqUPESP9bxWrHqMHx9TNuICgfeQ,1724
38
- janus/language/binary/binary.py,sha256=PHsVa8jcM7sW9aTboGRWXj6ewQznz0kVPNWtP4B9YPU,6555
39
- janus/language/binary/reveng/decompile_script.py,sha256=veW51oJzuO-4UD3Er062jXZ_FYtTFo9OCkl82Z2xr6A,2182
40
- janus/language/block.py,sha256=2rjAYUosHFfWRgLnzf50uAgTMST4Md9Kx6JrlUfEfX4,9398
41
- janus/language/combine.py,sha256=egZRl1xZXAFXa2ZjjfqnNckc9uxuo6e1MJgkRrCgvd8,3650
42
- janus/language/file.py,sha256=jy-cReAoI6F97TXR5bbhPyt8XyUZCdFYnVboubDA_y4,571
43
- janus/language/mumps/__init__.py,sha256=-Ou_wJ-JgHezfp1dub2_qCYNiK9wO-zo2MlqxM9qiwE,48
44
- janus/language/mumps/_tests/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
45
- janus/language/mumps/_tests/test_mumps.py,sha256=YxnQkobM9VR_Zow2oLaZxZs8bPipvbFWSza4zlWbMi8,1010
46
- janus/language/mumps/mumps.py,sha256=-eyafFN9IeUQMU7yEsICJDrDb5tkYV_EydqFCjcuM_o,7381
47
- janus/language/mumps/patterns.py,sha256=fLbgEnPYYggfqTnBwXf0XbnlU3g_bM4tsmO1YHYv5Jw,2313
48
- janus/language/naive/__init__.py,sha256=_Gq4inONyVYxe8WLB59d_69kqGbtF40BGKoJPnK4tZ0,258
49
- janus/language/naive/basic_splitter.py,sha256=RM9pJK2YkHfb6_EFEV-dh_rLqkjS6v0cn3ASPf8A6Fg,459
50
- janus/language/naive/chunk_splitter.py,sha256=ebRSbaJhDW-Hyr5__ukbdmAl6kQ1WWFqrq_SfCgHo6k,772
51
- janus/language/naive/registry.py,sha256=8YQX1q0IdAm7t69-oC_00I-vfkdRnHuX-OD3KEjEIuU,294
52
- janus/language/naive/simple_ast.py,sha256=YzeUJomVsnttJc8tI9eDROb2Hx9Vm9XKmOnLEp3TkzI,3112
53
- janus/language/naive/tag_splitter.py,sha256=IXWMn9tBVUGAtzvQi89GhoZ6g7fPXk5MzO0kMCr2mb0,2045
54
- janus/language/node.py,sha256=baoYFtapwBQqBtUN6EvHFYRkbR-EcEw1b3fQvH9zIAM,204
55
- janus/language/splitter.py,sha256=ZpNIzv0ijbcH7EMnY8DIxAf0ji7-ym1iYJXS9ei_F78,17389
56
- janus/language/treesitter/__init__.py,sha256=mUliw7ZJLZ8NkJKyUQMSoUV82hYXE0HvLHrEdGPJF4Q,43
57
- janus/language/treesitter/_tests/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
58
- janus/language/treesitter/_tests/test_treesitter.py,sha256=fmr_mFSja7vaCVu0TVyLDua3A94jMjY4AqSC5NqnOdQ,2179
59
- janus/language/treesitter/treesitter.py,sha256=FdsBO8CEo6l9D77aHXns5jRSoZzkvrRGZFCW3oNw15c,7928
60
- janus/llm/__init__.py,sha256=TKLYvnsWKWfxMucy-lCLQ-4bkN9ENotJZDywDEQmrKg,45
61
- janus/llm/model_callbacks.py,sha256=cHRZBpYgAwiYbA2k0GQ7DBwBFQZJpEGMUBV3Q_5GTpU,7940
62
- janus/llm/models_info.py,sha256=tHH5Hf7zWBpD5zSuhxx_Tp1fQMPTKPr9EuevacDiUTU,10711
63
- janus/metrics/__init__.py,sha256=AsxtZJUzZiXJPr2ehPPltuYP-ddechjg6X85WZUO7mA,241
64
- janus/metrics/_tests/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
65
- janus/metrics/_tests/reference.py,sha256=hiaJPP9CXkvFBV_wL-gOe_BzELTw0nvB6uCxhxtIiE8,13
66
- janus/metrics/_tests/target.py,sha256=hiaJPP9CXkvFBV_wL-gOe_BzELTw0nvB6uCxhxtIiE8,13
67
- janus/metrics/_tests/test_bleu.py,sha256=k9hSSdGMITsTiXs-Aj4Q5t1_p2v2eD0O9m-vcRi2GKo,1652
68
- janus/metrics/_tests/test_chrf.py,sha256=I6AB323mSNj9_0dRIgQdslN0OcQH2fzYxdep68d1LZU,2214
69
- janus/metrics/_tests/test_file_pairing.py,sha256=8qB9xaZlaWmc6oAqQGYreRZLrZmrlVALcgtCz0Zp0uA,1892
70
- janus/metrics/_tests/test_llm.py,sha256=foKsYM12E4hq4cWjrUDN3WCl9-ViiREgLhudcqRol7g,2977
71
- janus/metrics/_tests/test_reading.py,sha256=iXu5SIo2-Opu7hgKcqCwfV-m6ZUSnEmHuXCXddOj1Vg,852
72
- janus/metrics/_tests/test_rouge_score.py,sha256=dnP99nry-U5wyE-CiC0eQwm78IyScnmGQH3BeIEdmLY,2032
73
- janus/metrics/_tests/test_similarity_score.py,sha256=tdzH_8hYb2h7fKxpd_a75di-GPnU_frZ0zn2aeYzkso,811
74
- janus/metrics/_tests/test_treesitter_metrics.py,sha256=AnVptvSir8XZ7KHaiDQXP-dHy_9lf36q7WGSn4VRt_0,4352
75
- janus/metrics/bleu.py,sha256=UCrerEtEF5TadbY-vxbr5TQv67j8hrOCk8Q2C5OQXlw,1759
76
- janus/metrics/chrf.py,sha256=c8AJLVUtzOezH0R7cJ9hwkLQCIHonm56TTYRTmYuBK4,1485
77
- janus/metrics/cli.py,sha256=Duuw2RF47Z-t1pal0cg3L_-N_91rx29krirqtIwjYLY,157
78
- janus/metrics/complexity_metrics.py,sha256=9sHxa9tY9IgdFC4grCmDSuu8Nkphm_FWbTecxgW78go,6574
79
- janus/metrics/file_pairing.py,sha256=b0848gbDTqKVge-uGiujtHdsgcbkpJ04nWF2ul_gbCw,3749
80
- janus/metrics/llm_metrics.py,sha256=nzzJMSnoZfgtzzltjoCu1l4-Qwuycd-V3z17AtStYdY,5700
81
- janus/metrics/metric.py,sha256=ZQXz2LLXA3_WW6BluF8Q2LdJKYVWZLYmhO4Ai116ZPY,17168
82
- janus/metrics/reading.py,sha256=RyOSebENWPGD1m_-QfKM9v2vfNAQVkiZ2Oyynb2HrVI,3253
83
- janus/metrics/rouge_score.py,sha256=XnA2ABAceIzzA_9rIYDaMtyD4pphHxXVwxaYvMcqZWE,2878
84
- janus/metrics/similarity.py,sha256=NKd-m8hMB27i1_1CQkG5o7HrAK2wTr89B21Y36kqHiE,1630
85
- janus/metrics/splitting.py,sha256=610ScHRvALwdkqA6YyGI-tr3a18_cUofldBxGYX0SwE,968
86
- janus/parsers/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
87
- janus/parsers/_tests/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
88
- janus/parsers/_tests/test_code_parser.py,sha256=3ay5QpUPcynX_EJ-YLl3PR28poutUkT7qvyWUSQ7Too,928
89
- janus/parsers/code_parser.py,sha256=3l0HfzgrvJuiwk779s9ZsgUl3xbp1nE1qZxh8aDYRBI,873
90
- janus/parsers/doc_parser.py,sha256=0pUsNZ9hKQLjIi8L8BgkOBHQZ_EGoFLHrBQ4hoDkjSw,5862
91
- janus/parsers/eval_parser.py,sha256=Gjh6aTZgpYd2ASJUEPMo4LpCL00cBmbOqc4KM3hy8x8,2922
92
- janus/parsers/eval_parsers/incose_parser.py,sha256=udyK-24ocfrB1SzmggcERm73dBynrCj4MFSBV8k7YDM,4478
93
- janus/parsers/eval_parsers/inline_comment_parser.py,sha256=QzKgzeWPhyIEkLxJBpeutSocSJjjXEcWRRS635bXEO8,3973
94
- janus/parsers/parser.py,sha256=y6VV64bgVidf-oEFla3I--_28tnJsPBc6QUD_SkbfSE,1614
95
- janus/parsers/partition_parser.py,sha256=IW5_aNYL4g-PzB_qJ0g0NlwLiaAGGewR5iUYF19PVL4,5738
96
- janus/parsers/reqs_parser.py,sha256=uRQC41Iqp22GjIvakb5UKv70UWHkcOTbOVl_RDnipYw,2438
97
- janus/parsers/uml.py,sha256=SwaoG9QrHKQP8rSxlf3qu_rp7OMQqYSmLgDYBapOa9M,3379
98
- janus/prompts/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
99
- janus/prompts/prompt.py,sha256=3796YXIzzIec9b0iUzd8VZlq-AdQbzq8qUGXLy4KH-0,10586
100
- janus/refiners/refiner.py,sha256=ZHP0hUIv8eLpHJSd2SP1Sex6q6SdJgH7HIPgXPBw_gI,4672
101
- janus/refiners/uml.py,sha256=ZFvFLxOdbolYuOmZh_8K6kiHCWKuudqP71sr_TammxM,866
102
- janus/retrievers/retriever.py,sha256=n6MzoNZs0GJCH4eqQPS3gFlVHZ3eETr7FuHYbyPzTuo,3506
103
- janus/utils/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
104
- janus/utils/_tests/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
105
- janus/utils/_tests/test_logger.py,sha256=jkkvrCTKwsFCsZtmyuvc-WJ0rC7LJi2Z91sIe4IiKzA,2209
106
- janus/utils/_tests/test_progress.py,sha256=Rs_u5PiGjP-L-o6C1fhwfE1ig8jYu9Xo9s4p8yPysl8,491
107
- janus/utils/enums.py,sha256=gmvX3MYnHAwu4ZypidENIZ27M5NI_YegY3PpCDJS34Q,28094
108
- janus/utils/logger.py,sha256=KZeuaMAnlSZCsj4yL0P6N-JzZwpxXygzACWfdZFeuek,2337
109
- janus/utils/pdf_docs_reader.py,sha256=beMKHdYrFwg0m_i7n0OTJrut3sf4rEWFd7P_80A76WY,5140
110
- janus/utils/progress.py,sha256=PIpcQec7SrhsfqB25LHj2CDDkfm9umZx90d9LZnAx6k,1469
111
- janus_llm-4.3.1.dist-info/LICENSE,sha256=_j0st0a-HB6MRbP3_BW3PUqpS16v54luyy-1zVyl8NU,10789
112
- janus_llm-4.3.1.dist-info/METADATA,sha256=ZeUGDDKbJjHSk2Wkzf-4zXLIwaYZqua-5_HVFbzV2yg,4574
113
- janus_llm-4.3.1.dist-info/WHEEL,sha256=Nq82e9rUAnEjt98J6MlVmMCZb-t9cYE2Ir1kpBmnWfs,88
114
- janus_llm-4.3.1.dist-info/entry_points.txt,sha256=OGhQwzj6pvXp79B0SaBD5apGekCu7Dwe9fZZT_TZ544,39
115
- janus_llm-4.3.1.dist-info/RECORD,,
@@ -1,3 +0,0 @@
1
- [console_scripts]
2
- janus=janus.cli:app
3
-