Create pyproject.toml (#12577)
Signed-off-by: Glenn Jocher <glenn.jocher@ultralytics.com>pull/12578/head
parent
f6a781ac76
commit
dfa884f9db
|
@ -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'
|
Loading…
Reference in New Issue