Skip to main content

Select, generate and play always-unique crosswords.

Project description

crossword_puzzle

cross-main-pic licence PyPI version Publish to PyPI.org release issues CodeQL Tests

An educational GUI package built with CustomTkinter that allows you to play procedurally generated crosswords.

Dependencies

Babel customtkinter Flask flask_babel Pillow regex platformdirs pathvalidate CTkToolTip

Installation

[!IMPORTANT] Installing crossword_puzzle requires Python and pip. If you have Python installed without pip, click here to install it.

If you do not have Python installed, download the installer here, then refer to the previous link on how to install pip.

If you are on Linux, you may not have Tkinter installed by default. Try running sudo apt-get install python3-tk if this is the case.

[!TIP] If using python or pip doesn't work, try using python3 or pip3.

  1. Make a virtual environment and activate it (recommended):
pip install virtualenv
python -m venv venv
MacOS/Unix: source venv/bin/activate
Windows: venv\scripts\activate

If you are on Windows and you cannot activate the virtual environment, try running Set-ExecutionPolicy Unrestricted -Scope Process and try again.

  1. Install the package in your system directory/virtual environment:
pip install -U crossword-puzzle

or, install the package in your home directory if you aren't using a virtual environment:

pip install --user -U crossword-puzzle

  1. Initialise the GUI through the entry point:
crossword-ctk

or, run the package manually through the terminal (requires Git):

git clone https://github.com/tomasvana10/crossword_puzzle.git
cd crossword_puzzle
(make a virtual environment if you wish)
pip install -r requirements.txt
python
>>> import crossword_puzzle as xp
>>> xp.main()

  1. You can deactivate your virtual environment when you are done:
deactivate

Documentation

Check out the wiki here for information on usage, troubleshooting, FAQ, and more.

Third-party library acknowledgements

  • Flask - Web framework for the crossword web application
  • Babel - l10n functionality and management of message catalogues
  • flask-babel - i18n integration for the Flask web application
  • CustomTkinter - Creation of the main GUI
  • platformdirs - Retrieving paths to platform-specific directories
  • Google.Cloud.Translation.V2 - Translation of locales
  • Pillow - Image processing services
  • regex - Alternative to the standard re module, required for some functionality
  • Zoomooz.js - jQuery library for making webpage elements zoomable
  • gulp.js - Toolkit to help automate the web app's JavaScript transpilation
  • Babel.js - JavaScript transpiler
  • Terser - JavaScript minifier
  • CTkToolTip - Tooltips for forms in the crossword editor
  • pathvalidate - Validating crossword name input
  • platformdirs - Storing config and user-made crosswords

Other acknowledgements

Gallery

crossword puzzle home
crossword puzzle browser
crossword puzzle editor
crossword puzzle game english
crossword puzzle game japanese

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

crossword_puzzle-2.2.84.tar.gz (3.9 MB view hashes)

Uploaded Source

Built Distribution

crossword_puzzle-2.2.84-py3-none-any.whl (6.0 MB view hashes)

Uploaded Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page