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.
Metadata
Release files for llm-list 0.1.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| llm_list-0.1.0.tar.gz | 24.6 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| llm_list-0.1.0-py2.py3-none-any.whl | Python 2, Python 3 | none | any | Details |
Total release size: 47.8 kB
Release files / llm_list-0.1.0.tar.gz
| Download URL | llm_list-0.1.0.tar.gz |
|---|---|
| Size | 24.6 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
ab5b1d2fdfbac1b5430bf017c2c4057fb627ab58c6224d15c2fae3bb7402b8a3
|
|
BLAKE2b-256 checksum How to use checksums |
c754e67f85d74c8a6aef4574910f23eda2675526e5e78e3f89f0c02f2a470a3e
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.1.0 CPython/3.12.4
|
Release files / llm_list-0.1.0-py2.py3-none-any.whl
| Download URL | llm_list-0.1.0-py2.py3-none-any.whl |
|---|---|
| Size | 23.2 kB |
| Tags | Python 2 Python 3 |
|
SHA-256 checksum How to use checksums |
679ab93a4ebe2d8c8ade33a5fffda61b7696a6fb8a76c21a72cc11e19ebcb08e
|
|
BLAKE2b-256 checksum How to use checksums |
1a44e60c94f2c83d23bfd59607ca3e740d7819085d758b2d2128ba455d221006
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.1.0 CPython/3.12.4
|