A clean, arcade-style Snake game for the terminal. Built with Python and Textual, featuring level-based progression and persistent high scores.
pip install jsnake
jsnakeOr using uv (recommended):
uv tool install jsnake
jsnakeUsing
uv tool installorpipx installensures thejsnakecommand is always available globally without PATH issues.
Alternative — run without installing:
uvx jsnake| Key | Action |
|---|---|
| W / ↑ | Move up |
| A / ← | Move left |
| S / ↓ | Move down |
| D / → | Move right |
| P | Pause / Resume |
| R | Restart |
| Q | Quit |
- Level-based speed progression (every 50 points)
- Persistent high score (saved to
~/.jsnake/scores.json) - Square aspect-ratio grid rendering
- Neon arcade aesthetic
# Clone and set up
git clone https://github.com/Jithi/jsnake.git
cd jsnake
# Install with dev dependencies using uv
uv sync --extra dev
# Run locally
uv run jsnake
# Run tests
uv run pytest
# Lint
uv run ruff check src/ tests/
# Type check
uv run mypy src/uv run python -m build
uv run twine upload dist/*MIT