[build-system]
requires = ["hatchling"]
build-backend = "hatchling.build"

[project]
name = "ibm3270"
version = "0.1.2"
description = "Python wrapper for the s3270 IBM 3270 terminal emulator"
readme = "README.md"
authors = [{ name = "Daniel Maltarollo", email = "daniel@maltarollo.net" }]
license = { text = "MIT" }
requires-python = ">=3.11"
keywords = ["3270", "mainframe", "host", "black screen", "green screen", "tn3270", "automation", "terminal", "s3270"]
classifiers = [
    "Development Status :: 3 - Alpha",
    "Intended Audience :: Developers",
    "Operating System :: OS Independent",
    "Programming Language :: Python :: 3",
    "Programming Language :: Python :: 3.11",
    "Programming Language :: Python :: 3.12",
    "Topic :: Software Development :: Libraries",
    "Topic :: System :: Networking",
    "Topic :: Terminals",
    "Topic :: Terminals :: Terminal Emulators/X Terminals"
]
dependencies = [
    "build>=1.4.0",
    "hatch>=1.16.5",
    "pdoc>=16.0.0",
    "twine>=6.2.0",
]

[project.optional-dependencies]
docs = ["pdoc"]

[dependency-groups]
dev = [
    "build>=1.2.2",
    "pytest>=8.0",
    "pytest-cov>=5.0",
    "pytest-timeout",
]

[tool.hatch.build.targets.wheel]
packages = ["ibm3270"]

[tool.pytest.ini_options]
testpaths = ["tests"]
markers = ["integration: requires s3270 binary on PATH"]
timeout = 10

[tool.ruff]
line-length = 120
