A sqlnoir inspired game for pandas
Project description
pandasnoir is a TUI based game built with Textual and inspired by sqlnoir. The cases and the data are the same, but you can now test your pandas' skills on them.
The pixel "art" (I'm no professional, I know) was drawn by me with Aseprite. For it to render, your monitor should be bigger than a laptop's one or your terminal should be more zoomed out than mine.
If you find any value in this project please leave a star and consider to offer me a coffee (Paypal or Github sponsor).
[!IMPORTANT] For the Textual experience to fully express itself you should run the program on a modern terminal emulator (tested on Kitty only, but any other popular option should work fine).
[!IMPORTANT] Assets and output enrichment are mainly suited to Textual's default dark theme. Other themes – especially light ones – may not allow a good UI experience.
Once you launch the game the directory ~/.pandasnoir/ is created to store progress and make your work persistent. If you want to reset everything, just delete the directory.
Installation
The software can be installed through PyPi:
# using pip/pipx
pip install pandasnoir
pipx install pandasnoir # pipx upgrade to update it
# or using uv
uv tool install pandasnoir
You can also install the software from source:
git clone https://github.com/ndrscalia/pandasnoir
cd pandasnoir
pip install -e .
Then you can simply run pandasnoir.
The software can also be used without installing it through uv:
uvx --from pandasnoir pandasnoir
Contributing
Any contribution is welcome. Open an issue for bugs / qol proposals or use pull requests if you wrote a new case that you would like to be added.
Testing
To test the repo install the test dependencies
cd pandasnoir
pip install -e ".[test]" # or pip install -e ".[dev]"
pytest -v
The test suite was built with claude-code and then reviewed by me.
Project details
Release history Release notifications | RSS feed
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 pandasnoir-1.0.0.tar.gz.
File metadata
- Download URL: pandasnoir-1.0.0.tar.gz
- Upload date:
- Size: 126.7 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
fbde29189f86dc84990639c94324b2ed66867b775ee9dc01ed8d33a93aa94015
|
|
| MD5 |
afc16aa6a90e755f9218247d7e3a8758
|
|
| BLAKE2b-256 |
fbad5f56bce7a0961162d69b91941b7886da0600f88ad6d9fc5248e991a4eeca
|
Provenance
The following attestation bundles were made for pandasnoir-1.0.0.tar.gz:
Publisher:
release.yml on ndrscalia/pandasnoir
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
pandasnoir-1.0.0.tar.gz -
Subject digest:
fbde29189f86dc84990639c94324b2ed66867b775ee9dc01ed8d33a93aa94015 - Sigstore transparency entry: 1247137812
- Sigstore integration time:
-
Permalink:
ndrscalia/pandasnoir@61f18b876d6ce2b1160d647e48cf3e7ee1060706 -
Branch / Tag:
refs/tags/v1.0.0 - Owner: https://github.com/ndrscalia
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@61f18b876d6ce2b1160d647e48cf3e7ee1060706 -
Trigger Event:
push
-
Statement type:
File details
Details for the file pandasnoir-1.0.0-py3-none-any.whl.
File metadata
- Download URL: pandasnoir-1.0.0-py3-none-any.whl
- Upload date:
- Size: 131.8 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
861833fa8b811250fab78e502fa39249081a897efcfbb9eea7e5479722403755
|
|
| MD5 |
2d383dac83842ceca563b800dff1ca7e
|
|
| BLAKE2b-256 |
d9f847d7ca678505deb4029939b45bc64e87631742a9a299620075967801bb11
|
Provenance
The following attestation bundles were made for pandasnoir-1.0.0-py3-none-any.whl:
Publisher:
release.yml on ndrscalia/pandasnoir
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
pandasnoir-1.0.0-py3-none-any.whl -
Subject digest:
861833fa8b811250fab78e502fa39249081a897efcfbb9eea7e5479722403755 - Sigstore transparency entry: 1247137818
- Sigstore integration time:
-
Permalink:
ndrscalia/pandasnoir@61f18b876d6ce2b1160d647e48cf3e7ee1060706 -
Branch / Tag:
refs/tags/v1.0.0 - Owner: https://github.com/ndrscalia
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@61f18b876d6ce2b1160d647e48cf3e7ee1060706 -
Trigger Event:
push
-
Statement type: