PyGraphica


NamePyGraphica JSON
Version 0.1.1 PyPI version JSON
download
home_pagehttps://github.com/LukeCampbell5853/PyGraphica
SummaryPyGraphica is an easy-to-learn GUI module designed for Python, built on the Python bindings (pysdl2) for SDL-2.
upload_time2023-07-17 02:48:30
maintainer
docs_urlNone
authorLuke Campbell
requires_python
licenseMIT
keywords gui
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            ## **PyGraphica** *0.1.1*
*By Luke Campbell*

PyGraphica is an easy-to-learn GUI module designed for Python, built on the Python bindings (pysdl2) for SDL-2.

*One important note before we start. For all coordinates and lengths, if represented as an integer will be interpreted as a measurement in pixels, and if represented as a string (e.g. '35') will be interpreted as a  percentage of the height or width.*

\
**Installation**

The most simple installation is via pip, i.e

    py -m pip install PyGraphica
*for windows*

    python -m pip install PyGraphica
*for linux*

However the source code can be downloaded from GitHub, [here](youtube.com/watch?v=dQw4w9WgXcQ) if pip install fails.

Once the module has been imported, add it to your Python project like this:

    from PyGraphica import draw, colours, origins, fonts

\
**Colours, Origins, and Fonts files**

The colours file contains a series of default RGB tuples, which can be used to simplify coding. The colours can be accessed by the following variable names:

| |  |  | | |
|--|--|--|--|--|
<span style="color:rgb(0,0,0)">BLACK</span>|<span style="color:rgb(64,64,64)">DARK_GREY</span>|<span style="color:rgb(128,128,128)">GREY</span>|<span style="color:rgb(191,191,191)">LIGHT_GREY</span>|<span style="color:rgb(255,255,255)">WHITE</span>
<span style="color:rgb(128,0,0)">DARK_RED</span>|<span style="color:rgb(255,0,0)">RED</span>|<span style="color:rgb(255,128,128)">PASTEL_PINK</span>|<span style="color:rgb(255,128,0)">ORANGE</span>|<span style="color:rgb(255,0,128)">PINK</span>
<span style="color:rgb(0,128,0)">DARK_GREEN</span>|<span style="color:rgb(0,255,0)">GREEN</span>|<span style="color:rgb(128,255,128)">PASTEL_GREEN</span>|<span style="color:rgb(128,255,0)">LIGHT_GREEN</span>|<span style="color:rgb(0,255,128)">NEON_GREEN</span>
<span style="color:rgb(0,0,128)">NAVY_BLUE</span>|<span style="color:rgb(0,0,255)">DARK_BLUE</span>|<span style="color:rgb(128,128,255)">PASTEL_BLUE</span>|<span style="color:rgb(0,128,255)">BLUE</span>|<span style="color:rgb(128,0,255)">PURPLE</span>
<span style="color:rgb(128,128,0)">MUSTARD</span>|<span style="color:rgb(255,255,0)">YELLOW</span>|<span style="color:rgb(255,255,128)">LIGHT_YELLOW</span>
<span style="color:rgb(0,128,128)">TURQUISE</span>|<span style="color:rgb(0,255,255)">LIGHT_BLUE</span>|<span style="color:rgb(128,255,255)">PALE_BLUE</span>
<span style="color:rgb(128,0,128)">DARK_PINK</span>|<span style="color:rgb(255,0,255)">LIGHTPINK</span>|<span style="color:rgb(255,128,255)">PALE_PINK</span>


For example:

    colours.PASTEL_BLUE

\
The Origins file contains the five origin options, top-left, top-right, bottom-left, bottom-right, and centre. These origins can be accessed using the following variable names:

TOP_LEFT

TOP_RIGHT

BOTTOM_LEFT

BOTTOM_RIGHT

CENTRE

For example:

    origins.BOTTOM_LEFT

\
The fonts file contains the path to the default fonts included in PyGraphica. These paths can be accessed using the following names:

|Variable| Font|
|--|--|
Arial| <span style="font-family:arial">Hello world!</span>
Baskerville| <span style="font-family:baskerville">Hello world!</span>
BrushScript| <span style="font-family:brush script mt">Hello world!</span>
Calibri| <span style="font-family:calibri">Hello world!</span>
Courier| <span style="font-family:courier">Hello world!</span>
Garamond| <span style="font-family:garamond">Hello world!</span>
Helvetica| <span style="font-family:helvetica">Hello world!</span>
Impact| <span style="font-family:impact">Hello world!</span>
OpenDyslexic| <span style="font-family:opendyslexic">Hello world!</span>
TimesNewRoman| <span style="font-family:timesnewroman">Hello world!</span>
Trebuchet|<span style="font-family:trebuchet ms">Hello world!</span>

For example:

    fonts.OpenDyslexic

\
**Creating a window**

The *window* class can be defined by the following attributes:

|attribute| default| type|  description|
|--|--|--|--|
|name|  'PyGraphica'| string|  name that will appear above the window|
|size| (800, 600)| tuple of two integers or strings of integers| dimensions (in px) of the screen|
|resizable| False| boolean| whether the user can resize the window by dragging|
|icon| False| Path (string) to file, or False for no icon| The image that will be  displayed in the  top left corner of the window
|position| (0,20)| tuple of two integers or strings of integers| The location (px) of the window on the screen|
|origin| top left| variable from origins file| The location of the origin and corresponding coordinate system
|colour| black| variable from colours file or RGB tuple| background colour of the window

An example window could be:

    NavCS = draw.window("NavCS", (400,600), True, "NavCS_logo_icon.jpg", (0,20), origins.CENTRE, colours.WHITE)

Once the window has been created the following attributes can be called:

|attribute| description|
|--|--|
|keys| keys currently held by the user|
|comms| command keys currently held by the user|
|key_changes| keys newly pressed by the user (not held)|
|comm_changes| command keys newly pressed by the user (not held)
|caps| whether capslock is on or shift is held|
|mouse_x| x position of the mouse|
|mouse_y| y position of the mouse
|mouse_down| whether the mouse button is held down|
|mouse_held| whether the mouse button is held down for more than one cycle|

\
**Creating a line**

The line class can be defined by the following attributes:

|attribute| type| description|
|--|--|--|
|window| window object| window which the line will be drawn to
|x1| integer or string of integer| x component of the start coordinate
|x2| integer or string of integer| x component of the end coordinate
|y1| integer or string of integer| y component of the start coordinate
|y2| integer or string of integer| y component of the end coordinate
|colour| variable from colours file or RGB tuple| colour of the line

For example

    line1 = draw.line(app, 100, 70, 250, 300, colours.RED)

Once the line has been created the following attributes can be called:

|name| description|
|--|--|
|visible| whether the line is displayed to the screen or not|

\
**Creating a rectangle**

The rectangle class can be defined by the following attributes:

|name| default| type| description|
|--|--|--|--|
|window| NA| window object| window which the line will be drawn to
|x1| NA| integer or string of integer| x component of the start coordinate
|x2| NA| integer or string of integer| x component of the end coordinate
|y1| NA| integer or string of integer| y component of the start coordinate
|y2| NA| integer or string of integer| y component of the end coordinate
|colour| False| variable from colours file, RGB tuple, or False for no fill| fill colour of rectangle| 
|border_colour| False| integer or False for no border| colour of the border of the rectangle
|border_thickness|  1| positive integer| thickness of the border

For example:

    my_rect = draw.rectangle(app, 10, 20, 600, 750, colours.PURPLE, colours.YELLOW, 2)

Once the rectangle has been created the following attributes can be called:

|name| description|
|--|--|
|visible| whether the rectangle is displayed to the screen or not|
|hover| whether the mouse is hovered over the rectangle|
|clicked| whether theuser has selected the rectangle|

For example:

    if my_rect.clicked:
        my_rect.visible = False

\
**Creating text**

The text class can be defined by the following attributes:

|name| default| type| description|
|--|--|--|--|
|window| NA| window object| window which the text will be drawn to
|x1| NA| integer| x component of the start coordinate
|y1| NA| integer| y component of the start coordinate
|size| NA|  positive integer or string of positive integer| height| height of the text
|colour| NA| variable from colours file or RGB tuple| colour of the text
|content| NA| string| content of the text
|font| OpenSans| string| font of the text

For example:

    title = draw.text(app, 100, -50, 20, colours.NAVY_BLUE, "Hello world!", "OpenSans")

Once the text object has been creeated the following attributes can be called:

|name| description|
|--|--|
|visible| whether the text is displayed to the screen or not|
|hover| whether the mouse is hovered over the text|
|clicked| whether the user has selected the text|
|x2| x component of the end coordinate|
|y2| y component of the end coordinate|

For example:

    if title.clicked:
        title.colour = colours.PASTEL_BLUE
    elif title.hover:
        title.colour = colours.BLUE
    else:
        title.colour = colours.NAVY_BLUE

\
**Creating a textbox**

A textbox is an input field in which users can type text. A textbox can be defined by the following attributes:

|name|default|type|description|
|--|--|--|--|
|window| NA| window object| window to which the textbox will be drawn| 
|x1| NA| integer or string of integer| x component of the start coordinate|
|y1| NA| integer or string of integer| y component of the start coordinate|
|size| NA| integer or string of integer| height of text|
|width| 1| integer or string of integer| width of textbox (NB: textbox will expand if text goes out of textbox)
|default_text| Type here...| string| text which will be displayed in lighter shade if the user has not yet typed anything|

For example:

    code_input = draw.textbox(app,"20","10","3","80","ENTER CODE HERE")

|name| description|
|--|--|
|visible| whether the textbox is displayed to the screen or not|
|hover| whether the mouse is hovered over the textbox|
|clicked| whether the user has selected the textbox|
|x2| x component of the end coordinate|
|y2| y component of the end coordinate|
|content| the content the user has typed into the textbox

For example:

    def submit():
        response = code_input.content
        if response == "open sesame":
            #let them to the next stage
        else:
            code_input.content = ""

\
**Creating an image**

The image class can be defined by the following parameters:

|Name |Default |Type |Description|
|--|--|--|--|
|window| NA| window object| window to which the image will be drawn|
|path| NA| string| path to image file|
|x1| NA| integer or string of integer| x component of the start coordinate|
|y1| NA| integer or string of integer| y component of the start coordinate|
|height| False| positive integer, string of positive integer or False if height is to be defined by width and aspect  ratio| height of the image
|width| False| positive integer, string of positive integer or False if width is to be defined by height and aspect  ratio| width of the image

For example:

    background = draw.image(app, "/my_images/background_image.jpg", 0, 0,  width = "100")

\
**Collision function**

The collision function takes two objects as input, and then returns a boolean for whether their hitboxes overlap. For example:

    if draw.collision(rect1,image2):
        #do something

\
**To_front and to_back functions**

These functions can be used to reorder the elements on the screen. For example:

    draw.to_back(background_img)

Or

    draw.to_font(player)

\
**Delete function**

This function is used to delete an object. For example:

    draw.delete(rect1)


            

Raw data

            {
    "_id": null,
    "home_page": "https://github.com/LukeCampbell5853/PyGraphica",
    "name": "PyGraphica",
    "maintainer": "",
    "docs_url": null,
    "requires_python": "",
    "maintainer_email": "",
    "keywords": "gui",
    "author": "Luke Campbell",
    "author_email": "LukeCampbell5853@gmail.com",
    "download_url": "https://files.pythonhosted.org/packages/a7/1a/283d9bac32124d2959d67474471c274fdcb0ffc7c5d535fa9f4ccb86d24a/PyGraphica-0.1.1.tar.gz",
    "platform": null,
    "description": "## **PyGraphica** *0.1.1*\r\n*By Luke Campbell*\r\n\r\nPyGraphica is an easy-to-learn GUI module designed for Python, built on the Python bindings (pysdl2) for SDL-2.\r\n\r\n*One important note before we start. For all coordinates and lengths, if represented as an integer will be interpreted as a measurement in pixels, and if represented as a string (e.g. '35') will be interpreted as a  percentage of the height or width.*\r\n\r\n\\\r\n**Installation**\r\n\r\nThe most simple installation is via pip, i.e\r\n\r\n    py -m pip install PyGraphica\r\n*for windows*\r\n\r\n    python -m pip install PyGraphica\r\n*for linux*\r\n\r\nHowever the source code can be downloaded from GitHub, [here](youtube.com/watch?v=dQw4w9WgXcQ) if pip install fails.\r\n\r\nOnce the module has been imported, add it to your Python project like this:\r\n\r\n    from PyGraphica import draw, colours, origins, fonts\r\n\r\n\\\r\n**Colours, Origins, and Fonts files**\r\n\r\nThe colours file contains a series of default RGB tuples, which can be used to simplify coding. The colours can be accessed by the following variable names:\r\n\r\n| |  |  | | |\r\n|--|--|--|--|--|\r\n<span style=\"color:rgb(0,0,0)\">BLACK</span>|<span style=\"color:rgb(64,64,64)\">DARK_GREY</span>|<span style=\"color:rgb(128,128,128)\">GREY</span>|<span style=\"color:rgb(191,191,191)\">LIGHT_GREY</span>|<span style=\"color:rgb(255,255,255)\">WHITE</span>\r\n<span style=\"color:rgb(128,0,0)\">DARK_RED</span>|<span style=\"color:rgb(255,0,0)\">RED</span>|<span style=\"color:rgb(255,128,128)\">PASTEL_PINK</span>|<span style=\"color:rgb(255,128,0)\">ORANGE</span>|<span style=\"color:rgb(255,0,128)\">PINK</span>\r\n<span style=\"color:rgb(0,128,0)\">DARK_GREEN</span>|<span style=\"color:rgb(0,255,0)\">GREEN</span>|<span style=\"color:rgb(128,255,128)\">PASTEL_GREEN</span>|<span style=\"color:rgb(128,255,0)\">LIGHT_GREEN</span>|<span style=\"color:rgb(0,255,128)\">NEON_GREEN</span>\r\n<span style=\"color:rgb(0,0,128)\">NAVY_BLUE</span>|<span style=\"color:rgb(0,0,255)\">DARK_BLUE</span>|<span style=\"color:rgb(128,128,255)\">PASTEL_BLUE</span>|<span style=\"color:rgb(0,128,255)\">BLUE</span>|<span style=\"color:rgb(128,0,255)\">PURPLE</span>\r\n<span style=\"color:rgb(128,128,0)\">MUSTARD</span>|<span style=\"color:rgb(255,255,0)\">YELLOW</span>|<span style=\"color:rgb(255,255,128)\">LIGHT_YELLOW</span>\r\n<span style=\"color:rgb(0,128,128)\">TURQUISE</span>|<span style=\"color:rgb(0,255,255)\">LIGHT_BLUE</span>|<span style=\"color:rgb(128,255,255)\">PALE_BLUE</span>\r\n<span style=\"color:rgb(128,0,128)\">DARK_PINK</span>|<span style=\"color:rgb(255,0,255)\">LIGHTPINK</span>|<span style=\"color:rgb(255,128,255)\">PALE_PINK</span>\r\n\r\n\r\nFor example:\r\n\r\n    colours.PASTEL_BLUE\r\n\r\n\\\r\nThe Origins file contains the five origin options, top-left, top-right, bottom-left, bottom-right, and centre. These origins can be accessed using the following variable names:\r\n\r\nTOP_LEFT\r\n\r\nTOP_RIGHT\r\n\r\nBOTTOM_LEFT\r\n\r\nBOTTOM_RIGHT\r\n\r\nCENTRE\r\n\r\nFor example:\r\n\r\n    origins.BOTTOM_LEFT\r\n\r\n\\\r\nThe fonts file contains the path to the default fonts included in PyGraphica. These paths can be accessed using the following names:\r\n\r\n|Variable| Font|\r\n|--|--|\r\nArial| <span style=\"font-family:arial\">Hello world!</span>\r\nBaskerville| <span style=\"font-family:baskerville\">Hello world!</span>\r\nBrushScript| <span style=\"font-family:brush script mt\">Hello world!</span>\r\nCalibri| <span style=\"font-family:calibri\">Hello world!</span>\r\nCourier| <span style=\"font-family:courier\">Hello world!</span>\r\nGaramond| <span style=\"font-family:garamond\">Hello world!</span>\r\nHelvetica| <span style=\"font-family:helvetica\">Hello world!</span>\r\nImpact| <span style=\"font-family:impact\">Hello world!</span>\r\nOpenDyslexic| <span style=\"font-family:opendyslexic\">Hello world!</span>\r\nTimesNewRoman| <span style=\"font-family:timesnewroman\">Hello world!</span>\r\nTrebuchet|<span style=\"font-family:trebuchet ms\">Hello world!</span>\r\n\r\nFor example:\r\n\r\n    fonts.OpenDyslexic\r\n\r\n\\\r\n**Creating a window**\r\n\r\nThe *window* class can be defined by the following attributes:\r\n\r\n|attribute| default| type|  description|\r\n|--|--|--|--|\r\n|name|  'PyGraphica'| string|  name that will appear above the window|\r\n|size| (800, 600)| tuple of two integers or strings of integers| dimensions (in px) of the screen|\r\n|resizable| False| boolean| whether the user can resize the window by dragging|\r\n|icon| False| Path (string) to file, or False for no icon| The image that will be  displayed in the  top left corner of the window\r\n|position| (0,20)| tuple of two integers or strings of integers| The location (px) of the window on the screen|\r\n|origin| top left| variable from origins file| The location of the origin and corresponding coordinate system\r\n|colour| black| variable from colours file or RGB tuple| background colour of the window\r\n\r\nAn example window could be:\r\n\r\n    NavCS = draw.window(\"NavCS\", (400,600), True, \"NavCS_logo_icon.jpg\", (0,20), origins.CENTRE, colours.WHITE)\r\n\r\nOnce the window has been created the following attributes can be called:\r\n\r\n|attribute| description|\r\n|--|--|\r\n|keys| keys currently held by the user|\r\n|comms| command keys currently held by the user|\r\n|key_changes| keys newly pressed by the user (not held)|\r\n|comm_changes| command keys newly pressed by the user (not held)\r\n|caps| whether capslock is on or shift is held|\r\n|mouse_x| x position of the mouse|\r\n|mouse_y| y position of the mouse\r\n|mouse_down| whether the mouse button is held down|\r\n|mouse_held| whether the mouse button is held down for more than one cycle|\r\n\r\n\\\r\n**Creating a line**\r\n\r\nThe line class can be defined by the following attributes:\r\n\r\n|attribute| type| description|\r\n|--|--|--|\r\n|window| window object| window which the line will be drawn to\r\n|x1| integer or string of integer| x component of the start coordinate\r\n|x2| integer or string of integer| x component of the end coordinate\r\n|y1| integer or string of integer| y component of the start coordinate\r\n|y2| integer or string of integer| y component of the end coordinate\r\n|colour| variable from colours file or RGB tuple| colour of the line\r\n\r\nFor example\r\n\r\n    line1 = draw.line(app, 100, 70, 250, 300, colours.RED)\r\n\r\nOnce the line has been created the following attributes can be called:\r\n\r\n|name| description|\r\n|--|--|\r\n|visible| whether the line is displayed to the screen or not|\r\n\r\n\\\r\n**Creating a rectangle**\r\n\r\nThe rectangle class can be defined by the following attributes:\r\n\r\n|name| default| type| description|\r\n|--|--|--|--|\r\n|window| NA| window object| window which the line will be drawn to\r\n|x1| NA| integer or string of integer| x component of the start coordinate\r\n|x2| NA| integer or string of integer| x component of the end coordinate\r\n|y1| NA| integer or string of integer| y component of the start coordinate\r\n|y2| NA| integer or string of integer| y component of the end coordinate\r\n|colour| False| variable from colours file, RGB tuple, or False for no fill| fill colour of rectangle| \r\n|border_colour| False| integer or False for no border| colour of the border of the rectangle\r\n|border_thickness|  1| positive integer| thickness of the border\r\n\r\nFor example:\r\n\r\n    my_rect = draw.rectangle(app, 10, 20, 600, 750, colours.PURPLE, colours.YELLOW, 2)\r\n\r\nOnce the rectangle has been created the following attributes can be called:\r\n\r\n|name| description|\r\n|--|--|\r\n|visible| whether the rectangle is displayed to the screen or not|\r\n|hover| whether the mouse is hovered over the rectangle|\r\n|clicked| whether theuser has selected the rectangle|\r\n\r\nFor example:\r\n\r\n    if my_rect.clicked:\r\n        my_rect.visible = False\r\n\r\n\\\r\n**Creating text**\r\n\r\nThe text class can be defined by the following attributes:\r\n\r\n|name| default| type| description|\r\n|--|--|--|--|\r\n|window| NA| window object| window which the text will be drawn to\r\n|x1| NA| integer| x component of the start coordinate\r\n|y1| NA| integer| y component of the start coordinate\r\n|size| NA|  positive integer or string of positive integer| height| height of the text\r\n|colour| NA| variable from colours file or RGB tuple| colour of the text\r\n|content| NA| string| content of the text\r\n|font| OpenSans| string| font of the text\r\n\r\nFor example:\r\n\r\n    title = draw.text(app, 100, -50, 20, colours.NAVY_BLUE, \"Hello world!\", \"OpenSans\")\r\n\r\nOnce the text object has been creeated the following attributes can be called:\r\n\r\n|name| description|\r\n|--|--|\r\n|visible| whether the text is displayed to the screen or not|\r\n|hover| whether the mouse is hovered over the text|\r\n|clicked| whether the user has selected the text|\r\n|x2| x component of the end coordinate|\r\n|y2| y component of the end coordinate|\r\n\r\nFor example:\r\n\r\n    if title.clicked:\r\n        title.colour = colours.PASTEL_BLUE\r\n    elif title.hover:\r\n        title.colour = colours.BLUE\r\n    else:\r\n        title.colour = colours.NAVY_BLUE\r\n\r\n\\\r\n**Creating a textbox**\r\n\r\nA textbox is an input field in which users can type text. A textbox can be defined by the following attributes:\r\n\r\n|name|default|type|description|\r\n|--|--|--|--|\r\n|window| NA| window object| window to which the textbox will be drawn| \r\n|x1| NA| integer or string of integer| x component of the start coordinate|\r\n|y1| NA| integer or string of integer| y component of the start coordinate|\r\n|size| NA| integer or string of integer| height of text|\r\n|width| 1| integer or string of integer| width of textbox (NB: textbox will expand if text goes out of textbox)\r\n|default_text| Type here...| string| text which will be displayed in lighter shade if the user has not yet typed anything|\r\n\r\nFor example:\r\n\r\n    code_input = draw.textbox(app,\"20\",\"10\",\"3\",\"80\",\"ENTER CODE HERE\")\r\n\r\n|name| description|\r\n|--|--|\r\n|visible| whether the textbox is displayed to the screen or not|\r\n|hover| whether the mouse is hovered over the textbox|\r\n|clicked| whether the user has selected the textbox|\r\n|x2| x component of the end coordinate|\r\n|y2| y component of the end coordinate|\r\n|content| the content the user has typed into the textbox\r\n\r\nFor example:\r\n\r\n    def submit():\r\n        response = code_input.content\r\n        if response == \"open sesame\":\r\n            #let them to the next stage\r\n        else:\r\n            code_input.content = \"\"\r\n\r\n\\\r\n**Creating an image**\r\n\r\nThe image class can be defined by the following parameters:\r\n\r\n|Name |Default |Type |Description|\r\n|--|--|--|--|\r\n|window| NA| window object| window to which the image will be drawn|\r\n|path| NA| string| path to image file|\r\n|x1| NA| integer or string of integer| x component of the start coordinate|\r\n|y1| NA| integer or string of integer| y component of the start coordinate|\r\n|height| False| positive integer, string of positive integer or False if height is to be defined by width and aspect  ratio| height of the image\r\n|width| False| positive integer, string of positive integer or False if width is to be defined by height and aspect  ratio| width of the image\r\n\r\nFor example:\r\n\r\n    background = draw.image(app, \"/my_images/background_image.jpg\", 0, 0,  width = \"100\")\r\n\r\n\\\r\n**Collision function**\r\n\r\nThe collision function takes two objects as input, and then returns a boolean for whether their hitboxes overlap. For example:\r\n\r\n    if draw.collision(rect1,image2):\r\n        #do something\r\n\r\n\\\r\n**To_front and to_back functions**\r\n\r\nThese functions can be used to reorder the elements on the screen. For example:\r\n\r\n    draw.to_back(background_img)\r\n\r\nOr\r\n\r\n    draw.to_font(player)\r\n\r\n\\\r\n**Delete function**\r\n\r\nThis function is used to delete an object. For example:\r\n\r\n    draw.delete(rect1)\r\n\r\n",
    "bugtrack_url": null,
    "license": "MIT",
    "summary": "PyGraphica is an easy-to-learn GUI module designed for Python, built on the Python bindings (pysdl2) for SDL-2.",
    "version": "0.1.1",
    "project_urls": {
        "Homepage": "https://github.com/LukeCampbell5853/PyGraphica"
    },
    "split_keywords": [
        "gui"
    ],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "a71a283d9bac32124d2959d67474471c274fdcb0ffc7c5d535fa9f4ccb86d24a",
                "md5": "f935acd97d53aa2e281bb8fd2297ebb9",
                "sha256": "fe4ee224898faa08dcd8c8c815e132f0f9f5179585fa0ed3eb160588f2c1b43b"
            },
            "downloads": -1,
            "filename": "PyGraphica-0.1.1.tar.gz",
            "has_sig": false,
            "md5_digest": "f935acd97d53aa2e281bb8fd2297ebb9",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": null,
            "size": 2164826,
            "upload_time": "2023-07-17T02:48:30",
            "upload_time_iso_8601": "2023-07-17T02:48:30.758158Z",
            "url": "https://files.pythonhosted.org/packages/a7/1a/283d9bac32124d2959d67474471c274fdcb0ffc7c5d535fa9f4ccb86d24a/PyGraphica-0.1.1.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2023-07-17 02:48:30",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "LukeCampbell5853",
    "github_project": "PyGraphica",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": false,
    "lcname": "pygraphica"
}
        
Elapsed time: 0.15583s