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

Agent Functionalities

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

  • Mylo can find metadata like stars, forks etc. about any repository

  • Mylo can find all the commit id's and the corresponding commit messages of a repository

  • Mylo can find names of kaggle python notebooks based on your specific needs

  • Mylo can fetch code from a specific kaggle python notebook

  • 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 any version of a file within a specific commit of any 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 and kaggle notebook code

  • Mylo can analyse files and kaggle notebook code more deeply by using the AST extractor functions (The agent currently supports 16 languages).

  • Mylo can also write the retrieved files and kaggle notebook code 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

TUI Features

  • Supports models from providers such as OpenAI, Anthropic, Google (The provider should be Google AI Studio), 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, gitlab tokens (The tokens are stored in ~/mylo-config/.env) to enable more api requests by the agent.

  • Allows you to add kaggle api token and kaggle username (It is necessary if you wanted the agent to use kaggle api to find notebooks and fetch code from notebooks). (The api token and username 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.

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

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.7
File Size Uploaded
mylo_agent-1.0.7.tar.gz 55.3 kB Details

Built distribution (wheel)

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

Total release size: 109.7 kB

Release files / mylo_agent-1.0.7.tar.gz

Download URL mylo_agent-1.0.7.tar.gz
Size 55.3 kB
Tags Source
SHA-256 checksum
How to use checksums
be197ab73c66950a4427d9bdceb6d3b2ec2146cd6fe2b082433f841b23dbc240
BLAKE2b-256 checksum
How to use checksums
60b7c5159325cadd7737cc93a23eea0b8c39996674d9b8eb42202dc6f477bc68
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.2

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

Download URL mylo_agent-1.0.7-py3-none-any.whl
Size 54.4 kB
Tags Python 3
SHA-256 checksum
How to use checksums
d2add091923919b869b943b5fce3ed72b5a211c7ead2e55c448dc5a0ea632800
BLAKE2b-256 checksum
How to use checksums
ad4f984e626296e03cf5a27844c5f634a6461dca0b681529ba198f321c8ca204
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.2

Release history Release notifications | RSS feed

This release

1.0.7 This release

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

1.0.1

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