[build-system] requires = ["hatchling>=1.24"] build-backend = "hatchling.build" [project] name = "logos-integration-test-framework" version = "0.2.0" description = "pytest infrastructure for writing logoscore integration tests" readme = "README.md" # Deliberate tightening: upstream logoscore allows >=3.10. Don't relax without # auditing for `Self` / pattern-match / debug-f-string usage. requires-python = ">=3.11" license = { text = "MIT OR Apache-2.0" } authors = [{ name = "IFT QA" }] dependencies = [ # logoscore is not on PyPI; installed via direct git reference against upstream master. "logoscore @ git+https://github.com/logos-co/logos-logoscore-py.git@master", ] [project.optional-dependencies] dev = [ "pytest>=8.0", "ruff>=0.5", "mypy>=1.10", "pre-commit>=3.7", ] # Auto-load the fixtures module as a pytest plugin. After # `pip install logos-integration-test-framework`, fixtures # `local_daemon` / `local_client` / `docker_daemon` / `docker_client` # are available without `pytest_plugins` declarations. [project.entry-points.pytest11] logos_integration_test_framework = "logos_integration_test_framework.fixtures" [tool.hatch.metadata] # logoscore is installed via `git+https://...` — a direct reference. allow-direct-references = true [tool.hatch.build.targets.wheel] packages = ["src/logos_integration_test_framework"] [tool.pytest.ini_options] testpaths = ["tests"] addopts = "-ra --strict-markers" [tool.ruff] line-length = 100 target-version = "py311" src = ["src", "tests"] [tool.ruff.lint] select = ["E", "F", "I", "UP", "B", "SIM", "RUF"] ignore = ["E501"] [tool.mypy] python_version = "3.11" strict = true mypy_path = "src" # Upstream logoscore ships no py.typed marker — without this override, strict # mode fails with import-untyped on first push. [[tool.mypy.overrides]] module = "logoscore.*" ignore_missing_imports = true