talktuner-probe-training / pyproject.toml
jmjoseph's picture
Deploy TalkTuner probe training interface
5413412 verified
[tool.poetry]
name = "talktuner-dashboard"
version = "0.1.0"
description = "TalkTuner: A Dashboard for Transparency and Control of Conversational AI"
authors = ["Your Name <your.email@example.com>"]
readme = "README.md"
license = "MIT"
homepage = "https://github.com/Josh-Joseph/reproduce_talktuner_dashboard"
repository = "https://github.com/Josh-Joseph/reproduce_talktuner_dashboard"
keywords = ["chatbot", "llm", "dashboard", "transparency", "conversational-ai", "probes"]
classifiers = [
"Development Status :: 3 - Alpha",
"Intended Audience :: Science/Research",
"Topic :: Scientific/Engineering :: Artificial Intelligence",
"License :: OSI Approved :: MIT License",
"Programming Language :: Python :: 3.9",
"Programming Language :: Python :: 3.10",
]
packages = [{include = "src"}]
[tool.poetry.dependencies]
python = ">=3.9,<3.11"
# Core ML/AI dependencies (essential for training)
torch = ">=2.0.0"
transformers = ">=4.30.0"
accelerate = ">=0.20.0"
tokenizers = ">=0.13.0"
safetensors = ">=0.3.0"
# Scientific computing (essential)
numpy = ">=1.23.0"
scipy = ">=1.9.0"
scikit-learn = ">=1.1.0"
pandas = ">=1.4.0"
matplotlib = ">=3.5.0"
# Utilities (essential)
tqdm = ">=4.65.0"
pyyaml = ">=6.0"
requests = ">=2.28.0"
# Web interface (for HuggingFace Spaces)
gradio = ">=5.0.0"
seaborn = ">=0.12.0"
# Optional dependencies - install manually if needed
# torchvision = ">=0.15.0"
# datasets = ">=2.0.0"
# sentencepiece = ">=0.1.99"
# einops = ">=0.7.0"
# seaborn = ">=0.12.0"
# plotly = ">=5.14.0"
# jupyter = ">=1.0.0"
# jupyterlab = ">=4.0.0"
# ipykernel = ">=6.20.0"
# flask = ">=2.2.0"
# flask-cors = ">=4.0.0"
# opencv-python = ">=4.6.0"
# pillow = ">=9.2.0"
# huggingface-hub = ">=0.16.0"
[tool.poetry.group.dev.dependencies]
pytest = "^7.4.0"
pytest-cov = "^4.1.0"
pytest-xdist = "^3.3.0"
pytest-mock = "^3.11.0"
black = "^23.7.0"
isort = "^5.12.0"
flake8 = "^6.1.0"
mypy = "^1.5.0"
pre-commit = "^3.3.0"
ipdb = "^0.13.0"
[tool.poetry.group.docs.dependencies]
sphinx = "^7.1.0"
sphinx-rtd-theme = "^1.3.0"
sphinx-autodoc-typehints = "^1.24.0"
myst-parser = "^2.0.0"
[tool.poetry.scripts]
train-probes = "train_probes:main"
[build-system]
requires = ["poetry-core>=1.0.0"]
build-backend = "poetry.core.masonry.api"
[tool.black]
line-length = 100
target-version = ['py39']
include = '\.pyi?$'
extend-exclude = '''
/(
# directories
\.eggs
| \.git
| \.hg
| \.mypy_cache
| \.tox
| \.venv
| build
| dist
| data
)/
'''
[tool.isort]
profile = "black"
line_length = 100
multi_line_output = 3
include_trailing_comma = true
force_grid_wrap = 0
use_parentheses = true
ensure_newline_before_comments = true
[tool.mypy]
python_version = "3.9"
warn_return_any = true
warn_unused_configs = true
disallow_untyped_defs = false
disallow_any_unimported = false
no_implicit_optional = true
warn_redundant_casts = true
warn_unused_ignores = true
warn_no_return = true
check_untyped_defs = true
ignore_missing_imports = true
[tool.pytest.ini_options]
minversion = "6.0"
addopts = "-ra -q --strict-markers"
testpaths = [
"tests",
]
python_files = "test_*.py"
python_classes = "Test*"
python_functions = "test_*"
markers = [
"slow: marks tests as slow (deselect with '-m \"not slow\"')",
"integration: marks tests as integration tests",
"unit: marks tests as unit tests",
]
[tool.coverage.run]
source = ["src"]
omit = [
"*/tests/*",
"*/test_*.py",
"*/__init__.py",
]
[tool.coverage.report]
exclude_lines = [
"pragma: no cover",
"def __repr__",
"if self.debug",
"raise AssertionError",
"raise NotImplementedError",
"if 0:",
"if __name__ == .__main__.:",
"if TYPE_CHECKING:",
"class .*\\bProtocol\\):",
"@(abc\\.)?abstractmethod",
]