-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathpyproject.toml
127 lines (114 loc) · 3.43 KB
/
pyproject.toml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
[build-system]
requires = ["setuptools>=67.0", "setuptools_scm>=8.0", "wheel"]
build-backend = "setuptools.build_meta"
[project]
name = "advanced_image_sensor_interface"
version = "1.0.1"
description = "A high-performance interface for next-generation camera modules"
readme = "README.md"
authors = [{ name = "Mudit Bhargava", email = "muditbhargava666@gmail.com" }]
license = { file = "LICENSE" }
classifiers = [
"License :: OSI Approved :: MIT License",
"Programming Language :: Python",
"Programming Language :: Python :: 3",
"Programming Language :: Python :: 3.9",
"Programming Language :: Python :: 3.10",
"Programming Language :: Python :: 3.11",
"Programming Language :: Python :: 3.12",
"Topic :: Scientific/Engineering :: Image Processing",
"Operating System :: POSIX :: Linux",
"Intended Audience :: Science/Research"
]
keywords = ["image processing", "sensor interface", "camera", "MIPI"]
dependencies = [
"numpy>=1.23.5",
"scipy>=1.10.0",
"matplotlib>=3.7.0",
"opencv-python>=4.8.1",
"Pillow>=10.0.0",
"pandas>=2.1.0",
"scikit-learn>=1.3.0",
"tqdm>=4.66.0",
]
requires-python = ">=3.9"
[project.optional-dependencies]
dev = [
"pytest-asyncio>=0.23.0",
"pytest>=8.0.2",
"pytest-cov>=4.1.0",
"mypy>=1.6.0",
"flake8>=6.0.0",
"black>=23.10.0",
"pyright>=1.1.320",
"tox>=4.0.0",
"ipython>=8.18.0",
]
docs = [
"sphinx>=7.2.0",
"sphinx-rtd-theme>=1.3.0",
"sphinx-autodoc-typehints>=1.25.0",
]
[project.urls]
Homepage = "https://github.com/muditbhargava66/Advanced-Image-Sensor-Interface"
Documentation = "https://advanced-image-sensor-interface.readthedocs.io/"
Repository = "https://github.com/muditbhargava66/Advanced-Image-Sensor-Interface.git"
Changelog = "https://github.com/muditbhargava66/Advanced-Image-Sensor-Interface/releases"
Issues = "https://github.com/muditbhargava66/Advanced-Image-Sensor-Interface/issues"
[tool.setuptools]
package-dir = {"" = "src"}
[tool.setuptools.packages.find]
where = ["src"]
[tool.pytest.ini_options]
asyncio_mode = "auto"
addopts = "-v --cov=src --cov-report=term-missing --cov-config=pyproject.toml"
testpaths = ["tests"]
filterwarnings = ["ignore::pytest.PytestDeprecationWarning"]
[tool.mypy]
python_version = "3.10"
strict = true
check_untyped_defs = true
disallow_any_generics = true
warn_redundant_casts = true
warn_unused_ignores = true
warn_return_any = true
enable_error_code = ["ignore-without-code", "redundant-expr", "truthy-bool"]
[tool.black]
line-length = 130
target-version = ["py39", "py310", "py311", "py312"]
skip_magic_trailing_comma = true
[tool.ruff]
line-length = 130
target-version = "py310"
[tool.ruff.lint]
select = [
"E", # Pycodestyle
"F", # Pyflakes
"W", # Pycodestyle warnings
"UP", # Pyupgrade
"PL", # Pylint
"RUF", # Ruff-specific
"I" # Isort
]
# Global ignores
ignore = [
"D", # Disable all pydocstyle rules
"PLR2004", # Magic numbers (common in tests)
"B006", # Mutable defaults (enable later)
"E501", # Line length (handled by formatter)
"UP038",
"UP007",
"E712"
]
# Directory-specific ignores
[tool.ruff.lint.per-file-ignores]
"__init__.py" = ["ALL"]
"tests/**/*.py" = ["D1", "PLR2004", "F841"]
"benchmarks/**/*.py" = ["D1", "B006"]
"scripts/**/*.py" = ["D1", "PLR2004"]
[tool.pyright]
include = ["src"]
exclude = ["**/__pycache__", "**/.*", "tests"]
pythonVersion = "3.10"
pythonPlatform = "Linux"
typeCheckingMode = "strict"