2022-09-15 05:39:46 +08:00
|
|
|
[build-system]
|
|
|
|
requires = ["hatchling", "hatch-requirements-txt", "hatch-fancy-pypi-readme>=22.5.0"]
|
|
|
|
build-backend = "hatchling.build"
|
|
|
|
|
|
|
|
[project]
|
|
|
|
name = "gradio"
|
2023-08-11 03:12:40 +08:00
|
|
|
dynamic = ["version", "dependencies", "optional-dependencies", "readme"]
|
2022-09-15 05:39:46 +08:00
|
|
|
description = "Python library for easily interacting with trained machine learning models"
|
|
|
|
license = "Apache-2.0"
|
2023-06-14 09:52:33 +08:00
|
|
|
requires-python = ">=3.8"
|
2022-09-15 05:39:46 +08:00
|
|
|
authors = [
|
|
|
|
{ name = "Abubakar Abid", email = "team@gradio.app" },
|
|
|
|
{ name = "Ali Abid", email = "team@gradio.app" },
|
|
|
|
{ name = "Ali Abdalla", email = "team@gradio.app" },
|
|
|
|
{ name = "Dawood Khan", email = "team@gradio.app" },
|
|
|
|
{ name = "Ahsen Khaliq", email = "team@gradio.app" },
|
|
|
|
{ name = "Pete Allen", email = "team@gradio.app" },
|
|
|
|
{ name = "Ömer Faruk Özdemir", email = "team@gradio.app" },
|
|
|
|
]
|
|
|
|
keywords = ["machine learning", "reproducibility", "visualization"]
|
|
|
|
|
2023-06-01 14:18:23 +08:00
|
|
|
classifiers = [
|
|
|
|
'Development Status :: 5 - Production/Stable',
|
|
|
|
'License :: OSI Approved :: Apache Software License',
|
|
|
|
'Operating System :: OS Independent',
|
|
|
|
'Programming Language :: Python :: 3',
|
|
|
|
'Programming Language :: Python :: 3 :: Only',
|
|
|
|
'Programming Language :: Python :: 3.8',
|
|
|
|
'Programming Language :: Python :: 3.9',
|
|
|
|
'Programming Language :: Python :: 3.10',
|
|
|
|
'Programming Language :: Python :: 3.11',
|
|
|
|
'Topic :: Scientific/Engineering',
|
|
|
|
'Topic :: Scientific/Engineering :: Artificial Intelligence',
|
|
|
|
'Topic :: Scientific/Engineering :: Visualization',
|
|
|
|
]
|
|
|
|
|
2022-09-15 05:39:46 +08:00
|
|
|
[project.scripts]
|
2023-05-31 09:13:46 +08:00
|
|
|
gradio = "gradio.cli:cli"
|
2023-03-19 11:15:02 +08:00
|
|
|
upload_theme = "gradio.themes.upload_theme:main"
|
2022-09-15 05:39:46 +08:00
|
|
|
|
|
|
|
[project.urls]
|
|
|
|
Homepage = "https://github.com/gradio-app/gradio"
|
|
|
|
|
|
|
|
[tool.hatch.version]
|
|
|
|
path = "gradio/version.txt"
|
|
|
|
pattern = "(?P<version>.+)"
|
|
|
|
|
|
|
|
[tool.hatch.metadata.hooks.requirements_txt]
|
|
|
|
filename = "requirements.txt"
|
|
|
|
|
2023-08-11 03:12:40 +08:00
|
|
|
[tool.hatch.metadata.hooks.requirements_txt.optional-dependencies]
|
|
|
|
oauth = ["requirements-oauth.txt"]
|
|
|
|
|
2022-09-15 05:39:46 +08:00
|
|
|
[tool.hatch.metadata.hooks.fancy-pypi-readme]
|
|
|
|
content-type = "text/markdown"
|
|
|
|
fragments = [
|
|
|
|
{ path = "README.md" },
|
|
|
|
]
|
|
|
|
|
|
|
|
[[tool.hatch.metadata.hooks.fancy-pypi-readme.substitutions]]
|
|
|
|
pattern = "(website/homepage|readme_files)/"
|
|
|
|
replacement = 'https://raw.githubusercontent.com/gradio-app/gradio/main/\g<1>/'
|
|
|
|
|
|
|
|
[[tool.hatch.metadata.hooks.fancy-pypi-readme.substitutions]]
|
|
|
|
pattern = 'demo/([\S]*.gif)'
|
|
|
|
replacement = 'https://raw.githubusercontent.com/gradio-app/gradio/main/demo/\g<1>'
|
|
|
|
|
|
|
|
[tool.hatch.build]
|
|
|
|
artifacts = [
|
|
|
|
"/gradio/templates",
|
|
|
|
]
|
|
|
|
|
2023-03-19 11:15:02 +08:00
|
|
|
|
2022-09-15 05:39:46 +08:00
|
|
|
[tool.hatch.build.targets.sdist]
|
|
|
|
include = [
|
|
|
|
"/gradio",
|
|
|
|
"/test",
|
|
|
|
"/README.md",
|
|
|
|
"/requirements.txt",
|
2023-08-11 05:35:53 +08:00
|
|
|
"/requirements-oauth.txt",
|
2022-09-15 05:39:46 +08:00
|
|
|
]
|
2023-04-04 06:48:18 +08:00
|
|
|
|
2023-07-19 01:31:53 +08:00
|
|
|
[tool.pyright]
|
|
|
|
include = ["gradio/**/*.py"]
|
|
|
|
exclude = ["gradio/themes/"]
|
|
|
|
|
2023-04-04 06:48:18 +08:00
|
|
|
[tool.ruff]
|
|
|
|
target-version = "py37"
|
|
|
|
extend-select = [
|
2023-04-29 05:59:42 +08:00
|
|
|
"B",
|
|
|
|
"C",
|
2023-04-04 06:48:18 +08:00
|
|
|
"I",
|
2023-05-05 10:54:23 +08:00
|
|
|
"N",
|
|
|
|
"SIM",
|
|
|
|
"UP",
|
2023-04-04 06:48:18 +08:00
|
|
|
]
|
|
|
|
ignore = [
|
2023-04-29 05:59:42 +08:00
|
|
|
"C901", # function is too complex (TODO: un-ignore this)
|
|
|
|
"B023", # function definition in loop (TODO: un-ignore this)
|
|
|
|
"B008", # function call in argument defaults
|
|
|
|
"B017", # pytest.raises considered evil
|
|
|
|
"B028", # explicit stacklevel for warnings
|
2023-04-04 06:48:18 +08:00
|
|
|
"E501", # from scripts/lint_backend.sh
|
2023-05-05 10:54:23 +08:00
|
|
|
"SIM105", # contextlib.suppress (has a performance cost)
|
|
|
|
"SIM117", # multiple nested with blocks (doesn't look good with gr.Row etc)
|
|
|
|
"UP007", # use X | Y for type annotations (TODO: can be enabled once Pydantic plays nice with them)
|
2023-04-04 06:48:18 +08:00
|
|
|
]
|
|
|
|
|
|
|
|
[tool.ruff.per-file-ignores]
|
|
|
|
"demo/*" = [
|
|
|
|
"E402", # Demos may have imports not at the top
|
|
|
|
"E741", # Demos may have ambiguous variable names
|
|
|
|
"F405", # Demos may use star imports
|
|
|
|
"I", # Don't care about import order
|
|
|
|
]
|
|
|
|
"gradio/__init__.py" = [
|
|
|
|
"F401", # "Imported but unused" (TODO: it would be better to be explicit and use __all__)
|
|
|
|
]
|
2023-05-05 10:54:23 +08:00
|
|
|
"gradio/routes.py" = [
|
|
|
|
"UP006", # Pydantic on Python 3.7 requires old-style type annotations (TODO: drop when Python 3.7 is dropped)
|
|
|
|
]
|
2023-07-12 23:19:39 +08:00
|
|
|
|
|
|
|
[tool.pytest.ini_options]
|
|
|
|
GRADIO_ANALYTICS_ENABLED = "False"
|