| # |
| # Licensed to the Apache Software Foundation (ASF) under one |
| # or more contributor license agreements. See the NOTICE file |
| # distributed with this work for additional information |
| # regarding copyright ownership. The ASF licenses this file |
| # to you under the Apache License, Version 2.0 (the |
| # "License"); you may not use this file except in compliance |
| # with the License. You may obtain a copy of the License at |
| # |
| # http://www.apache.org/licenses/LICENSE-2.0 |
| # |
| # Unless required by applicable law or agreed to in writing, |
| # software distributed under the License is distributed on an |
| # "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY |
| # KIND, either express or implied. See the License for the |
| # specific language governing permissions and limitations |
| # under the License. |
| # |
| |
| [project] |
| name = "qit" |
| version = "2.0.0" |
| description = "AMQP Interoperability Test Suite for Red Hat AMQ" |
| authors = [ |
| {name = "Red Hat AMQ Team"} |
| ] |
| readme = "README.md" |
| requires-python = ">=3.11" |
| license = {text = "Apache-2.0"} |
| |
| dependencies = [ |
| "python-qpid-proton>=0.39.0", |
| "click>=8.1.0", |
| "pytest>=8.0.0", |
| "pytest-timeout>=2.2.0", |
| "pytest-xdist>=3.5.0", |
| "pydantic>=2.0.0", |
| "pydantic-settings>=2.0.0", |
| "rich>=13.0.0", |
| "hypothesis>=6.100.0", |
| ] |
| |
| [project.optional-dependencies] |
| dev = [ |
| "pytest-cov>=4.1.0", |
| "ruff>=0.3.0", |
| "mypy>=1.8.0", |
| "pre-commit>=3.6.0", |
| ] |
| |
| [project.scripts] |
| qit = "qit.cli.main:cli" |
| |
| [build-system] |
| requires = ["hatchling"] |
| build-backend = "hatchling.build" |
| |
| [tool.hatch.build.targets.wheel] |
| packages = ["src/qit"] |
| |
| [tool.pytest.ini_options] |
| pythonpath = ["tests"] |
| testpaths = ["tests"] |
| python_files = ["test_*.py"] |
| python_classes = ["Test*"] |
| python_functions = ["test_*"] |
| addopts = [ |
| "-v", |
| "--tb=short", |
| "--strict-markers", |
| "-n", "4", |
| ] |
| markers = [ |
| "slow: marks tests as slow (deselect with '-m \"not slow\"')", |
| "broker: tests requiring a running broker", |
| "shim: tests requiring compiled shims", |
| "large_content: extended large content tests (run with --large-content)", |
| ] |
| timeout = 60 |
| |
| [tool.ruff] |
| line-length = 120 |
| target-version = "py311" |
| |
| [tool.ruff.lint] |
| select = [ |
| "E", # pycodestyle errors |
| "W", # pycodestyle warnings |
| "F", # pyflakes |
| "I", # isort |
| "B", # flake8-bugbear |
| "C4", # flake8-comprehensions |
| "UP", # pyupgrade |
| ] |
| ignore = [ |
| "E501", # line too long (handled by formatter) |
| ] |
| |
| [tool.mypy] |
| python_version = "3.11" |
| warn_return_any = true |
| warn_unused_configs = true |
| disallow_untyped_defs = true |