Files
shellmate/pyproject.toml
Greg Hendrickson db1ce55c2c feat: robust SSH with fallback menu + comprehensive tests
- Add fallback Rich-based menu when Textual fails
- Working chess game via simple terminal UI
- Proper PTY/terminal handling for SSH
- Added pytest test suite:
  - SSH auth tests (no-auth, accept any)
  - Mode selection tests (play/learn/watch)
  - Chess board widget tests
  - Move validation tests
  - Game state detection tests
- CI workflow for GitHub Actions
- Run tests with: pytest tests/ -v
2026-01-27 18:08:57 +00:00

54 lines
1.1 KiB
TOML

[project]
name = "shellmate"
version = "0.1.0"
description = "SSH into chess mastery - Terminal chess over SSH"
readme = "README.md"
license = { text = "MIT" }
authors = [{ name = "Greg Hendrickson", email = "greg@gregh.dev" }]
requires-python = ">=3.12"
dependencies = [
"textual>=7.4.0",
"python-chess>=1.999",
"asyncssh>=2.22.0",
"redis>=7.1.0",
"asyncpg>=0.30.0",
"stockfish>=4.0.6",
"rich>=14.3.0",
"pydantic>=2.12.0",
"pydantic-settings>=2.7.0",
]
[project.optional-dependencies]
dev = [
"pytest>=8.3.0",
"pytest-asyncio>=0.25.0",
"ruff>=0.9.0",
"mypy>=1.14.0",
]
[project.scripts]
shellmate = "shellmate.cli:main"
shellmate-server = "shellmate.ssh.server:main"
[build-system]
requires = ["hatchling"]
build-backend = "hatchling.build"
[tool.ruff]
line-length = 100
target-version = "py312"
[tool.ruff.lint]
select = ["E", "F", "I", "N", "W", "UP"]
[tool.mypy]
python_version = "3.12"
strict = true
[tool.pytest.ini_options]
asyncio_mode = "auto"
testpaths = ["tests"]
filterwarnings = [
"ignore::DeprecationWarning",
]