summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--.gitignore1
-rw-r--r--python-pyguitemp.spec431
-rw-r--r--sources1
3 files changed, 433 insertions, 0 deletions
diff --git a/.gitignore b/.gitignore
index e69de29..454f57b 100644
--- a/.gitignore
+++ b/.gitignore
@@ -0,0 +1 @@
+/pyguitemp-0.1.21.tar.gz
diff --git a/python-pyguitemp.spec b/python-pyguitemp.spec
new file mode 100644
index 0000000..fa569dc
--- /dev/null
+++ b/python-pyguitemp.spec
@@ -0,0 +1,431 @@
+%global _empty_manifest_terminate_build 0
+Name: python-pyguitemp
+Version: 0.1.21
+Release: 1
+Summary: Small tool to simplify the creation of GUIs
+License: BSD License
+URL: https://github.com/ImperialCollegeLondon/python-gui-template
+Source0: https://mirrors.nju.edu.cn/pypi/web/packages/c0/89/37136356ad40f854ebbf694f10cbb196e1abbb9ba04616a407cd8d1c560c/pyguitemp-0.1.21.tar.gz
+BuildArch: noarch
+
+Requires: python3-wxPython
+Requires: python3-PyPubSub
+Requires: python3-pandas
+Requires: python3-flake8
+Requires: python3-black
+Requires: python3-pytest
+Requires: python3-pre-commit
+Requires: python3-isort
+Requires: python3-mypy
+Requires: python3-bump2version
+Requires: python3-pytest-cov
+Requires: python3-pytest-flake8
+Requires: python3-pytest-mypy
+Requires: python3-sphinx
+Requires: python3-myst-parser
+Requires: python3-sphinx-autoapi
+Requires: python3-sphinx-rtd-theme
+
+%description
+[![Test and build](https://github.com/ImperialCollegeLondon/python-gui-template/actions/workflows/ci.yml/badge.svg)](https://github.com/ImperialCollegeLondon/python-gui-template/actions/workflows/ci.yml)
+[![PyPI version
+shields.io](https://img.shields.io/pypi/v/pyguitemp.svg)](https://pypi.python.org/pypi/pyguitemp/)
+[![PyPI
+status](https://img.shields.io/pypi/status/pyguitemp.svg)](https://pypi.python.org/pypi/pyguitemp/)
+[![PyPI
+pyversions](https://img.shields.io/pypi/pyversions/pyguitemp.svg)](https://pypi.python.org/pypi/pyguitemp/)
+[![PyPI
+license](https://img.shields.io/pypi/l/pyguitemp.svg)](https://pypi.python.org/pypi/pyguitemp/)
+[![Website pyguitemp](https://img.shields.io/website-up-down-green-red/http/shields.io.svg)](https://imperialcollegelondon.github.io/python-gui-template/)
+[![Windows](https://svgshare.com/i/ZhY.svg)](https://svgshare.com/i/ZhY.svg)
+[![macOS](https://svgshare.com/i/ZjP.svg)](https://svgshare.com/i/ZjP.svg)
+[![Linux](https://svgshare.com/i/Zhy.svg)](https://svgshare.com/i/Zhy.svg)
+
+# Python GUI Template <!-- omit in toc -->
+
+This little tool's purpose is to facilitate getting started building a GUI for your
+software. It takes care of most of the boilerplate code that you need to build a GUI -
+making some opinionated decisions about the general layout of the application - so you
+can focus on adding the business logic and views specific to your problem.
+
+`pyguitemp` uses `wXPython` as the GUI framework, meaning that the resulting application
+will have a native look and feel regadless of running it on Windows, Linux or MacOS.
+
+## What `pyguitemp` is and what is not
+
+`pyguitemp` takes care of the boilerplate code and enables you to have a minimal
+application running in no time, but you still need to code the rest of your GUI
+mannually yourself. That means you will need to learn how to use `wxPython`, the widgets
+it offers and their options.
+
+This is not a graphical designer for GUIs, as it could be [QT
+Designer](https://realpython.com/qt-designer-python/), [Glade](https://glade.gnome.org)
+or [Matlab's App Designer](https://www.mathworks.com/products/matlab/app-designer.html).
+All of those are excellent tools... just a different kind of tools. `pyguitemp` will
+save you some valuable time when creating a GUI, but it is still a low level library.
+
+## Why `wxPython` as GUI framework
+
+While there are several excellent frameworks available, mature, well supported and with
+many options for customization - in particular
+[PySide2](https://wiki.qt.io/Qt_for_Python) and
+[PyQt](https://riverbankcomputing.com/software/pyqt/intro), both based in QT -
+`wxPython` offers a licensing scheme a little bit more flexible that makes it suitable
+for both open and close source projects.
+
+We strongly support open source software and open research, but we understand that it is
+not always possible or advisable, at least at beginning, and we want to offer a tool
+that could suit most users most of the time.
+
+## Installation instructions
+
+**WARNING**: `pyguitemp` is in an early stage of development and the API might change
+without notice. Use it in production with caution. And please, contribute to it to
+help improving its maturity as fast as posisble!
+
+`pyguitemp` and its dependencies can be installed with `pip` in Widnows,
+[Linux](#what-about-linux) and [MacOS](#what-about-macos) (see notes below):
+
+```bash
+pip install pyguitemp
+```
+
+### What about linux <!-- omit in toc -->
+
+`pyguitemp` can be installed in Linux with `pip`, but `wxPython` will likely need to be
+built from source as there are not *manylinux* wheels for it, yet.
+
+The best option is for you to check if there is a wheel available for your specific
+linux distirbution and python version in the [wxPython downloads
+webpage](https://wxpython.org/pages/downloads/index.html) and install that one before
+installing `pyguitemp`. Otherwise, in the same webpage you have instructions on how to
+install `wxPython` from source.
+
+Alternatively, if you use `conda`, you can install `wxPython` from `conda-forge` and
+then install `pyguitemp` as above.
+
+### What about MacOS <!-- omit in toc -->
+
+`wxPython` causes some issue on MacOS when installed with a "Non Framework" version of
+python. It typically complains with this error message:
+
+```
+This program needs access to the screen. Please run with a
+Framework build of python, and only when you are logged in
+on the main display of your Mac.
+```
+
+To work around this:
+
+1. Install a python.org version of python.
+1. Find executable under `/Library/Frameworks/Python.framework/...`.
+1. Use that executable to create a virtual environment: `/Library/Frameworks/Python.framework/Versions/<version>/bin/python3 -m venv .venv`.
+1. Install `pyguitemp` inside virtual environment, and all should work!
+
+Alternatively, if you use `conda` to install `wxPython`, you will need to use `pythonw`
+to execute your applications. See [wxPython downloads
+webpage](https://wxpython.org/pages/downloads/index.html) for more information on this.
+
+## Using `pyguitemp`
+
+There are several ways you can benefit from `pyguitemp`, depending on what you want to
+achieve. Check the
+[documentation](https://imperialcollegelondon.github.io/python-gui-template/) for full
+details.
+
+- Initialise your current directory with a skeleton for your GUI application using
+ `pyguitemp` with `python -m pyguitemp init my_app`.
+- Run `pyguitemp` with all its available expensions for your to have a look and explore
+ the things you can do with it, uwing `python -m pyguitemp run`.
+- Explore `pyguitemp`'s repo, flick trhough the code, learn how to do things, brings
+ those which are useful to your own application, or clone the whole repo and customize
+ the core classes and functions to fully suit your needs.
+
+
+
+%package -n python3-pyguitemp
+Summary: Small tool to simplify the creation of GUIs
+Provides: python-pyguitemp
+BuildRequires: python3-devel
+BuildRequires: python3-setuptools
+BuildRequires: python3-pip
+%description -n python3-pyguitemp
+[![Test and build](https://github.com/ImperialCollegeLondon/python-gui-template/actions/workflows/ci.yml/badge.svg)](https://github.com/ImperialCollegeLondon/python-gui-template/actions/workflows/ci.yml)
+[![PyPI version
+shields.io](https://img.shields.io/pypi/v/pyguitemp.svg)](https://pypi.python.org/pypi/pyguitemp/)
+[![PyPI
+status](https://img.shields.io/pypi/status/pyguitemp.svg)](https://pypi.python.org/pypi/pyguitemp/)
+[![PyPI
+pyversions](https://img.shields.io/pypi/pyversions/pyguitemp.svg)](https://pypi.python.org/pypi/pyguitemp/)
+[![PyPI
+license](https://img.shields.io/pypi/l/pyguitemp.svg)](https://pypi.python.org/pypi/pyguitemp/)
+[![Website pyguitemp](https://img.shields.io/website-up-down-green-red/http/shields.io.svg)](https://imperialcollegelondon.github.io/python-gui-template/)
+[![Windows](https://svgshare.com/i/ZhY.svg)](https://svgshare.com/i/ZhY.svg)
+[![macOS](https://svgshare.com/i/ZjP.svg)](https://svgshare.com/i/ZjP.svg)
+[![Linux](https://svgshare.com/i/Zhy.svg)](https://svgshare.com/i/Zhy.svg)
+
+# Python GUI Template <!-- omit in toc -->
+
+This little tool's purpose is to facilitate getting started building a GUI for your
+software. It takes care of most of the boilerplate code that you need to build a GUI -
+making some opinionated decisions about the general layout of the application - so you
+can focus on adding the business logic and views specific to your problem.
+
+`pyguitemp` uses `wXPython` as the GUI framework, meaning that the resulting application
+will have a native look and feel regadless of running it on Windows, Linux or MacOS.
+
+## What `pyguitemp` is and what is not
+
+`pyguitemp` takes care of the boilerplate code and enables you to have a minimal
+application running in no time, but you still need to code the rest of your GUI
+mannually yourself. That means you will need to learn how to use `wxPython`, the widgets
+it offers and their options.
+
+This is not a graphical designer for GUIs, as it could be [QT
+Designer](https://realpython.com/qt-designer-python/), [Glade](https://glade.gnome.org)
+or [Matlab's App Designer](https://www.mathworks.com/products/matlab/app-designer.html).
+All of those are excellent tools... just a different kind of tools. `pyguitemp` will
+save you some valuable time when creating a GUI, but it is still a low level library.
+
+## Why `wxPython` as GUI framework
+
+While there are several excellent frameworks available, mature, well supported and with
+many options for customization - in particular
+[PySide2](https://wiki.qt.io/Qt_for_Python) and
+[PyQt](https://riverbankcomputing.com/software/pyqt/intro), both based in QT -
+`wxPython` offers a licensing scheme a little bit more flexible that makes it suitable
+for both open and close source projects.
+
+We strongly support open source software and open research, but we understand that it is
+not always possible or advisable, at least at beginning, and we want to offer a tool
+that could suit most users most of the time.
+
+## Installation instructions
+
+**WARNING**: `pyguitemp` is in an early stage of development and the API might change
+without notice. Use it in production with caution. And please, contribute to it to
+help improving its maturity as fast as posisble!
+
+`pyguitemp` and its dependencies can be installed with `pip` in Widnows,
+[Linux](#what-about-linux) and [MacOS](#what-about-macos) (see notes below):
+
+```bash
+pip install pyguitemp
+```
+
+### What about linux <!-- omit in toc -->
+
+`pyguitemp` can be installed in Linux with `pip`, but `wxPython` will likely need to be
+built from source as there are not *manylinux* wheels for it, yet.
+
+The best option is for you to check if there is a wheel available for your specific
+linux distirbution and python version in the [wxPython downloads
+webpage](https://wxpython.org/pages/downloads/index.html) and install that one before
+installing `pyguitemp`. Otherwise, in the same webpage you have instructions on how to
+install `wxPython` from source.
+
+Alternatively, if you use `conda`, you can install `wxPython` from `conda-forge` and
+then install `pyguitemp` as above.
+
+### What about MacOS <!-- omit in toc -->
+
+`wxPython` causes some issue on MacOS when installed with a "Non Framework" version of
+python. It typically complains with this error message:
+
+```
+This program needs access to the screen. Please run with a
+Framework build of python, and only when you are logged in
+on the main display of your Mac.
+```
+
+To work around this:
+
+1. Install a python.org version of python.
+1. Find executable under `/Library/Frameworks/Python.framework/...`.
+1. Use that executable to create a virtual environment: `/Library/Frameworks/Python.framework/Versions/<version>/bin/python3 -m venv .venv`.
+1. Install `pyguitemp` inside virtual environment, and all should work!
+
+Alternatively, if you use `conda` to install `wxPython`, you will need to use `pythonw`
+to execute your applications. See [wxPython downloads
+webpage](https://wxpython.org/pages/downloads/index.html) for more information on this.
+
+## Using `pyguitemp`
+
+There are several ways you can benefit from `pyguitemp`, depending on what you want to
+achieve. Check the
+[documentation](https://imperialcollegelondon.github.io/python-gui-template/) for full
+details.
+
+- Initialise your current directory with a skeleton for your GUI application using
+ `pyguitemp` with `python -m pyguitemp init my_app`.
+- Run `pyguitemp` with all its available expensions for your to have a look and explore
+ the things you can do with it, uwing `python -m pyguitemp run`.
+- Explore `pyguitemp`'s repo, flick trhough the code, learn how to do things, brings
+ those which are useful to your own application, or clone the whole repo and customize
+ the core classes and functions to fully suit your needs.
+
+
+
+%package help
+Summary: Development documents and examples for pyguitemp
+Provides: python3-pyguitemp-doc
+%description help
+[![Test and build](https://github.com/ImperialCollegeLondon/python-gui-template/actions/workflows/ci.yml/badge.svg)](https://github.com/ImperialCollegeLondon/python-gui-template/actions/workflows/ci.yml)
+[![PyPI version
+shields.io](https://img.shields.io/pypi/v/pyguitemp.svg)](https://pypi.python.org/pypi/pyguitemp/)
+[![PyPI
+status](https://img.shields.io/pypi/status/pyguitemp.svg)](https://pypi.python.org/pypi/pyguitemp/)
+[![PyPI
+pyversions](https://img.shields.io/pypi/pyversions/pyguitemp.svg)](https://pypi.python.org/pypi/pyguitemp/)
+[![PyPI
+license](https://img.shields.io/pypi/l/pyguitemp.svg)](https://pypi.python.org/pypi/pyguitemp/)
+[![Website pyguitemp](https://img.shields.io/website-up-down-green-red/http/shields.io.svg)](https://imperialcollegelondon.github.io/python-gui-template/)
+[![Windows](https://svgshare.com/i/ZhY.svg)](https://svgshare.com/i/ZhY.svg)
+[![macOS](https://svgshare.com/i/ZjP.svg)](https://svgshare.com/i/ZjP.svg)
+[![Linux](https://svgshare.com/i/Zhy.svg)](https://svgshare.com/i/Zhy.svg)
+
+# Python GUI Template <!-- omit in toc -->
+
+This little tool's purpose is to facilitate getting started building a GUI for your
+software. It takes care of most of the boilerplate code that you need to build a GUI -
+making some opinionated decisions about the general layout of the application - so you
+can focus on adding the business logic and views specific to your problem.
+
+`pyguitemp` uses `wXPython` as the GUI framework, meaning that the resulting application
+will have a native look and feel regadless of running it on Windows, Linux or MacOS.
+
+## What `pyguitemp` is and what is not
+
+`pyguitemp` takes care of the boilerplate code and enables you to have a minimal
+application running in no time, but you still need to code the rest of your GUI
+mannually yourself. That means you will need to learn how to use `wxPython`, the widgets
+it offers and their options.
+
+This is not a graphical designer for GUIs, as it could be [QT
+Designer](https://realpython.com/qt-designer-python/), [Glade](https://glade.gnome.org)
+or [Matlab's App Designer](https://www.mathworks.com/products/matlab/app-designer.html).
+All of those are excellent tools... just a different kind of tools. `pyguitemp` will
+save you some valuable time when creating a GUI, but it is still a low level library.
+
+## Why `wxPython` as GUI framework
+
+While there are several excellent frameworks available, mature, well supported and with
+many options for customization - in particular
+[PySide2](https://wiki.qt.io/Qt_for_Python) and
+[PyQt](https://riverbankcomputing.com/software/pyqt/intro), both based in QT -
+`wxPython` offers a licensing scheme a little bit more flexible that makes it suitable
+for both open and close source projects.
+
+We strongly support open source software and open research, but we understand that it is
+not always possible or advisable, at least at beginning, and we want to offer a tool
+that could suit most users most of the time.
+
+## Installation instructions
+
+**WARNING**: `pyguitemp` is in an early stage of development and the API might change
+without notice. Use it in production with caution. And please, contribute to it to
+help improving its maturity as fast as posisble!
+
+`pyguitemp` and its dependencies can be installed with `pip` in Widnows,
+[Linux](#what-about-linux) and [MacOS](#what-about-macos) (see notes below):
+
+```bash
+pip install pyguitemp
+```
+
+### What about linux <!-- omit in toc -->
+
+`pyguitemp` can be installed in Linux with `pip`, but `wxPython` will likely need to be
+built from source as there are not *manylinux* wheels for it, yet.
+
+The best option is for you to check if there is a wheel available for your specific
+linux distirbution and python version in the [wxPython downloads
+webpage](https://wxpython.org/pages/downloads/index.html) and install that one before
+installing `pyguitemp`. Otherwise, in the same webpage you have instructions on how to
+install `wxPython` from source.
+
+Alternatively, if you use `conda`, you can install `wxPython` from `conda-forge` and
+then install `pyguitemp` as above.
+
+### What about MacOS <!-- omit in toc -->
+
+`wxPython` causes some issue on MacOS when installed with a "Non Framework" version of
+python. It typically complains with this error message:
+
+```
+This program needs access to the screen. Please run with a
+Framework build of python, and only when you are logged in
+on the main display of your Mac.
+```
+
+To work around this:
+
+1. Install a python.org version of python.
+1. Find executable under `/Library/Frameworks/Python.framework/...`.
+1. Use that executable to create a virtual environment: `/Library/Frameworks/Python.framework/Versions/<version>/bin/python3 -m venv .venv`.
+1. Install `pyguitemp` inside virtual environment, and all should work!
+
+Alternatively, if you use `conda` to install `wxPython`, you will need to use `pythonw`
+to execute your applications. See [wxPython downloads
+webpage](https://wxpython.org/pages/downloads/index.html) for more information on this.
+
+## Using `pyguitemp`
+
+There are several ways you can benefit from `pyguitemp`, depending on what you want to
+achieve. Check the
+[documentation](https://imperialcollegelondon.github.io/python-gui-template/) for full
+details.
+
+- Initialise your current directory with a skeleton for your GUI application using
+ `pyguitemp` with `python -m pyguitemp init my_app`.
+- Run `pyguitemp` with all its available expensions for your to have a look and explore
+ the things you can do with it, uwing `python -m pyguitemp run`.
+- Explore `pyguitemp`'s repo, flick trhough the code, learn how to do things, brings
+ those which are useful to your own application, or clone the whole repo and customize
+ the core classes and functions to fully suit your needs.
+
+
+
+%prep
+%autosetup -n pyguitemp-0.1.21
+
+%build
+%py3_build
+
+%install
+%py3_install
+install -d -m755 %{buildroot}/%{_pkgdocdir}
+if [ -d doc ]; then cp -arf doc %{buildroot}/%{_pkgdocdir}; fi
+if [ -d docs ]; then cp -arf docs %{buildroot}/%{_pkgdocdir}; fi
+if [ -d example ]; then cp -arf example %{buildroot}/%{_pkgdocdir}; fi
+if [ -d examples ]; then cp -arf examples %{buildroot}/%{_pkgdocdir}; fi
+pushd %{buildroot}
+if [ -d usr/lib ]; then
+ find usr/lib -type f -printf "/%h/%f\n" >> filelist.lst
+fi
+if [ -d usr/lib64 ]; then
+ find usr/lib64 -type f -printf "/%h/%f\n" >> filelist.lst
+fi
+if [ -d usr/bin ]; then
+ find usr/bin -type f -printf "/%h/%f\n" >> filelist.lst
+fi
+if [ -d usr/sbin ]; then
+ find usr/sbin -type f -printf "/%h/%f\n" >> filelist.lst
+fi
+touch doclist.lst
+if [ -d usr/share/man ]; then
+ find usr/share/man -type f -printf "/%h/%f.gz\n" >> doclist.lst
+fi
+popd
+mv %{buildroot}/filelist.lst .
+mv %{buildroot}/doclist.lst .
+
+%files -n python3-pyguitemp -f filelist.lst
+%dir %{python3_sitelib}/*
+
+%files help -f doclist.lst
+%{_docdir}/*
+
+%changelog
+* Wed May 10 2023 Python_Bot <Python_Bot@openeuler.org> - 0.1.21-1
+- Package Spec generated
diff --git a/sources b/sources
new file mode 100644
index 0000000..d389b4b
--- /dev/null
+++ b/sources
@@ -0,0 +1 @@
+b9bbad07dc2c9ba2fc99a9bd3cd0e002 pyguitemp-0.1.21.tar.gz