Files
actions/pyproject.toml

130 lines
4.5 KiB
TOML

# 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 = "[email protected]" },
]
maintainers = [
{ name = "Ultralytics", email = "[email protected]" },
]
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