easygui

easygui for Python

https://github.com/robertlugg/easygui

Science Score: 23.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
  • DOI references
  • Academic publication links
  • Committers with academic emails
    3 of 23 committers (13.0%) from academic institutions
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (14.7%) to scientific vocabulary
Last synced: 10 months ago · JSON representation

Repository

easygui for Python

Basic Info
Statistics
  • Stars: 466
  • Watchers: 28
  • Forks: 120
  • Open Issues: 96
  • Releases: 3
Created over 11 years ago · Last pushed over 1 year ago
Metadata Files
Readme License

README.md

Project in Maintainance

Hi everyone. There hasn't been much activity but thankfully we have a new revision. Thank you contributors and thank you Stephen Ferg for creating EasyGui.

You might also consider the following alternatives:

  • https://github.com/aroberge/easygui_qt
  • https://github.com/ponty/psidialogs

For those who wish to contribute you are welcome to fork this respository. Or, take a look at the alternatives and contribute there.

Kind Regards, Robert

EasyGUI

EasyGUI is a module for very simple, very easy GUI programming in Python. EasyGUI is different from other GUI libraries in that EasyGUI is NOT event-driven. Instead, all GUI interactions are invoked by simple function calls.

EasyGUI runs on Python 2 and 3, and does not have any dependencies beyond python and Tk. Linux Python 2 users will have to run sudo apt-get install python-tk and Linux Python 3 users will have to run sudo apt-get install python3-tk to install Tkinter.

Example Usage

>>> import easygui
>>> easygui.ynbox('Shall I continue?', 'Title', ('Yes', 'No'))
1
>>> easygui.msgbox('This is a basic message box.', 'Title Goes Here')
'OK'
>>> easygui.buttonbox('Click on your favorite flavor.', 'Favorite Flavor', ('Chocolate', 'Vanilla', 'Strawberry'))
'Chocolate'

To see demo programs using EasyGUI, call the easygui.egdemo() function.

Full documentation is always available.

For the most-recent production version: http://easygui.readthedocs.org/en/master/.

For our develop version which will be released next: http://easygui.readthedocs.org/en/develop.

0.98.3

Update collections.abc import location (old location was deprecated since version 3.3, removed in version 3.10) See: https://docs.python.org/3.9/library/collections.html#module-collections for details Add some unit test coverage and test automation for TravisCI.

0.98.2

Several updates and fixes thanks to Al and others.

0.98.0

This is an exciting time for easygui. We continue to make good progress with refactoring as well as some enhancements and bug fixes here and there.

We would like to welcome Juanjo Denis-Corrales to the team. He is responsible for lots of good new work this release. Of course we appreciate the work of everyone who contributed.

NOTE: I decided in this release to change the API a bit. Please consult the function documentation for details.

BUG FIXES

  • Made changes guessing at fixes to any IDLE problems. Please report any problems found.

ENHANCEMENTS

  • Refactored the easygui.py file into several smaller files to improve our ability to manage the code
  • Added callbacks to allow for more dynamic dialogs. See the docs for usage.
  • Added class access to dialogs so properties may be changed.

KNOWN ISSUES

  • There were previous issues when using easygui with the IDLE IDE. I hope I resolved these problems, however, I've never actually been able to repeat them. Please report any problems found in github.

OTHER CHANGES

  • Centralized the Python 2 versus Python 3 "compatibility layer" into boxes/utils.py

0.97.4

This is a minor bug-fix release to address python 3 import errors.

0.97.3

We are happy to release version 0.97.3 of easygui. The intent of this release is to address some basic functionality issues as well as improve easygui in the ways people have asked.

Robert Lugg (me) was searching for a GUI library for my python work. I saw easygui and liked very much its paradigm. Stephen Ferg, the creator and developer of easygui, graciously allowed me to start development back up. With the help of Alexander Zawadzki, Horst Jens, and others I set a goal to release before the end of 2014.

We rely on user feedback so please bring up problems, ideas, or just say how you are using easygui.

BUG FIXES

  • sourceforge #4: easygui docs contain bad references to easygui_pydoc.html
  • sourceforge #6: no index.html in docs download file. Updated to sphinx which as autolinking.
  • sourceforge #8: unicode issues with file*box. Fixed all that I knew how.
  • sourceforge #12: Cannot Exit with 'X'. Now X and escape either return "cancel_button", if set, or None

ENHANCEMENTS

  • Added ability to specify defaultchoice and cancelchoice for button widgets (See API docs)
  • True and False are returned instead of 1 and 0 for several boxes
  • Allow user to map keyboard keys to buttons by enclosing a hotkey in square braces like: "Pick [M]e", which would assign keyboard key M to that button. Double braces hide that character, and keysyms are allowed:

    [[q]]Exit Would show Exit on the button, and the button would be controlled by the q key

    []Help Would show Help on the button, and the button would be controlled by the F1 function key

NOTE: We are still working on the exact syntax of these key mappings as Enter, space, and arrows are already being used. * Escape and the windows 'X' button always work in buttonboxes. Those return None in that case. * sourceforge #9: let fileopenbox open multiple files. Added optional argument 'multiple' * Location of dialogs on screen is preserved. This isn't perfect yet, but now, at least, the dialogs don't always reset to their default position! * added some, but not all of the bugs/enhancements developed by Robbie Brook: http://all-you-need-is-tech.blogspot.com/2013/01/improving-easygui-for-python.html

KNOWN ISSUES

  • In the documentation, there were previous references to issues when using the IDLE IDE. I haven't experienced those, but also didn't do anything to fix them, so they may still be there. Please report any problems and we'll try to address them
  • I am fairly new to contributing to open source, so I don't understand packaging, pypi, etc. There are likely problems as well as better ways to do things. Again, I appreciate any help or guidance.

Other Changes (that you likely don't care about)

  • Restructured loading of image files to try PIL first throw error if file doesn't exist.
  • Converted docs to sphinx with just a bit of doctest. Most content was retained from the old site, so there might be some redundancies still. Please make any suggested improvements.
  • Set up a GitHub repository for development: https://github.com/robertlugg/easygui
  • Improved output/packaging for Debian distribution

EasyGui is licensed under what is generally known as the "modified BSD license" (aka "revised BSD", "new BSD", "3-clause BSD"). This license is GPL-compatible but less restrictive than GPL.

Owner

  • Name: Robert M Lugg
  • Login: robertlugg
  • Kind: user
  • Location: United States

Microelectronic Engineer graduated RIT Recent hobbies: Microcontrollers, 3D printing.

GitHub Events

Total
  • Watch event: 15
  • Issue comment event: 1
  • Push event: 1
  • Pull request event: 7
  • Pull request review event: 1
  • Fork event: 5
Last Year
  • Watch event: 15
  • Issue comment event: 1
  • Push event: 1
  • Pull request event: 7
  • Pull request review event: 1
  • Fork event: 5

Committers

Last synced: over 1 year ago

All Time
  • Total Commits: 215
  • Total Committers: 23
  • Avg Commits per committer: 9.348
  • Development Distribution Score (DDS): 0.502
Past Year
  • Commits: 2
  • Committers: 1
  • Avg Commits per committer: 2.0
  • Development Distribution Score (DDS): 0.0
Top Committers
Name Email Commits
robertlugg r****g@g****m 107
Juan José Denis Corrales j****s@g****m 44
Al Sweigart a****t@g****m 18
Alexander Zawadzki a****i@g****m 16
GatorPython s****g@u****u 6
Marcelo Duarte Trevisani m****i 3
Tom Herman t****4@g****m 2
Alex Thompson g****r@a****u 2
Horst JENS h****s@g****m 2
IronBoy r****i 2
Adrian a****r@a****m 1
Alexander Gordeyev s****r@y****u 1
CMGreenspon c****n@g****m 1
David Lord d****m@g****m 1
Krish Ravindranath k****h@g****m 1
Robert Schütz d****v@s****e 1
doyousketch2 d****2@y****m 1
hrpzcf h****f@f****m 1
mikudayo m****8@g****m 1
slootsky j****n@s****g 1
Thomas Haslwanter t****r@a****h 1
Andrew Dalgleish g****t@a****u 1
xanderayes x****s 1
Committer Domains (Top 20 + Academic)

Issues and Pull Requests

Last synced: 10 months ago

All Time
  • Total issues: 81
  • Total pull requests: 42
  • Average time to close issues: 9 months
  • Average time to close pull requests: 9 months
  • Total issue authors: 67
  • Total pull request authors: 25
  • Average comments per issue: 2.16
  • Average comments per pull request: 1.0
  • Merged pull requests: 21
  • Bot issues: 0
  • Bot pull requests: 0
Past Year
  • Issues: 3
  • Pull requests: 8
  • Average time to close issues: N/A
  • Average time to close pull requests: about 20 hours
  • Issue authors: 3
  • Pull request authors: 2
  • Average comments per issue: 0.33
  • Average comments per pull request: 0.0
  • Merged pull requests: 0
  • Bot issues: 0
  • Bot pull requests: 0
Top Authors
Issue Authors
  • ghost (4)
  • spyoungtech (4)
  • fiddybux (3)
  • ch-yx (2)
  • tirkarthi (2)
  • Harm10 (2)
  • matt32106 (2)
  • pgr123 (2)
  • anoteng (2)
  • PythonCoderAS (1)
  • n-de-groot (1)
  • ajmcgraw (1)
  • tomhea (1)
  • paul-hammant (1)
  • jesenzhang (1)
Pull Request Authors
  • zadacka (9)
  • raoyi (7)
  • tomhea (2)
  • AustinTurney (2)
  • tyysoft (2)
  • zxrpn (1)
  • benduckwdesign (1)
  • Shura1oplot (1)
  • kr-ish (1)
  • shansaju (1)
  • CMGreenspon (1)
  • tobidelbruck (1)
  • aklaver (1)
  • stefanor (1)
  • godfoder (1)
Top Labels
Issue Labels
enhancement (1)
Pull Request Labels

Packages

  • Total packages: 17
  • Total downloads:
    • pypi 852,164 last-month
  • Total docker downloads: 863,157
  • Total dependent packages: 48
    (may contain duplicates)
  • Total dependent repositories: 558
    (may contain duplicates)
  • Total versions: 31
  • Total maintainers: 5
pypi.org: easygui

EasyGUI is a module for very simple, very easy GUI programming in Python. EasyGUI is different from other GUI generators in that EasyGUI is NOT event-driven. Instead, all GUI interactions are invoked by simple function calls.

  • Versions: 11
  • Dependent Packages: 42
  • Dependent Repositories: 558
  • Downloads: 852,164 Last month
  • Docker Downloads: 863,157
Rankings
Dependent packages count: 0.4%
Dependent repos count: 0.6%
Downloads: 0.7%
Docker downloads count: 0.8%
Average: 1.7%
Stargazers count: 3.0%
Forks count: 4.4%
Last synced: 10 months ago
alpine-v3.18: py3-easygui

easy GUI programming in Python

  • Versions: 1
  • Dependent Packages: 0
  • Dependent Repositories: 0
Rankings
Dependent repos count: 0.0%
Dependent packages count: 0.0%
Average: 5.8%
Forks count: 10.7%
Stargazers count: 12.4%
Maintainers (1)
Last synced: 10 months ago
alpine-v3.18: py3-easygui-pyc

Precompiled Python bytecode for py3-easygui

  • Versions: 1
  • Dependent Packages: 0
  • Dependent Repositories: 0
Rankings
Dependent repos count: 0.0%
Dependent packages count: 0.0%
Average: 5.8%
Forks count: 10.7%
Stargazers count: 12.4%
Maintainers (1)
Last synced: 10 months ago
alpine-edge: py3-easygui

easy GUI programming in Python

  • Versions: 3
  • Dependent Packages: 2
  • Dependent Repositories: 0
Rankings
Dependent repos count: 0.0%
Dependent packages count: 3.4%
Average: 7.2%
Forks count: 11.7%
Stargazers count: 13.6%
Maintainers (1)
Last synced: 10 months ago
alpine-v3.17: py3-easygui

easy GUI programming in Python

  • Versions: 1
  • Dependent Packages: 2
  • Dependent Repositories: 0
Rankings
Dependent repos count: 0.0%
Average: 8.6%
Forks count: 10.2%
Stargazers count: 11.4%
Dependent packages count: 12.7%
Maintainers (1)
Last synced: 10 months ago
alpine-edge: py3-easygui-pyc

Precompiled Python bytecode for py3-easygui

  • Versions: 2
  • Dependent Packages: 0
  • Dependent Repositories: 0
Rankings
Dependent repos count: 0.0%
Average: 10.0%
Forks count: 11.9%
Stargazers count: 13.9%
Dependent packages count: 14.3%
Maintainers (1)
Last synced: 10 months ago
alpine-v3.15: py3-easygui

easy GUI programming in Python

  • Versions: 1
  • Dependent Packages: 0
  • Dependent Repositories: 0
Rankings
Dependent repos count: 0.0%
Forks count: 7.9%
Stargazers count: 8.6%
Average: 10.5%
Dependent packages count: 25.6%
Maintainers (1)
Last synced: 10 months ago
alpine-v3.16: py3-easygui

easy GUI programming in Python

  • Versions: 1
  • Dependent Packages: 0
  • Dependent Repositories: 0
Rankings
Dependent repos count: 0.0%
Forks count: 8.4%
Stargazers count: 9.3%
Average: 11.3%
Dependent packages count: 27.3%
Maintainers (1)
Last synced: 10 months ago
conda-forge.org: easygui
  • Versions: 2
  • Dependent Packages: 2
  • Dependent Repositories: 0
Rankings
Forks count: 16.1%
Stargazers count: 17.8%
Dependent packages count: 19.5%
Average: 21.9%
Dependent repos count: 34.0%
Last synced: 10 months ago
alpine-v3.22: py3-easygui-pyc

Precompiled Python bytecode for py3-easygui

  • Versions: 1
  • Dependent Packages: 0
  • Dependent Repositories: 0
Rankings
Dependent repos count: 0.0%
Dependent packages count: 0.0%
Average: 100%
Maintainers (1)
Last synced: 10 months ago
alpine-v3.21: py3-easygui

easy GUI programming in Python

  • Versions: 1
  • Dependent Packages: 0
  • Dependent Repositories: 0
Rankings
Dependent repos count: 0.0%
Dependent packages count: 0.0%
Average: 100%
Maintainers (1)
Last synced: 10 months ago
alpine-v3.21: py3-easygui-pyc

Precompiled Python bytecode for py3-easygui

  • Versions: 1
  • Dependent Packages: 0
  • Dependent Repositories: 0
Rankings
Dependent repos count: 0.0%
Dependent packages count: 0.0%
Average: 100%
Maintainers (1)
Last synced: 10 months ago
alpine-v3.19: py3-easygui-pyc

Precompiled Python bytecode for py3-easygui

  • Versions: 1
  • Dependent Packages: 0
  • Dependent Repositories: 0
Rankings
Dependent repos count: 0.0%
Dependent packages count: 0.0%
Average: 100%
Last synced: 10 months ago
alpine-v3.20: py3-easygui

easy GUI programming in Python

  • Versions: 1
  • Dependent Packages: 0
  • Dependent Repositories: 0
Rankings
Dependent repos count: 0.0%
Dependent packages count: 0.0%
Average: 100%
Maintainers (1)
Last synced: 10 months ago
alpine-v3.19: py3-easygui

easy GUI programming in Python

  • Versions: 1
  • Dependent Packages: 0
  • Dependent Repositories: 0
Rankings
Dependent repos count: 0.0%
Dependent packages count: 0.0%
Average: 100%
Last synced: 10 months ago
alpine-v3.20: py3-easygui-pyc

Precompiled Python bytecode for py3-easygui

  • Versions: 1
  • Dependent Packages: 0
  • Dependent Repositories: 0
Rankings
Dependent repos count: 0.0%
Dependent packages count: 0.0%
Average: 100%
Maintainers (1)
Last synced: 10 months ago
alpine-v3.22: py3-easygui

easy GUI programming in Python

  • Versions: 1
  • Dependent Packages: 0
  • Dependent Repositories: 0
Rankings
Dependent repos count: 0.0%
Dependent packages count: 0.0%
Average: 100%
Maintainers (1)
Last synced: 10 months ago

Dependencies

test-requirements.txt pypi
  • pynput ==1.7.3 test
  • pytest >=4.6.11 test