janus-llm 1.0.0__py3-none-any.whl → 2.0.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.
Files changed (74) hide show
  1. janus/__init__.py +9 -1
  2. janus/__main__.py +4 -0
  3. janus/_tests/test_cli.py +128 -0
  4. janus/_tests/test_translate.py +49 -7
  5. janus/cli.py +530 -46
  6. janus/converter.py +50 -19
  7. janus/embedding/_tests/test_collections.py +2 -8
  8. janus/embedding/_tests/test_database.py +32 -0
  9. janus/embedding/_tests/test_vectorize.py +9 -4
  10. janus/embedding/collections.py +49 -6
  11. janus/embedding/embedding_models_info.py +130 -0
  12. janus/embedding/vectorize.py +53 -62
  13. janus/language/_tests/__init__.py +0 -0
  14. janus/language/_tests/test_combine.py +62 -0
  15. janus/language/_tests/test_splitter.py +16 -0
  16. janus/language/binary/_tests/test_binary.py +16 -1
  17. janus/language/binary/binary.py +10 -3
  18. janus/language/block.py +31 -30
  19. janus/language/combine.py +26 -34
  20. janus/language/mumps/_tests/test_mumps.py +2 -2
  21. janus/language/mumps/mumps.py +93 -9
  22. janus/language/naive/__init__.py +4 -0
  23. janus/language/naive/basic_splitter.py +14 -0
  24. janus/language/naive/chunk_splitter.py +26 -0
  25. janus/language/naive/registry.py +13 -0
  26. janus/language/naive/simple_ast.py +18 -0
  27. janus/language/naive/tag_splitter.py +61 -0
  28. janus/language/splitter.py +168 -74
  29. janus/language/treesitter/_tests/test_treesitter.py +19 -14
  30. janus/language/treesitter/treesitter.py +37 -13
  31. janus/llm/model_callbacks.py +177 -0
  32. janus/llm/models_info.py +165 -72
  33. janus/metrics/__init__.py +8 -0
  34. janus/metrics/_tests/__init__.py +0 -0
  35. janus/metrics/_tests/reference.py +2 -0
  36. janus/metrics/_tests/target.py +2 -0
  37. janus/metrics/_tests/test_bleu.py +56 -0
  38. janus/metrics/_tests/test_chrf.py +67 -0
  39. janus/metrics/_tests/test_file_pairing.py +59 -0
  40. janus/metrics/_tests/test_llm.py +91 -0
  41. janus/metrics/_tests/test_reading.py +28 -0
  42. janus/metrics/_tests/test_rouge_score.py +65 -0
  43. janus/metrics/_tests/test_similarity_score.py +23 -0
  44. janus/metrics/_tests/test_treesitter_metrics.py +110 -0
  45. janus/metrics/bleu.py +66 -0
  46. janus/metrics/chrf.py +55 -0
  47. janus/metrics/cli.py +7 -0
  48. janus/metrics/complexity_metrics.py +208 -0
  49. janus/metrics/file_pairing.py +113 -0
  50. janus/metrics/llm_metrics.py +202 -0
  51. janus/metrics/metric.py +466 -0
  52. janus/metrics/reading.py +70 -0
  53. janus/metrics/rouge_score.py +96 -0
  54. janus/metrics/similarity.py +53 -0
  55. janus/metrics/splitting.py +38 -0
  56. janus/parsers/_tests/__init__.py +0 -0
  57. janus/parsers/_tests/test_code_parser.py +32 -0
  58. janus/parsers/code_parser.py +24 -253
  59. janus/parsers/doc_parser.py +169 -0
  60. janus/parsers/eval_parser.py +80 -0
  61. janus/parsers/reqs_parser.py +72 -0
  62. janus/prompts/prompt.py +103 -30
  63. janus/translate.py +636 -111
  64. janus/utils/_tests/__init__.py +0 -0
  65. janus/utils/_tests/test_logger.py +67 -0
  66. janus/utils/_tests/test_progress.py +20 -0
  67. janus/utils/enums.py +56 -3
  68. janus/utils/progress.py +56 -0
  69. {janus_llm-1.0.0.dist-info → janus_llm-2.0.1.dist-info}/METADATA +27 -11
  70. janus_llm-2.0.1.dist-info/RECORD +94 -0
  71. {janus_llm-1.0.0.dist-info → janus_llm-2.0.1.dist-info}/WHEEL +1 -1
  72. janus_llm-1.0.0.dist-info/RECORD +0 -48
  73. {janus_llm-1.0.0.dist-info → janus_llm-2.0.1.dist-info}/LICENSE +0 -0
  74. {janus_llm-1.0.0.dist-info → janus_llm-2.0.1.dist-info}/entry_points.txt +0 -0
File without changes
@@ -0,0 +1,67 @@
1
+ import logging
2
+ import os
3
+ import unittest
4
+ from unittest.mock import patch
5
+
6
+ from ..logger import LogFilter, create_logger
7
+
8
+
9
+ class TestLogger(unittest.TestCase):
10
+ def setUp(self):
11
+ self.log_filter = LogFilter()
12
+ self.record = logging.LogRecord(
13
+ name="test", level=20, pathname="", lineno=0, msg="", args=(), exc_info=None
14
+ )
15
+
16
+ def test_log_filter(self):
17
+ self.record.msg = "dealloc"
18
+ self.assertFalse(self.log_filter.filter(self.record))
19
+
20
+ self.record.msg = "That model is currently overloaded"
21
+ self.assertFalse(self.log_filter.filter(self.record))
22
+
23
+ self.record.msg = "Batches: "
24
+ self.assertFalse(self.log_filter.filter(self.record))
25
+
26
+ self.record.msg = "Using default tokenizer."
27
+ self.assertFalse(self.log_filter.filter(self.record))
28
+
29
+ self.record.msg = "Load pretrained SentenceTransformer"
30
+ self.assertFalse(self.log_filter.filter(self.record))
31
+
32
+ self.record.msg = "Use pytorch device"
33
+ self.assertFalse(self.log_filter.filter(self.record))
34
+
35
+ self.record.msg = "creating"
36
+ self.assertFalse(self.log_filter.filter(self.record))
37
+
38
+ self.record.msg = "cc -f"
39
+ self.assertFalse(self.log_filter.filter(self.record))
40
+
41
+ self.record.msg = "c++"
42
+ self.assertFalse(self.log_filter.filter(self.record))
43
+
44
+ self.record.msg = "error_code=context_length_exceeded"
45
+ self.assertFalse(self.log_filter.filter(self.record))
46
+
47
+ self.record.msg = "NumExpr"
48
+ self.assertFalse(self.log_filter.filter(self.record))
49
+
50
+ self.record.msg = "cc -shared"
51
+ self.assertFalse(self.log_filter.filter(self.record))
52
+
53
+ self.record.msg = "This is a test message"
54
+ self.assertTrue(self.log_filter.filter(self.record))
55
+
56
+ def test_create_logger(self):
57
+ with patch.dict(os.environ, {"LOGLEVEL": "DEBUG"}):
58
+ logger = create_logger("test")
59
+ self.assertEqual(logger.level, logging.DEBUG)
60
+
61
+ with patch.dict(os.environ, {}, clear=True):
62
+ logger = create_logger("test")
63
+ self.assertEqual(logger.level, logging.INFO)
64
+
65
+
66
+ if __name__ == "__main__":
67
+ unittest.main()
@@ -0,0 +1,20 @@
1
+ import unittest
2
+
3
+ from ..progress import track
4
+
5
+
6
+ class TestProgress(unittest.TestCase):
7
+ def test_track(self):
8
+ iterable = range(5)
9
+ description = "Processing:"
10
+ total = 5
11
+
12
+ # Convert the generator to a list to consume all items
13
+ result = list(track(iterable, description, total))
14
+
15
+ # Check if the result is the same as the input iterable
16
+ self.assertEqual(result, list(iterable))
17
+
18
+
19
+ if __name__ == "__main__":
20
+ unittest.main()
janus/utils/enums.py CHANGED
@@ -1,5 +1,5 @@
1
1
  from enum import Enum
2
- from typing import Dict, Set
2
+ from typing import Any, Dict, Set
3
3
 
4
4
 
5
5
  class EmbeddingType(Enum):
@@ -12,7 +12,7 @@ class EmbeddingType(Enum):
12
12
 
13
13
  CUSTOM_SPLITTERS: Set[str] = {"mumps", "binary"}
14
14
 
15
- LANGUAGES: Dict[str, Dict[str, str]] = {
15
+ LANGUAGES: Dict[str, Dict[str, Any]] = {
16
16
  "ada": {
17
17
  "comment": "--",
18
18
  "suffix": "adb",
@@ -63,6 +63,8 @@ LANGUAGES: Dict[str, Dict[str, str]] = {
63
63
  '#include <stdio.h>\n\nint main() {\n printf("Hello, World!\\n");\n'
64
64
  " return 0;\n}\n"
65
65
  ),
66
+ "functional_node_type": "function_definition",
67
+ "comment_node_type": "comment",
66
68
  },
67
69
  "capnp": {
68
70
  "comment": "#",
@@ -204,6 +206,8 @@ LANGUAGES: Dict[str, Dict[str, str]] = {
204
206
  "example": (
205
207
  "program HelloWorld\n print *, 'Hello, World!'\nend program HelloWorld\n"
206
208
  ),
209
+ "functional_node_type": "function",
210
+ "comment_node_type": "comment",
207
211
  },
208
212
  "gitattributes": {
209
213
  "comment": "#",
@@ -271,6 +275,35 @@ LANGUAGES: Dict[str, Dict[str, str]] = {
271
275
  ", World!</h1>\n</body>\n</html>\n"
272
276
  ),
273
277
  },
278
+ "ibmhlasm": {
279
+ "comment": "*",
280
+ "suffix": "asm",
281
+ "url": "https://github.com/janus-llm/tree-sitter-ibmhlasm.git",
282
+ "branch": "metrics",
283
+ "example": (
284
+ """
285
+ TITLE 'Hello, World! Program'
286
+ HELLO CSECT
287
+ STM 14,12,12(13)
288
+ LR 12,15
289
+ USING *,12
290
+ LA 15,SAVEAREA
291
+ ST 13,4(,15)
292
+ ST 15,8(13)
293
+ LR 13,15
294
+ WTO 'Hello, World!'
295
+ L 13,4(,13)
296
+ LM 14,12,12(13)
297
+ LA 15,0
298
+ BR 14
299
+ SAVEAREA DS 18F
300
+ END HELLO
301
+ """
302
+ ),
303
+ "branch_node_types": ["branch_instruction"],
304
+ "operation_node_types": ["operation", "branch_operation"],
305
+ "operand_node_types": ["operands"],
306
+ },
274
307
  "java": {
275
308
  "comment": "//",
276
309
  "suffix": "java",
@@ -385,8 +418,18 @@ LANGUAGES: Dict[str, Dict[str, str]] = {
385
418
  "mumps": {
386
419
  "comment": ";",
387
420
  "suffix": "m",
388
- "url": None,
421
+ "url": "https://github.com/janus-llm/tree-sitter-mumps",
389
422
  "example": 'WRITE "Hello, World!"',
423
+ "functional_node_type": "routine_definition",
424
+ "comment_node_type": "comment",
425
+ "branch_node_types": ["if_statement"],
426
+ "operation_node_types": [
427
+ "command",
428
+ "function_call",
429
+ "routine_call",
430
+ "routine_definition",
431
+ ],
432
+ "operand_node_types": ["argument"],
390
433
  },
391
434
  "nix": {
392
435
  "comment": "#",
@@ -469,6 +512,8 @@ LANGUAGES: Dict[str, Dict[str, str]] = {
469
512
  "suffix": "py",
470
513
  "url": "https://github.com/tree-sitter/tree-sitter-python",
471
514
  "example": "# Hello, World!\nprint('Hello, World!')\n",
515
+ "functional_node_type": "function_definition",
516
+ "comment_node_type": "comment",
472
517
  },
473
518
  "qmljs": {
474
519
  "comment": "//",
@@ -684,6 +729,14 @@ LANGUAGES: Dict[str, Dict[str, str]] = {
684
729
  "url": "https://github.com/tree-sitter/tree-sitter-typescript",
685
730
  "example": "console.log('Hello, World!');\n",
686
731
  },
732
+ "uml": {
733
+ "comment": "'",
734
+ "suffix": "uml",
735
+ "url": "https://github.com/lyndsysimon/tree-sitter-plantuml",
736
+ "example": "@startuml\nAlice -> Bob: Authentication Request\nBob --> Alice:\
737
+ Authentication Response\nAlice -> Bob: Another authentication\
738
+ Request\nAlice <-- Bob: Another authentication Response\n@enduml",
739
+ },
687
740
  "verilog": {
688
741
  "comment": "//",
689
742
  "suffix": "v",
@@ -0,0 +1,56 @@
1
+ from typing import Iterable
2
+
3
+ from rich.progress import (
4
+ BarColumn,
5
+ MofNCompleteColumn,
6
+ Progress,
7
+ SpinnerColumn,
8
+ TextColumn,
9
+ TimeElapsedColumn,
10
+ TimeRemainingColumn,
11
+ )
12
+
13
+ from .logger import create_logger
14
+
15
+ log = create_logger(__name__)
16
+
17
+
18
+ def track(
19
+ iterable: Iterable, description: None | str = None, total: None | int = None
20
+ ) -> Iterable:
21
+ """Track progress of an iterable.
22
+
23
+ Arguments:
24
+ iterable: The iterable to track.
25
+ description: The description to show for the progress bar.
26
+ total: The total number of items in the iterable.
27
+ """
28
+ if total is None:
29
+ try:
30
+ total = len(iterable)
31
+ except TypeError:
32
+ log.debug("Could not determine total number of items in iterable.")
33
+ total = None
34
+
35
+ with Progress(
36
+ SpinnerColumn(),
37
+ TextColumn("[bold blue]{task.description}", justify="right"),
38
+ BarColumn(),
39
+ MofNCompleteColumn(),
40
+ "[progress.percentage]{task.percentage:>3.0f}%",
41
+ "[yellow]Time Elapsed:",
42
+ TimeElapsedColumn(),
43
+ "[cyan]Time Remaining:",
44
+ TimeRemainingColumn(),
45
+ ) as progress:
46
+ task = progress.add_task(description, total=total)
47
+ for item in iterable:
48
+ progress.update(task, advance=1)
49
+ yield item
50
+
51
+
52
+ if __name__ == "__main__":
53
+ from time import sleep
54
+
55
+ for i in track(range(100), description="Processing:"):
56
+ sleep(0.5)
@@ -1,30 +1,41 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: janus-llm
3
- Version: 1.0.0
3
+ Version: 2.0.1
4
4
  Summary: A transcoding library using LLMs.
5
5
  Home-page: https://github.com/janus-llm/janus-llm
6
6
  License: Apache 2.0
7
7
  Author: Michael Doyle
8
8
  Author-email: mdoyle@mitre.org
9
- Requires-Python: >=3.10,<4.0
9
+ Requires-Python: >=3.11,<3.12
10
10
  Classifier: License :: Other/Proprietary License
11
11
  Classifier: Programming Language :: Python :: 3
12
- Classifier: Programming Language :: Python :: 3.10
13
12
  Classifier: Programming Language :: Python :: 3.11
14
- Classifier: Programming Language :: Python :: 3.12
15
- Requires-Dist: chromadb (>=0.4.14,<0.5.0)
13
+ Provides-Extra: all
14
+ Provides-Extra: bedrock
15
+ Provides-Extra: hf-local
16
+ Requires-Dist: aenum (>=3.1.15,<4.0.0)
17
+ Requires-Dist: boto3 (>=1.34.142,<2.0.0) ; extra == "bedrock" or extra == "all"
18
+ Requires-Dist: chromadb (>=0.5.0,<0.6.0)
16
19
  Requires-Dist: gitpython (>=3.1.32,<4.0.0)
17
20
  Requires-Dist: gpt4all (>=2.0.2,<3.0.0)
18
- Requires-Dist: langchain (>=0.0.306,<0.0.307)
19
- Requires-Dist: langchain-community (>=0.0.16,<0.0.17)
21
+ Requires-Dist: langchain (>=0.2.0,<0.3.0)
22
+ Requires-Dist: langchain-anthropic (>=0.1.15,<0.2.0)
23
+ Requires-Dist: langchain-community (>=0.2.0,<0.3.0)
24
+ Requires-Dist: langchain-core (>=0.2.0,<0.3.0)
25
+ Requires-Dist: langchain-openai (>=0.1.8,<0.2.0)
26
+ Requires-Dist: nltk (>=3.8.1,<4.0.0)
20
27
  Requires-Dist: numpy (>=1.24.3,<2.0.0)
21
- Requires-Dist: openai (>=0.27.6,<0.28.0)
28
+ Requires-Dist: openai (>=1.14.0,<2.0.0)
29
+ Requires-Dist: py-readability-metrics (>=1.4.5,<2.0.0)
30
+ Requires-Dist: py-rouge (>=1.1,<2.0)
22
31
  Requires-Dist: python-dotenv (>=1.0.0,<2.0.0)
23
- Requires-Dist: rich (>=13.3.5,<14.0.0)
32
+ Requires-Dist: rich (>=13.7.1,<14.0.0)
33
+ Requires-Dist: sacrebleu (>=2.4.1,<3.0.0)
34
+ Requires-Dist: sentence-transformers (>=2.6.1,<3.0.0) ; extra == "hf-local" or extra == "all"
24
35
  Requires-Dist: text-generation (>=0.6.0,<0.7.0)
25
- Requires-Dist: tiktoken (>=0.4.0,<0.5.0)
36
+ Requires-Dist: tiktoken (>=0.7.0,<0.8.0)
26
37
  Requires-Dist: transformers (>=4.31.0,<5.0.0)
27
- Requires-Dist: tree-sitter (>=0.20.1,<0.21.0)
38
+ Requires-Dist: tree-sitter (>=0.21.0,<0.22.0)
28
39
  Requires-Dist: typer (>=0.9.0,<0.10.0)
29
40
  Project-URL: Documentation, https://janus-llm.github.io/janus-llm
30
41
  Project-URL: Repository, https://github.com/janus-llm/janus-llm
@@ -43,8 +54,10 @@ Description-Content-Type: text/markdown
43
54
  </a>
44
55
  <a href="https://github.com/psf/black" target="_blank">
45
56
  <img src="https://img.shields.io/badge/code%20style-black-000000.svg" alt="Code Style: black">
57
+ </a>
46
58
  <a href="https://pypi.org/project/janus-llm" target="_blank">
47
59
  <img src="https://img.shields.io/pypi/pyversions/janus-llm" alt="Python versions">
60
+ </a>
48
61
  <a href="https://pypi.org/project/janus-llm" target="_blank">
49
62
  <img src="https://img.shields.io/pypi/v/janus-llm?color=%2334D058&label=pypi%20package" alt="Package version">
50
63
  </a>
@@ -94,3 +107,6 @@ poetry install
94
107
 
95
108
  See our [contributing pages](https://janus-llm.github.io/janus-llm/contributing.html)
96
109
 
110
+ ### Copyright
111
+ Copyright ©2024 The MITRE Corporation. ALL RIGHTS RESERVED. Approved for Public Release; Distribution Unlimited. Public Release Case Number 23-4084.
112
+
@@ -0,0 +1,94 @@
1
+ janus/__init__.py,sha256=CLhLBI_jy4pPKw-ZfpgACv8QHFZMnZml-GjPpBcSYMg,341
2
+ janus/__main__.py,sha256=Qd-f8z2Q2vpiEP2x6PBFsJrpACWDVxFKQk820MhFmHo,59
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=oP-WOM-ai4jZLDGqjLzI6kCtfXWpoeUR8TynP5p6cVg,4254
6
+ janus/_tests/test_translate.py,sha256=71oRTTfdSVFOBvUhuOavgl3TuimTz1K6eG-04pUGpfE,16439
7
+ janus/cli.py,sha256=X_7HXQGeQEYUkIF3AHbbc04lUEUjKegZ7tUFwmKjf10,29549
8
+ janus/converter.py,sha256=ge7nJA1DlOrHW_uB9P0dguc48Au8g7bqCERNqMIqfxs,5941
9
+ janus/embedding/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
10
+ janus/embedding/_tests/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
11
+ janus/embedding/_tests/test_collections.py,sha256=llg-JSuRRFhKkHFiWWSHEWV3iaT6Lwue0lp2tEml9io,2668
12
+ janus/embedding/_tests/test_database.py,sha256=uqI2Jgj8DEIlciqiwiZx_n0osjcspIPrHOSSN1NRZSk,1019
13
+ janus/embedding/_tests/test_vectorize.py,sha256=NnJLHBwgMVycAProRJxuLVSByxrpJ35eaZCFca52gNY,1964
14
+ janus/embedding/collections.py,sha256=ZE8QGYQ82DCLqhV0m1y7PiqpuHjEfxHPcS5SCKU0LAw,5411
15
+ janus/embedding/database.py,sha256=tabz3n1rilTQU1x2RXY0xZcqlKQ63THZ4oSNTz-9e_I,3296
16
+ janus/embedding/embedding_models_info.py,sha256=Ouj_VIowuX_mb99ni7vbmXkCkGTmO7XAbw2AHIaicVc,5074
17
+ janus/embedding/vectorize.py,sha256=ap3e6ZMai8U3M5vdpLc_st4Sw31xyqoaqEno0IJlVOU,6410
18
+ janus/language/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
19
+ janus/language/_tests/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
20
+ janus/language/_tests/test_combine.py,sha256=ydCYNbTxvaxT-5axiEBzPQLn6s4arSyZ5Tx2SYKLpJY,1830
21
+ janus/language/_tests/test_splitter.py,sha256=Hqexa39LLEXlK3ZUw7Zot4PUIACvye2vkq0Jaox0T10,373
22
+ janus/language/binary/__init__.py,sha256=AlNAe12ZA366kcGSrQ1FJyOdbwxFqGBFkYR2K6yL818,51
23
+ janus/language/binary/_tests/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
24
+ janus/language/binary/_tests/test_binary.py,sha256=a-8RSfKA23UrJC9c1xPQK792XZCz8npCHI7isN2dAP8,1727
25
+ janus/language/binary/binary.py,sha256=CS1RAieN8klSsCeXQEFYKUWioatUX-sOPXKQr5S6NzE,6534
26
+ janus/language/binary/reveng/decompile_script.py,sha256=veW51oJzuO-4UD3Er062jXZ_FYtTFo9OCkl82Z2xr6A,2182
27
+ janus/language/block.py,sha256=4f8e3YYSS2p-0fXjjl2erbbXDOHcBxiLzDHALKlPTg4,9188
28
+ janus/language/combine.py,sha256=hSEc1dHLcOELks-ZGsRKHOgYBXAronKus6BTmb1u42k,2940
29
+ janus/language/file.py,sha256=X2MYcAMlCABK77uhMdI_J2foXLrqEdinapYRfLPyKB8,563
30
+ janus/language/mumps/__init__.py,sha256=-Ou_wJ-JgHezfp1dub2_qCYNiK9wO-zo2MlqxM9qiwE,48
31
+ janus/language/mumps/_tests/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
32
+ janus/language/mumps/_tests/test_mumps.py,sha256=6l7q14lPnKf231iWwMdRbf-dg9QuHa26YMS7-K7yC4A,1001
33
+ janus/language/mumps/mumps.py,sha256=J8ewuLDh7y9GeyCcGNYqCGJ9HOwrEWypc2HNxClZ8is,7382
34
+ janus/language/mumps/patterns.py,sha256=FW5T6Nt5kBO2UKgSL1KLVDbYRgMaJAzDvEmvBkxHppA,2310
35
+ janus/language/naive/__init__.py,sha256=6P5rDAZtoHTObkFbZkiEdd-PVRA_9VTQogUjwvRMKK8,198
36
+ janus/language/naive/basic_splitter.py,sha256=RM9pJK2YkHfb6_EFEV-dh_rLqkjS6v0cn3ASPf8A6Fg,459
37
+ janus/language/naive/chunk_splitter.py,sha256=ebRSbaJhDW-Hyr5__ukbdmAl6kQ1WWFqrq_SfCgHo6k,772
38
+ janus/language/naive/registry.py,sha256=8YQX1q0IdAm7t69-oC_00I-vfkdRnHuX-OD3KEjEIuU,294
39
+ janus/language/naive/simple_ast.py,sha256=gix_fh864sHZ5KeXoOZIVdKdQeCN_4Qwq4Ox-haZ6sY,593
40
+ janus/language/naive/tag_splitter.py,sha256=IXWMn9tBVUGAtzvQi89GhoZ6g7fPXk5MzO0kMCr2mb0,2045
41
+ janus/language/node.py,sha256=-ymv--oILEYLVO2KSOrzOlzL2cZHNQpQJYwE1cKA-pY,200
42
+ janus/language/splitter.py,sha256=Ep8RxWrnuih3MAcdkkbtAsSLrPmyQcjnk0IzbRC-460,16741
43
+ janus/language/treesitter/__init__.py,sha256=mUliw7ZJLZ8NkJKyUQMSoUV82hYXE0HvLHrEdGPJF4Q,43
44
+ janus/language/treesitter/_tests/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
45
+ janus/language/treesitter/_tests/test_treesitter.py,sha256=nsavUV0aI6cpT9FkQve58eTTehLyQG6qJJBGlNa_bIw,2170
46
+ janus/language/treesitter/treesitter.py,sha256=9hbP7eBuSEKSZm6OD4C9q2tbjzrEidaCAKw74aO4lEM,6855
47
+ janus/llm/__init__.py,sha256=8Pzn3Jdx867PzDc4xmwm8wvJDGzWSIhpN0NCEYFe0LQ,36
48
+ janus/llm/model_callbacks.py,sha256=zMCbMgniKrzKf-sU9SxOcfoOvc3xz7y0VxIxfdlS5tA,6766
49
+ janus/llm/models_info.py,sha256=jNTp7mg7MVSS-Anp9Z-wMTz8odiE-1xXeyi8ngpJi1E,7151
50
+ janus/metrics/__init__.py,sha256=AsxtZJUzZiXJPr2ehPPltuYP-ddechjg6X85WZUO7mA,241
51
+ janus/metrics/_tests/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
52
+ janus/metrics/_tests/reference.py,sha256=hiaJPP9CXkvFBV_wL-gOe_BzELTw0nvB6uCxhxtIiE8,13
53
+ janus/metrics/_tests/target.py,sha256=hiaJPP9CXkvFBV_wL-gOe_BzELTw0nvB6uCxhxtIiE8,13
54
+ janus/metrics/_tests/test_bleu.py,sha256=TcSnNGpMh00Nkkk1zq5wDfdCANMUq9eXscU_hcBRU8A,1640
55
+ janus/metrics/_tests/test_chrf.py,sha256=O4v1Cj513H8NYffJILpSI7CuR_dnm7F8CeB3C7sZYr0,2202
56
+ janus/metrics/_tests/test_file_pairing.py,sha256=A4Qy6JIesFXUcaig45Ze6LiViuHQS7MFSQzDHQP3j9w,1880
57
+ janus/metrics/_tests/test_llm.py,sha256=IYsLwX5zC2WcaaPeSlHuQVmU2sB55-dsOXnmQPhcKps,3007
58
+ janus/metrics/_tests/test_reading.py,sha256=NDLFyjmOpM5gWf1LLTjGIw3aUR8Qf22zTt9hwe7NABs,840
59
+ janus/metrics/_tests/test_rouge_score.py,sha256=dnP99nry-U5wyE-CiC0eQwm78IyScnmGQH3BeIEdmLY,2032
60
+ janus/metrics/_tests/test_similarity_score.py,sha256=tdzH_8hYb2h7fKxpd_a75di-GPnU_frZ0zn2aeYzkso,811
61
+ janus/metrics/_tests/test_treesitter_metrics.py,sha256=tqpAg9LY811gfQ3n2ypRqBJesAFQodMf6Gz7dvOsqp4,4337
62
+ janus/metrics/bleu.py,sha256=eRoHIQulPp5mezJzHCNkwUB_89tAj4PqV2pF9eV9HfI,1746
63
+ janus/metrics/chrf.py,sha256=zNGWZ40CPMgj8rctnmwkbf25_PvSOLPbOjv-iN2cGXM,1472
64
+ janus/metrics/cli.py,sha256=Duuw2RF47Z-t1pal0cg3L_-N_91rx29krirqtIwjYLY,157
65
+ janus/metrics/complexity_metrics.py,sha256=kJh_TyZttMP716MXGfl-WbaS4beR_DaQWGYVg6MurSU,6573
66
+ janus/metrics/file_pairing.py,sha256=WNHRV1D8GOJMq8Pla5SPkTDAT7yVaS4-UU0XIGKvEVs,3729
67
+ janus/metrics/llm_metrics.py,sha256=3677S6GYcoVcokpmAN-fwvNu-lYWAKd7M5mebiE6RZc,5687
68
+ janus/metrics/metric.py,sha256=QRzLCkHY2g4pWDIiVLNaxNiEMF4gXw_eUrjecH5CdwA,16987
69
+ janus/metrics/reading.py,sha256=KYuWjKnk0ALRU5S7mCNNZtaNgK02l0fdIGsaNvxLMO4,1690
70
+ janus/metrics/rouge_score.py,sha256=HfUJwUWI-yq5pOjML2ee4QTOMl0NQahnqEY2Mt8Dtnw,2865
71
+ janus/metrics/similarity.py,sha256=9pjWWpLKCsk0QfFfSgQNdPXiisqi7WJYOOHaiT8S0iY,1613
72
+ janus/metrics/splitting.py,sha256=610ScHRvALwdkqA6YyGI-tr3a18_cUofldBxGYX0SwE,968
73
+ janus/parsers/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
74
+ janus/parsers/_tests/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
75
+ janus/parsers/_tests/test_code_parser.py,sha256=G39i6fIsTxjcxBVaKyMAWgUcFslni9z9Hke2t0-XtJM,880
76
+ janus/parsers/code_parser.py,sha256=XwCoOYwnx2tpqluIdXWg-GWOOkooSDYmJHvqDrxgf48,1782
77
+ janus/parsers/doc_parser.py,sha256=X8eCb1QXbL6sVWLEFGjsPyxrpJ9XnOPg7G4KZSo9A9E,5658
78
+ janus/parsers/eval_parser.py,sha256=HB5-zY_Jpmkj6FDbuNCCVCRxwmzhViSAjPKbyyC0Ebc,2723
79
+ janus/parsers/reqs_parser.py,sha256=mOMC-7IK3huVS0oOb7m3ZHOCXUFMgTfRg6XXTowir9A,2294
80
+ janus/prompts/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
81
+ janus/prompts/prompt.py,sha256=GMQ9EqwtIhB_x8MgfoeTeb4OkLaySYdGd3wVbpDMZXA,8911
82
+ janus/translate.py,sha256=UxdRNXJRVYBoJ74Tis82qYeG9aWRmQqg13lTuuyLbII,38753
83
+ janus/utils/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
84
+ janus/utils/_tests/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
85
+ janus/utils/_tests/test_logger.py,sha256=4jZFm8LX828Dt9lOjiFHZIPbxYy_hHaswyrMPkscgdM,2199
86
+ janus/utils/_tests/test_progress.py,sha256=Yh5NDNq-24n2nhHHbJm39pENAH70PYnh9ymwdcn0_UU,481
87
+ janus/utils/enums.py,sha256=SlZKHojLPYOSjuekQGirSHem5Etcgy57txCtVCej2Ag,27533
88
+ janus/utils/logger.py,sha256=KZeuaMAnlSZCsj4yL0P6N-JzZwpxXygzACWfdZFeuek,2337
89
+ janus/utils/progress.py,sha256=pKcCzO9JOU9fSD7qTmLWcqY5smc8mujqQMXoPgqNysE,1458
90
+ janus_llm-2.0.1.dist-info/LICENSE,sha256=_j0st0a-HB6MRbP3_BW3PUqpS16v54luyy-1zVyl8NU,10789
91
+ janus_llm-2.0.1.dist-info/METADATA,sha256=ygOJ_vhFnBbZj_-B398EH_FRdjLjW2Qh1cVzn4CsRlQ,4184
92
+ janus_llm-2.0.1.dist-info/WHEEL,sha256=sP946D7jFCHeNz5Iq4fL4Lu-PrWrFsgfLXbbkciIZwg,88
93
+ janus_llm-2.0.1.dist-info/entry_points.txt,sha256=OGhQwzj6pvXp79B0SaBD5apGekCu7Dwe9fZZT_TZ544,39
94
+ janus_llm-2.0.1.dist-info/RECORD,,
@@ -1,4 +1,4 @@
1
1
  Wheel-Version: 1.0
2
- Generator: poetry-core 1.8.1
2
+ Generator: poetry-core 1.9.0
3
3
  Root-Is-Purelib: true
4
4
  Tag: py3-none-any
@@ -1,48 +0,0 @@
1
- janus/__init__.py,sha256=-GlPjV7Xwuyz240xkNmP-zQrDl7cw865MBdeudhYlLs,57
2
- janus/_tests/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
3
- janus/_tests/conftest.py,sha256=V7uW-oq3YbFiRPvrq15YoVVrA1n_83pjgiyTZ-IUGW8,963
4
- janus/_tests/test_translate.py,sha256=NBvq0m_aywXglrGtJ7VplrSLjEi2hY_lpfBwKEV3brc,14975
5
- janus/cli.py,sha256=sSZyT7RWT2HoL8sdotJVIDTiVK5Gx_prlBZ_PuRwDkE,14362
6
- janus/converter.py,sha256=e2FUyJzWcQ-GbIR9jS-Hf1OU3KlSUulVlmQcIsedDeg,4584
7
- janus/embedding/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
8
- janus/embedding/_tests/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
9
- janus/embedding/_tests/test_collections.py,sha256=gednUaBV8Lg5awDinaHpwx7XPrd8KdK7x9N6EdyzCeQ,2874
10
- janus/embedding/_tests/test_vectorize.py,sha256=Y0W5vy1j4iiQ_2t4EpN-5YeoBU9oBhO99TzHq0JH70c,1822
11
- janus/embedding/collections.py,sha256=OgIj-cVIyho0coZq4lLzwKqdQQ0c1E5bwvm9rtfy-Xk,3632
12
- janus/embedding/database.py,sha256=tabz3n1rilTQU1x2RXY0xZcqlKQ63THZ4oSNTz-9e_I,3296
13
- janus/embedding/vectorize.py,sha256=lpznhCd69WZPquHRnoiB0gXmfTPXtx6X0ZvoZIrIypA,6549
14
- janus/language/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
15
- janus/language/binary/__init__.py,sha256=AlNAe12ZA366kcGSrQ1FJyOdbwxFqGBFkYR2K6yL818,51
16
- janus/language/binary/_tests/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
17
- janus/language/binary/_tests/test_binary.py,sha256=UqBOGs14zAY5x4AaChh1ER5D2SO_0ijrT3zKGdrOedk,1054
18
- janus/language/binary/binary.py,sha256=KiQMn9iz-XzKU9f66Asoaa_3qlRb9AJqTECwv7o_v8M,6342
19
- janus/language/binary/reveng/decompile_script.py,sha256=veW51oJzuO-4UD3Er062jXZ_FYtTFo9OCkl82Z2xr6A,2182
20
- janus/language/block.py,sha256=r73vCIRHroPIfrUi5TZwEWaCE51Xt1PKQ5PNAMEhCOE,8880
21
- janus/language/combine.py,sha256=_GwSG55EIdjeb4Qch1tKr4Nn7G3iC4qkydHd_GlwvJY,3504
22
- janus/language/file.py,sha256=X2MYcAMlCABK77uhMdI_J2foXLrqEdinapYRfLPyKB8,563
23
- janus/language/mumps/__init__.py,sha256=-Ou_wJ-JgHezfp1dub2_qCYNiK9wO-zo2MlqxM9qiwE,48
24
- janus/language/mumps/_tests/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
25
- janus/language/mumps/_tests/test_mumps.py,sha256=R6jczQojibGRUKU4pqtfa5ksXz5jZykPJ3TWoo04BEw,995
26
- janus/language/mumps/mumps.py,sha256=37hscBm_eOKC6X3y8EPvKiLarMWZzbXYlreqTzqi5qg,4312
27
- janus/language/mumps/patterns.py,sha256=FW5T6Nt5kBO2UKgSL1KLVDbYRgMaJAzDvEmvBkxHppA,2310
28
- janus/language/node.py,sha256=-ymv--oILEYLVO2KSOrzOlzL2cZHNQpQJYwE1cKA-pY,200
29
- janus/language/splitter.py,sha256=G6yZot3S-pQjMpgUS0eSVdGLc33CZSybPQkh_n6i5Ls,13159
30
- janus/language/treesitter/__init__.py,sha256=mUliw7ZJLZ8NkJKyUQMSoUV82hYXE0HvLHrEdGPJF4Q,43
31
- janus/language/treesitter/_tests/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
32
- janus/language/treesitter/_tests/test_treesitter.py,sha256=C3eoH8D7tgJNsqNv1nNcOlQC_jfGvd3FtsT-Z6JpTeM,1792
33
- janus/language/treesitter/treesitter.py,sha256=vmNRsl11b8ymtGG_sNJSQkcp2oJYtHMPSltpuFO7al8,5716
34
- janus/llm/__init__.py,sha256=8Pzn3Jdx867PzDc4xmwm8wvJDGzWSIhpN0NCEYFe0LQ,36
35
- janus/llm/models_info.py,sha256=O3v-JkwWlDvdegnn4KQfspP8grfbXY2uy4hhbX81VPI,4112
36
- janus/parsers/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
37
- janus/parsers/code_parser.py,sha256=eLODJTTX7vbY2YCgjH0pROj11a0fptfBlCCOhV0omu0,9297
38
- janus/prompts/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
39
- janus/prompts/prompt.py,sha256=3LNkMLl8v45W9kMcW6qMIzKLxvtu2eK_oGIeg3yXCAI,5939
40
- janus/translate.py,sha256=VBTUq2LP7aOeE5stGx5zDH6rEGR0ET3npfctNtjPw6g,19003
41
- janus/utils/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
42
- janus/utils/enums.py,sha256=IgcBcPMYQnLrFPWyAXEKxjwoR52Y5eMEjAqcZ4Cp-gw,25511
43
- janus/utils/logger.py,sha256=KZeuaMAnlSZCsj4yL0P6N-JzZwpxXygzACWfdZFeuek,2337
44
- janus_llm-1.0.0.dist-info/LICENSE,sha256=_j0st0a-HB6MRbP3_BW3PUqpS16v54luyy-1zVyl8NU,10789
45
- janus_llm-1.0.0.dist-info/METADATA,sha256=bCGOzMdm0ZSlKfXYfuxde3tNNL9b8q-FmEZ5WeeM59w,3516
46
- janus_llm-1.0.0.dist-info/WHEEL,sha256=FMvqSimYX_P7y0a7UY-_Mc83r5zkBZsCYPm7Lr0Bsq4,88
47
- janus_llm-1.0.0.dist-info/entry_points.txt,sha256=OGhQwzj6pvXp79B0SaBD5apGekCu7Dwe9fZZT_TZ544,39
48
- janus_llm-1.0.0.dist-info/RECORD,,