A Python package to list and monitor available LLM models from various providers
Project description
LLM List
A Python package to list and monitor available LLM models from various providers including Ollama and Hugging Face.
Features
- List available LLM models from multiple providers
- Monitor model updates and changes
- Simple and intuitive API
- Caching support for offline usage
- Command-line interface
- Docker support
Installation
Using pip
pip install llm-list
From source
git clone https://github.com/softreck/llm-list.git
cd llm-list
pip install -e .
Using Docker
docker build -t llm-list .
docker run --rm -it llm-list --help
Usage
Command Line Interface
# List all available models
llm-list list
# List models from a specific provider
llm-list list --provider ollama
llm-list list --provider huggingface
# Save output to a file
llm-list list --output models.json
#### Get help
```bash
llm-list --help
Python API
Get Ollama models
from llm_list.scrapers import OllamaScraper
# Create a scraper instance
scraper = OllamaScraper(output_dir="./data")
# Scrape models
models = scraper.scrape_models()
print(f"Found {len(models)} models")
# Monitor for changes
scraper.monitor(interval=3600) # Check every hour
Get Hugging Face models
from llm_list.scrapers import HuggingFaceScraper
# Create a scraper instance
scraper = HuggingFaceScraper(output_dir="./data")
# Scrape models with search filter
models = scraper.scrape_models(search_term="code")
print(f"Found {len(models)} models")
# Get default models (works offline)
default_models = scraper._load_cached_models()
Development
-
Clone the repository:
git clone https://github.com/yourusername/llm-list.git cd llm-list
-
Install the package in development mode with all dependencies:
pip install -e ".[dev]"
-
Run tests:
make test
-
Run linters and type checking:
make lint -
Format code:
make format
Available Make Commands
make install- Install the package in development modemake dev- Install development dependenciesmake test- Run testsmake coverage- Generate and view test coverage reportmake lint- Check code style with black, isort, and mypymake format- Format code with black and isortmake typecheck- Run type checking with mypymake clean- Remove build artifactsmake build- Build the packagemake check- Check the packagemake publish-test- Upload to TestPyPImake publish- Upload to PyPImake pre-commit- Run all checks before committingmake help- Show available commands
Publishing to PyPI
- Update the version number in
setup.py - Update the changelog in
CHANGELOG.md - Build the package:
make build - Test the package:
make check - Publish to TestPyPI (optional):
make publish-test - Publish to PyPI:
make publish
License
This project is licensed under the MIT License - see the LICENSE file for details.
Contributing
Contributions are welcome! Please feel free to submit a Pull Request.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file llm_list-0.1.0.tar.gz.
File metadata
- Download URL: llm_list-0.1.0.tar.gz
- Upload date:
- Size: 24.6 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.12.4
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
ab5b1d2fdfbac1b5430bf017c2c4057fb627ab58c6224d15c2fae3bb7402b8a3
|
|
| MD5 |
a49045380952945c63e5302e3fb624c4
|
|
| BLAKE2b-256 |
c754e67f85d74c8a6aef4574910f23eda2675526e5e78e3f89f0c02f2a470a3e
|
File details
Details for the file llm_list-0.1.0-py2.py3-none-any.whl.
File metadata
- Download URL: llm_list-0.1.0-py2.py3-none-any.whl
- Upload date:
- Size: 23.2 kB
- Tags: Python 2, Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.12.4
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
679ab93a4ebe2d8c8ade33a5fffda61b7696a6fb8a76c21a72cc11e19ebcb08e
|
|
| MD5 |
70178d3a67394087b132d0701d28c01e
|
|
| BLAKE2b-256 |
1a44e60c94f2c83d23bfd59607ca3e740d7819085d758b2d2128ba455d221006
|