|
|
[build-system] |
|
|
requires = ["setuptools>=61.0", "wheel"] |
|
|
build-backend = "setuptools.build_meta" |
|
|
|
|
|
[project] |
|
|
name = "humigence" |
|
|
version = "0.1.0" |
|
|
description = "A functionality-first, local GPU training pipeline for QLoRA fine-tuning" |
|
|
authors = [{name = "Humigence Team"}] |
|
|
readme = "README.md" |
|
|
requires-python = ">=3.10" |
|
|
license = {text = "MIT"} |
|
|
keywords = ["ai", "ml", "fine-tuning", "qlora", "local-gpu"] |
|
|
classifiers = [ |
|
|
"Development Status :: 3 - Alpha", |
|
|
"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", |
|
|
"Topic :: Scientific/Engineering :: Artificial Intelligence", |
|
|
] |
|
|
|
|
|
dependencies = [ |
|
|
"torch>=2.0.0", |
|
|
"transformers>=4.36.0", |
|
|
"accelerate>=0.24.0", |
|
|
"peft>=0.7.0", |
|
|
"bitsandbytes>=0.41.0", |
|
|
"datasets>=2.14.0", |
|
|
"evaluate>=0.4.0", |
|
|
"huggingface_hub>=0.19.0", |
|
|
"tqdm>=4.65.0", |
|
|
"numpy>=1.24.0", |
|
|
"pydantic>=2.0.0", |
|
|
"typer>=0.9.0", |
|
|
"rich>=13.0.0", |
|
|
"scikit-learn>=1.3.0", |
|
|
"tokenizers>=0.15.0", |
|
|
"safetensors>=0.4.0", |
|
|
] |
|
|
|
|
|
[project.optional-dependencies] |
|
|
dev = [ |
|
|
"ruff>=0.1.0", |
|
|
"black>=23.0.0", |
|
|
"mypy>=1.5.0", |
|
|
"pytest>=7.4.0", |
|
|
"pytest-cov>=4.1.0", |
|
|
] |
|
|
|
|
|
[project.scripts] |
|
|
humigence = "humigence.cli:app" |
|
|
|
|
|
[project.urls] |
|
|
Homepage = "https://github.com/your-org/humigence" |
|
|
Repository = "https://github.com/your-org/humigence" |
|
|
Documentation = "https://github.com/your-org/humigence#readme" |
|
|
|
|
|
[tool.setuptools.packages.find] |
|
|
where = ["."] |
|
|
include = ["humigence*"] |
|
|
|
|
|
[tool.setuptools.package-data] |
|
|
humigence = ["py.typed", "assets/datasets/*.jsonl"] |
|
|
|
|
|
[tool.ruff] |
|
|
target-version = "py310" |
|
|
line-length = 88 |
|
|
select = [ |
|
|
"E", |
|
|
"W", |
|
|
"F", |
|
|
"I", |
|
|
"B", |
|
|
"C4", |
|
|
"UP", |
|
|
] |
|
|
ignore = [ |
|
|
"E501", |
|
|
"B008", |
|
|
"C901", |
|
|
] |
|
|
|
|
|
[tool.ruff.per-file-ignores] |
|
|
"__init__.py" = ["F401"] |
|
|
|
|
|
[tool.black] |
|
|
target-version = ['py310'] |
|
|
line-length = 88 |
|
|
include = '\.pyi?$' |
|
|
extend-exclude = ''' |
|
|
/( |
|
|
# directories |
|
|
\.eggs |
|
|
| \.git |
|
|
| \.hg |
|
|
| \.mypy_cache |
|
|
| \.tox |
|
|
| \.venv |
|
|
| build |
|
|
| dist |
|
|
)/ |
|
|
''' |
|
|
|
|
|
[tool.mypy] |
|
|
python_version = "3.10" |
|
|
warn_return_any = true |
|
|
warn_unused_configs = true |
|
|
disallow_untyped_defs = true |
|
|
disallow_incomplete_defs = true |
|
|
check_untyped_defs = true |
|
|
disallow_untyped_decorators = true |
|
|
no_implicit_optional = true |
|
|
warn_redundant_casts = true |
|
|
warn_unused_ignores = true |
|
|
warn_no_return = true |
|
|
warn_unreachable = true |
|
|
strict_equality = true |
|
|
|
|
|
[[tool.mypy.overrides]] |
|
|
module = [ |
|
|
"torch.*", |
|
|
"transformers.*", |
|
|
"peft.*", |
|
|
"accelerate.*", |
|
|
"bitsandbytes.*", |
|
|
] |
|
|
ignore_missing_imports = true |
|
|
|
|
|
|