<p align="center">
<p align="center"><img width="238" height="135" src="https://pysimplegui.net/images/logos/psglogofull.svg"><p>
<h2 align="center">psgtest</h2>
<h2 align="center">A PySimpleGUI Application</h2>
</p>
Simple Python Testing
Run your Python programs using the interpreter version of your choice,
and display the output in a GUI window.
<p align="center"><img width="850" height="399" src="screenshot.gif"><p>
## Features
* Project testing application to perform regression, stress, and compatibility testing
* Run your Python test programs at the click of a button
* Test using any Python interpreter version
* Run batches of tests to perform regression testing and stress testing
* Get programs output in individual tabs for easy debugging
## Installation
### Using PIP with PyPI
The latest official release of PySimpleGUI products can be found on PyPI. To pip install the demo applications from PyPI, use this command
#### If you use the command `python` on your computer to invoke Python (Windows):
`python -m pip install --upgrade psgtest`
#### If you use the command `python3` on your computer to invoke Python (Linux, Mac):
`python3 -m pip install --upgrade psgtest`
### Using PIP with GitHub
You can also pip install the PySimpleGUI Applications that are in the PySimpleGUI GitHub account. The GitHub versions have bug fixes and new programs/features that have not yet been released to PyPI. To directly pip install from that repo:
#### If you use the command `python` on your computer to invoke Python (Windows):
```bash
python -m pip install --upgrade https://github.com/PySimpleGUI/psgtest/zipball/main
```
#### If you use the command `python3` on your computer to invoke Python (Linux, Mac):
```bash
python3 -m pip install --upgrade https://github.com/PySimpleGUI/psgtest/zipball/main
```
## Usage
Once installed, launch psgtest by typing the following in your command line:
`psgtest`
## About
This is an example of another utility used in the development of
PySimpleGUI that is being released for other PySimpleGUI users to use
either as a standalone tool or as example code / design pattern to
follow.
It can be challenging to manage multiple versions of Python and the
need to test across multiple versions. Virtual Environments are one
approach that are often used. psgtest does not use virtual
environments. Instead, it invokes the Python interpreter of your
choice directly.
The advantage is that changing which version of Python that's used is
changed in a single drop-down menu selection as shown in the example
GIF above. The session in the GIF shows launching the PySimpleGUI
main test harness using multiple versions of Python by selecting the
version from the drop-down at the top.
## Executing Multiple Programs
To run multiple programs, select the files to run from the list of
files on the left portion of the window. Then click the "Run" button.
## Editing Programs
You can also edit the programs selected by clicking the "Edit" button.
You will need to set up your editor using the PySimpleGUI global
settings. If you have pip installed a version of PySimpleGUI that's
4.53.0.14 or greater, then you can type `psgsettings` from the command
line. You can also change the settings by calling `sg.main()` (or
typing from the command line `psgmain`).
## Specifying/Selecting Python Interpreter Locations
The Setup Window is where you enter the path to each version of Python
that you want to test with. The settings are stored in a file and
thus will be saved from one run to another.
Selecting the version to use can be done in either the settings window
or using the drop-down menu in the main window.
## Output
The stdout and stderr from each program you execute are displayed in a
tab with a name that matches your filename. Each program you run will
open a new tab.
In each tab you'll find 2 buttons that operate on the output shown in
that tab.
Use the `Copy To Clipboard` button to copy the contents of the output
to the clipboard.
Use the `Clear` button to delete the output.
The `Close Tab` button closes the tab as does the right click menu
item `Close`. If you run the program again after closing the tab, the
old contents of the tab are retained and shown when the tab is
"re-opened". (See the GIF above for an example)
## Make a Windows Shortcut
If you're running Windows, then you can use `psgshortcut` to make a
shortcut to the .pyw file (if you download psgtest from GitHub) or the
.py file (if you pip installed). The icon for `psgtest` is in this
repo and is also included when you pip install psgtest. It's in the
same folder as the gui.py file.
You can find the location of psgtest after pip installing it by
running psgtest, right clicking, and choosing "File Location". You'll
be shown where the `gui.py` file is located (the name of the psgtest
program when pip installed). It will usually be located in the
`site-packages` folder in a folder named `psgtest`.
## License & Copyright
Copyright 2023-2024 PySimpleSoft, Inc. and/or its licensors.
This is a free-to-use "Utility" and is licensed under the
PySimpleGUI License Agreement, a copy of which is included in the
license.txt file and also available at https://pysimplegui.com/eula.
Please see Section 1.2 of the license regarding the use of this Utility,
and see https://pysimplegui.com/faq for any questions.
## Contributing
We are happy to receive issues describing bug reports and feature
requests! If your bug report relates to a security vulnerability,
please do not file a public issue, and please instead reach out to us
at issues@PySimpleGUI.com.
We do not accept (and do not wish to receive) contributions of
user-created or third-party code, including patches, pull requests, or
code snippets incorporated into submitted issues. Please do not send
us any such code! Bug reports and feature requests should not include
any source code.
If you nonetheless submit any user-created or third-party code to us,
(1) you assign to us all rights and title in or relating to the code;
and (2) to the extent any such assignment is not fully effective, you
hereby grant to us a royalty-free, perpetual, irrevocable, worldwide,
unlimited, sublicensable, transferrable license under all intellectual
property rights embodied therein or relating thereto, to exploit the
code in any manner we choose, including to incorporate the code into
PySimpleGUI and to redistribute it under any terms at our discretion.
Raw data
{
"_id": null,
"home_page": "https://github.com/PySimpleGUI/psgtest",
"name": "psgtest",
"maintainer": "",
"docs_url": null,
"requires_python": ">=3.6",
"maintainer_email": "",
"keywords": "GUI UI PySimpleGUI tkinter psgtest",
"author": "PySimpleSoft Inc.",
"author_email": "",
"download_url": "https://files.pythonhosted.org/packages/10/90/762dfd5f63ef898eab7a2e1fc3418e05b0b99809ab1d5e5c80b8135eefdd/psgtest-5.0.0.tar.gz",
"platform": null,
"description": "<p align=\"center\">\r\n <p align=\"center\"><img width=\"238\" height=\"135\" src=\"https://pysimplegui.net/images/logos/psglogofull.svg\"><p>\r\n\r\n <h2 align=\"center\">psgtest</h2>\r\n <h2 align=\"center\">A PySimpleGUI Application</h2>\r\n</p>\r\n\r\nSimple Python Testing\r\n\r\nRun your Python programs using the interpreter version of your choice,\r\nand display the output in a GUI window.\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n<p align=\"center\"><img width=\"850\" height=\"399\" src=\"screenshot.gif\"><p>\r\n\r\n\r\n\r\n## Features\r\n\r\n* Project testing application to perform regression, stress, and compatibility testing\r\n* Run your Python test programs at the click of a button\r\n* Test using any Python interpreter version\r\n* Run batches of tests to perform regression testing and stress testing\r\n* Get programs output in individual tabs for easy debugging\r\n\r\n## Installation\r\n\r\n### Using PIP with PyPI\r\n\r\nThe latest official release of PySimpleGUI products can be found on PyPI. To pip install the demo applications from PyPI, use this command\r\n\r\n#### If you use the command `python` on your computer to invoke Python (Windows):\r\n\r\n`python -m pip install --upgrade psgtest`\r\n\r\n#### If you use the command `python3` on your computer to invoke Python (Linux, Mac):\r\n\r\n`python3 -m pip install --upgrade psgtest`\r\n\r\n### Using PIP with GitHub\r\n\r\nYou can also pip install the PySimpleGUI Applications that are in the PySimpleGUI GitHub account. The GitHub versions have bug fixes and new programs/features that have not yet been released to PyPI. To directly pip install from that repo:\r\n\r\n#### If you use the command `python` on your computer to invoke Python (Windows):\r\n\r\n```bash\r\npython -m pip install --upgrade https://github.com/PySimpleGUI/psgtest/zipball/main\r\n```\r\n\r\n#### If you use the command `python3` on your computer to invoke Python (Linux, Mac):\r\n\r\n```bash\r\npython3 -m pip install --upgrade https://github.com/PySimpleGUI/psgtest/zipball/main\r\n```\r\n\r\n\r\n\r\n## Usage\r\n\r\nOnce installed, launch psgtest by typing the following in your command line:\r\n\r\n`psgtest`\r\n\r\n## About\r\n\r\nThis is an example of another utility used in the development of\r\nPySimpleGUI that is being released for other PySimpleGUI users to use\r\neither as a standalone tool or as example code / design pattern to\r\nfollow.\r\n\r\nIt can be challenging to manage multiple versions of Python and the\r\nneed to test across multiple versions. Virtual Environments are one\r\napproach that are often used. psgtest does not use virtual\r\nenvironments. Instead, it invokes the Python interpreter of your\r\nchoice directly.\r\n\r\nThe advantage is that changing which version of Python that's used is\r\nchanged in a single drop-down menu selection as shown in the example\r\nGIF above. The session in the GIF shows launching the PySimpleGUI\r\nmain test harness using multiple versions of Python by selecting the\r\nversion from the drop-down at the top.\r\n\r\n## Executing Multiple Programs\r\n\r\nTo run multiple programs, select the files to run from the list of\r\nfiles on the left portion of the window. Then click the \"Run\" button.\r\n\r\n\r\n## Editing Programs\r\n\r\nYou can also edit the programs selected by clicking the \"Edit\" button.\r\nYou will need to set up your editor using the PySimpleGUI global\r\nsettings. If you have pip installed a version of PySimpleGUI that's\r\n4.53.0.14 or greater, then you can type `psgsettings` from the command\r\nline. You can also change the settings by calling `sg.main()` (or\r\ntyping from the command line `psgmain`).\r\n\r\n## Specifying/Selecting Python Interpreter Locations\r\n\r\nThe Setup Window is where you enter the path to each version of Python\r\nthat you want to test with. The settings are stored in a file and\r\nthus will be saved from one run to another.\r\n\r\nSelecting the version to use can be done in either the settings window\r\nor using the drop-down menu in the main window.\r\n\r\n## Output\r\n\r\nThe stdout and stderr from each program you execute are displayed in a\r\ntab with a name that matches your filename. Each program you run will\r\nopen a new tab.\r\n\r\nIn each tab you'll find 2 buttons that operate on the output shown in\r\nthat tab.\r\n\r\nUse the `Copy To Clipboard` button to copy the contents of the output\r\nto the clipboard.\r\n\r\nUse the `Clear` button to delete the output.\r\n\r\nThe `Close Tab` button closes the tab as does the right click menu\r\nitem `Close`. If you run the program again after closing the tab, the\r\nold contents of the tab are retained and shown when the tab is\r\n\"re-opened\". (See the GIF above for an example)\r\n\r\n## Make a Windows Shortcut\r\n\r\nIf you're running Windows, then you can use `psgshortcut` to make a\r\nshortcut to the .pyw file (if you download psgtest from GitHub) or the\r\n.py file (if you pip installed). The icon for `psgtest` is in this\r\nrepo and is also included when you pip install psgtest. It's in the\r\nsame folder as the gui.py file.\r\n\r\nYou can find the location of psgtest after pip installing it by\r\nrunning psgtest, right clicking, and choosing \"File Location\". You'll\r\nbe shown where the `gui.py` file is located (the name of the psgtest\r\nprogram when pip installed). It will usually be located in the\r\n`site-packages` folder in a folder named `psgtest`.\r\n\r\n## License & Copyright\r\n\r\nCopyright 2023-2024 PySimpleSoft, Inc. and/or its licensors.\r\n\r\nThis is a free-to-use \"Utility\" and is licensed under the\r\nPySimpleGUI License Agreement, a copy of which is included in the\r\nlicense.txt file and also available at https://pysimplegui.com/eula.\r\n\r\nPlease see Section 1.2 of the license regarding the use of this Utility,\r\nand see https://pysimplegui.com/faq for any questions.\r\n\r\n\r\n## Contributing\r\n\r\nWe are happy to receive issues describing bug reports and feature\r\nrequests! If your bug report relates to a security vulnerability,\r\nplease do not file a public issue, and please instead reach out to us\r\nat issues@PySimpleGUI.com.\r\n\r\nWe do not accept (and do not wish to receive) contributions of\r\nuser-created or third-party code, including patches, pull requests, or\r\ncode snippets incorporated into submitted issues. Please do not send\r\nus any such code! Bug reports and feature requests should not include\r\nany source code.\r\n\r\nIf you nonetheless submit any user-created or third-party code to us,\r\n(1) you assign to us all rights and title in or relating to the code;\r\nand (2) to the extent any such assignment is not fully effective, you\r\nhereby grant to us a royalty-free, perpetual, irrevocable, worldwide,\r\nunlimited, sublicensable, transferrable license under all intellectual\r\nproperty rights embodied therein or relating thereto, to exploit the\r\ncode in any manner we choose, including to incorporate the code into\r\nPySimpleGUI and to redistribute it under any terms at our discretion.\r\n",
"bugtrack_url": null,
"license": "Free To Use But Restricted",
"summary": "Program made with PySimpleGUI to make testing of apps easier",
"version": "5.0.0",
"project_urls": {
"Homepage": "https://github.com/PySimpleGUI/psgtest"
},
"split_keywords": [
"gui",
"ui",
"pysimplegui",
"tkinter",
"psgtest"
],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "32baa47ea1e1085a52cd62900f37c0a90e4c1a24b437b137aea291de8c6ab767",
"md5": "cd238b4c8872e53bbad91daba6a031b6",
"sha256": "e2afcab40d3f77a9c2130eec23ce2dca3b924b25c2389048b88104d6fe5c7839"
},
"downloads": -1,
"filename": "psgtest-5.0.0-py3-none-any.whl",
"has_sig": false,
"md5_digest": "cd238b4c8872e53bbad91daba6a031b6",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.6",
"size": 3898376,
"upload_time": "2024-02-26T20:02:09",
"upload_time_iso_8601": "2024-02-26T20:02:09.227920Z",
"url": "https://files.pythonhosted.org/packages/32/ba/a47ea1e1085a52cd62900f37c0a90e4c1a24b437b137aea291de8c6ab767/psgtest-5.0.0-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "1090762dfd5f63ef898eab7a2e1fc3418e05b0b99809ab1d5e5c80b8135eefdd",
"md5": "fbdc1d82e5d3f6e45dbff2c2fbe208c6",
"sha256": "45f800e7fe82dff3871059a47a106347c089f373dd0223483f3d04c3a5a026c7"
},
"downloads": -1,
"filename": "psgtest-5.0.0.tar.gz",
"has_sig": false,
"md5_digest": "fbdc1d82e5d3f6e45dbff2c2fbe208c6",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.6",
"size": 3901161,
"upload_time": "2024-02-26T20:02:11",
"upload_time_iso_8601": "2024-02-26T20:02:11.956877Z",
"url": "https://files.pythonhosted.org/packages/10/90/762dfd5f63ef898eab7a2e1fc3418e05b0b99809ab1d5e5c80b8135eefdd/psgtest-5.0.0.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2024-02-26 20:02:11",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "PySimpleGUI",
"github_project": "psgtest",
"travis_ci": false,
"coveralls": false,
"github_actions": false,
"requirements": [
{
"name": "PySimpleGUI",
"specs": [
[
">=",
"5"
]
]
},
{
"name": "psutil",
"specs": []
}
],
"lcname": "psgtest"
}