mylo-agent 0.1.0__tar.gz

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.
@@ -0,0 +1,12 @@
1
+ MIT License
2
+
3
+ Copyright (c) 2026 Monteluke
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
6
+
7
+ The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
8
+
9
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
10
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
11
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
12
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
@@ -0,0 +1,97 @@
1
+ Metadata-Version: 2.4
2
+ Name: mylo-agent
3
+ Version: 0.1.0
4
+ Summary: An agent for analyzing GitHub and GitLab repositories.
5
+ Author-email: Monteluke <monteluke121@gmail.com>
6
+ License: MIT
7
+ Classifier: Programming Language :: Python :: 3
8
+ Classifier: License :: OSI Approved :: MIT License
9
+ Classifier: Operating System :: OS Independent
10
+ Requires-Python: >=3.9
11
+ Description-Content-Type: text/markdown
12
+ License-File: LICENSE
13
+ Requires-Dist: langchain-anthropic>=1.4.6
14
+ Requires-Dist: langchain-core>=1.4.8
15
+ Requires-Dist: langchain-google-genai>=4.2.5
16
+ Requires-Dist: langchain-groq>=1.1.3
17
+ Requires-Dist: langchain-openai>=1.3.2
18
+ Requires-Dist: pygments>=2.20.0
19
+ Requires-Dist: python-dotenv>=1.2.2
20
+ Requires-Dist: requests>=2.34.2
21
+ Requires-Dist: rich>=15.0.0
22
+ Requires-Dist: textual>=0.50.0
23
+ Requires-Dist: tree-sitter>=0.25.2
24
+ Requires-Dist: tree-sitter-language-pack>=1.10.1
25
+ Dynamic: license-file
26
+
27
+ # Mylo
28
+
29
+ An agent build with Langchain and Textual for Github and Gitlab repo analysis.
30
+
31
+ ## About Mylo
32
+
33
+ The main goal of Mylo is not to be another coding agent, but an agent that help you to find and analyse code made by other developers in a more easier and simple way. This will allow you to find repos that may fix your current problem or may suitable for your current or future projects :)
34
+
35
+
36
+ ## Installation
37
+
38
+ Mylo requires **python version >= 3.9**. Install it via pip as follows,
39
+
40
+ ```bash
41
+ pip install mylo-agent
42
+ ```
43
+
44
+ To run,
45
+
46
+ ```bash
47
+ mylo
48
+ ```
49
+
50
+ ## Main Features
51
+
52
+ * Supports models from providers such as OpenAI, Anthropic, Google, and Groq via standard API keys. Support for additional providers is coming soon. (The api keys are stored in ~/mylo-config/.env)
53
+
54
+ * Allow you to rewrite and modify the system prompt of the agent (the system prompt can be found in ~/mylo-config/SYSTEM_PROMPT.md )
55
+
56
+ * Allow you to create model profiles and specify the memory limit for each profile.
57
+
58
+ * Each model profile shares the same memory (or context). Therefore you can switch between multiple model with different memory limit in the same session.
59
+
60
+ * The TUI displays the total token usage for each query and the total cumulative token (which is the total token usage by that model profile in one session). The token counting is seperate for each model profile that you use.
61
+
62
+ * Allows you to add github and gitlab tokens for more api requests by the agent. (The tokens are stored in ~/mylo-config/.env)
63
+
64
+
65
+
66
+ ### Model Profile
67
+
68
+ Model Profile is a compact way of storing the model name, provider name, api key and memory limit. You can add name for each model profile allowing you to quick load the model that you wanted. Model profiles allow you to change the memory limit of each model that you use, giving more control over your token usage
69
+
70
+ ### what is memory limit?
71
+
72
+ memory limit is the the maximum number of tokens passed to the LLM as conversation history. The TUI utilizes LangChain's trim_messages to dynamically trim older history, ensuring the context never exceeds this limit. This trimming process never affects your system prompt.
73
+
74
+ ## Agent Functionalities
75
+
76
+ - Mylo can find names of repos from github and gitlab based on your specific needs
77
+
78
+ - It can show the file structure of a repository
79
+
80
+ - It can fetch / retrieve any files from a repository such as readme.md (you can ask it to retrive a file by specifying the path of the file in the repo (folder/file format). if it is not inside any folder, then just specify only the filename ).
81
+
82
+ - Mylo can also analyse the fetched files
83
+
84
+ - Mylo can analyse a file more deeply by using the AST of the file (The agent currently supports 16 languages.)
85
+
86
+ - Mylo can also write the retrieved files into disk (should provide the path to which the file is to be saved).
87
+
88
+
89
+ ***languages supported by the agent:*** Python, Javascript, Typescript, Lua, Rust, Kotlin, Swift, Dart, C, C++, C#, Java, Go, Scala, Ruby and Php
90
+
91
+
92
+ ## Contributions
93
+
94
+ Contributions are highly welcome! Whether you are fixing a bug, optimizing performance, or adding a new tool to the agent, your help makes Mylo better.
95
+
96
+
97
+ For major architectural adjustments or feature requests, feel free to open an issue first to discuss what you would like to change.
@@ -0,0 +1,71 @@
1
+ # Mylo
2
+
3
+ An agent build with Langchain and Textual for Github and Gitlab repo analysis.
4
+
5
+ ## About Mylo
6
+
7
+ The main goal of Mylo is not to be another coding agent, but an agent that help you to find and analyse code made by other developers in a more easier and simple way. This will allow you to find repos that may fix your current problem or may suitable for your current or future projects :)
8
+
9
+
10
+ ## Installation
11
+
12
+ Mylo requires **python version >= 3.9**. Install it via pip as follows,
13
+
14
+ ```bash
15
+ pip install mylo-agent
16
+ ```
17
+
18
+ To run,
19
+
20
+ ```bash
21
+ mylo
22
+ ```
23
+
24
+ ## Main Features
25
+
26
+ * Supports models from providers such as OpenAI, Anthropic, Google, and Groq via standard API keys. Support for additional providers is coming soon. (The api keys are stored in ~/mylo-config/.env)
27
+
28
+ * Allow you to rewrite and modify the system prompt of the agent (the system prompt can be found in ~/mylo-config/SYSTEM_PROMPT.md )
29
+
30
+ * Allow you to create model profiles and specify the memory limit for each profile.
31
+
32
+ * Each model profile shares the same memory (or context). Therefore you can switch between multiple model with different memory limit in the same session.
33
+
34
+ * The TUI displays the total token usage for each query and the total cumulative token (which is the total token usage by that model profile in one session). The token counting is seperate for each model profile that you use.
35
+
36
+ * Allows you to add github and gitlab tokens for more api requests by the agent. (The tokens are stored in ~/mylo-config/.env)
37
+
38
+
39
+
40
+ ### Model Profile
41
+
42
+ Model Profile is a compact way of storing the model name, provider name, api key and memory limit. You can add name for each model profile allowing you to quick load the model that you wanted. Model profiles allow you to change the memory limit of each model that you use, giving more control over your token usage
43
+
44
+ ### what is memory limit?
45
+
46
+ memory limit is the the maximum number of tokens passed to the LLM as conversation history. The TUI utilizes LangChain's trim_messages to dynamically trim older history, ensuring the context never exceeds this limit. This trimming process never affects your system prompt.
47
+
48
+ ## Agent Functionalities
49
+
50
+ - Mylo can find names of repos from github and gitlab based on your specific needs
51
+
52
+ - It can show the file structure of a repository
53
+
54
+ - It can fetch / retrieve any files from a repository such as readme.md (you can ask it to retrive a file by specifying the path of the file in the repo (folder/file format). if it is not inside any folder, then just specify only the filename ).
55
+
56
+ - Mylo can also analyse the fetched files
57
+
58
+ - Mylo can analyse a file more deeply by using the AST of the file (The agent currently supports 16 languages.)
59
+
60
+ - Mylo can also write the retrieved files into disk (should provide the path to which the file is to be saved).
61
+
62
+
63
+ ***languages supported by the agent:*** Python, Javascript, Typescript, Lua, Rust, Kotlin, Swift, Dart, C, C++, C#, Java, Go, Scala, Ruby and Php
64
+
65
+
66
+ ## Contributions
67
+
68
+ Contributions are highly welcome! Whether you are fixing a bug, optimizing performance, or adding a new tool to the agent, your help makes Mylo better.
69
+
70
+
71
+ For major architectural adjustments or feature requests, feel free to open an issue first to discuss what you would like to change.
@@ -0,0 +1,41 @@
1
+ [build-system]
2
+ requires = ["setuptools>=61.0.0", "wheel"]
3
+ build-backend = "setuptools.build_meta"
4
+
5
+ [project]
6
+ name = "mylo-agent"
7
+ version = "0.1.0"
8
+ description = "An agent for analyzing GitHub and GitLab repositories."
9
+ readme = "README.md"
10
+ authors = [
11
+ { name = "Monteluke", email = "monteluke121@gmail.com" }
12
+ ]
13
+ license = { text = "MIT" }
14
+ classifiers = [
15
+ "Programming Language :: Python :: 3",
16
+ "License :: OSI Approved :: MIT License",
17
+ "Operating System :: OS Independent",
18
+ ]
19
+ requires-python = ">=3.9"
20
+
21
+ dependencies = [
22
+ "langchain-anthropic>=1.4.6",
23
+ "langchain-core>=1.4.8",
24
+ "langchain-google-genai>=4.2.5",
25
+ "langchain-groq>=1.1.3",
26
+ "langchain-openai>=1.3.2",
27
+ "pygments>=2.20.0",
28
+ "python-dotenv>=1.2.2",
29
+ "requests>=2.34.2",
30
+ "rich>=15.0.0",
31
+ "textual>=0.50.0",
32
+ "tree-sitter>=0.25.2",
33
+ "tree-sitter-language-pack>=1.10.1",
34
+ ]
35
+
36
+ [project.scripts]
37
+ mylo = "mylo.agent:main"
38
+
39
+ [tool.setuptools]
40
+ package-dir = { "" = "src" }
41
+ packages = ["mylo"]
@@ -0,0 +1,4 @@
1
+ [egg_info]
2
+ tag_build =
3
+ tag_date = 0
4
+
File without changes