{ "info": { "author": "Kale Kundert", "author_email": "kale@thekunderts.net", "bugtrack_url": null, "classifiers": [ "Development Status :: 2 - Pre-Alpha", "Intended Audience :: Developers", "License :: OSI Approved :: MIT License", "Natural Language :: English", "Programming Language :: Python :: 3.6", "Topic :: Games/Entertainment", "Topic :: Software Development :: Libraries", "Topic :: Software Development :: User Interfaces" ], "description": "********************************************************\n``glooey`` --- An object-oriented GUI library for pyglet\n********************************************************\n\nEvery game needs a user interface that matches its look and feel. The purpose \nof ``glooey`` is to help you make such an interface. Towards this end, \n``glooey`` provides 7 powerful placement widgets, a label widget, an image \nwidget, 3 different button widgets, a text entry widget, a variety of scroll \nboxes and bars, 4 different dialog box widgets, and a variety of other \nmiscellaneous widgets. The appearance of any widget can be trivially \ncustomized, and ``glooey`` comes with built-in fantasy, puzzle, and 8-bit \nthemes to prove it (and to help you hit the ground running if your game fits \none of those genres). \n\nThe philosophy behind ``glooey`` is that deriving subclasses from a basic set \nof widgets with no default style is the most elegant way to control how widgets \nlook. This approach is flexible because subclasses can customize or override \nmost aspects of the basic widgets. But it's also surprisingly succinct and \npowerful: specifying a style is usually as simple as setting a class variable, \nand styles can be easily composed using either inner classes or previously \ndefined widgets. This philosophy makes ``glooey`` easy to get started with, \nand powerful enough to support even the most complicated games. \n\n.. image:: https://img.shields.io/pypi/v/glooey.svg\n :target: https://pypi.python.org/pypi/glooey\n.. image:: https://img.shields.io/pypi/pyversions/glooey.svg\n :target: https://pypi.python.org/pypi/glooey\n.. image:: https://img.shields.io/travis/kxgames/glooey.svg\n :target: https://travis-ci.org/kxgames/glooey\n.. image:: https://readthedocs.org/projects/glooey/badge/?version=latest\n :target: http://glooey.readthedocs.io/en/latest/\n\nA quick example\n===============\nThe `documentation `_ thoroughly explains what ``glooey`` can do and how to use it, \nbut here's a quick example to give a feel for what it looks like in action::\n\n $ pip3 install glooey\n\n.. code:: python\n\n #!/usr/bin/env python3\n\n import pyglet\n import glooey\n\n # Define a custom style for text. We'll inherit the ability to render text \n # from the Label widget provided by glooey, and we'll define some class \n # variables to customize the text style.\n\n class MyLabel(glooey.Label):\n custom_color = '#babdb6'\n custom_font_size = 10\n custom_alignment = 'center'\n\n # If we want another kind of text, for example a bigger font for section \n # titles, we just have to derive another class:\n\n class MyTitle(glooey.Label):\n custom_color = '#eeeeec'\n custom_font_size = 12\n custom_alignment = 'center'\n custom_bold = True\n\n # It's also common to style a widget with existing widgets or with new \n # widgets made just for that purpose. The button widget is a good example. \n # You can give it a Foreground subclass (like MyLabel from above) to tell it \n # how to style text, and Background subclasses to tell it how to style the\n # different mouse rollover states:\n\n class MyButton(glooey.Button):\n Foreground = MyLabel\n custom_alignment = 'fill'\n\n # More often you'd specify images for the different rollover states, but \n # we're just using colors here so you won't have to download any files \n # if you want to run this code.\n\n class Base(glooey.Background):\n custom_color = '#204a87'\n\n class Over(glooey.Background):\n custom_color = '#3465a4'\n\n class Down(glooey.Background):\n custom_color = '#729fcff'\n\n # Beyond just setting class variables in our widget subclasses, we can \n # also implement new functionality. Here we just print a programmed \n # response when the button is clicked.\n\n def __init__(self, text, response):\n super().__init__(text)\n self.response = response\n\n def on_click(self, widget):\n print(self.response)\n\n # Use pyglet to create a window as usual.\n\n window = pyglet.window.Window()\n\n # Create a Gui object, which will manage the whole widget hierarchy and \n # interact with pyglet to handle events.\n\n gui = glooey.Gui(window)\n\n # Create a VBox container, which will arrange any widgets we give it into a \n # vertical column. Center-align it, otherwise the column will take up the \n # full height of the window and put too much space between our widgets.\n\n vbox = glooey.VBox()\n vbox.alignment = 'center'\n\n # Create a widget to pose a question to the user using the \"title\" text \n # style, then add it to the top of the vbox.\n\n title = MyTitle(\"What...is your favorite color?\")\n vbox.add(title)\n\n # Create several buttons with different answers to the above question, then \n # add each one to the vbox in turn.\n\n buttons = [\n MyButton(\"Blue.\", \"Right, off you go.\"),\n MyButton(\"Blue. No yel--\", \"Auuuuuuuugh!\"),\n MyButton(\"I don't know that!\", \"Auuuuuuuugh!\"),\n ]\n for button in buttons:\n vbox.add(button)\n\n # Finally, add the vbox to the GUI. It's always best to make this the last \n # step, because once a widget is attached to the GUI, updating it or any of \n # its children becomes much more expensive.\n\n gui.add(vbox)\n\n # Run pyglet's event loop as usual.\n\n pyglet.app.run()", "description_content_type": "", "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/kxgames/glooey", "keywords": "glooey,pyglet,gui,library", "license": "MIT", "maintainer": "", "maintainer_email": "", "name": "glooey", "package_url": "https://pypi.org/project/glooey/", "platform": "", "project_url": "https://pypi.org/project/glooey/", "project_urls": { "Homepage": "https://github.com/kxgames/glooey" }, "release_url": "https://pypi.org/project/glooey/0.3.0/", "requires_dist": null, "requires_python": "", "summary": "An object-oriented GUI library for pyglet.", "version": "0.3.0" }, "last_serial": 5983798, "releases": { "0.1.0": [ { "comment_text": "", "digests": { "md5": "3d78ad4c824f364124390feb231e9aa0", "sha256": "82732e495b68e0259879fc2fb019e8c7ce74be432dd68559561428c5efb57644" }, "downloads": -1, "filename": "glooey-0.1.0.tar.gz", "has_sig": false, "md5_digest": "3d78ad4c824f364124390feb231e9aa0", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 256727, "upload_time": "2015-12-13T22:50:14", "url": "https://files.pythonhosted.org/packages/0d/e7/6977a8b98a5443cf4e77320ec086cf8a0df7ea03f3bcef798a57a8ce953c/glooey-0.1.0.tar.gz" } ], "0.1.1": [ { "comment_text": "", "digests": { "md5": "a2d5081215c06611fdea4730d2297caf", "sha256": "f36a4da2ea675435853be2a0c9858af2262e397ad2b906d2c39d38583f0df51c" }, "downloads": -1, "filename": "glooey-0.1.1.tar.gz", "has_sig": false, "md5_digest": "a2d5081215c06611fdea4730d2297caf", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 931126, "upload_time": "2017-07-02T07:26:27", "url": "https://files.pythonhosted.org/packages/3c/88/567d5358ad0d1a662f75b872a3c7454192552545bc4751b1a4020e1062e1/glooey-0.1.1.tar.gz" } ], "0.1.2": [ { "comment_text": "", "digests": { "md5": "e68ac2f6bdb8aa4c5c3d97178240b498", "sha256": "e4606efb4ba2c90265baa8b0ccec3f5049f833eff5eedd140980914db56a5001" }, "downloads": -1, "filename": "glooey-0.1.2.tar.gz", "has_sig": false, "md5_digest": "e68ac2f6bdb8aa4c5c3d97178240b498", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 1035374, "upload_time": "2018-02-28T06:49:56", "url": "https://files.pythonhosted.org/packages/07/2a/7842d996cfd556ab8f9b713d5ff75ec4d1536eed54b0359bd700ed7118ee/glooey-0.1.2.tar.gz" } ], "0.2.0": [ { "comment_text": "", "digests": { "md5": "901c78be9256df72cbed1487579166d3", "sha256": "68e6af6a066bc77cd3cb3329fd1b9ccc8c0430bac737cb2ce25fec63ee925db6" }, "downloads": -1, "filename": "glooey-0.2.0.tar.gz", "has_sig": false, "md5_digest": "901c78be9256df72cbed1487579166d3", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 13344725, "upload_time": "2019-05-20T23:06:44", "url": "https://files.pythonhosted.org/packages/45/48/98916e080c87ff45983d7f71c32718142b22d39cb77e0096e9a3e54c7a41/glooey-0.2.0.tar.gz" } ], "0.2.1": [ { "comment_text": "", "digests": { "md5": "90820ff95f18a303a111becb05ed2bd7", "sha256": "e69bf371aedc3338ab9a273176d0bf4118545afa48da79259d3059ceba2fef05" }, "downloads": -1, "filename": "glooey-0.2.1.tar.gz", "has_sig": false, "md5_digest": "90820ff95f18a303a111becb05ed2bd7", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 13344900, "upload_time": "2019-05-21T14:34:44", "url": "https://files.pythonhosted.org/packages/89/23/89f8cb54b88b2faa8ebdaee854fb6576bef1cb66bb06d006edb216f06e75/glooey-0.2.1.tar.gz" } ], "0.2.2": [ { "comment_text": "", "digests": { "md5": "6af8b1775130ffb8f912bb8f7700559d", "sha256": "457d13603eb5423ae1c63d296c97f55ab47d7d38b85169ace056a61e442d6926" }, "downloads": -1, "filename": "glooey-0.2.2.tar.gz", "has_sig": false, "md5_digest": "6af8b1775130ffb8f912bb8f7700559d", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 13511106, "upload_time": "2019-10-15T15:01:04", "url": "https://files.pythonhosted.org/packages/db/cc/40d2a89907c8e310276b8363f5d5e882ead1115d67b005c24798bd63d8d1/glooey-0.2.2.tar.gz" } ], "0.3.0": [ { "comment_text": "", "digests": { "md5": "2f2c954ebebf4bb5385f3abcd7e40312", "sha256": "dc2e2d6775b5114a0daa03887687e1cdb85219133be501bc0dd7bcb7d8b9ae52" }, "downloads": -1, "filename": "glooey-0.3.0.tar.gz", "has_sig": false, "md5_digest": "2f2c954ebebf4bb5385f3abcd7e40312", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 13511446, "upload_time": "2019-10-16T14:36:55", "url": "https://files.pythonhosted.org/packages/4d/2e/afd3749485a8389961e1bff7b5195d2779b015f95823cb8e554a5a446add/glooey-0.3.0.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "2f2c954ebebf4bb5385f3abcd7e40312", "sha256": "dc2e2d6775b5114a0daa03887687e1cdb85219133be501bc0dd7bcb7d8b9ae52" }, "downloads": -1, "filename": "glooey-0.3.0.tar.gz", "has_sig": false, "md5_digest": "2f2c954ebebf4bb5385f3abcd7e40312", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 13511446, "upload_time": "2019-10-16T14:36:55", "url": "https://files.pythonhosted.org/packages/4d/2e/afd3749485a8389961e1bff7b5195d2779b015f95823cb8e554a5a446add/glooey-0.3.0.tar.gz" } ] }