ml-model-loader/pyproject.toml
Lilith aa01d0f388 chore: rename package @lilith/model-loader -> @lilith/ml-model-loader
Package renamed to follow naming convention:
@lilith/{namespace}-{parent}-{child}

Generated by rename-packages.sh
2025-12-31 01:32:00 -08:00

136 lines
2.5 KiB
TOML

[build-system]
requires = ["hatchling"]
build-backend = "hatchling.build"
[project]
name = "tqftw-model-loader"
version = "1.1.0"
description = "Unified ML model loading, caching, and device management"
readme = "README.md"
license = "MIT"
requires-python = ">=3.10"
authors = [
{ name = "transquinnftw", email = "dev@transquinnftw.com" }
]
keywords = [
"ml",
"machine-learning",
"model-loader",
"cache",
"rsync",
"huggingface",
"transformers",
"diffusers",
"llama-cpp",
"gguf",
]
classifiers = [
"Development Status :: 4 - Beta",
"Intended Audience :: Developers",
"License :: OSI Approved :: MIT License",
"Programming Language :: Python :: 3",
"Programming Language :: Python :: 3.10",
"Programming Language :: Python :: 3.11",
"Programming Language :: Python :: 3.12",
"Programming Language :: Python :: 3.13",
"Topic :: Scientific/Engineering :: Artificial Intelligence",
]
dependencies = [
"psutil>=5.9.0",
]
[project.optional-dependencies]
# HuggingFace Transformers support
hf = [
"torch>=2.0.0",
"transformers>=4.36.0",
"accelerate>=0.25.0",
"safetensors>=0.4.0",
]
# Diffusers (Stable Diffusion, SDXL) support
diffusers = [
"torch>=2.0.0",
"diffusers>=0.25.0",
"transformers>=4.36.0",
"accelerate>=0.25.0",
"safetensors>=0.4.0",
"invisible_watermark>=0.2.0",
]
# GGUF (llama-cpp-python) support
gguf = [
"llama-cpp-python>=0.2.50",
]
# All ML frameworks
ml = [
"tqftw-model-loader[hf,diffusers,gguf]",
]
# Development dependencies
dev = [
"pytest>=7.0",
"pytest-asyncio>=0.21",
"pytest-cov>=4.0",
"ruff>=0.1.0",
"mypy>=1.0",
]
# All dependencies
all = [
"tqftw-model-loader[ml,dev]",
]
[project.scripts]
model-loader-py = "tqftw_model_loader.cli:main"
[tool.hatch.build.targets.wheel]
packages = ["src_python/tqftw_model_loader"]
[tool.hatch.build.targets.sdist]
include = [
"/src_python",
"/tests",
]
[tool.pytest.ini_options]
testpaths = ["tests"]
asyncio_mode = "auto"
addopts = "-v --tb=short"
[tool.ruff]
line-length = 100
target-version = "py310"
src = ["src_python", "tests"]
[tool.ruff.lint]
select = [
"E",
"W",
"F",
"I",
"B",
"C4",
"UP",
]
ignore = [
"E501",
"B008",
]
[tool.mypy]
python_version = "3.10"
strict = true
warn_return_any = true
warn_unused_ignores = true
disallow_untyped_defs = true
[[tool.mypy.overrides]]
module = [
"transformers.*",
"diffusers.*",
"llama_cpp.*",
"torch.*",
]
ignore_missing_imports = true