Skip to main content

A library of ready-to-use LLM components

Project description

LLM Components

Overview

llm-components is a Python library designed to feed large language models with data from different sources.

The library formats content in a structured markdown format.

Features

  • Code base formatting:

    • Traverse a directory tree while respecting .gitignore rules.
    • Format the directory structure and file contents into a readable markdown format.
    • Clone a git repository and format its contents.
  • Convert web pages to markdown format

Installation

To install the llm-components library, you can use pip:

pip install llm-components

Usage

Command-Line Interface

You can use the command-line interface to map a code base to markdown. The CLI takes the root directory of the code base or a git repository URL as an argument.

llm-components format-codebase <root_dir_or_repo>

You can also convert a web page to markdown using the CLI:

llm-components web-to-markdown <url>

Example

# For a local directory
llm-components format-codebase /path/to/your/code/base

# For a git repository
llm-components format-codebase https://github.com/your/repo.git

# For a web page
llm-components web-to-markdown https://advanced-stack.com

This will output the directory structure and file contents in a structured markdown format.

Programmatic Usage

You can also use the library programmatically by importing the necessary functions.

import tempfile
from pathlib import Path
from llm_components.loaders.code_base import map_codebase_to_text
from llm_components.loaders.git_utils import clone_repository
from llm_components.loaders.web_to_markdown import retrieve_and_convert

# For a local directory
root_dir = Path("/path/to/your/code/base")
result = map_codebase_to_text(root_dir)
print(result)

# For a git repository
repo_url = "https://github.com/your/repo.git"
with tempfile.TemporaryDirectory() as temp_dir:
    clone_dir = Path(temp_dir) / "repo"
    clone_repository(repo_url, clone_dir)
    result = map_codebase_to_text(clone_dir)
    print(result)

# For a web page
url = "https://example.com"
markdown_content = retrieve_and_convert(url)
print(markdown_content)

License

This project is licensed under the MIT License.

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

llm_components-1.3.2.tar.gz (6.9 kB view details)

Uploaded Source

Built Distribution

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

llm_components-1.3.2-py3-none-any.whl (7.6 kB view details)

Uploaded Python 3

File details

Details for the file llm_components-1.3.2.tar.gz.

File metadata

  • Download URL: llm_components-1.3.2.tar.gz
  • Upload date:
  • Size: 6.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.1 CPython/3.11.9

File hashes

Hashes for llm_components-1.3.2.tar.gz
Algorithm Hash digest
SHA256 416c05b07371620867df351fa99d05fe0f84f4f4194c6e55f698e827a019315f
MD5 70e3c5c0988063f72d4c4d7560a19db0
BLAKE2b-256 c2262b963dcfc7ec598a3e4d7f76d92de71652f70cb68920fb1ad5b421801ad3

See more details on using hashes here.

File details

Details for the file llm_components-1.3.2-py3-none-any.whl.

File metadata

  • Download URL: llm_components-1.3.2-py3-none-any.whl
  • Upload date:
  • Size: 7.6 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.1 CPython/3.11.9

File hashes

Hashes for llm_components-1.3.2-py3-none-any.whl
Algorithm Hash digest
SHA256 a9d8f7d6a0116bd196b6687efb9f5b0b855e6b243c5d4874d6a1c89c055540b3
MD5 4f1fc8386d0e1b846a9622352c37b433
BLAKE2b-256 44434c4d90f604dbcd6dccea0df8b912905960f444725c29b1c21d999e30c8ad

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