# Ultralytics 🚀 AGPL-3.0 License - https://ultralytics.com/license # Overview: # This pyproject.toml file manages the build, packaging, and distribution of the Ultralytics Actions package. # It defines essential project metadata, dependencies, and settings used to develop and deploy the package. # Key Sections: # - [build-system]: Specifies the build requirements and backend (e.g., setuptools, wheel). # - [project]: Includes details like name, version, description, authors, dependencies and more. # - [project.optional-dependencies]: Provides additional, optional packages for extended features. # - [tool.*]: Configures settings for various tools (pytest, ruff, etc.) used in the project. # Installation: # The Ultralytics Actions package is primarily used as a GitHub Actions workflow. # For development purposes, you can install the package in editable mode with: 'pip install -e .' # This approach allows for real-time code modifications without the need for re-installation. # Documentation: # For comprehensive documentation and usage instructions, visit: https://github.com/ultralytics/actions [build-system] requires = ["setuptools>=70.0.0", "wheel"] build-backend = "setuptools.build_meta" [project] name = "ultralytics-actions" dynamic = ["version"] description = "Ultralytics Actions for GitHub automation and PR management." readme = "README.md" requires-python = ">=3.8" keywords = [ "github-actions", "ci-cd", "workflow-automation", "pull-request-automation", "code-review", "release-automation", "markdown-processing", "devops", "github-integration", "continuous-integration" ] authors = [ { name = "Glenn Jocher", email = "glenn.jocher@ultralytics.com" }, ] maintainers = [ { name = "Ultralytics", email = "hello@ultralytics.com" }, ] classifiers = [ "Development Status :: 4 - Beta", "Intended Audience :: Developers", "Programming Language :: Python :: 3", "Programming Language :: Python :: 3.8", "Programming Language :: Python :: 3.9", "Programming Language :: Python :: 3.10", "Programming Language :: Python :: 3.11", "Programming Language :: Python :: 3.12", "Programming Language :: Python :: 3.13", "Programming Language :: Python :: 3.14", "Topic :: Software Development", "Topic :: Software Development :: Libraries :: Python Modules", "Topic :: Internet :: WWW/HTTP", "Operating System :: OS Independent", ] dependencies = [ "requests>=2.28.1", "ruff>=0.9.1", ] [project.optional-dependencies] dev = [ "pytest", "pytest-cov", ] [project.urls] "Homepage" = "https://ultralytics.com" "Source" = "https://github.com/ultralytics/actions" "Documentation" = "https://docs.ultralytics.com" "Bug Reports" = "https://github.com/ultralytics/actions/issues" "Changelog" = "https://github.com/ultralytics/actions/releases" [project.scripts] ultralytics-actions-first-interaction = "actions.first_interaction:main" ultralytics-actions-review-pr = "actions.review_pr:main" ultralytics-actions-summarize-pr = "actions.summarize_pr:main" ultralytics-actions-summarize-release = "actions.summarize_release:main" ultralytics-actions-update-markdown-code-blocks = "actions.update_markdown_code_blocks:main" ultralytics-actions-headers = "actions.update_file_headers:main" ultralytics-actions-format = "actions.format_code:main" ultralytics-actions-format-python-docstrings = "actions.format_python_docstrings:main" ultralytics-actions-dependabot = "actions.dependabot:run" ultralytics-actions-failed-actions = "actions.failed_scheduled_actions:run" ultralytics-actions-failed-scheduled-actions = "actions.failed_scheduled_actions:run" ultralytics-actions-github-report = "actions.github_report:run" ultralytics-actions-info = "actions.utils:ultralytics_actions_info" [tool.setuptools] packages = { find = { where = ["."], include = ["actions", "actions.*"] } } [tool.setuptools.dynamic] version = { attr = "actions.__version__" } [tool.pytest.ini_options] addopts = "--doctest-modules --durations=30 --color=yes" norecursedirs = [".git", "dist", "build"] [tool.coverage.run] omit = [ "actions/dependabot.py", "actions/first_interaction.py", "actions/format_python_docstrings.py", "actions/review_pr.py", "actions/summarize_pr.py", "actions/summarize_release.py", "actions/update_markdown_code_blocks.py", "actions/utils/common_utils.py", "actions/utils/github_utils.py", "actions/utils/openai_utils.py", "actions/utils/version_utils.py", ] [tool.ruff] line-length = 120 target-version = "py38" [tool.ruff.format] docstring-code-format = true