mirror of
https://github.com/THU-MIG/yolov10.git
synced 2025-05-23 21:44:22 +08:00
Initial pip structure (#1)
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com> Co-authored-by: Glenn Jocher <glenn.jocher@ultralytics.com>
This commit is contained in:
parent
95f6fa16d5
commit
39e9f3cae9
64
.pre-commit-config.yaml
Normal file
64
.pre-commit-config.yaml
Normal file
@ -0,0 +1,64 @@
|
|||||||
|
# Define hooks for code formations
|
||||||
|
# Will be applied on any updated commit files if a user has installed and linked commit hook
|
||||||
|
|
||||||
|
default_language_version:
|
||||||
|
python: python3.8
|
||||||
|
|
||||||
|
# Define bot property if installed via https://github.com/marketplace/pre-commit-ci
|
||||||
|
ci:
|
||||||
|
autofix_prs: true
|
||||||
|
autoupdate_commit_msg: '[pre-commit.ci] pre-commit suggestions'
|
||||||
|
autoupdate_schedule: monthly
|
||||||
|
# submodules: true
|
||||||
|
|
||||||
|
repos:
|
||||||
|
- repo: https://github.com/pre-commit/pre-commit-hooks
|
||||||
|
rev: v4.3.0
|
||||||
|
hooks:
|
||||||
|
# - id: end-of-file-fixer
|
||||||
|
- id: trailing-whitespace
|
||||||
|
- id: check-case-conflict
|
||||||
|
- id: check-yaml
|
||||||
|
- id: check-toml
|
||||||
|
- id: pretty-format-json
|
||||||
|
- id: check-docstring-first
|
||||||
|
|
||||||
|
- repo: https://github.com/asottile/pyupgrade
|
||||||
|
rev: v2.37.3
|
||||||
|
hooks:
|
||||||
|
- id: pyupgrade
|
||||||
|
name: Upgrade code
|
||||||
|
args: [ --py37-plus ]
|
||||||
|
|
||||||
|
- repo: https://github.com/PyCQA/isort
|
||||||
|
rev: 5.10.1
|
||||||
|
hooks:
|
||||||
|
- id: isort
|
||||||
|
name: Sort imports
|
||||||
|
|
||||||
|
- repo: https://github.com/pre-commit/mirrors-yapf
|
||||||
|
rev: v0.32.0
|
||||||
|
hooks:
|
||||||
|
- id: yapf
|
||||||
|
name: YAPF formatting
|
||||||
|
|
||||||
|
- repo: https://github.com/executablebooks/mdformat
|
||||||
|
rev: 0.7.16
|
||||||
|
hooks:
|
||||||
|
- id: mdformat
|
||||||
|
name: MD formatting
|
||||||
|
additional_dependencies:
|
||||||
|
- mdformat-gfm
|
||||||
|
- mdformat-black
|
||||||
|
exclude: "README.md|README_cn.md"
|
||||||
|
|
||||||
|
- repo: https://github.com/asottile/yesqa
|
||||||
|
rev: v1.4.0
|
||||||
|
hooks:
|
||||||
|
- id: yesqa
|
||||||
|
|
||||||
|
- repo: https://github.com/PyCQA/flake8
|
||||||
|
rev: 5.0.4
|
||||||
|
hooks:
|
||||||
|
- id: flake8
|
||||||
|
name: PEP8
|
12
MANIFEST.in
Normal file
12
MANIFEST.in
Normal file
@ -0,0 +1,12 @@
|
|||||||
|
# Include the README
|
||||||
|
include *.md
|
||||||
|
include requirements.txt
|
||||||
|
|
||||||
|
# Include the license file
|
||||||
|
include LICENSE
|
||||||
|
|
||||||
|
# Include setup.py
|
||||||
|
include setup.py
|
||||||
|
|
||||||
|
# Include the data files
|
||||||
|
recursive-include data *
|
0
requirements.txt
Normal file
0
requirements.txt
Normal file
58
setup.cfg
Normal file
58
setup.cfg
Normal file
@ -0,0 +1,58 @@
|
|||||||
|
# Project-wide configuration file, can be used for package metadata and other toll configurations
|
||||||
|
# Example usage: global configuration for PEP8 (via flake8) setting or default pytest arguments
|
||||||
|
# Local usage: pip install pre-commit, pre-commit run --all-files
|
||||||
|
|
||||||
|
[metadata]
|
||||||
|
license_file = LICENSE
|
||||||
|
description_file = README.md
|
||||||
|
|
||||||
|
|
||||||
|
[tool:pytest]
|
||||||
|
norecursedirs =
|
||||||
|
.git
|
||||||
|
dist
|
||||||
|
build
|
||||||
|
addopts =
|
||||||
|
--doctest-modules
|
||||||
|
--durations=25
|
||||||
|
--color=yes
|
||||||
|
|
||||||
|
|
||||||
|
[flake8]
|
||||||
|
max-line-length = 120
|
||||||
|
exclude = .tox,*.egg,build,temp
|
||||||
|
select = E,W,F
|
||||||
|
doctests = True
|
||||||
|
verbose = 2
|
||||||
|
# https://pep8.readthedocs.io/en/latest/intro.html#error-codes
|
||||||
|
format = pylint
|
||||||
|
# see: https://www.flake8rules.com/
|
||||||
|
ignore =
|
||||||
|
E731 # Do not assign a lambda expression, use a def
|
||||||
|
F405 # name may be undefined, or defined from star imports: module
|
||||||
|
E402 # module level import not at top of file
|
||||||
|
F401 # module imported but unused
|
||||||
|
W504 # line break after binary operator
|
||||||
|
E127 # continuation line over-indented for visual indent
|
||||||
|
E231 # missing whitespace after ‘,’, ‘;’, or ‘:’
|
||||||
|
E501 # line too long
|
||||||
|
F403 # ‘from module import *’ used; unable to detect undefined names
|
||||||
|
|
||||||
|
|
||||||
|
[isort]
|
||||||
|
# https://pycqa.github.io/isort/docs/configuration/options.html
|
||||||
|
line_length = 120
|
||||||
|
# see: https://pycqa.github.io/isort/docs/configuration/multi_line_output_modes.html
|
||||||
|
multi_line_output = 0
|
||||||
|
|
||||||
|
|
||||||
|
[yapf]
|
||||||
|
based_on_style = pep8
|
||||||
|
spaces_before_comment = 2
|
||||||
|
COLUMN_LIMIT = 120
|
||||||
|
COALESCE_BRACKETS = True
|
||||||
|
SPACES_AROUND_POWER_OPERATOR = True
|
||||||
|
SPACE_BETWEEN_ENDING_COMMA_AND_CLOSING_BRACKET = False
|
||||||
|
SPLIT_BEFORE_CLOSING_BRACKET = False
|
||||||
|
SPLIT_BEFORE_FIRST_ARGUMENT = False
|
||||||
|
# EACH_DICT_ENTRY_ON_SEPARATE_LINE = False
|
48
setup.py
Normal file
48
setup.py
Normal file
@ -0,0 +1,48 @@
|
|||||||
|
import re
|
||||||
|
from pathlib import Path
|
||||||
|
|
||||||
|
import pkg_resources as pkg
|
||||||
|
from setuptools import find_packages, setup
|
||||||
|
|
||||||
|
# Settings
|
||||||
|
FILE = Path(__file__).resolve()
|
||||||
|
ROOT = FILE.parent # root directory
|
||||||
|
README = (ROOT / "README.md").read_text(encoding="utf-8")
|
||||||
|
REQUIREMENTS = [f'{x.name}{x.specifier}' for x in pkg.parse_requirements((ROOT / 'requirements.txt').read_text())]
|
||||||
|
|
||||||
|
|
||||||
|
def get_version():
|
||||||
|
file = ROOT / 'ultralytics/__init__.py'
|
||||||
|
return re.search(r'^__version__ = [\'"]([^\'"]*)[\'"]', file.read_text(), re.M)[1]
|
||||||
|
|
||||||
|
|
||||||
|
setup(
|
||||||
|
name="ultralytics", # name of pypi package
|
||||||
|
version=get_version(), # version of pypi package
|
||||||
|
python_requires=">=3.7.0",
|
||||||
|
long_description=README,
|
||||||
|
long_description_content_type="text/markdown",
|
||||||
|
# url="https://github.com/ultralytics/ultralytics",
|
||||||
|
project_urls={
|
||||||
|
'Bug Reports': 'https://github.com/ultralytics/ultralytics/issues',
|
||||||
|
'Funding': 'https://ultralytics.com',
|
||||||
|
'Source': 'https://github.com/ultralytics/ultralytics',},
|
||||||
|
author="Ultralytics",
|
||||||
|
author_email='hello@ultralytics.com',
|
||||||
|
# package_dir={'': 'ultralytics'}, # Optional, use if source code is in a subdirectory under the project root, i.e. `src/`
|
||||||
|
packages=find_packages('ultralytics'), # required
|
||||||
|
include_package_data=True,
|
||||||
|
install_requires=REQUIREMENTS,
|
||||||
|
extras_require={
|
||||||
|
'dev': ['check-manifest'],
|
||||||
|
'test': ['pytest', 'pytest-cov', 'coverage'],},
|
||||||
|
classifiers=[
|
||||||
|
"Intended Audience :: Developers", "Intended Audience :: Science/Research",
|
||||||
|
"License :: OSI Approved :: GNU General Public License v3 (GPLv3)", "Programming Language :: Python :: 3",
|
||||||
|
"Programming Language :: Python :: 3.7", "Programming Language :: Python :: 3.8",
|
||||||
|
"Programming Language :: Python :: 3.9", "Programming Language :: Python :: 3.10",
|
||||||
|
"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"],
|
||||||
|
keywords="machine-learning, deep-learning, vision, ML, DL, AI, YOLO, YOLOv3, YOLOv5, YOLOv8, HUB, Ultralytics")
|
1
ultralytics/__init__.py
Normal file
1
ultralytics/__init__.py
Normal file
@ -0,0 +1 @@
|
|||||||
|
__version__ = "0.0.1.dev"
|
Loading…
x
Reference in New Issue
Block a user