Skip to main content

LLM List

PyPI Python Version License: MIT Code style: black

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

  1. Clone the repository:

    git clone https://github.com/yourusername/llm-list.git
    cd llm-list
    
  2. Install the package in development mode with all dependencies:

    pip install -e ".[dev]"
    
  3. Run tests:

    make test
    
  4. Run linters and type checking:

    make lint
    
  5. Format code:

    make format
    

Available Make Commands

  • make install - Install the package in development mode
  • make dev - Install development dependencies
  • make test - Run tests
  • make coverage - Generate and view test coverage report
  • make lint - Check code style with black, isort, and mypy
  • make format - Format code with black and isort
  • make typecheck - Run type checking with mypy
  • make clean - Remove build artifacts
  • make build - Build the package
  • make check - Check the package
  • make publish-test - Upload to TestPyPI
  • make publish - Upload to PyPI
  • make pre-commit - Run all checks before committing
  • make help - Show available commands

Publishing to PyPI

  1. Update the version number in setup.py
  2. Update the changelog in CHANGELOG.md
  3. Build the package:
    make build
    
  4. Test the package:
    make check
    
  5. Publish to TestPyPI (optional):
    make publish-test
    
  6. 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)

Source distribution for llm-list 0.1.0
File Size Uploaded
llm_list-0.1.0.tar.gz 24.6 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for llm-list 0.1.0
File Interpreter ABI Platform
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

Release history Release notifications | RSS feed

This release

0.1.0 This release

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