Diff of /pyproject.toml [000000] .. [190ca4]

Switch to side-by-side view

--- a
+++ b/pyproject.toml
@@ -0,0 +1,148 @@
+# Ultralyticsv5 YOLO 🚀, AGPL-3.0 license
+
+# Overview:
+# This pyproject.toml file manages the build, packaging, and distribution of the Ultralytics library.
+# It defines essential project metadata, dependencies, and settings used to develop and deploy the library.
+
+# 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, yapf, etc.) used in the project.
+
+# Installation:
+# The Ultralytics library can be installed using the command: 'pip install ultralytics'
+# 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://docs.ultralytics.com
+
+[build-system]
+requires = ["setuptools>=43.0.0", "wheel"]
+build-backend = "setuptools.build_meta"
+
+# Project settings -----------------------------------------------------------------------------------------------------
+[project]
+name = "YOLOv5"
+description = "Ultralytics YOLOv5 for SOTA object detection, instance segmentation and image classification."
+readme = "README.md"
+requires-python = ">=3.8"
+license = { "text" = "AGPL-3.0" }
+keywords = ["machine-learning", "deep-learning", "computer-vision", "ML", "DL", "AI", "YOLO", "YOLOv3", "YOLOv5", "YOLOv8", "HUB", "Ultralytics"]
+authors = [
+    { name = "Glenn Jocher" },
+    { name = "Ayush Chaurasia" },
+    { name = "Jing Qiu" }
+]
+maintainers = [
+    { name = "Glenn Jocher" },
+    { name = "Ayush Chaurasia" },
+    { name = "Jing Qiu" }
+]
+classifiers = [
+    "Development Status :: 4 - Beta",
+    "Intended Audience :: Developers",
+    "Intended Audience :: Education",
+    "Intended Audience :: Science/Research",
+    "License :: OSI Approved :: GNU Affero General Public License v3 or later (AGPLv3+)",
+    "Programming Language :: Python :: 3",
+    "Programming Language :: Python :: 3.8",
+    "Programming Language :: Python :: 3.9",
+    "Programming Language :: Python :: 3.10",
+    "Programming Language :: Python :: 3.11",
+    "Topic :: Software Development",
+    "Topic :: Scientific/Engineering",
+    "Topic :: Scientific/Engineering :: Artificial Intelligence",
+    "Topic :: Scientific/Engineering :: Image Recognition",
+    "Operating System :: POSIX :: Linux",
+    "Operating System :: MacOS",
+    "Operating System :: Microsoft :: Windows",
+]
+
+# Required dependencies ------------------------------------------------------------------------------------------------
+dependencies = [
+    "matplotlib>=3.3.0",
+    "numpy>=1.22.2",
+    "opencv-python>=4.6.0",
+    "pillow>=7.1.2",
+    "pyyaml>=5.3.1",
+    "requests>=2.23.0",
+    "scipy>=1.4.1",
+    "torch>=1.8.0",
+    "torchvision>=0.9.0",
+    "tqdm>=4.64.0", # progress bars
+    "psutil", # system utilization
+    "py-cpuinfo", # display CPU info
+    "thop>=0.1.1", # FLOPs computation
+    "pandas>=1.1.4",
+    "seaborn>=0.11.0", # plotting
+    "ultralytics>=8.0.232"
+]
+
+# Optional dependencies ------------------------------------------------------------------------------------------------
+[project.optional-dependencies]
+dev = [
+    "ipython",
+    "check-manifest",
+    "pre-commit",
+    "pytest",
+    "pytest-cov",
+    "coverage[toml]",
+    "mkdocs-material",
+    "mkdocstrings[python]",
+    "mkdocs-redirects", # for 301 redirects
+    "mkdocs-ultralytics-plugin>=0.0.34", # for meta descriptions and images, dates and authors
+]
+export = [
+    "onnx>=1.12.0", # ONNX export
+    "coremltools>=7.0", # CoreML export
+    "openvino-dev>=2023.0", # OpenVINO export
+    "tensorflow<=2.13.1", # TF bug https://github.com/ultralytics/ultralytics/issues/5161
+    "jax<=0.4.21", # tensorflowjs bug https://github.com/google/jax/issues/18978
+    "jaxlib<=0.4.21", # tensorflowjs bug https://github.com/google/jax/issues/18978
+    "tensorflowjs>=3.9.0", # TF.js export, automatically installs tensorflow
+]
+# tensorflow>=2.4.1,<=2.13.1  # TF exports (-cpu, -aarch64, -macos)
+# tflite-support  # for TFLite model metadata
+# scikit-learn==0.19.2  # CoreML quantization
+# nvidia-pyindex  # TensorRT export
+# nvidia-tensorrt  # TensorRT export
+logging = [
+    "comet", # https://docs.ultralytics.com/integrations/comet/
+    "tensorboard>=2.13.0",
+    "dvclive>=2.12.0",
+]
+extra = [
+    "ipython", # interactive notebook
+    "albumentations>=1.0.3", # training augmentations
+    "pycocotools>=2.0.6", # COCO mAP
+]
+
+[project.urls]
+"Bug Reports" = "https://github.com/ultralytics/yolov5/issues"
+"Funding" = "https://ultralytics.com"
+"Source" = "https://github.com/ultralytics/yolov5/"
+
+# Tools settings -------------------------------------------------------------------------------------------------------
+[tool.pytest]
+norecursedirs = [".git", "dist", "build"]
+addopts = "--doctest-modules --durations=30 --color=yes"
+
+[tool.isort]
+line_length = 120
+multi_line_output = 0
+
+[tool.ruff]
+line-length = 120
+
+[tool.docformatter]
+wrap-summaries = 120
+wrap-descriptions = 120
+in-place = true
+pre-summary-newline = true
+close-quotes-on-newline = true
+
+[tool.codespell]
+ignore-words-list = "crate,nd,strack,dota,ane,segway,fo,gool,winn,commend"
+skip = '*.csv,*venv*,docs/??/,docs/mkdocs_??.yml'