Skip to main content

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 and libraries 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, Groq and Huggingface via standard API keys. It also supports local models hosted using Ollama (run the model using ollama, keep it active and type the model name that is running in the model profile config window's "Model Name" input box). 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.

  • Allow you to execute inline local stateless commands in \cmd {command} format, without closing the tui.

  • 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

  • Mylo can find names of language specific libraries from their official registry and their corresponding repo names based on your needs. (Currently it will not support lua since LuaRock doesnt expose user friendly search api. And for c and cpp, agent uses github search api, because these languages dont have a centralised registry and search api)

  • It can show the file structure of a repository (This also work for repositories of libraries)

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

Metadata

Release files for mylo-agent 1.0.1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for mylo-agent 1.0.1
File Size Uploaded
mylo_agent-1.0.1.tar.gz 45.9 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for mylo-agent 1.0.1
File Interpreter ABI Platform
mylo_agent-1.0.1-py3-none-any.whl Python 3 none any Details

Total release size: 90.9 kB

Release files / mylo_agent-1.0.1.tar.gz

Download URL mylo_agent-1.0.1.tar.gz
Size 45.9 kB
Tags Source
SHA-256 checksum
How to use checksums
4cd258c566f06ed957989dc84f1bf9ae87a87cd4a13957afe5d0cb39dfe7f0ce
BLAKE2b-256 checksum
How to use checksums
fdcdcc78f7715edd30b1bba814e7042ee27b5fee8e5e315e7febe68968f288fa
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.13.2

Release files / mylo_agent-1.0.1-py3-none-any.whl

Download URL mylo_agent-1.0.1-py3-none-any.whl
Size 45.0 kB
Tags Python 3
SHA-256 checksum
How to use checksums
fccf37dd0b32b19533730ba03971a7be09b1e92ce3099d1194aa88d4af9b399b
BLAKE2b-256 checksum
How to use checksums
e2f33703b3b765b184999f3ec050391313ba04d7e3c64a121e83ad8976b3c8ce
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.13.2

Release history Release notifications | RSS feed

1.0.7

2 release files

1.0.6

2 release files

1.0.5

2 release files

1.0.4

2 release files

1.0.3

2 release files

1.0.2

2 release files

This release

1.0.1 This release

2 release files

1.0.0

2 release files

0.1.1

2 release files

0.1.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page