[build-system]
requires = ["maturin>=1.0,<2.0"]
build-backend = "maturin"

[project]
name = "pathway-viz"
version = "0.1.2"
description = "The visualization layer for Pathway - real-time dashboards for streaming data"
readme = "README.md"
license = { text = "MIT" }
requires-python = ">=3.11"
keywords = ["streaming", "visualization", "pathway", "kafka", "real-time", "dashboard"]
classifiers = [
    "Development Status :: 3 - Alpha",
    "Intended Audience :: Developers",
    "License :: OSI Approved :: MIT License",
    "Programming Language :: Python :: 3",
    "Programming Language :: Python :: 3.11",
    "Programming Language :: Python :: 3.12",
    "Programming Language :: Python :: 3.13",
    "Programming Language :: Rust",
    "Topic :: Scientific/Engineering :: Visualization",
    "Topic :: System :: Monitoring",
]

[project.optional-dependencies]
# Full demo with Kafka/Redpanda + Pathway + DuckDB persistence
demo = [
    "pathway>=0.8; python_version<'3.14'",
    "kafka-python-ng>=2.0",
    "duckdb>=1.0",
]

# Development dependencies
dev = [
    "pytest>=7.0",
    "ruff>=0.1",
    "maturin>=1.0,<2.0",
]

[project.scripts]
pathway-viz = "pathway_viz.__main__:main"

[project.urls]
Homepage = "https://github.com/mvfolino68/pathway-viz"
Repository = "https://github.com/mvfolino68/pathway-viz"
Documentation = "https://github.com/mvfolino68/pathway-viz#readme"
Issues = "https://github.com/mvfolino68/pathway-viz/issues"

[tool.maturin]
python-source = "python"
module-name = "pathway_viz._pathway_viz"
features = ["pyo3/extension-module"]

[tool.ruff]
line-length = 100
target-version = "py311"

[tool.ruff.lint]
select = ["E", "F", "I", "UP", "B", "W"]
ignore = ["E501"]

[tool.pytest.ini_options]
testpaths = ["tests"]
python_files = ["test_*.py"]
