flowerfy / pyproject.toml
Toy
Fix Gradio JSON schema bug with stable v4.29.0
07c734b
[project]
name = "flowerfy"
version = "0.1.0"
description = "Add your description here"
readme = "README.md"
requires-python = ">=3.9"
dependencies = [
"accelerate>=1.10.1",
"diffusers>=0.35.1",
"gradio>=4.25.0,<4.30.0",
"pillow>=8.0,<12.0",
"python-dotenv>=1.0.0",
"scikit-learn>=1.3.0,<1.6",
"torch>=2.8.0",
"torchvision>=0.23.0",
"transformers[torch]>=4.55.4",
]
[dependency-groups]
dev = [
"mypy>=1.17.1",
"pre-commit>=4.3.0",
"ruff>=0.12.10",
]
[tool.ruff]
# Modern Python standards for 2025
target-version = "py313"
line-length = 88
indent-width = 4
[tool.ruff.lint]
# Enable modern Python linting rules
select = [
"E", # pycodestyle errors
"W", # pycodestyle warnings
"F", # pyflakes
"UP", # pyupgrade (modernize Python code)
"B", # flake8-bugbear
"SIM", # flake8-simplify
"I", # isort (import sorting)
"N", # pep8-naming
"C4", # flake8-comprehensions
"PT", # flake8-pytest-style
"RUF", # Ruff-specific rules
]
ignore = [
"E501", # line too long (handled by formatter)
"B008", # do not perform function call in argument defaults
"PT011", # pytest.raises without match parameter
]
[tool.ruff.format]
# Use double quotes for strings
quote-style = "double"
# Use 4 spaces for indentation
indent-style = "space"
# Respect magic trailing comma
skip-magic-trailing-comma = false
# Auto-detect line ending
line-ending = "auto"
[tool.ruff.lint.isort]
# Import sorting configuration
force-single-line = false
force-sort-within-sections = false
split-on-trailing-comma = true
[tool.mypy]
# Type checking configuration
python_version = "3.13"
warn_return_any = true
warn_unused_configs = true
disallow_untyped_defs = false # Gradual typing adoption
ignore_missing_imports = true