Files
links/pyproject.toml
T
junvandCopilot a87b4643fd feat: port JBOT AI robot face into links as Django app
- Add jbot Django app (jbot/__init__.py, apps.py, urls.py, api_urls.py)
- Python backend (jbot/views.py): TTS 2.0, ASR 1.0 BigASR, LLM/memory via OpenRouter
- React SPA frontend at /jbot/ (static_src/jbot/): RobotFace, ChatPanel, expressions,
  voices, push-to-talk, history, memory, settings pages
- Vite entry jbot: static_src/jbot/main.jsx → dist/jbot.js + dist/jbot.css
- react-router-dom added; BrowserRouter basename=/jbot for SPA routing
- core/settings.py: added jbot to INSTALLED_APPS
- core/urls.py: /jbot/ + /api/jbot/ URL includes
- pyproject.toml: websocket-client>=1.9.0 for BigASR binary WS protocol
- Dockerfile: ffmpeg added to production apt-get for WebM→PCM audio conversion
- k8s/manifest.yaml: VOLC_APP_ID, VOLC_ACCESS_TOKEN, OPENROUTER_API_KEY env vars
  via jbot-credentials Secret; LLM_MODEL, VOLC_TTS_VOICE, VOLC_ASR_RESOURCE defaults

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
2026-05-17 14:13:37 +10:00

77 lines
1.5 KiB
TOML

[project]
name = "links"
version = "0.1.1"
description = "A URL management tool"
requires-python = ">=3.12"
dependencies = [
"asgiref==3.8.1",
"Django>=5.2.9",
"django-widget-tweaks==1.5.0",
"sqlparse==0.5.1",
"django-tailwind==3.8.0",
"fontawesome-free==5.15.3",
"gunicorn==23.0.0",
"whitenoise==5.3.0",
"django-simplemde==0.1.4",
"markdown==3.8.1",
"requests>=2.32.4,<3",
"beautifulsoup4==4.12.3",
"djangorestframework==3.15.2",
"apscheduler>=3.10.0,<4.0.0",
"playwright>=1.40.0",
"boto3>=1.35.0",
"python-magic>=0.4.27",
"pillow~=12.2.0",
"whoosh==2.7.4",
"django-redis>=5.4.0",
"qdrant-client>=1.13.2",
"cryptography>=42.0.0",
"kubernetes>=29.0.0",
"maxminddb>=3.1.1",
"yfinance>=1.3.0",
"websocket-client>=1.9.0",
]
[build-system]
requires = ["hatchling"]
build-backend = "hatchling.build"
[tool.hatch.build.targets.wheel]
packages = ["."]
[tool.hatch.metadata]
allow-direct-references = true
[project.optional-dependencies]
dev = [
"pytest>=9.0.3",
"pytest-django>=4.5",
"black>=23.0",
"isort>=5.0",
"flake8>=6.0",
]
[tool.black]
line-length = 100
target-version = ["py312"]
include = '\.pyi?$'
[tool.pytest.ini_options]
DJANGO_SETTINGS_MODULE = "core.settings"
pythonpath = ["."]
testpaths = ["tests"]
python_files = ["test_*.py"]
python_classes = ["Test*"]
python_functions = ["test_*"]
[tool.isort]
profile = "black"
multi_line_output = 3
line_length = 100
[dependency-groups]
dev = [
"pytest>=9.0.3",
"pytest-django>=4.10.0",
]