A clean, arcade-style Snake game for the terminal with level-based progression.
Project description
JSNAKE
A clean, arcade-style Snake game for the terminal. Built with Python and Textual, featuring level-based progression and persistent high scores.
Installation
pip install jsnake
jsnake
Or using uv (recommended):
uv tool install jsnake
jsnake
Using
uv tool installorpipx installensures thejsnakecommand is always available globally without PATH issues.
Alternative — run without installing:
uvx jsnake
Controls
| Key | Action |
|---|---|
| W / ↑ | Move up |
| A / ← | Move left |
| S / ↓ | Move down |
| D / → | Move right |
| P | Pause / Resume |
| R | Restart |
| Q | Quit |
Features
- Level-based speed progression (every 50 points)
- Persistent high score (saved to
~/.jsnake/scores.json) - Square aspect-ratio grid rendering
- Neon arcade aesthetic
Development
# 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/
Building & Publishing
uv run python -m build
uv run twine upload dist/*
License
MIT
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file jsnake-0.2.0.tar.gz.
File metadata
- Download URL: jsnake-0.2.0.tar.gz
- Upload date:
- Size: 60.8 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
f52175beb12de75065cba1c9a5fe4c2b6ae5fc46c531a4a5b8681de292d966aa
|
|
| MD5 |
a1442a390fd42145b573c9cbe48cb2fc
|
|
| BLAKE2b-256 |
8fb52f8340b99423979c0211905bf585183d029c643880323e9dffd3cd0fa259
|
File details
Details for the file jsnake-0.2.0-py3-none-any.whl.
File metadata
- Download URL: jsnake-0.2.0-py3-none-any.whl
- Upload date:
- Size: 8.6 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
efa461a7450517e6259a4701b7dad29fe3660d3c9646fb5b6429362b187cee75
|
|
| MD5 |
5605b42c96990c6105c743d70f6077de
|
|
| BLAKE2b-256 |
1d1345652a8ad0efc71eb0482ee215aaa0e05b556f77739fd77cb747fb57cbe3
|