Warning, /iDDS/pyproject.toml is written in an unsupported language. File is not indexed.
0001 [build-system]
0002 requires = ["setuptools>=61.0", "wheel"]
0003 build-backend = "setuptools.build_meta"
0004
0005 [project]
0006 name = "idds"
0007 dynamic = ["version"]
0008 description = "intelligent Distributed Dispatch and Scheduling Service (iDDS) - Meta Package"
0009 readme = "README.md"
0010 license = "Apache-2.0"
0011 authors = [
0012 {name = "PanDA Team", email = "atlas-adc-panda@cern.ch"},
0013 ]
0014 requires-python = ">=3.9"
0015 classifiers = [
0016 "Development Status :: 5 - Production/Stable",
0017 "Intended Audience :: Developers",
0018 "Natural Language :: English",
0019 "Programming Language :: Python :: 3.9",
0020 "Programming Language :: Python :: 3.10",
0021 "Programming Language :: Python :: 3.11",
0022 "Programming Language :: Python :: 3.12",
0023 ]
0024
0025 [project.urls]
0026 Documentation = "https://github.com/HSF/iDDS/wiki"
0027 Source = "https://github.com/HSF/iDDS"
0028 Homepage = "https://github.com/HSF/iDDS"
0029
0030 [project.optional-dependencies]
0031 # Core components
0032 common = ["idds-common"]
0033 server = ["idds-server"]
0034 client = ["idds-client"]
0035
0036 # Domain-specific components
0037 atlas = ["idds-atlas"]
0038 doma = ["idds-doma"]
0039 workflow = ["idds-workflow"]
0040 prompt = ["idds-prompt"]
0041 website = ["idds-website"]
0042 monitor = ["idds-monitor"]
0043
0044 # Install all components
0045 all = [
0046 "idds-common",
0047 "idds-server",
0048 "idds-client",
0049 "idds-atlas",
0050 "idds-doma",
0051 "idds-workflow",
0052 "idds-prompt",
0053 "idds-website",
0054 "idds-monitor",
0055 ]
0056
0057 # Development dependencies
0058 dev = [
0059 "pytest>=6.0",
0060 "pytest-cov",
0061 "flake8",
0062 "black",
0063 "mypy",
0064 ]
0065
0066 [tool.setuptools]
0067 packages = [] # Meta-package with no code
0068
0069 [tool.setuptools.dynamic]
0070 version = {attr = "idds.__version__"}
0071
0072 [tool.black]
0073 line-length = 100
0074 target-version = ['py36', 'py37', 'py38', 'py39', 'py310', 'py311']
0075 include = '\.pyi?$'
0076 exclude = '''
0077 /(
0078 \.git
0079 | \.venv
0080 | \.tox
0081 | build
0082 | dist
0083 | __pycache__
0084 )/
0085 '''
0086
0087 [tool.pytest.ini_options]
0088 minversion = "6.0"
0089 testpaths = [
0090 "common/lib/idds/tests",
0091 "main/lib/idds/tests",
0092 "client/lib/idds/tests",
0093 "atlas/lib/idds/tests",
0094 "doma/lib/idds/tests",
0095 "workflow/lib/idds/tests",
0096 "prompt/lib/idds/tests",
0097 ]
0098 python_files = ["test_*.py", "*_test.py"]
0099 python_classes = ["Test*"]
0100 python_functions = ["test_*"]
0101 addopts = [
0102 "--verbose",
0103 "--strict-markers",
0104 "--tb=short",
0105 ]
0106
0107 [tool.coverage.run]
0108 source = ["idds"]
0109 omit = [
0110 "*/tests/*",
0111 "*/test_*",
0112 "*/__pycache__/*",
0113 ]
0114
0115 [tool.coverage.report]
0116 exclude_lines = [
0117 "pragma: no cover",
0118 "def __repr__",
0119 "raise AssertionError",
0120 "raise NotImplementedError",
0121 "if __name__ == .__main__.:",
0122 "if TYPE_CHECKING:",
0123 ]
0124
0125 [tool.mypy]
0126 python_version = "3.6"
0127 warn_return_any = true
0128 warn_unused_configs = true
0129 disallow_untyped_defs = false
0130 ignore_missing_imports = true
0131
0132 [tool.flake8]
0133 max-line-length = 100
0134 extend-ignore = ["E203", "W503"]
0135 exclude = [
0136 ".git",
0137 "__pycache__",
0138 "build",
0139 "dist",
0140 ".venv",
0141 ".tox",
0142 ]