[build-system]
requires = ["setuptools", "setuptools_scm"]
build-backend = "setuptools.build_meta"

[project]
name = "talkpipe"
authors = [
    {name = "Travis Bauer", email = "tlbauer@sandia.gov"},
]
maintainers = [
    {name = "Travis Bauer", email = "tlbauer@sandia.gov"}
]
description = "Python internal and external DSL for writing generative AI analytics"
readme = "README.md"
requires-python = ">=3.11"
keywords = ["ai"]
license = "Apache-2.0"
classifiers = [
    "Development Status :: 3 - Alpha",
    "Programming Language :: Python :: 3",
    "Operating System :: OS Independent",
]
dependencies = [
    'prompt_toolkit',
    'parsy',
    'pydantic',
    'ollama',
    'pypdf',
    'numpy',
    'accelerate',
    'python-docx',
    'pandas',
    'feedparser',
    'readability-lxml',
    'lxml[html_clean]',
    'openai',
    'fastapi[standard]',
    'ipywidgets',
    'pymongo',
    'umap-learn',
    'scikit-learn',
    'cryptography',
    'uvicorn',
    'whoosh'
]
dynamic = ["version"]

[project.optional-dependencies]
dev = [
    'pytest',
    'pytest-mock',
    'pytest-cov',
    'mongomock'
]

[project.scripts]
chatterlang_server = "talkpipe.app.chatterlang_server:main"
chatterlang_script = "talkpipe.app.runscript:main"
talkpipe_ref = "talkpipe.app.unit_documentation_analyzer:go"
talkpipe_genkeys = "talkpipe.operations.crypto:generate_keys_cli"
talkpipe_endpoint = "talkpipe.app.apiendpoint:go"

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

# Add package data to include .ico files
[tool.setuptools.package-data]
"*" = ["*.ico"]
"talkpipe.app.static" = ["*.html", "*.txt"]

[tool.setuptools_scm]
#use defaults

[project.urls]
Homepage = "https://github.com/sandialabs/talkpipe"
