https://github.com/reubenjohn/llm_utils
Common utilities for python LLM applications
https://github.com/reubenjohn/llm_utils
Last synced: 3 months ago
JSON representation
Common utilities for python LLM applications
- Host: GitHub
- URL: https://github.com/reubenjohn/llm_utils
- Owner: reubenjohn
- Created: 2025-02-21T03:32:47.000Z (4 months ago)
- Default Branch: main
- Last Pushed: 2025-02-21T04:03:21.000Z (4 months ago)
- Last Synced: 2025-02-21T04:28:54.283Z (4 months ago)
- Language: Python
- Size: 0 Bytes
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- Contributing: CONTRIBUTING.md
- Funding: .github/FUNDING.yml
Awesome Lists containing this project
README
# llm
[](https://codecov.io/gh/reubenjohn/llm/branch/main)
[](https://github.com/reubenjohn/llm/actions/workflows/main.yml)A template project to help you get started with a new Python project. This template is designed to be modular, simple, and easy to maintain, with a focus on flexibility and low dependency.
## Introduction
**llm** is a project template for creating new Python projects. It provides a well-structured project layout, essential configurations, and utilities to streamline the development process. Whether you're building a library, application, or framework, this template offers a solid foundation to start from.
### **Key Features**
1. **Modular Structure**: A clean and modular project structure that is easy to navigate and extend.
2. **Low Dependency**: Minimal dependencies to keep the project lightweight and easy to manage.
3. **Flexibility**: Easily customizable to fit various project requirements.
4. **Development Utilities**: Includes a Makefile with common development tasks and a pyproject.toml for managing dependencies with Poetry.## Project Structure
```text
├── Containerfile # The file to build a container using buildah or docker
├── CONTRIBUTING.md # Onboarding instructions for new contributors
├── docs # Documentation site (add more .md files here)
│ └── index.md # The index page for the docs site
├── .github # Github metadata for repository
│ ├── release_message.sh # A script to generate a release message
│ └── workflows # The CI pipeline for Github Actions
├── .gitignore # A list of files to ignore when pushing to Github
├── HISTORY.md # Auto generated list of changes to the project
├── LICENSE # The license for the project
├── Makefile # A collection of utilities to manage the project
├── MANIFEST.in # A list of files to include in a package
├── mkdocs.yml # Configuration for documentation site
├── llm # The main python package for the project
│ ├── base.py # The base module for the project
│ ├── __init__.py # This tells Python that this is a package
│ ├── __main__.py # The entry point for the project
│ └── VERSION # The version for the project is kept in a static file
├── README.md # The main readme for the project
├── setup.py # The setup.py file for installing and packaging the project
├── requirements.txt # An empty file to hold the requirements for the project
├── requirements-test.txt # List of requirements for testing and development
└── tests # Unit tests for the project (add more test files here)
├── conftest.py # Configuration, hooks and fixtures for pytest
├── __init__.py # This tells Python that this is a test package
└── test_base.py # The base test case for the project
```## Setup
To set up the project for development, run:
```bash
make install
```For detailed development setup, please see [CONTRIBUTING.md](CONTRIBUTING.md).
## Usage
To run the main entry point of the project:
```bash
$ poetry run llm
```
(See CONTRIBUTING.md for more usage details.)## Development
See [CONTRIBUTING.md](CONTRIBUTING.md) for all development guidelines (setup, contributions, etc).
## Makefile
The Makefile includes several useful targets for managing the project:
```bash
❯ make
Usage: makeTargets:
help: ## Show the help.
install: ## Install the project in dev mode.
fmt: ## Format code using black & isort.
lint: ## Run pep8, black, mypy linters.
test: lint ## Run tests and generate coverage report.
watch: ## Run tests on every change.
clean: ## Clean unused files.
virtualenv: ## Create a virtual environment.
release: ## Create a new tag for release.
docs: ## Build the documentation.
```
(Refer to CONTRIBUTING.md for extended usage.)## Acknowledgements
This template is inspired by best practices and experiences from maintaining various Python projects.