Pyggle
GitHub: https://github.com/andrearcaina/pyggle
PyPi: https://pypi.org/project/pyggle/
Find all possible words given a board and words, with a visual representation of the algorithm!
Check lib/docs for package details. For an example on how to use pyggle, check lib/examples/example.py!
Installation
pip install pyggle
Usage
Input is case sensitive (for the board).
The input would consist of: an N x M board as a string with rows separated by spaces. Alternatively, you can pass in a list of lists where each element is the character on the board.
If words is not passed as an argument, it will utilize a text file that consists of 479k words.
If official is not given as a boolean argument, find all words regardless of length, and the letter 'Q' is not represented as 'Qu'. If official is passed as a boolean argument, then the algorithm follows the official rules of boggle. Pyggle will solve and:
- find all words that have a length greater than 3.
- The letter 'Q' is now represented as 'Qu'.
from pyggle import Boggle
board = "ea st"
boggle = Boggle(board)
boggle.print_result()
For more functions from pyggle, check:
/examples/2x2_example.pyfor general functions and more specificity/examples/qu_example.pyfor an example where the letter 'Q' represents 'Qu'/docs/boggle-api.mdfor an understanding of each method
Output
I don't know how "ae" or "aes" or "ast" is a word, but w/e :P
a: [(0, 1)]
ae: [(0, 1), (0, 0)]
aes: [(0, 1), (0, 0), (1, 0)]
aet: [(0, 1), (0, 0), (1, 1)]
as: [(0, 1), (1, 0)]
ase: [(0, 1), (1, 0), (0, 0)]
ast: [(0, 1), (1, 0), (1, 1)]
at: [(0, 1), (1, 1)]
ate: [(0, 1), (1, 1), (0, 0)]
ates: [(0, 1), (1, 1), (0, 0), (1, 0)]
e: [(0, 0)]
ea: [(0, 0), (0, 1)]
east: [(0, 0), (0, 1), (1, 0), (1, 1)]
eat: [(0, 0), (0, 1), (1, 1)]
eats: [(0, 0), (0, 1), (1, 1), (1, 0)]
es: [(0, 0), (1, 0)]
est: [(0, 0), (1, 0), (1, 1)]
et: [(0, 0), (1, 1)]
eta: [(0, 0), (1, 1), (0, 1)]
etas: [(0, 0), (1, 1), (0, 1), (1, 0)]
s: [(1, 0)]
sa: [(1, 0), (0, 1)]
sae: [(1, 0), (0, 1), (0, 0)]
sat: [(1, 0), (0, 1), (1, 1)]
sate: [(1, 0), (0, 1), (1, 1), (0, 0)]
se: [(1, 0), (0, 0)]
sea: [(1, 0), (0, 0), (0, 1)]
seat: [(1, 0), (0, 0), (0, 1), (1, 1)]
set: [(1, 0), (0, 0), (1, 1)]
seta: [(1, 0), (0, 0), (1, 1), (0, 1)]
st: [(1, 0), (1, 1)]
sta: [(1, 0), (1, 1), (0, 1)]
t: [(1, 1)]
ta: [(1, 1), (0, 1)]
tae: [(1, 1), (0, 1), (0, 0)]
tas: [(1, 1), (0, 1), (1, 0)]
te: [(1, 1), (0, 0)]
tea: [(1, 1), (0, 0), (0, 1)]
teas: [(1, 1), (0, 0), (0, 1), (1, 0)]
ts: [(1, 1), (1, 0)]
Metadata
Release files for pyggle 1.2.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | Actions |
|---|---|---|---|---|
| pyggle-1.2.0.tar.gz | 1.1 MB | Without provenance | Details for pyggle-1.2.0.tar.gz |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| pyggle-1.2.0-py3-none-any.whl | Python 3 | none | any | Details for pyggle-1.2.0-py3-none-any.whl |
Total release size: 2.2 MB
Release files / pyggle-1.2.0.tar.gz
| Download URL | pyggle-1.2.0.tar.gz |
|---|---|
| Size | 1.1 MB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
9fbe9c77ce185c7dc29e50d04bdaac8b7fba765f69e6cdb7b426274dac4d0841
|
|
BLAKE2b-256 checksum How to use checksums |
89b2b988e3c69eeeeb632ecbf6b0d0e70f645bc9dc07dde844d32c9bf6d90dc6
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.12.5
|
Release files / pyggle-1.2.0-py3-none-any.whl
| Download URL | pyggle-1.2.0-py3-none-any.whl |
|---|---|
| Size | 1.1 MB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
d905c249f9000382e2870d39e2e6619192464f558b5f4172b43a5713c00cadbc
|
|
BLAKE2b-256 checksum How to use checksums |
74ade3d3038aeeda52b441e3960d4974227f88d34ae0045947e5db898179a0fa
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.12.5
|
Security for pyggle 1.2.0
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.