A tiny emoji guessing game
Project description
EmojiGuessr
Link to PyPI: Emojiguessr
EmojiGuessr is a Python package that turns emoji strings into quick guessing games. Pick a theme, get an emoji clue and guess the name!
Features
- Multiple Themes: Choose from 7 different themes including food, animals, movies, games, cities, feelings, and dev
- Customizable Difficulty: Adjust the number of questions, attempts per question, and matching rules
- Flexible Matching: Support for partial matches and case-sensitive/insensitive answers
- Easy CLI: Simple command-line interface with helpful flags and options
Team Members
Installation
- Create a
pipenv-managed virtual environment and install the latest version:pipenv install -i https://test.pypi.org/simple/emojiguessr. (Note that if you've previously created apipenvvirtual environment in the same directory, you may have to delete the old one first. Find out where it is located with thepipenv --venvcommand.) - Activate the virtual environment:
pipenv shell. - Create a Python program file that imports the package and uses it, e.g.
from emojiguessr import quizand thenprint(quiz.make_quiz_item()). - Run the program:
python3 my_program_filename.py. - Exit the virtual environment:
exit.
Try running the package directly:
- Create and activate up the
pipenvvirtual environment as before. - Run the package directly from the command line:
python3 -m emojiguessr. This should run the code in the__main__.pyfile. - Exit the virtual environment.
From Test PyPI
pipenv install -i https://test.pypi.org/simple/emojiguessr
From Source
git clone https://github.com/swe-students-fall2025/3-python-package-team_saffron.git
cd 3-python-package-team_saffron
pipenv install -e .
Usage
Basic Usage
Run the game with default settings (3 questions, food theme):
pipenv run emojiguessr
Advanced Usage
Choose a different theme:
pipenv run emojiguessr --theme animals
Customize the number of questions:
pipenv run emojiguessr -n 5
Allow multiple attempts per question:
pipenv run emojiguessr --max-attempts 3
Enable case-sensitive matching:
pipenv run emojiguessr --case-sensitive
Disable partial matches (require exact answers):
pipenv run emojiguessr --no-partial
Combine multiple options:
pipenv run emojiguessr -t movies -n 10 -a 2
Available Themes
You can list all available themes using:
pipenv run emojiguessr --list-themes
Current themes include:
food- Pizza, sushi, burger, and moreanimals- Dog, cat, panda, lion, etc.movies- Famous movies represented by emojisgames- Various types of gamescities- World citiesfeelings- Different emotionsdev- Programming and development concepts
Command Reference
List of flags you can add to customize the behavior of emojiguessr
Available commands:
--num-questions, -n : Number of questions to ask (default: 3)
--theme, -t : Emoji theme to use (default: food)
--case-sensitive : Make answers case-sensitive (default: off)
--no-partial : Disable partial matches
--max-attempts, -a : Maximum number of attempts per question (default: 1)
--list-themes, -lt : List available themes and exit
--list-commands, -lc : List available commands and exit
Code Example
A short demo showcasing all features of the emojiguessr package can be found here: https://github.com/swe-students-fall2025/3-python-package-team_saffron/blob/main/src/examples/demo.py
Develop and Contribute
Local build & run (using pipenv)
- Get
pipenvinstalled cdinto the project directory- Install dependencies:
pipenv install - Install the package in editable mode:
pipenv install -e . - Run the command line interface:
pipenv run emojiguessrfollowed by flags and configurations
Project Structure
.github/
workflows/
build.yaml
deliver.yaml
event-logger.yml
Pipfile
Pipfile.lock
requirements.txt
note.txt
src/
emojiguessr/
__init__.py
__main__.py
data.py
quiz.py
score.py
tests/
__init__.py
test_data.py
examples/
demo.py
pyproject.toml
Pipfile
Pipfile.lock
LICENSE
README.md
instructions.md
.gitignore
Testing
Testing is implemented with pytest and runs automatically on every pull request. If you wish to run tests locally anytime, simply run
pytest -v
if you have pytest installed through pipenv, do
pipenv run pytest -v
Contributing
- Fork the repository
- Create a feature branch (
git checkout -b feature/amazing-feature) - Make your changes
- Run tests to ensure everything works
- Commit your changes (
git commit -m 'Add some amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request
License
This project is licensed under the GNU General Public License v3.0. See the LICENSE file for details.
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
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 emojiguessr-1.4.0.tar.gz.
File metadata
- Download URL: emojiguessr-1.4.0.tar.gz
- Upload date:
- Size: 25.4 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
860c59b3532d6e594cf79617bdd72527bcdfb901840f41c3d1da898901a26e44
|
|
| MD5 |
10f8b989b1db2609d2f65d892bd1fcae
|
|
| BLAKE2b-256 |
7f3c6763ab7e3962c07d8906c8ee92f74fbc8a0cbca9ef28663443a519963ebf
|
File details
Details for the file emojiguessr-1.4.0-py3-none-any.whl.
File metadata
- Download URL: emojiguessr-1.4.0-py3-none-any.whl
- Upload date:
- Size: 21.1 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
a88a2851ec60590a9a923bb382e992c9546ecf1a6e96dff3bbb42bf96670705c
|
|
| MD5 |
66807a115c4807d9b94a3d543c8425f3
|
|
| BLAKE2b-256 |
79f886243504bf9e1b7af07990fb9028e3d3a4dceb5c0e67c8ad88cd280bace7
|