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

Switch to unified view

a b/pyproject.toml
1
# Ultralyticsv5 YOLO 🚀, AGPL-3.0 license
2
3
# Overview:
4
# This pyproject.toml file manages the build, packaging, and distribution of the Ultralytics library.
5
# It defines essential project metadata, dependencies, and settings used to develop and deploy the library.
6
7
# Key Sections:
8
# - [build-system]: Specifies the build requirements and backend (e.g., setuptools, wheel).
9
# - [project]: Includes details like name, version, description, authors, dependencies and more.
10
# - [project.optional-dependencies]: Provides additional, optional packages for extended features.
11
# - [tool.*]: Configures settings for various tools (pytest, yapf, etc.) used in the project.
12
13
# Installation:
14
# The Ultralytics library can be installed using the command: 'pip install ultralytics'
15
# For development purposes, you can install the package in editable mode with: 'pip install -e .'
16
# This approach allows for real-time code modifications without the need for re-installation.
17
18
# Documentation:
19
# For comprehensive documentation and usage instructions, visit: https://docs.ultralytics.com
20
21
[build-system]
22
requires = ["setuptools>=43.0.0", "wheel"]
23
build-backend = "setuptools.build_meta"
24
25
# Project settings -----------------------------------------------------------------------------------------------------
26
[project]
27
name = "YOLOv5"
28
description = "Ultralytics YOLOv5 for SOTA object detection, instance segmentation and image classification."
29
readme = "README.md"
30
requires-python = ">=3.8"
31
license = { "text" = "AGPL-3.0" }
32
keywords = ["machine-learning", "deep-learning", "computer-vision", "ML", "DL", "AI", "YOLO", "YOLOv3", "YOLOv5", "YOLOv8", "HUB", "Ultralytics"]
33
authors = [
34
    { name = "Glenn Jocher" },
35
    { name = "Ayush Chaurasia" },
36
    { name = "Jing Qiu" }
37
]
38
maintainers = [
39
    { name = "Glenn Jocher" },
40
    { name = "Ayush Chaurasia" },
41
    { name = "Jing Qiu" }
42
]
43
classifiers = [
44
    "Development Status :: 4 - Beta",
45
    "Intended Audience :: Developers",
46
    "Intended Audience :: Education",
47
    "Intended Audience :: Science/Research",
48
    "License :: OSI Approved :: GNU Affero General Public License v3 or later (AGPLv3+)",
49
    "Programming Language :: Python :: 3",
50
    "Programming Language :: Python :: 3.8",
51
    "Programming Language :: Python :: 3.9",
52
    "Programming Language :: Python :: 3.10",
53
    "Programming Language :: Python :: 3.11",
54
    "Topic :: Software Development",
55
    "Topic :: Scientific/Engineering",
56
    "Topic :: Scientific/Engineering :: Artificial Intelligence",
57
    "Topic :: Scientific/Engineering :: Image Recognition",
58
    "Operating System :: POSIX :: Linux",
59
    "Operating System :: MacOS",
60
    "Operating System :: Microsoft :: Windows",
61
]
62
63
# Required dependencies ------------------------------------------------------------------------------------------------
64
dependencies = [
65
    "matplotlib>=3.3.0",
66
    "numpy>=1.22.2",
67
    "opencv-python>=4.6.0",
68
    "pillow>=7.1.2",
69
    "pyyaml>=5.3.1",
70
    "requests>=2.23.0",
71
    "scipy>=1.4.1",
72
    "torch>=1.8.0",
73
    "torchvision>=0.9.0",
74
    "tqdm>=4.64.0", # progress bars
75
    "psutil", # system utilization
76
    "py-cpuinfo", # display CPU info
77
    "thop>=0.1.1", # FLOPs computation
78
    "pandas>=1.1.4",
79
    "seaborn>=0.11.0", # plotting
80
    "ultralytics>=8.0.232"
81
]
82
83
# Optional dependencies ------------------------------------------------------------------------------------------------
84
[project.optional-dependencies]
85
dev = [
86
    "ipython",
87
    "check-manifest",
88
    "pre-commit",
89
    "pytest",
90
    "pytest-cov",
91
    "coverage[toml]",
92
    "mkdocs-material",
93
    "mkdocstrings[python]",
94
    "mkdocs-redirects", # for 301 redirects
95
    "mkdocs-ultralytics-plugin>=0.0.34", # for meta descriptions and images, dates and authors
96
]
97
export = [
98
    "onnx>=1.12.0", # ONNX export
99
    "coremltools>=7.0", # CoreML export
100
    "openvino-dev>=2023.0", # OpenVINO export
101
    "tensorflow<=2.13.1", # TF bug https://github.com/ultralytics/ultralytics/issues/5161
102
    "jax<=0.4.21", # tensorflowjs bug https://github.com/google/jax/issues/18978
103
    "jaxlib<=0.4.21", # tensorflowjs bug https://github.com/google/jax/issues/18978
104
    "tensorflowjs>=3.9.0", # TF.js export, automatically installs tensorflow
105
]
106
# tensorflow>=2.4.1,<=2.13.1  # TF exports (-cpu, -aarch64, -macos)
107
# tflite-support  # for TFLite model metadata
108
# scikit-learn==0.19.2  # CoreML quantization
109
# nvidia-pyindex  # TensorRT export
110
# nvidia-tensorrt  # TensorRT export
111
logging = [
112
    "comet", # https://docs.ultralytics.com/integrations/comet/
113
    "tensorboard>=2.13.0",
114
    "dvclive>=2.12.0",
115
]
116
extra = [
117
    "ipython", # interactive notebook
118
    "albumentations>=1.0.3", # training augmentations
119
    "pycocotools>=2.0.6", # COCO mAP
120
]
121
122
[project.urls]
123
"Bug Reports" = "https://github.com/ultralytics/yolov5/issues"
124
"Funding" = "https://ultralytics.com"
125
"Source" = "https://github.com/ultralytics/yolov5/"
126
127
# Tools settings -------------------------------------------------------------------------------------------------------
128
[tool.pytest]
129
norecursedirs = [".git", "dist", "build"]
130
addopts = "--doctest-modules --durations=30 --color=yes"
131
132
[tool.isort]
133
line_length = 120
134
multi_line_output = 0
135
136
[tool.ruff]
137
line-length = 120
138
139
[tool.docformatter]
140
wrap-summaries = 120
141
wrap-descriptions = 120
142
in-place = true
143
pre-summary-newline = true
144
close-quotes-on-newline = true
145
146
[tool.codespell]
147
ignore-words-list = "crate,nd,strack,dota,ane,segway,fo,gool,winn,commend"
148
skip = '*.csv,*venv*,docs/??/,docs/mkdocs_??.yml'