Skip to main content

A sqlnoir inspired game for pandas

Project description

Cover photo

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


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

pandasnoir-1.0.0.tar.gz (126.7 kB view details)

Uploaded Source

Built Distribution

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

pandasnoir-1.0.0-py3-none-any.whl (131.8 kB view details)

Uploaded Python 3

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

Hashes for pandasnoir-1.0.0.tar.gz
Algorithm Hash digest
SHA256 fbde29189f86dc84990639c94324b2ed66867b775ee9dc01ed8d33a93aa94015
MD5 afc16aa6a90e755f9218247d7e3a8758
BLAKE2b-256 fbad5f56bce7a0961162d69b91941b7886da0600f88ad6d9fc5248e991a4eeca

See more details on using hashes here.

Provenance

The following attestation bundles were made for pandasnoir-1.0.0.tar.gz:

Publisher: release.yml on ndrscalia/pandasnoir

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

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

Hashes for pandasnoir-1.0.0-py3-none-any.whl
Algorithm Hash digest
SHA256 861833fa8b811250fab78e502fa39249081a897efcfbb9eea7e5479722403755
MD5 2d383dac83842ceca563b800dff1ca7e
BLAKE2b-256 d9f847d7ca678505deb4029939b45bc64e87631742a9a299620075967801bb11

See more details on using hashes here.

Provenance

The following attestation bundles were made for pandasnoir-1.0.0-py3-none-any.whl:

Publisher: release.yml on ndrscalia/pandasnoir

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

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