Skip to main content

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 install or pipx install ensures the jsnake command 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

jsnake-0.2.0.tar.gz (60.8 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

jsnake-0.2.0-py3-none-any.whl (8.6 kB view details)

Uploaded Python 3

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

Hashes for jsnake-0.2.0.tar.gz
Algorithm Hash digest
SHA256 f52175beb12de75065cba1c9a5fe4c2b6ae5fc46c531a4a5b8681de292d966aa
MD5 a1442a390fd42145b573c9cbe48cb2fc
BLAKE2b-256 8fb52f8340b99423979c0211905bf585183d029c643880323e9dffd3cd0fa259

See more details on using hashes here.

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

Hashes for jsnake-0.2.0-py3-none-any.whl
Algorithm Hash digest
SHA256 efa461a7450517e6259a4701b7dad29fe3660d3c9646fb5b6429362b187cee75
MD5 5605b42c96990c6105c743d70f6077de
BLAKE2b-256 1d1345652a8ad0efc71eb0482ee215aaa0e05b556f77739fd77cb747fb57cbe3

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page