mirror of
https://github.com/logos-messaging/logos-integration-test-framework.git
synced 2026-05-18 18:39:28 +00:00
67 lines
2.0 KiB
TOML
67 lines
2.0 KiB
TOML
[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. Pinned to PR #1 head SHA, not the branch name,
|
|
# so an upstream force-push can't silently change what we install.
|
|
# Re-pin to `@master` after https://github.com/logos-co/logos-logoscore-py/pull/1 merges.
|
|
"logoscore @ git+https://github.com/logos-co/logos-logoscore-py.git@6e7155733d90a66d117211c33322594e1b50e742",
|
|
]
|
|
|
|
[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
|