A professional-grade CLI Snake game built with Textual
Project description
🐍 CLI Snake (Enterprise Grade)
A professional, high-performance terminal UI representation of the classic Snake game, built using the modern Python ecosystem.
🏗 Industrial Stack Choice
To build a professional tool in Python, we've moved beyond simple logic and embraced a modern, robust architecture:
- Textual: The industry standard for high-performance terminal interfaces (TUIs). It uses asyncio for smooth, non-blocking input and rendering.
- Rich: Provides the aesthetics (colors, gradients, layouts) that make modern CLI tools feel premium.
- Modular Architecture: Separated the game engine (state management) from the UI (rendering), making it easily testable and maintainable.
- Static Type Hinting (
Mypy): In professional projects, we use strict type-hinting to prevent bugs before the code even runs. - Modern Build System (
pyproject.toml): Standardized packaging and dependency management.
🛸 Professional Deployment
Local Terminal Installation
To play the game from any location in your terminal without manual venv activation:
# From the project root
pip install .
Now, simply run snake.
🛸 Industrial CI/CD
The project is configured for automated quality control via GitHub Actions. On every commit, the following are verified:
- Ruff: Linting & Style enforcement.
- Mypy: Strict static type checking.
- Pytest: Core engine logic validation.
See Deployment Guide for the .github/workflows/ci.yml configuration.
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.1.0.tar.gz.
File metadata
- Download URL: jsnake-0.1.0.tar.gz
- Upload date:
- Size: 8.8 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.10
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
911572e8bbcbe00afa74d3dda7b79eb788fa06b35834934e6a1363814adc4007
|
|
| MD5 |
7a6d6858bc9523e63adc49e0c6b25c2c
|
|
| BLAKE2b-256 |
40efdb914dde4131c95949d91e1775c06f3d28bb99992354677581a775678d46
|
File details
Details for the file jsnake-0.1.0-py3-none-any.whl.
File metadata
- Download URL: jsnake-0.1.0-py3-none-any.whl
- Upload date:
- Size: 7.7 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.10
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
de069e7916a9422ece19b0bff732d03c57f329abe3fc663eff82d30040ba7b19
|
|
| MD5 |
2481142ab4a2e2a155fdf7ea4796a3a9
|
|
| BLAKE2b-256 |
5d7a74e56a3161cb0f7bc9b91595caa805d8735e4d142a37f2359f64a223bdac
|