[project]
name = "embeddingbuddy"
version = "0.8.2"
description = "A Python Dash application for interactive exploration and visualization of embedding vectors through dimensionality reduction techniques."
readme = "README.md"
requires-python = ">=3.11"
dependencies = [
    "dash>=2.17.1",
    "plotly>=5.17.0",
    "pandas>=2.1.4",
    "numpy>=1.24.4",
    "scikit-learn>=1.3.2",
    "dash-bootstrap-components>=1.5.0",
    "umap-learn>=0.5.8",
    "openTSNE>=1.0.0",
    "mypy>=1.17.1",
    "opensearch-py>=3.0.0",
]

[project.scripts]
embeddingbuddy = "embeddingbuddy.cli:main"
embeddingbuddy-serve = "embeddingbuddy.app:serve"

[project.optional-dependencies]
test = [
    "pytest>=8.4.1",
    "pytest-cov>=4.1.0",
]
lint = [
    "ruff>=0.1.0",
    "mypy>=1.5.0",
]
security = [
    "bandit[toml]>=1.7.5",
    "safety>=2.3.0",
    "pip-audit>=2.6.0",
]
prod = [
    "gunicorn>=21.2.0",
]
dev = [
    "embeddingbuddy[test,lint,security]",
]
all = [
    "embeddingbuddy[test,lint,security,prod]",
]

[build-system]
requires = ["setuptools>=61.0", "wheel"]
build-backend = "setuptools.build_meta"

[tool.setuptools.packages.find]
where = ["src"]

[tool.setuptools.package-dir]
"" = "src"

[tool.setuptools.package-data]
embeddingbuddy = ["assets/**/*"]
