Skip to main content

An agent for analyzing GitHub and GitLab repositories.

Project description

Mylo

An agent build with Langchain and Textual for Github and Gitlab repo analysis.

About Mylo

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 :)

Installation

Mylo requires python version >= 3.9. Install it via pip as follows,

pip install mylo-agent

To run,

mylo

Main Features

  • 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)

  • Allow you to rewrite and modify the system prompt of the agent (the system prompt can be found in ~/mylo-config/SYSTEM_PROMPT.md )

  • Allow you to create model profiles and specify the memory limit for each profile.

  • Each model profile shares the same memory (or context). Therefore you can switch between multiple model with different memory limit in the same session.

  • 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.

  • Allows you to add github and gitlab tokens for more api requests by the agent. (The tokens are stored in ~/mylo-config/.env)

Model Profile

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

what is memory limit?

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.

Agent Functionalities

  • Mylo can find names of repos from github and gitlab based on your specific needs

  • It can show the file structure of a repository

  • 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 ).

  • Mylo can also analyse the fetched files

  • Mylo can analyse a file more deeply by using the AST of the file (The agent currently supports 16 languages.)

  • Mylo can also write the retrieved files into disk (should provide the path to which the file is to be saved).

languages supported by the agent: Python, Javascript, Typescript, Lua, Rust, Kotlin, Swift, Dart, C, C++, C#, Java, Go, Scala, Ruby and Php

Contributions

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.

For major architectural adjustments or feature requests, feel free to open an issue first to discuss what you would like to change.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

mylo_agent-0.1.0.tar.gz (35.2 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

mylo_agent-0.1.0-py3-none-any.whl (34.4 kB view details)

Uploaded Python 3

File details

Details for the file mylo_agent-0.1.0.tar.gz.

File metadata

  • Download URL: mylo_agent-0.1.0.tar.gz
  • Upload date:
  • Size: 35.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.2

File hashes

Hashes for mylo_agent-0.1.0.tar.gz
Algorithm Hash digest
SHA256 36d08de314913a3d2a8947a521df1f35c358ccab964152699202ccfc774ea84b
MD5 8d29f03482d26e8f7425d4c15da6ff15
BLAKE2b-256 d1c122bc21a33773b6b3b5c28746042d1ad08353ed2bcf045ea17ca2b5d409b1

See more details on using hashes here.

File details

Details for the file mylo_agent-0.1.0-py3-none-any.whl.

File metadata

  • Download URL: mylo_agent-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 34.4 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.2

File hashes

Hashes for mylo_agent-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 b58fa41a7e93901da5234caa06901625b152ac297a84f99b750b56c7fd028550
MD5 c0a6df026624f7bdc99d4fc4d98e0c12
BLAKE2b-256 68e26d951b19d64e885372007b3c30bff87e8a734c9c80265c66ea3fa2bf36a3

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page