mirror of
https://github.com/gradio-app/gradio.git
synced 2024-12-03 01:50:59 +08:00
611c9273a3
* Add `pull_request.branches.main` as a trigger of the `publish` workflow * [WIP] Comment out the publish steps * Package and upload the NPM package for debug * Skip the copy_frontend.py hook in the Lite build * add changeset * [WIP] Show gradio files * [WIP] Show gradio files * Comment out installing the gradio and gradio_client libraries * Restore installing gradio_client because it's used by `python js/_website/generate_jsons/generate.py` that follows * Restore installing gradio because it's used by `python js/_website/generate_jsons/generate.py` that follows * Add code * Revert "[WIP] Show gradio files" This reverts commit e15fef29bd14671576e64d94d3b844786ebe7e83. * Build the gradio wheel with the custom lite target * add changeset * Revert "[WIP] Show gradio files" This reverts commit aef053f9caad203c7e1bbfa15e9f9e536f77442a. * Revert "Skip the copy_frontend.py hook in the Lite build" This reverts commit ca296d0e4e169adbb6af3705561869aa8c9037b7. * Update .github/actions/install-frontend-deps/action.yml for hatch installation * [WIP] Fix test-functional.yml and .github/actions/install-all-deps/action.yml to call the setup actions in this branch * Revert "[WIP] Fix test-functional.yml and .github/actions/install-all-deps/action.yml to call the setup actions in this branch" This reverts commit 571823b4a05f7e41e0b3731d51c5bd86b2e17ddc. * Comment-in lines in publish.yml * Move Lite build from publish.yml to deploy-spaces.yml * Use the build_lite option of install-all-deps instead of running the build command * [TMP] Change the branch of action files * Fix the hatch Lite build setting * Return pnpm pack to deploy-space * Revert "[TMP] Change the branch of action files" This reverts commit fe4e1c8f210eb21ac7ee1bd4b219d35e1ae84c85. * Remove dependencies for lite build * [TMP] Change the branch of action files * Revert "Remove dependencies for lite build" This reverts commit 856a858c1f49d736bfeb056ba0ec7e9bc35af29c. * Install packaging>=23.2 * [TMP] Show packaging version * Fix pip install * Fix * Uninstall packaging once * Use `pip install -U` instead of uninstalling the exiting version * Revert "[TMP] Show packaging version" This reverts commit 910b6bbde3dc8777c051bd5576813913d57959f7. * Add `-U` flag * Set packaging version as >=23.2 * Revert the changes on pip install * Set packaging version as >=23.2 in requirements.txt * Revert "Set packaging version as >=23.2" This reverts commit 8aa77c8930815e69d7256886cad88b6da8361069. * Fix hook name * Revert "Set packaging version as >=23.2 in requirements.txt" This reverts commit fbd605cbfb5d06706eacc0648a2e9d7816c9de1f. * Revert "Revert the changes on pip install" This reverts commit 81ff38a660635fce9cb17862a2072e4d169c3466. * Add comments * Revert "[TMP] Change the branch of action files" This reverts commit 0d6aa48d75a842db9b3987212deffedb0c0ca51d. * Revert the trigger of .github/workflows/deploy-spaces.yml * Remove unused `node_auth_token` and `npm_token` inputs from the `install-all-deps` action * [TMP] Trigger CI based on this PR * Remove packging installation * Revert "Remove packging installation" This reverts commit4a4f18de3a
. * Revert "[TMP] Trigger CI based on this PR" This reverts commit6cea830c8e
. --------- Co-authored-by: gradio-pr-bot <gradio-pr-bot@users.noreply.github.com> Co-authored-by: freddyaboulton <alfonsoboulton@gmail.com>
176 lines
5.3 KiB
TOML
176 lines
5.3 KiB
TOML
[build-system]
|
|
requires = [
|
|
"hatchling",
|
|
"hatch-requirements-txt",
|
|
"hatch-fancy-pypi-readme>=22.5.0",
|
|
]
|
|
build-backend = "hatchling.build"
|
|
|
|
[project]
|
|
name = "gradio"
|
|
dynamic = ["version", "dependencies", "optional-dependencies", "readme"]
|
|
description = "Python library for easily interacting with trained machine learning models"
|
|
license = "Apache-2.0"
|
|
requires-python = ">=3.8"
|
|
authors = [
|
|
{ name = "Abubakar Abid", email = "gradio-team@huggingface.co" },
|
|
{ name = "Ali Abid", email = "gradio-team@huggingface.co" },
|
|
{ name = "Ali Abdalla", email = "gradio-team@huggingface.co" },
|
|
{ name = "Dawood Khan", email = "gradio-team@huggingface.co" },
|
|
{ name = "Ahsen Khaliq", email = "gradio-team@huggingface.co" },
|
|
{ name = "Pete Allen", email = "gradio-team@huggingface.co" },
|
|
{ name = "Ömer Faruk Özdemir", email = "gradio-team@huggingface.co" },
|
|
{ name = "Freddy A Boulton", email = "gradio-team@huggingface.co" },
|
|
{ name = "Hannah Blair", email = "gradio-team@huggingface.co" },
|
|
]
|
|
keywords = ["machine learning", "reproducibility", "visualization"]
|
|
|
|
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',
|
|
]
|
|
|
|
[project.scripts]
|
|
gradio = "gradio.cli:cli"
|
|
upload_theme = "gradio.themes.upload_theme:main"
|
|
|
|
[project.urls]
|
|
Homepage = "https://github.com/gradio-app/gradio"
|
|
|
|
[tool.hatch.version]
|
|
path = "gradio/package.json"
|
|
pattern = ".*\"version\":\\s*\"(?P<version>[^\"]+)\""
|
|
|
|
[tool.hatch.metadata.hooks.requirements_txt]
|
|
filename = "requirements.txt"
|
|
|
|
[tool.hatch.metadata.hooks.requirements_txt.optional-dependencies]
|
|
oauth = ["requirements-oauth.txt"]
|
|
|
|
[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",
|
|
"/gradio/_frontend_code",
|
|
"*.pyi",
|
|
"/gradio/node",
|
|
"py.typed",
|
|
]
|
|
|
|
[tool.hatch.build.targets.lite]
|
|
artifacts = ["!gradio/templates", "!*.pyi", "!/gradio/test_data", "!/gradio/_frontend_code", "!/gradio/node"]
|
|
directory = "dist-lite"
|
|
dependencies = ["lite-builder @ {root:uri}/../.config/lite-builder"]
|
|
|
|
[tool.hatch.build.targets.wheel.hooks.custom]
|
|
path = ".config/copy_frontend.py"
|
|
|
|
[tool.hatch.build.targets.sdist]
|
|
include = [
|
|
"/gradio",
|
|
"/test",
|
|
"/README.md",
|
|
"/requirements.txt",
|
|
"/requirements-oauth.txt",
|
|
"/.config/copy_frontend.py",
|
|
"/js",
|
|
"/client/js",
|
|
]
|
|
|
|
[tool.pyright]
|
|
include = ["gradio/**/*.py"]
|
|
exclude = [
|
|
"gradio/themes/",
|
|
"gradio/_frontend_code/",
|
|
"gradio/components/*_plot.py",
|
|
"gradio/ipython_ext.py",
|
|
"gradio/node/*.py",
|
|
"gradio/_frontend_code/*.py",
|
|
]
|
|
|
|
[tool.ruff]
|
|
exclude = ["gradio/node/*.py", ".venv/*", "gradio/_frontend_code/*.py"]
|
|
|
|
[tool.ruff.lint]
|
|
extend-select = [
|
|
"ARG",
|
|
"B",
|
|
"C",
|
|
"E",
|
|
"F",
|
|
"I",
|
|
"N",
|
|
"PL",
|
|
"S101",
|
|
"SIM",
|
|
"UP",
|
|
"W",
|
|
]
|
|
ignore = [
|
|
"B008", # function call in argument defaults
|
|
"B017", # pytest.raises considered evil
|
|
"B023", # function definition in loop (TODO: un-ignore this)
|
|
"B028", # explicit stacklevel for warnings
|
|
"C901", # function is too complex (TODO: un-ignore this)
|
|
"E501", # from scripts/lint_backend.sh
|
|
"PLR091", # complexity rules
|
|
"PLR2004", # magic numbers
|
|
"PLW2901", # `for` loop variable overwritten by assignment target
|
|
"SIM105", # contextlib.suppress (has a performance cost)
|
|
"SIM117", # multiple nested with blocks (doesn't look good with gr.Row etc)
|
|
"UP006", # use `list` instead of `List` for type annotations (fails for 3.8)
|
|
"UP007", # use X | Y for type annotations (TODO: can be enabled once Pydantic plays nice with them)
|
|
]
|
|
|
|
[tool.ruff.lint.per-file-ignores]
|
|
"demo/*" = [
|
|
"ARG",
|
|
"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__)
|
|
]
|
|
"gradio/routes.py" = [
|
|
"UP006", # Pydantic on Python 3.7 requires old-style type annotations (TODO: drop when Python 3.7 is dropped)
|
|
]
|
|
"gradio/cli/commands/files/NoTemplateComponent.py" = ["ALL"]
|
|
"client/python/gradio_client/serializing.py" = [
|
|
"ARG", # contains backward compatibility code, so args need to be named as such
|
|
]
|
|
"client/python/test/*" = [
|
|
"ARG",
|
|
"S101", # tests may use assertions
|
|
]
|
|
"test/*" = [
|
|
"ARG",
|
|
"S101", # tests may use assertions
|
|
]
|
|
|
|
[tool.pytest.ini_options]
|
|
GRADIO_ANALYTICS_ENABLED = "False"
|
|
filterwarnings = ["ignore::UserWarning:gradio.*:", "ignore::DeprecationWarning:gradio.*:"]
|