mirror of
https://github.com/finegrain-ai/refiners.git
synced 2024-11-09 15:02:01 +00:00
2ba83f575e
see: https://docs.pytest.org/en/7.1.x/explanation/goodpractices.html#choosing-an-import-mode https://docs.pytest.org/en/7.1.x/explanation/pythonpath.html#import-modes This change fixes the SAM tests.
160 lines
4 KiB
TOML
160 lines
4 KiB
TOML
[project]
|
|
name = "refiners"
|
|
version = "0.4.0"
|
|
description = "The simplest way to train and run adapters on top of foundation models"
|
|
authors = [{ name = "The Finegrain Team", email = "bonjour@lagon.tech" }]
|
|
license = "MIT"
|
|
dependencies = [
|
|
"torch>=2.1.1",
|
|
"safetensors>=0.4.0",
|
|
"pillow>=10.1.0",
|
|
"jaxtyping>=0.2.23",
|
|
"packaging>=23.2",
|
|
"numpy>=1.26.4",
|
|
]
|
|
readme = "README.md"
|
|
requires-python = ">= 3.10"
|
|
classifiers = [
|
|
"Typing :: Typed",
|
|
"Intended Audience :: Developers",
|
|
"Intended Audience :: Science/Research",
|
|
"Programming Language :: Python :: 3.10",
|
|
"Programming Language :: Python :: 3.11",
|
|
"Topic :: Software Development :: Libraries :: Python Modules",
|
|
"Topic :: Scientific/Engineering :: Artificial Intelligence",
|
|
"License :: OSI Approved :: MIT License",
|
|
]
|
|
|
|
[project.optional-dependencies]
|
|
training = [
|
|
"bitsandbytes>=0.41.2.post2",
|
|
"pydantic>=2.5.2",
|
|
"prodigyopt>=1.0",
|
|
"torchvision>=0.16.1",
|
|
"loguru>=0.7.2",
|
|
"wandb>=0.16.0",
|
|
"neptune>=1.10.4",
|
|
"datasets>=2.15.0",
|
|
"tomli>=2.0.1",
|
|
"gitpython>=3.1.43",
|
|
]
|
|
test = [
|
|
"diffusers>=0.26.1",
|
|
"transformers>=4.35.2",
|
|
"piq>=0.8.0",
|
|
"torchvision>=0.16.1",
|
|
# An unofficial Python package for Meta AI's Segment Anything Model:
|
|
# https://github.com/opengeos/segment-anything
|
|
"segment-anything-py>=1.0",
|
|
# Official Python package for HQ-SAM
|
|
"segment-anything-hq>=0.3",
|
|
# HQ-SAM missing dependency:
|
|
# https://github.com/SysCV/sam-hq/pull/59
|
|
"timm>=0.5.0",
|
|
]
|
|
conversion = [
|
|
"diffusers>=0.26.1",
|
|
"transformers>=4.35.2",
|
|
"segment-anything-py>=1.0",
|
|
"requests>=2.26.0",
|
|
"tqdm>=4.62.3",
|
|
]
|
|
doc = [
|
|
# required by mkdocs to format the signatures
|
|
"black>=24.1.1",
|
|
"mkdocs-material>=9.5.6",
|
|
"mkdocstrings[python]>=0.24.0",
|
|
"mkdocs-literate-nav>=0.6.1",
|
|
]
|
|
|
|
[build-system]
|
|
requires = ["hatchling"]
|
|
build-backend = "hatchling.build"
|
|
|
|
|
|
[tool.rye]
|
|
managed = true
|
|
dev-dependencies = [
|
|
"pyright==1.1.368",
|
|
"docformatter>=1.7.5",
|
|
"pytest>=8.0.0",
|
|
"coverage>=7.4.1",
|
|
"typos>=1.18.2",
|
|
]
|
|
|
|
|
|
[tool.hatch.metadata]
|
|
allow-direct-references = true
|
|
|
|
[tool.rye.scripts]
|
|
serve-docs = "mkdocs serve"
|
|
test-cov = "coverage run -m pytest"
|
|
# Work around for "Couldn't parse" errors due to e.g. opencv-python:
|
|
# https://github.com/nedbat/coveragepy/issues/1653
|
|
build-html-cov = { cmd = "coverage html", env = { PYTHONWARNINGS = "ignore:Couldn't parse::coverage.report_core" } }
|
|
serve-cov-report = { chain = [
|
|
"build-html-cov",
|
|
"python -m http.server 8080 -b 127.0.0.1 -d htmlcov",
|
|
] }
|
|
|
|
[tool.black]
|
|
line-length = 120
|
|
|
|
[tool.ruff]
|
|
src = ["src"] # see https://docs.astral.sh/ruff/settings/#src
|
|
line-length = 120
|
|
|
|
[tool.ruff.lint]
|
|
select = [
|
|
"I", # isort
|
|
]
|
|
ignore = [
|
|
"F722", # forward-annotation-syntax-error, because of Jaxtyping
|
|
"E731", # do-not-assign-lambda
|
|
]
|
|
|
|
[tool.ruff.lint.isort]
|
|
# Allow this kind of import on a single line:
|
|
#
|
|
# from torch import device as Device, dtype as DType
|
|
#
|
|
combine-as-imports = true
|
|
|
|
[tool.docformatter]
|
|
black = true
|
|
|
|
[tool.pyright]
|
|
include = ["src/refiners", "tests", "scripts"]
|
|
strict = ["*"]
|
|
exclude = ["**/__pycache__", "tests/weights"]
|
|
reportMissingTypeStubs = "warning"
|
|
|
|
[tool.coverage.run]
|
|
branch = true
|
|
source = ["src/refiners"]
|
|
|
|
# Also apply to HTML output, where appropriate
|
|
[tool.coverage.report]
|
|
ignore_errors = true # see `build-html-cov` for details
|
|
exclude_also = [
|
|
"def __repr__",
|
|
"raise NotImplementedError",
|
|
"if TYPE_CHECKING:",
|
|
"class .*\\bProtocol\\):",
|
|
"@(abc\\.)?abstractmethod",
|
|
]
|
|
|
|
[tool.typos.default]
|
|
extend-ignore-identifiers-re = ["NDArray*", "interm", "af000ded"]
|
|
|
|
[tool.typos.default.extend-words]
|
|
adaptee = "adaptee" # Common name for an adapter's target
|
|
|
|
[tool.pytest.ini_options]
|
|
filterwarnings = [
|
|
"ignore::UserWarning:segment_anything_hq.modeling.tiny_vit_sam.*",
|
|
"ignore::DeprecationWarning:timm.models.layers.*",
|
|
"ignore::DeprecationWarning:timm.models.registry.*"
|
|
]
|
|
addopts = "--import-mode=importlib"
|