[project]
name = "plua"
version = "1.0.52"
description = "A Lua interpreter in Python using Lupa library"
readme = "README.md"
requires-python = ">=3.12"
dependencies = [ "lupa>=1.13.0", "psutil>=7.0.0", "toml>=0.10.0", "websocket-client>=1.6.0", "requests>=2.31.0", "fastapi>=0.104.0", "uvicorn[standard]>=0.24.0", "pydantic>=2.0.0", "httpx>=0.25.0", "paho-mqtt>=1.6.1", "websockets>=10.0",]
[[project.authors]]
name = "PLua Developer"
email = "developer@example.com"

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

[dependency-groups]
dev = [ "pyinstaller>=6.14.1", "pytest>=8.4.1", "pytest-asyncio>=1.0.0",]

[project.optional-dependencies]
dev = [ "pytest>=7.0.0", "pytest-asyncio>=0.21.0", "pytest-cov>=4.0.0",]

[project.scripts]
plua = "plua.__main__:main"

[tool.pytest.ini_options]
testpaths = [ "tests",]
python_files = [ "test_*.py",]
python_classes = [ "Test*",]
python_functions = [ "test_*",]
addopts = [ "--strict-markers", "--strict-config", "--verbose", "--tb=short",]
markers = [ "slow: marks tests as slow (deselect with '-m \"not slow\"')", "integration: marks tests as integration tests", "unit: marks tests as unit tests", "asyncio: mark test as asyncio to run with pytest-asyncio",]

[tool.coverage.run]
source = [ "src",]
omit = [ "*/tests/*", "*/test_*", "*/__pycache__/*",]

[tool.coverage.report]
exclude_lines = [ "pragma: no cover", "def __repr__", "if self.debug:", "if settings.DEBUG", "raise AssertionError", "raise NotImplementedError", "if 0:", "if __name__ == .__main__.:", "class .*\\bProtocol\\):", "raise ImportError",]

[tool.hatch.build.targets.wheel]
packages = [ "src/plua", "src/extensions",]

[tool.hatch.build.targets.sdist]
include = [ "/src/plua", "/src/extensions", "/src/lua", "/examples", "/pyproject.toml", "/README.md",]
