Skip to main content

Introduction

Subset is an in-CLI word guessing game about finding pangrams. A pangram is a word or phrase that uses every letter from a given (and in this case limited) alphabet (as in a set of letters, not as in A-Z).

Installation

Subset requires Python 3.5 onwards and uses the colorama package.

Platform Compatability
Linux Yes, confirmed
Termux (Android) Yes, confirmed
macOS Likely, unconfirmed
Windows Possibly, unconfirmed

If anyone does run this through macOS or Windows, open an issue if anything is broken.

Through Pip

Just run sudo pip install subset. Then run subset in a terminal.

From Source

  1. Clone this repository
  2. cd subset-game
  3. pip install .
  4. subset

Sans-Installation

  1. Clone this repository
  2. cd subset-game/subset/
  3. python app.py

The Rules

Each game, the player is given seven letters. One letter is highlighted. The player must find as many words as they can that use some or all of the letters. The restrictions are:

  • The word must be four or more letters long
  • The highlighted letter must be used in every word
  • The words are never proper nouns

Not all the letters need to be used per word, and letters can be reused within a word. If the player inputs a word that uses every letter, it is called a 'pangram' and is worth extra points.

Do not expect to get a perfect score without cheating! The puzzles are randomly generated and I've seen some pangrams with over a thousand related words.

Features & Roadmap

So far I have implemented:

  • The basic game as described above
  • A savefile stored in ~/.subset
  • Dynamic terminal sizing (experimental)

Features I may add:

  • Multiple savefiles at once
  • Difficulty selection (this is tricky because its very difficult to qualitatively analyze the difficulty of a puzzle. Puzzles with fewer words are harder to score on, but easier to get a higher fraction of the total score, and so on)
  • Dictionary selection (right now, if you find the dictionary file in your Python modules folder, or if you are running straight from the cloned folder, you can replace dictionary.txt with your own file and the game will run just fine, but be aware that it throws out capitalized words and words containing anything other than letters)
  • Colourschemes

The Dictionary

The game uses the SCOWL English words dictionary sections 10 though 70. Licenses for the wordlists can be found in DICTIONARY_LICENSE.

License

This software is licensed under the MIT license, the text of which can be found in the LICENCE file.

Metadata

Release files for subset 0.1.2

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for subset 0.1.2
File Size Uploaded Provenance
subset-0.1.2.tar.gz 411.7 kB Without provenance Details

Built distribution (wheel)

Table of built distributions (wheels) for subset 0.1.2
File Interpreter ABI Platform
subset-0.1.2-py3-none-any.whl Python 3 none any Details

Total release size: 822.4 kB

Release files / subset-0.1.2.tar.gz

Download URL subset-0.1.2.tar.gz
Size 411.7 kB
Tags Source
SHA-256 checksum
How to use checksums
fbbcd2e8faaedf4b6fa6541dab7137eebd611124fd3033a0834b2e5f03b33f21
BLAKE2b-256 checksum
How to use checksums
1642fbaf2a3af016a1209cb71eec8d7f1b23944e633496b97d0fca4ccbef120f
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/3.1.1 pkginfo/1.5.0.1 requests/2.23.0 setuptools/46.3.1 requests-toolbelt/0.9.1 tqdm/4.46.0 CPython/3.8.2

Release files / subset-0.1.2-py3-none-any.whl

Download URL subset-0.1.2-py3-none-any.whl
Size 410.6 kB
Tags Python 3
SHA-256 checksum
How to use checksums
26c72ddb3b69f4985c35279cb8f8c1cbf8f290d31dee65d844a5821ecfeccaf3
BLAKE2b-256 checksum
How to use checksums
29de2a9fbeaa41865d0072b90d216e5cb1001e86c860a1cbdb485d12d19d7036
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/3.1.1 pkginfo/1.5.0.1 requests/2.23.0 setuptools/46.3.1 requests-toolbelt/0.9.1 tqdm/4.46.0 CPython/3.8.2

Security for subset 0.1.2

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page